2024. április 19., péntek

Gyorskeresés

[SVS_16] Október 20.

Írta: | Kulcsszavak: SRV . surveyor . SVS

[ ÚJ BEJEGYZÉS ]

Október 20., még 50 nap

Az 15. bejegyzésben írtam, hogy balra rosszul lát és ezzel kezdeni kell valamit. Közben rájöttem, hogy azzal nem lehet mit kezdeni, hiszen a kamerák rögzítettek és jobbra is ez a probléma, hogy van egy sáv, amire nincs illesztés.

Több megoldási lehetőség kínálkozik:
1. A robot akkor fordul, mikor még biztonságosan megállapítható, hogy mehet-e balra vagy jobbra, ha szemben akadály van.
Hátrány: szerintem elég csúnyán néz ki, hogy a tárgy előtt nagyon messze már fordul, kicsi teremben meg körbe-körbe forgolódik.
2. A robot használja a fejét, így közelebb engedhetem a tárgyhoz és mégis biztonságosabban megállapítható merre induljon.
Hátrány: konzulensnek nem tetszik :).
3. 1. pontban leírtak a javítása. Eddig csak a bal képre volt megállapítva a 3D-s koordináták, most meglesz állapítva a jobb oldalra is, így kicsit biztosabb lesz a 3D-s térkép megállapítása.
Hátrány: ugyanazt mint az elsőnek, csak kicsit talán közelebb lehet engedni.

3. pontbelit el is kezdtem tesztelni. BM-mel van egy baj, csak balra illeszt. Szerencsére nem volt túl nagy probléma megcsinálni az ellenkezőjét. Felcseréltem a két képet a függvényben, és kicsit alakítottam a beállításokon:

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

Eredmény: Mindkét kép ugyanabban az állásban készült jobb/bal.
A bal képeket az előző bejegyzésből másoltam ide.
A bal képeknél a meleg színek vannak közelebb, tehát a vörös van a legközelebb.
A jobb képeknél máshogy van a színezés: itt az van közelebb, ami hidegebb szín, tehát a sötétkék van legközelebb.

5. képsorozatból

Bal

Jobb

6. képsorozatból

Bal

Jobb

Az 5. és 6. jobboldalinál azért látható némi hiba. A sötétkéket észlel az ajtónál, pedig az messzebb van. Szerencse a szerencsétlenségben, hogy az a sötétkék terület a "nem talált párosítások" Z értékénél kisebb, míg a többi nagyobb, így a szűrése nem probléma.

CvStereoGCState

Van egy másik függvény, ami ugyanazt csinálja mint a BM: [link]
BM leírása: Computes the disparity map using block matching algorithm.
GC leírása: Computes the disparity map using graph cut-based algorithm.

Ez megcsinálja alapból a jobb és a bal disparity mapot, gondoltam kipróbálom.

Hát, van egy nagy hátránya: non-realtime. Ez ki is jött, egy disparity map párral elszórakozott legalább 10 másodpercig (vagy több), hiába állítgattam. Viszont megfelelően beállítva az objektum is felismerhető vele.

Eredmény:

6. képsorozat

Még mielőtt valaki megörülne, sajnos ez a legtávolabbi pont, ahol tisztán kivehető az egész. Miután a doboz közelebb jött, a kapott kép már nem volt ennyire tiszta, de a lényeges részek a helyükön maradtak, főleg a fekete szalag. Egy közelebbi képen pl. simán kivette a doboz oldalát.
A többi sorozaton se volt annyira meggyőző, gondolom mindez beállítás kérdése.

Copyright © 2000-2024 PROHARDVER Informatikai Kft.