Tartalomjegyzék:
- 1. lépés: Értékelje a feladat összetettségét
- 2. lépés: Keresse meg a megfelelő megközelítést
- 3. lépés: A théta hisztogram kiszámítása
- 4. lépés: Számítsa ki a Rho hisztogramot
- 5. lépés: Keresse meg a központi csomót
- 6. lépés: Válasszon a 2 alternatíva közül
- 7. lépés: Határozza meg a külső sarkokat
- 8. lépés: Próbálja ki a gyakorlatban
Videó: 3D rekonstrukció egyetlen fényképből: 8 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
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
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
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
É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
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
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
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
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:
Görgetés egyetlen LCD soron: 4 lépés (képekkel)
Scroll Single LCD Line: A folyadékkristályos könyvtár két hasznos funkcióval rendelkezik: scrollDisplayLeft () és scrollDisplayRight (). Ezek a funkciók a teljes kijelzőt görgetik. Azaz 1602 -es LCD -n görgetik mindkét sort, 2004 -es LCD -n pedig mind a négy sort. Amire gyakran szükségünk van, az az abi
Két játékos egyetlen LED szalagjáték pontozótáblával: 10 lépés
Két játékos egyetlen LED szalagjáték pontozótáblával: Először is imádkozzunk az istenhez a világ minden népeért, Isten csak ebben az időben tud segíteni és békét adni nekünk. Mindannyian zárva vagyunk, és nincs hova mennünk. Nincs több tennivalóm, ezért kezdje el a python online tanulmányozását, és nem tudok gondolkodni
Kétjegyű kijelző egyetlen 8x8 LED-es mátrix használatával: 3 lépés
Kétszámjegyű kijelző egyetlen 8x8 LED-es mátrix használatával: Itt szeretnék egy hőmérséklet- és páratartalom-jelzőt építeni a szobámhoz. Kétjegyű számok megjelenítésére egyetlen 8x8 LED-es mátrixot használtam, és úgy gondolom, hogy a projekt egy része hasznosabbá vált. A döntőt kartondobozból építettem be, a fájdalom
Bluetooth robotkar egyetlen motoros illesztőprogram használatával: 3 lépés
Bluetooth robotkar egyetlen motoros illesztőprogram használatával: Üdvözöljük az Instructable programban. Ebben az utasításban megmutatom, hogyan alakíthatja át a vezetékes vezérlő robotkart Bluetooth robotkarrá egyetlen motoros illesztőprogram használatával. Ez egy otthoni munka, amely kijárási tilalom alatt készült. Szóval ezúttal csak egy L29 -esem van
Nike LED Swoosh! Ez egy nagyszerű dekoráció egy szobához. Ez az egyetlen projekt, amelyet mindenki megismételhet: 5 lépés
Nike LED Swoosh! Ez egy nagyszerű dekoráció egy szobához. Ez az egyetlen projekt, amelyet mindenki megismételhet. 2x-fa 20-20-3000 2x-rétegelt lemez 500-1000mm-csavarok (45mm) 150x-csavarok (35mm) 30x-sc