La procedura principale implica l'analisi di file del tipo HURIC (Human-Robot Interaction Corpus) al fine di estrarre dati rilevanti. I dati vengono poi processati attraverso il framework Procthor, costruito su AI2Thor, che li converte in una rappresentazione JSON dettagliata e strutturata dell'ambiente fisico corrispondente. Questa rappresentazione Γ¨ specificatamente progettata per facilitare analisi avanzate e interazioni efficaci nelle applicazioni di robotica e intelligenza artificiale.
Esempi di file HURIC utilizzati in questo processo sono accessibili e possono essere esaminati tramite il seguente collegamento: https://github.com/crux82/huric/tree/master/it.
Clonare la repository
git clone https://github.com/Miitz/progetto_IA_2023.git
Installare il package virtualenv
pip install virtualenv
Creare un ambiente virtuale all'interno della cartella progetto
python -m venv nome_ambiente
Attivare l'ambiente virtuale
-
Linux/MacOS
source nome_ambiente/bin/activate
Lista dei package necessari -> requirements.txt
pip install -r requirements.txt
Generazione del file JSON con descrizione dell'ambiente senza immagini
python runner.py "path completo del file huric"
Generazione completa del file JSON con descrizione dell'ambiente e immagini utilizzando la flag --visualize
o -v
python runner.py --visualize "path completo del file huric"
Per ogni file HuRIC generato utuilizzando la flag --visualize
o -v
verrΓ creata una cartella di questo tipo:
huric_file # Cartella generale file HuRIC
βββ images # Cartella principale contenente le immagini dell'ambiente
β βββ example_room # Cartella generata per ogni stanza dell'ambiente
β β βββ bounding_box # Cartella contenente immagini con bounding_box
β β β βββ position_0 # Cartella contenente le immagini generate in posizione 0
β β β β βββ image_bounding_box_pos_0_0.jpg
β β β β βββ ...
β β β βββ position_1 # Cartella contenente le immagini generate in posizione 1
β β β β βββ ...
β β β βββ ...
β β βββ normal # Cartella contenente immagini senza bounding_box
β β βββ position_0
β β β βββ image_pos_0_0.jpg
β β β βββ ...
β β βββ position_1
β β β βββ ...
β β βββ ...
β βββ positions.jpg # Immagine delle posizioni raggiungibili dal robot
β βββ top_down.png # Immagine aerea dell'ambiente
βββ huric_file.hrc # File HuRIC in input
βββ gen_huric_file.json # File JSON in output con descrizione dell'ambiente e immagini