Obsah:
- Krok 1: Úvod
- Krok 2: Softvér
- Krok 3: Nastavenie hardvéru
- Krok 4: Experimentovanie so skenerom
- Krok 5: Niektoré ďalšie výsledky skenovania
- Krok 6: GUI 3D skenera
Video: DIY 3D skener založený na štruktúrovanom svetle a stereo videní v jazyku Python: 6 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Tento 3D skener bol vyrobený za použitia lacných konvenčných položiek, ako sú videoprojektor a webové kamery. 3D skener so štruktúrovaným svetlom je 3D skenovacie zariadenie na meranie trojrozmerného tvaru objektu pomocou premietaných svetelných obrazcov a kamerového systému. Software bol vyvinutý na základe štruktúrovaného svetla a stereo videnia v jazyku python.
Premietanie úzkeho pásma svetla na trojrozmerný tvarovaný povrch vytvára líniu osvetlenia, ktorá sa zdá byť skreslená z iných perspektív než z pohľadu projektora a môže byť použitá na presnú geometrickú rekonštrukciu tvaru povrchu. Horizontálne a vertikálne svetelné pásy sú premietané na povrch objektu a potom zachytené dvoma webkamerami.
Krok 1: Úvod
Automatické zariadenia na získavanie 3D (často nazývané 3D skenery) umožňujú vytvárať nákladovo a časovo efektívne vysoko presné modely skutočných 3D objektov. Túto technológiu sme vyskúšali pri skenovaní hračky, aby sme dokázali výkonnosť. Špecifickými potrebami sú: stredne vysoká presnosť, jednoduché použitie, dostupné náklady na skenovacie zariadenie, získavanie tvarových a farebných údajov vlastnými silami a nakoniec prevádzková bezpečnosť pre operátora aj skenované objekty. Podľa týchto požiadaviek sme navrhli nízkonákladový 3D skener založený na štruktúrovanom svetle, ktorý využíva všestranný prístup so vzorom farebných prúžkov. Predstavujeme architektúru skenera, prijaté softvérové technológie a prvé výsledky jeho použitia v projekte týkajúcom sa 3D akvizície hračky.
Pri návrhu nášho lacného skenera sme sa rozhodli implementovať emitorovú jednotku pomocou videoprojektora. Dôvodom bola flexibilita tohto zariadenia (ktorá umožňuje experimentovať s akýmkoľvek typom svetelného obrazca) a jeho široká dostupnosť. Senzorom môže byť buď vlastné zariadenie, štandardný digitálny fotoaparát alebo webová kamera. musí podporovať zachytávanie farieb vo vysokej kvalite (t. j. získanie vysokého dynamického rozsahu) a prípadne s vysokým rozlíšením.
Krok 2: Softvér
Jazyk Python bol použitý na programovanie z troch dôvodov, z ktorých jeden sa dá ľahko naučiť a implementovať, dva môžeme použiť OPENCV na rutiny súvisiace s obrazom a tri sú prenosné medzi rôznymi operačnými systémami, takže tento program môžete používať vo Windows, MAC a Linux. Softvér môžete tiež nakonfigurovať na použitie s akýmkoľvek typom fotoaparátu (webové kamery, zrkadlovky alebo priemyselné fotoaparáty) alebo projektorom s natívnym rozlíšením 1024 x 768. Je lepšie používať fotoaparáty s viac ako dvojnásobným rozlíšením. Osobne som testoval výkon v troch rôznych konfiguráciách, prvá bola s dvoma paralelnými webkamerami Microsoft a malým prenosným projektorom, druhá s dvoma webkamerami lifecam cinema, ktoré sa otáčali o 15 stupňov k sebe, a projektorom Infocus, posledná konfigurácia bola s webovými kamerami logitech a projektor Infocus. Na zachytenie mračna bodov povrchu objektu by sme mali prejsť piatimi krokmi:
1. Premietanie sivých vzorov a snímanie obrázkov z dvoch kamier „SL3DS1.projcapt.py“
2. Spracovanie 42 snímok z každej kamery a zachytenie kódov bodov „SL3DS2.procimages.py“
2. Úprava prahu na výber maskovania pre oblasti, ktoré sa majú spracovať „SL3DS3.adjustthresh.py“
4. Nájdite a uložte podobné body v každom fotoaparáte „SL3DS4.calcpxpy.py“
5 Vypočítajte súradnice X, Y a Z mračna bodov „SL3DS5.calcxyz.py“
Výstupom je súbor PLY so súradnicovými a farebnými informáciami bodov na povrchu objektu. Súbory PLY môžete otvárať pomocou softvéru CAD, ako sú produkty Autodesk, alebo softvéru s otvoreným zdrojovým kódom, ako je Meshlab.
www.autodesk.com/products/personal-design-a…
Na spustenie týchto programov Python by mal byť nainštalovaný Python 2.7, modul OPENCV a NUMPY. Tiež som vyvinul GUI pre tento softvér v TKINTER, ktoré nájdete v šiestom kroku s dvoma súbormi vzorových údajov. Ďalšie informácie o tejto téme nájdete na nasledujúcich webových stránkach:
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…
Krok 3: Nastavenie hardvéru
Hardvér pozostáva z:
1. Dve webové kamery (Logitech C920C)
2. Projektor Infocus LP330
3. Stojan na fotoaparát a projektor (vyrobený z 3 mm akrylových platní a 6 mm dreva HDF rezaného laserovou rezačkou)
Dve kamery a projektor by mali byť pripojené k počítaču s dvoma video výstupmi, ako je prenosný počítač, a obrazovka projektora by mala byť nakonfigurovaná ako rozšírenie pracovnej plochy hlavného okna. Tu si môžete prezrieť obrázky kamier, projektora a stojana. Výkresový súbor pripravený na vystrihnutie je pripojený vo formáte SVG.
Projektor je Infocus LP330 (natívne rozlíšenie 1024 x 768) s nasledujúcimi špecifikáciami. Jas: 650 lúmenov Farebný svetelný výkon: ** Kontrast (úplné zapnutie/vypnutie): 400: 1 Automatická clona: Bez pôvodného rozlíšenia: 1024 x 768 Pomer strán: 4: 3 (XGA) Režimy videa: ** Dátové režimy: MAX. 1024 x 768 Max. Výkon: 200 W Napätie: 100 V - 240 V Veľkosť (cm) (VxŠxH): 6 x 22 x 25 Hmotnosť: 2,2 kg Životnosť žiarovky (plný výkon): 1 000 hodiny Typ žiarovky: UHPL Príkon žiarovky: 120 W Množstvo žiarovky: 1 Typ displeja: 2 cm DLP (1) Štandardný zoomový objektív: 1,25: 1 Zaostrenie: Ručná vzdialenosť vrhania (m): 1,5 - 30,5 Veľkosť obrazu (cm): 76 - 1971
Tento videoprojektor slúži na premietanie štruktúrovaných svetelných vzorov na skenovaný objekt. Štruktúrovaný vzor pozostáva zo zvislých a vodorovných pásov bieleho svetla, ktoré sú uložené v dátovom súbore a webové kamery zachytávajú tieto skreslené pásy.
Prednostne používajte fotoaparáty, ktoré je možné ovládať softvérom, pretože musíte upraviť zaostrenie, jas, rozlíšenie a kvalitu obrazu. Je možné používať fotoaparáty DSLR so súpravami SDK, ktoré poskytuje každá značka.
Montáž a testy boli vykonané v Kodani Fablab s jeho podporou.
Krok 4: Experimentovanie so skenerom
Na testovanie systému bola použitá rybia hračka a môžete vidieť nasnímaný obrázok. Všetky zachytené súbory a tiež oblak výstupných bodov sú zahrnuté v priloženom súbore, súbor mračna bodov PLY môžete otvoriť pomocou Meshlab:
meshlab.sourceforge.net/
Krok 5: Niektoré ďalšie výsledky skenovania
Tu môžete vidieť niekoľko skenov ľudskej tváre a 3D skenovanie steny. Vždy existujú určité okrajové body v dôsledku odrazov alebo nepresných výsledkov obrázka.
Krok 6: GUI 3D skenera
Na testovanie softvéru na 3D skenovanie v tomto kroku pridávam dva súbory údajov, jeden je skenovanie ryby a druhý je iba rovina, aby som zistil jeho presnosť. Otvorte súbory ZIP a spustite SL3DGUI.py. Pri inštalácii skontrolujte krok 2. Odoslať správu do mojej doručenej pošty tu pre všetky zdrojové kódy.
Ak chcete použiť časť 3D skenovania, musíte nainštalovať dve kamery a projektor, ale pre ostatné časti stačí kliknúť na tlačidlo. Na testovanie vzorových údajov najskôr kliknite na proces, potom na prahovú hodnotu, stereo zhodu a nakoniec mračno bodov. Nainštalujte si Meshlab, aby ste videli mračno bodov.
meshlab.sourceforge.net/
Odporúča:
Program jednoduchého pridávania v programovacom jazyku Shakespeare: 18 krokov
Program jednoduchého pridávania v programovacom jazyku Shakespeare: Programovací jazyk Shakespeare (SPL) je príkladom ezoterického programovacieho jazyka, o ktorom je možno zaujímavé sa dozvedieť a je zábavné ho používať, ale nie je obzvlášť užitočný v aplikáciách v reálnom živote. SPL je jazyk, v ktorom zdrojový kód
Kódujte a otestujte počítač v strojovom jazyku: 6 krokov
Kódovanie a testovanie počítača v strojovom jazyku: V tomto návode vám ukážem, ako kódovať a testovať počítačový program v strojovom jazyku. Strojový jazyk je rodný jazyk počítačov. Pretože je zložený z reťazcov 1 s a 0 s, nie je pre ľudí ľahko pochopiteľný. Mať starosti
ZÁKLADNÝ NÁVOD O JAZYKU ZNAČKY ZNAČKY UMELEJ INTELIGENCIE (AIML) PRE Poznámkový blok: 8 krokov
ZÁKLADNÝ NÁVOD O JAZYKU ZNAČKY UMELECKEJ INTELIGENCIE (AIML) PROSTREDNÍCTVO: Artificial Intelligence Markup Language (AIML) je programovací jazyk, ktorý je špecifikáciou Extensible Markup Language (XML) a používa ho chatbot, verbot, pandorabot, superbot a ďalší hovoriaci robot. Bol vyvinutý Dr. Richardom Wallaceom a â € ¦
Svetlé cesty (výučba MST): 5 krokov
Svetlé cesty (výučba MST): Účelom jasných ciest je naučiť študentov o minimálnych preklenujúcich stromoch (MST). Uzol A je zdrojom a všetky ostatné uzly majú určitú váhu (náklady), aby sa k nim dostali. Táto učebná pomôcka ukazuje, že náklady stmavením každého uzla v závislosti od
Tic Tac Toe v jazyku Visual Basic: 3 kroky (s obrázkami)
Tic Tac Toe v jazyku Visual Basic: Tic Tac Toe je jednou z najobľúbenejších hier s časovým predstihom. Najmä v triedach;). V tomto návode navrhneme túto hru v našom počítači pomocou populárnej programovacej platformy GUI, Visual Basic