Tartalomjegyzék:

3D rekonstrukció egyetlen fényképből: 8 lépés
3D rekonstrukció egyetlen fényképből: 8 lépés

Videó: 3D rekonstrukció egyetlen fényképből: 8 lépés

Videó: 3D rekonstrukció egyetlen fényképből: 8 lépés
Videó: KIKAPTUK A BIZIT📚 #shorts 2024, Július
Anonim
3D rekonstrukció egyetlen fényképből
3D rekonstrukció egyetlen fényképből
3D rekonstrukció egyetlen fényképből
3D rekonstrukció egyetlen fényképből

A 3D rekonstrukció feladata általában a binokuláris látáshoz kapcsolódik. Alternatív megoldásként egyetlen kamerát mozgathat az objektum körül. Eközben, ha a tárgy alakja ismert, a feladat egyetlen fényképből megoldható. Vagyis csak egy kamerája van, és nem mozog. Nézzük meg lépésről lépésre, hogyan kell ezt megtenni. A Rubik -kockát fogjuk használni, mert jól szabványosított és gazdag szolgáltatásokkal rendelkezik. Nagyon egyszerű tárgynak és egyszerre bonyolult konstrukciónak tekinthető. Tehát a gépi látásnak túl kell lépnie a jelentős akadályokon, hogy elvégezze a feladatot.

1. lépés: Értékelje a feladat összetettségét

Értékelje a feladat összetettségét
Értékelje a feladat összetettségét
Értékelje a feladat összetettségét
Értékelje a feladat összetettségét
Értékelje a feladat összetettségét
Értékelje a feladat összetettségét
Értékelje a feladat összetettségét
Értékelje a feladat összetettségét

Első pillantásra a feladat egyszerű. Keresse meg a középső csomót, ahol a kocka 3 széle összeér, és rajzolja meg ezeket az éleket. Koordinátáikból kiszámítható a kamerától való távolság és a forgásszögek. A probléma az, hogy ezek a sorok nem léteznek. A bal oldali képen látható, hogy minden él két párhuzamos vonallal van ábrázolva. Továbbá a jobb felső kép azt mutatja, hogy mindegyik 3 szegmensre van bontva. Ezenkívül, ha a népszerű Hough transzformáció egyik változatát alkalmazzuk, amely képes vonalszakaszokat észlelni, akkor néhány hibával látja el a feladatot, amelyek lehetetlenné teszik a központi csomópont észlelését. Ha a végei nem érik el egymást, nincs egyetlen pont. Ha az észlelés túllépi a végét, úgy néz ki, mint a csomó az él közepén, ahogy a 2 fennmaradó képen látható.

2. lépés: Keresse meg a megfelelő megközelítést

Keresse meg a megfelelő megközelítést
Keresse meg a megfelelő megközelítést

Ha túl sok részlet miatt a determinisztikus algoritmusok nem működőképesek, itt az ideje, hogy fontolóra vegyük a valószínűségi megközelítést. Ha kiszámítjuk a kép átlagos paramétereit, azok hibái lényegesen csökkennek, és paradox módon a módszer megbízhatóbb lesz. A standard Hough transzformáció nem ad ki vonalszegmenseket. Csak a théta meredeksége és a koordináták kezdetétől való rho távolság. Ezek alkotják a Hough tér részét, amelynek a fent látható. Itt a théta a vízszintes tengelynek felel meg. A világos foltok jelzik a lehetséges vonalakat a képen. Vegye figyelembe, hogy több ilyen folt található egymás felett. Nem csoda, hogy képünkön sok párhuzamos vonal található. Ugyanaz a téta és különböző rho.

3. lépés: A théta hisztogram kiszámítása

Téta hisztogram kiszámítása
Téta hisztogram kiszámítása

Észleljük az ilyen csoportokat. Ebből a célból összefoglaljuk a Hough -tér összes pontjának leolvasását ugyanazzal a tétával. Az illusztráción a megfelelő hisztogram látható. Néhány megjegyzés a mérésekről. Amikor képpontkoordinátás képekkel dolgozik, az X tengely a szokásos módon megy, de Y lefelé mutat, így a koordináta eredete a bal felső sarok, a thétát pedig az X tengelytől az óramutató járásával megegyező irányban kell mérni. Figyelembe véve, hogy a képen a théta teljes söprése 180 fokos, megközelítőleg ellenőrizheti, hogy 3 fő csúcs 3 domináns lejtőt képvisel -e a képen.

4. lépés: Számítsa ki a Rho hisztogramot

Rho hisztogram kiszámítása
Rho hisztogram kiszámítása

Most, hogy ismerjük a párhuzamos egyenesek 3 fő csoportját, különítsük el a vonalakat mindegyiken belül. Ugyanezt a megközelítést megismételhetjük. Vegyünk egy oszlopot a Hough térből, amely a théta hisztogram egyik csúcsának felel meg. Ezután kiszámítunk egy másik hisztogramot, ahol az X tengely az rho értékét és Y - ennek az rho -nak az összesített leolvasását jelenti. Nyilvánvaló, hogy az összeg kevesebb lesz, így ez a diagram nem olyan sima. Ennek ellenére a csúcsok jól láthatók, és számuk (7) pontosan megfelel a forráskép párhuzamos vonalainak számának. Sajnos nem minden grafikon olyan tökéletes, de az elv világos.

5. lépés: Keresse meg a központi csomót

Keresse meg a központi csomót
Keresse meg a központi csomót

Ha az egyes théták rho hisztogramján a középső csúcsot vesszük, 3 vonalat kapunk, amelyek pirosak a képen. Kereszteződésük jelzi a szükséges pontot.

6. lépés: Válasszon a 2 alternatíva közül

Válasszon 2 alternatíva közül
Válasszon 2 alternatíva közül
Válasszon 2 alternatíva közül
Válasszon 2 alternatíva közül

Látja, hogy minden vonal a középső ponttól mindkét irányba megy. Hogyan lehet meghatározni a megfelelő felét? Vegyük a théta3 -at. Tegyük fel, hogy ennek a sornak az alsó részét vesszük. Számítsunk ki egy újabb Hough teret csak a kép azon részéhez, 2 zöld vonaltól a kép jobb felső sarkáig. Ezután hozza létre a théta hisztogramot. Látja, hogy a harmadik csúcs teljesen eltűnt, így helyesen döntöttünk.

7. lépés: Határozza meg a külső sarkokat

Határozza meg a külső sarkokat
Határozza meg a külső sarkokat

Most már használhatjuk az első és az utolsó csúcsot a rho hisztogramokon, hogy kék vonalakat húzzunk, amelyek elvágják a piros éleket és megjelölik a többi sarkot. A feladat megoldva.

8. lépés: Próbálja ki a gyakorlatban

Az Instructable illusztrációi a Perception 1.0 használatával készültek. Ez egy ingyenes szoftver, amely OpenCV -t használ - egy hatékony könyvtárat a számítógépes látáshoz. Ezenkívül a WinNB -hez is kapcsolódhat, amelyet egy másik Instructable programban használtam, így látási képességet biztosítva a robotikának. Mindkét programot letöltheti az nbsite oldalról. A telepítéshez csak futtassa a letöltött exe fájlt. Később eltávolíthatja a Windows szabványos eszközével. A webhely a számítógépes látással és a kapcsolódó témákkal kapcsolatos forrásokat is tartalmaz. A Perception -ben megtalálható a leírt 3D rekonstrukciós módszer, valamint sok más. Ennek a programnak az az előnye, hogy a végeredményt közbenső adatokkal együtt adja ki. Programozó nélkül is kutathatja a számítógépes látás működését. Ami a bemenetet illeti, minden módszer speciálisan kiválasztott tipikus mintákat tartalmaz. Természetesen használhatja a sajátját is. Lehetőség van képek bevitelére fájlból vagy a számítógép kamerájából. Bármilyen kérdéssel vagy javaslattal forduljon hozzám bizalommal.

Ajánlott: