Skip to content

matemato/Simulacijsko-okolje-za-generiranje-vodnih-scen

Repository files navigation

Simulacijsko-okolje-za-generiranje-vodnih-scen

1. Zahteve:

Ves projekt je bil narejen z naslednjimi zahtevami:

2. Uporaba:

Za uporabo simulacijskega okolja je poleg kloniranja repozitorija, potrebno narediti naslednje stvari:

a) Blender pot

V config.yaml datoteki, ki se nahaja pod ocean/OceanA ali ocean/OceanB je potrebno dodati pot do programa Blender.

image

b) Izrezane ovire

Primeri slik iz COCO zbirke so pod images/, če pa želite dostopati do celotne zbirke pa je potrebno naložiti

Pridobljene slike je potrebno unzipati in prestaviti v mapi resources/COCO_train in resources/COCO_val. Naložene anotacije je ravno tako potrebno unzipati vendar v mapo resources/annotations. Izrezane slike se pridobi s skripto get_segmented_pics.py v mapi /scripts. Z argumentoma lahko povemo kateri objekt želimo in pa katere anotacije bomo uporabili. Nastala mapa bo enaka kot object_type v /resources/object_type.

Primer ukaza:

python get_segmented_pics.py --object_type boat --annotation_type lvis_v1_train

c) Haven nebo

V mapi resources/Haven/hdris je primer Haven .hdr datoteke neba. Če želimo pridobiti več Haven datotek uporabimo skripto download_haven.py v mapi /scripts

Primer uporabe:

python download_haven.py --types hdris --categories skies --resolution 4k

d) Postopek generiranja

Generiranje oceana lahko poženemo na dva načina:

i) S skripto run.py

python run.py ocean/OceanA/config.yaml outputs/Output0 ocean/OceanA/OceanA.blend ocean/OceanA/camera_position resources/boats resources/mountains resources/buoys resources/Haven

ali

ii) S skripto run_multiple_times.py

Argumenti

  • config_file - pot do config.yaml datoteke
  • cam_file - pot do konfiguracije kamere
  • blend_file - pot do .blend datoteke
  • output_path - pot do mape, kamor se bodo generirale slike
  • haven_dir - pot do mape s Haven .hdr datotekami
  • boat_dir - pot do mape z izrezanimi čolni
  • mountain_dir - pot do mape z izrezanimi gorami
  • buoy_dir - pot do mape z izrezanimi bojami
  • starting_output - število s katero naj se začne generiranje podatkov
  • number_of_outputs - število koliko slik naj se generira

Primer uporabe skripte s privzetimi nastavitvami:

python run_multiple_times.py 

e) Razne skripte

Ko imamo generirano zbirko s skripto move_outputs_to_images.py premaknemo vse outpute v isti folder in sicer v images/. Ko imamo slike v images/ lahko naredimo prenos barv s skripto transferColors.m, spremenimo segmentacijske slike, da so pripravljene za treniranje mreže WaSR s skripto seg_to_my_seg.py. Za treniranje potrebujemo tudi train.txt datoteko z vsebino zbirke, ki jo lahko naredimo z skripto create_train_text.py.

3. Primeri generiranih slik:

Generirane slike Segmentacijske slike
rgb_0001 segmap_0001
rgb_0002 segmap_0002
rgb_0001 segmap_0001

4. Reference

[1] Bovcon et. al, The MaSTr1325 Dataset for Training Deep USV Obstacle Detection Models, IROS 2019
[2] COCO zbirka in anotacije https://github.com/nightrome/cocostuff
[3] LVIS anotacije https://www.lvisdataset.org/dataset
[4] BlenderProc https://github.com/DLR-RM/BlenderProc
[5] Haven HDRIs https://polyhaven.com/hdris
[6] Color transfer between images https://www.mathworks.com/matlabcentral/fileexchange/63256-color-transfer-between-images
[7] Navdih za ocean A: https://www.youtube.com/watch?v=CwJrb3vjAaA&t=216s
[8] Navdih za ocean B: https://www.youtube.com/watch?v=nOdNUFPbBJM

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published