2024. április 25., csütörtök

Gyorskeresés

[SVS_13] Október 9-15.

Írta: | Kulcsszavak: SRV . surveyor . SVS

[ ÚJ BEJEGYZÉS ]

Október 11., még 59 nap

Csak kiderült, hogy valami nem stimmel.
A teszthez használt képekkel van egy nagy baj: a sakktábla.
Ugyanis a BM párokat keres a két kép között, a sakktábla mintái pedig ismétlődnek, így mindig a bal szélén találja meg (ha balról kezdi, nem néztem utána) a keresett pontot, hiába van az mondjuk a sakktábla jobb szélén. Pontosan ezért volt egy kupacban minden talált pont, aaaaaah.

Első körben saját képek kellettek, amiket lementek a programmal, mert robottal rohangászva nem lehet mindig ugyanolyan képeket csinálni.

Rectify és remap a menüből átköltözött ide, a képmentést egyelőre a normálhoz raktam.

Gondoltam a kép neveket a rand() nevű csoda függvénnyel teszem különbözővé, hát nem eléggé random :). Később átjavítom időbélyegre.

Második körben csináltam egy külön projektet, hogy a BM és egyéb teszteket elvégezzem, mert az eddigiek teli voltak szemetelve marhaságokkal.

A terv az, hogy egyelőre megpróbálom a BM-ből kihozni azt, amit lehet. Ha sikerül, és az FPS 1 lesz vagy afelett, akkor meghagyjuk, és ha még van idő, akkor próbálom meg felgyorsítani ritka illesztéssel.

Október 13., még 57 nap

Csináltam két sorozat képet. Mindkettőn doboz(ok) látható(ak), és a robot lassan közelít hozzá(juk). Kíváncsi vagyok látszik-e a közeledés.

Támadt egy hirtelen ötletem, és letöröltem a BM beállítások (minden default). Láss csodát mit kaptam? Az eddigi legjobb eredményeket, aaaaaah megint.

Alap BM beállítások, roi1 és roi2 részt itt be volt állítva, de alapból nincs.

A másik fontos dolog, amire felfigyeltem az, hogy legrosszabb jpeg beállításoknál a BM is elég ramaty eredményt ad, muszáj lesz legjobb képminőségen nyomni.

Következzen pár példa. A 3D-s képek direkt vannak horizontálisan átfordítva, hogy egyezzen a látott képpel.

Nincs beállítva a BM.

#1.1. képpár

Rektilineáris és rektifikált kép, nem az eredeti, kisebb méretre konvertálva

Disparity (láthatóvá normalizálva)

3D-s pontok

Ugyanazok a pontok másik szemszögből

#1.6. képpár




#1.10. képpár




Bár nehezen, de kivehető a két doboz a 3D-s pontokon, kivéve az utolsón, mert ott már annyira kiesett a képből, hogy "szétesett" a 3D-s képe. Az is látható, hogy szépen "kúsznak felfelé" az alsó képeken. Sajnos a fizikai távolságokat nem mértem le, így nem tudok kapcsolatot teremteni a változó Z érték és a távolság között.
A szegélyt is meglátta, így azok is szerepelnek, majd valami szűrést ki kell találni, mert a sok pont közül nem lehet tudni, melyik az objektum.
Csináltam olyan sorozatot is, ahol csak egy doboz van, de ennél több nem látható.
BM-t lehet kicsit gyorsítani, ha azokat a tartományokat adom meg neki, amit a cvStereoRectify() ad vissza. 3D-s pontok között kicsit több lett a "szemét", így csak végső esetben használom.

Október 15., még 55 nap

Tovább finomítottam a BM tesztelő progit. A kódot szétszedtem, hogy átláthatóbb legyen, de a legfontosabb, hogy mostantól megadhatom txt-ben is a fileneveket, így egy sorozatnál nem kell folyton a kódba beírogatni. Egy ilyen txt létrehozása pedig nagyon egyszerű (win alatt): dir *.png /B >> imglist.txt.

Sajnos matlabot nem lehet így gyorsítani, ha megpróbálom lementeni a képet, kifagy.

Következő nagy feladat, tisztítani kell a 3D-s képet. Több ötletet kaptam, de előbb a BM-mel kezdtem el játszani.

BMState->minDisparity=20;
BMState->uniquenessRatio=60;

Ezeknél a beállításoknál szerintem nagyon jó pontok születtek, a fenti képsorozat 3 képpárját használtam.

#1.1. képpár




#1.6. képpár




#1.10. képpár




Hát majdnem dobtam egy hátast, gyönyörű, ugyanúgy a másik képsorozatnál is! Tisztán megvannak a dobozok és a mozgásuk is látható. Szegély is a helyén. Ráadásul ennek a beállításnak a sebessége is sokkal jobb, mint a múltkori legjobbnak!
Nem szabad elfelejteni, hogy lehet pont erre a fényviszonyra, vagy akármire volt jó ez a beállítás. Mindenképpen csinálok új sorozatot máshol, más fényviszonyokkal, és most már nem csak pont szembeállítva rakok le dobozt, hanem úgy, hogy az egyik éle a robot felé nézzen.
Ez csak 3 db képpár a 10+14-ből, néhányon előfordult, hogy nagyon elmért valamit, de a pontok többsége jó helyen volt.
Utolsó képpáron megint eltűnt az elől lévő doboz, de az már túl közel volt a kamerának.

Azért még nem vagyok teljesen nyugodt:
Másik terv, hogy kihalászom a Z értékeket, és egy másik 320x240x3-s mátrixba rakom, ahol 1 pontban X, Y, Z lesz, X és Y a sor és oszlop sorszáma lesz, Z pedig a kihalászott érték.
Miért? A fenti adatokkal az a baj, hogy nem lehet normálisan felosztani (jobb oldal, bal oldal, közép) vagy szűrni, mert ki tudja, hogy a 3D-s pont melyik cellából származik. Például lehet, hogy a 3D-s kép középen látható pont a jobb felső sarokból származik. Épp ezért muszáj megtudnom, sorszámozva a Z értékeket, hogy néz ki a 3D-s ponthalmaz.
Ha állandóan keresgélek a teljes mátrixon megfelelő X, Y, Z-t, akkor oda a sebesség.

Hozzászólások

(#1) Cucuska2


Cucuska2
őstag

nagyon profi. Ez a sakktablaval mit kezdene?

Rock and stone, to the bone! Leave no dwarf behind!

(#2) Elrood válasza Cucuska2 (#1) üzenetére


Elrood
őstag

Jó kérdés, megnézem majd a sajáttal.

''The spice exists on only one planet in the entire universe. A desolate, dry planet with vast deserts. The planet is Arrakis, also known as DUNE.''

(#3) Elrood válasza Cucuska2 (#1) üzenetére


Elrood
őstag

Látható, hogy nem szerette :). Sakktáblán nem nagyon talált semmit.

''The spice exists on only one planet in the entire universe. A desolate, dry planet with vast deserts. The planet is Arrakis, also known as DUNE.''

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.