Tartalomjegyzék:

DIY 3D szkenner strukturált fény és sztereó látás alapján Python nyelven: 6 lépés (képekkel)
DIY 3D szkenner strukturált fény és sztereó látás alapján Python nyelven: 6 lépés (képekkel)

Videó: DIY 3D szkenner strukturált fény és sztereó látás alapján Python nyelven: 6 lépés (képekkel)

Videó: DIY 3D szkenner strukturált fény és sztereó látás alapján Python nyelven: 6 lépés (képekkel)
Videó: 🟡 POCO X5 PRO - САМЫЙ ДЕТАЛЬНЫЙ ОБЗОР и ТЕСТЫ 2024, Július
Anonim
DIY 3D szkenner strukturált fény és sztereó látás alapján Python nyelven
DIY 3D szkenner strukturált fény és sztereó látás alapján Python nyelven
DIY 3D szkenner strukturált fény és sztereó látás alapján Python nyelven
DIY 3D szkenner strukturált fény és sztereó látás alapján Python nyelven

Ez a 3D szkenner olcsó, hagyományos elemek, például videoprojektor és webkamerák felhasználásával készült. A strukturált fényű 3D szkenner egy 3D szkennelő eszköz egy tárgy háromdimenziós alakjának mérésére vetített fényminták és kamerarendszer segítségével. A szoftvert strukturált fény és sztereó látás alapján fejlesztették ki python nyelven.

Egy keskeny fénysáv háromdimenziós alakra történő kivetítése olyan megvilágítási vonalat eredményez, amely a projektorén kívül más nézőpontokból is torznak tűnik, és felhasználható a felület alakjának pontos geometriai rekonstrukciójára. A vízszintes és függőleges fénysávokat az objektum felületére vetítik, majd két webkamerával rögzítik.

1. lépés: Bevezetés

Bevezetés
Bevezetés
Bevezetés
Bevezetés

Az automatikus 3D-gyűjtőeszközök (gyakran 3D-s szkennerek) lehetővé teszik a valódi 3D-objektumok rendkívül pontos modelljének felépítését költség- és időhatékony módon. Kipróbáltuk ezt a technológiát egy játék beolvasásakor, hogy bizonyítsuk a teljesítményt. Specifikus igények: közepesen nagy pontosság, könnyű használat, a szkennelő eszköz megfizethető költsége, önállóan regisztrált forma- és színadatok megszerzése, és végül a kezelő és a beolvasott objektumok üzembiztonsága. E követelményeknek megfelelően strukturált fényen alapuló olcsó 3D szkennert terveztünk, amely sokoldalú színes csíkos mintázatot alkalmaz. Bemutatjuk a szkenner architektúráját, az alkalmazott szoftvertechnológiákat és használatának első eredményeit egy játék 3D -s beszerzésével kapcsolatos projektben.

Olcsó szkennerünk tervezésekor úgy döntöttünk, hogy az emitter egy videoprojektor segítségével valósítjuk meg. Ennek oka az eszköz rugalmassága (amely lehetővé teszi bármilyen típusú fénymintázat kísérletezését) és széles körű rendelkezésre állása. Az érzékelő lehet egyedi eszköz, szabványos digitális fényképezőgép vagy webkamera. támogatnia kell a kiváló minőségű színrögzítést (azaz a nagy dinamikatartomány megszerzését) és lehetőleg nagy felbontással.

2. lépés: Szoftver

Szoftver
Szoftver

A Python nyelvet három okból használták a programozáshoz, az egyik könnyen megtanulható és megvalósítható, kettő az OPENCV -t használhatja a képekkel kapcsolatos rutinokhoz, és három hordozható a különböző operációs rendszerek között, így használhatja ezt a programot Windows, MAC és Linux rendszereken. A szoftvert úgy is konfigurálhatja, hogy bármilyen típusú kamerával (webkamerával, tükörreflexes fényképezőgéppel vagy ipari kamerával) vagy kivetítővel használható legyen, natív 1024X768 felbontással. Jobb, ha több mint kétszeres felbontású kamerákat használ. Én személyesen teszteltem a teljesítményt három különböző konfigurációban, az első két párhuzamos Microsoft webkamerával és egy kis hordozható kivetítővel volt, a második két lifecam mozi webkamerával, amelyek 15 fokkal egymás felé forogtak, és az Infocus kivetítővel, az utolsó konfiguráció a logitech webkamerákkal történt. és Infocus projektor. Az objektumfelület pontfelhőjének rögzítéséhez öt lépést kell megtennünk:

1. Szürke minták kivetítése és képek készítése két kamerából "SL3DS1.projcapt.py"

2. Az egyes kamerák 42 képének feldolgozása és az „SL3DS2.procimages.py” pontkódok rögzítése

2. A küszöb beállítása a maszkolás kiválasztásához a feldolgozandó területeken "SL3DS3.adjustthresh.py"

4. Keresse meg és mentse el a hasonló pontokat minden "SL3DS4.calcpxpy.py" kamerában

5 Számítsa ki az "SL3DS5.calcxyz.py" pontfelhő X, Y és Z koordinátáit

A kimenet egy PLY fájl, amely koordináta- és színinformációkat tartalmaz az objektum felületén lévő pontokról. A PLY fájlokat CAD szoftverrel, például Autodesk termékekkel vagy nyílt forráskódú szoftverrel, például Meshlab megnyithatja.

www.autodesk.com/products/personal-design-a…

Ezen Python programok futtatásához telepíteni kell a Python 2.7 -et, az OPENCV modult és a NUMPY -t. A szoftverhez GUI -t is kifejlesztettem a TKINTER -ben, amelyet a hatodik lépésben talál meg két mintaadathalmazzal. A témában további információkat talál az alábbi webhelyeken:

docs.opencv.org/modules/calib3d/doc/camera_…

docs.opencv.org/modules/highgui/doc/reading…

www.3dunderworld.org/software/

arxiv.org/pdf/1406.6595v1.pdf

mesh.brown.edu/byo3d/index.html

www.opticsinfobase.org/aop/fulltext.cfm?uri…

hera.inf-cv.uni-jena.de:6680/pdf/Brauer-Bur…

3. lépés: Hardver beállítása

Hardver beállítása
Hardver beállítása
Hardver beállítása
Hardver beállítása
Hardver beállítása
Hardver beállítása
Hardver beállítása
Hardver beállítása

A hardver a következőkből áll:

1. Két webkamera (Logitech C920C)

2. Infocus LP330 projektor

3. Kamera- és kivetítőállvány (3 mm -es akrillemezekből és 6 mm -es HDF -fából, lézervágóval vágva)

Két kamerát és kivetítőt két videokimenettel rendelkező számítógéphez kell csatlakoztatni, például egy notebook számítógéphez, és a kivetítő képernyőjét úgy kell konfigurálni, mint a főablakok asztali kiterjesztését. Itt láthatja a kamerák, a projektor és az állvány képeit. A vágásra kész rajzfájl SVG formátumban van csatolva.

A projektor egy Infocus LP330 (natív felbontás 1024X768), a következő specifikációkkal. Fényerő: 650 Lumen színes fénykibocsátás: ** Kontraszt (teljes be/ki): 400: 1 Auto Iris: Nincs natív felbontás: 1024x768 Képarány: 4: 3 (XGA) Videó módok: ** Adatmódok: MAX 1024x768 Max. Teljesítmény: 200 watt Feszültség: 100V - 240V Méret (cm) (HxWxD): 6 x 22 x 25 Súly: 2,2 kg Lámpa élettartama (teljes teljesítmény): 1000 óra Lámpa típusa: UHPLámpa Teljesítmény: 120 W Lámpa Mennyiség: 1 Kijelző típusa: 2 cm DLP (1) Standard zoom objektív: 1,25: 1 Fókusz: Kézi vetítési távolság (m): 1,5 - 30,5 Képméret (cm): 76 - 1971

Ez a videoprojektor strukturált fényminták kivetítésére szolgál a beolvasandó objektumon. A strukturált minta függőleges és vízszintes fehér fénycsíkokból áll, amelyeket egy adatfájlba mentenek, és a webkamerák rögzítik ezeket a torz csíkokat.

Lehetőleg azokat a kamerákat használja, amelyek szoftveresen vezérelhetők, mert módosítani kell a fókuszt, a fényerőt, a felbontást és a képminőséget. Lehetőség van az egyes márkák által biztosított SDK -val ellátott DSLR kamerák használatára.

Az összeszerelést és a vizsgálatokat a koppenhágai Fablabban végezték támogatásával.

4. lépés: Kísérletezés a szkennerrel

Kísérletezés a szkennerrel
Kísérletezés a szkennerrel
Kísérletezés a szkennerrel
Kísérletezés a szkennerrel
Kísérletezés a szkennerrel
Kísérletezés a szkennerrel

A rendszer teszteléséhez haljátékot használtak, és láthatja a rögzített képet. Az összes rögzített fájl és a kimeneti pontfelhő is a csatolt fájlban található, megnyithatja a PLY pont felhőfájlt a Meshlab segítségével:

meshlab.sourceforge.net/

5. lépés: Néhány egyéb szkennelési eredmény

Néhány egyéb szkennelési eredmény
Néhány egyéb szkennelési eredmény
Néhány egyéb szkennelési eredmény
Néhány egyéb szkennelési eredmény
Néhány egyéb szkennelési eredmény
Néhány egyéb szkennelési eredmény
Néhány egyéb szkennelési eredmény
Néhány egyéb szkennelési eredmény

Itt látható néhány emberi arc szkennelése és egy fal 3D szkennelése. Mindig vannak kiugró pontok a tükröződések vagy a pontatlan képeredmények miatt.

6. lépés: 3D szkenner grafikus felhasználói felület

3D szkenner GUI
3D szkenner GUI

A 3D szkennelési szoftver teszteléséhez ebben a lépésben két adatsort adok hozzá, az egyik a hal beolvasása, a másik pedig csak egy síkfal, hogy lássa annak pontosságát. Nyissa meg a ZIP fájlokat, és futtassa az SL3DGUI.py fájlt. A telepítéshez ellenőrizze a 2. lépést. Az összes forráskódért küldjön üzenetet a postafiókomba.

A 3D szkennelési rész használatához két kamerát és kivetítőt kell telepítenie, de a többi részhez csak kattintson a gombra. A mintaadatok teszteléséhez először kattintson a folyamatra, majd a küszöbértékre, a sztereó egyezésre és végül a pontfelhőre. Telepítse a Meshlab -ot a pontfelhő megtekintéséhez.

meshlab.sourceforge.net/

Ajánlott: