Sisukord:

DIY 3D -skanner struktureeritud valguse ja stereovisiooni põhjal Pythoni keeles: 6 sammu (piltidega)
DIY 3D -skanner struktureeritud valguse ja stereovisiooni põhjal Pythoni keeles: 6 sammu (piltidega)

Video: DIY 3D -skanner struktureeritud valguse ja stereovisiooni põhjal Pythoni keeles: 6 sammu (piltidega)

Video: DIY 3D -skanner struktureeritud valguse ja stereovisiooni põhjal Pythoni keeles: 6 sammu (piltidega)
Video: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, November
Anonim
DIY 3D -skanner, mis põhineb struktureeritud valgusel ja stereovisioonil Pythoni keeles
DIY 3D -skanner, mis põhineb struktureeritud valgusel ja stereovisioonil Pythoni keeles
DIY 3D -skanner, mis põhineb struktureeritud valgusel ja stereovisioonil Pythoni keeles
DIY 3D -skanner, mis põhineb struktureeritud valgusel ja stereovisioonil Pythoni keeles

See 3D -skanner valmistati odavate tavapäraste esemete, näiteks videoprojektori ja veebikaamerate abil. Struktureeritud valgusega 3D-skanner on 3D-skaneerimisseade objekti kolmemõõtmelise kuju mõõtmiseks, kasutades projitseeritud valgusmustreid ja kaamerasüsteemi. Tarkvara töötati välja struktureeritud valguse ja stereovisiooni põhjal koos pythonikeelega.

Kitsase valgusriba projitseerimine kolmemõõtmelisele kujuga pinnale tekitab valgustusjoone, mis tundub olevat muust kui projektori vaatenurgast moonutatud ja mida saab kasutada pinna kuju täpseks geomeetriliseks rekonstrueerimiseks. Horisontaalsed ja vertikaalsed valgusribad projitseeritakse objekti pinnale ja jäädvustatakse seejärel kahe veebikaamera abil.

Samm 1: Sissejuhatus

Sissejuhatus
Sissejuhatus
Sissejuhatus
Sissejuhatus

Automaatsed 3D-hankimisseadmed (mida sageli nimetatakse 3D-skanneriteks) võimaldavad ehitada reaalsete 3D-objektide ülitäpseid mudeleid kulu- ja ajasäästlikult. Oleme seda tehnoloogiat katsetanud mänguasja skaneerimisel, et tõestada jõudlust. Erivajadused on järgmised: keskmine kõrge täpsus, lihtne kasutada, skannimisseadme taskukohane hind, kuju- ja värviandmete iseregistreeritud hankimine ning lõpuks nii operaatori kui ka skaneeritud objektide tööohutus. Nende nõuete kohaselt kavandasime struktureeritud valguse põhjal odava 3D-skanneri, mis kasutab mitmekülgset värvilist triipmustrit. Esitleme skanneri arhitektuuri, kasutusele võetud tarkvaratehnoloogiaid ja selle kasutamise esimesi tulemusi projektis, mis puudutab mänguasja 3D -omandamist.

Meie odava skanneri projekteerimisel otsustasime emitteri rakendada videoprojektori abil. Põhjuseks oli selle seadme paindlikkus (mis võimaldab katsetada mis tahes tüüpi valgusmustreid) ja selle lai kättesaadavus. Andur võib olla kas kohandatud seade, tavaline digitaalne fotokaamera või veebikaamera. see peab toetama kvaliteetset värvipüüdmist (st kõrge dünaamilise ulatuse omandamist) ja võib -olla ka kõrge eraldusvõimega.

Samm 2: Tarkvara

Tarkvara
Tarkvara

Programmeerimiseks kasutati Pythoni keelt kolmel põhjusel, millest ühte on lihtne õppida ja rakendada, kaks saame kasutada OPENCV -d pildiga seotud rutiinide jaoks ja kolm on kaasaskantav erinevate operatsioonisüsteemide vahel, nii et saate seda programmi kasutada akendes, MAC -is ja Linuxis. Samuti saate tarkvara konfigureerida kasutamiseks mis tahes kaameraga (veebikaamerad, peegelkaamerad või tööstuskaamerad) või 1024X768 eraldusvõimega projektoriga. Parem on kasutada kaameraid, mille eraldusvõime on üle kahe korra suurem. Ma isiklikult testisin jõudlust kolmes erinevas konfiguratsioonis, esimene oli kahe paralleelse Microsofti veebikaamera kino ja väikese kaasaskantava projektoriga, teine kahe Lifecam kino veebikaameraga, mis pöörlesid 15 kraadi üksteise ja Infocus projektori poole, viimane konfiguratsioon logitechi veebikaameratega ja Infocus projektor. Objekti pinna punktpilve jäädvustamiseks peaksime läbima viis sammu:

1. Hallide mustrite projitseerimine ja piltide jäädvustamine kahest kaamerast "SL3DS1.projcapt.py"

2. Iga kaamera 42 pildi töötlemine ja punktide koodid "SL3DS2.procimages.py"

2. Läve reguleerimine maskeerimise valimiseks töödeldavatele aladele "SL3DS3.adjustthresh.py"

4. Leidke ja salvestage igas kaameras sarnased punktid "SL3DS4.calcpxpy.py"

5 Arvutage punktpilve "SL3DS5.calcxyz.py" X, Y ja Z koordinaadid

Väljundiks on PLY -fail, mis sisaldab objekti pinnal olevate punktide koordinaatide ja värviteavet. PLY -faile saate avada CAD -tarkvaraga, nagu Autodeski tooted või avatud lähtekoodiga tarkvara, näiteks Meshlab.

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

Nende Pythoni programmide käitamiseks tuleks installida Python 2.7, OPENCV moodul ja NUMPY. Olen selle tarkvara jaoks ka TKINTERis välja töötanud GUI, mille leiate kuuendas etapis kahe näidisandmekogumiga. Selle teema kohta leiate lisateavet järgmistelt veebisaitidelt:

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…

Samm: riistvara seadistamine

Riistvara seadistamine
Riistvara seadistamine
Riistvara seadistamine
Riistvara seadistamine
Riistvara seadistamine
Riistvara seadistamine
Riistvara seadistamine
Riistvara seadistamine

Riistvara koosneb:

1. Kaks veebikaamerat (Logitech C920C)

2. Infocus LP330 projektor

3. Kaamera ja projektori alus (valmistatud 3 mm akrüülplaatidest ja 6 mm HDF puitlõikega, lõigatud laserlõikuriga)

Kaks kaamerat ja projektorit tuleks ühendada arvutiga, millel on kaks videoväljundit, näiteks sülearvuti ja projektori ekraan peaks olema konfigureeritud põhiakna töölaua laiendusena. Siin näete kaamerate, projektori ja aluse pilte. Lõikamiseks valmis joonistusfail on lisatud SVG -vormingus.

Projektor on Infocus LP330 (algresolutsioon 1024X768), millel on järgmised tehnilised andmed. Heledus: 650 luumenit värvivalgustus: ** kontrastsus (täielik sisse/välja): 400: 1 automaatne iiris: algse eraldusvõime puudub: 1024x768 kuvasuhe: 4: 3 (XGA) videorežiimid: ** Andmerežiimid: MAX 1024x768 Maksimaalne võimsus: 200 vatti Pinge: 100V - 240V Suurus (cm) (KxLxS): 6 x 22 x 25 Kaal: 2,2 kg Lambi eluiga (täisvõimsus): 1000 tundi Lambi tüüp: UHPLambi võimsus: 120 vatti Lambi kogus: 1 Ekraani tüüp: 2 cm DLP (1) Tavaline suumobjektiiv: 1,25: 1 Fookus: käsitsi viskamise kaugus (m): 1,5 - 30,5 Pildi suurus (cm): 76 - 1971

Seda videoprojektorit kasutatakse skaneeritava objekti struktureeritud valgusmustrite projitseerimiseks. Struktureeritud muster koosneb vertikaalsetest ja horisontaalsetest valgetest valgusribadest, mis salvestatakse andmefaili ja veebikaamerad jäädvustavad need moonutatud ribad.

Kasutage eelistatavalt neid kaameraid, mida saab tarkvara abil juhtida, kuna peate reguleerima fookust, heledust, eraldusvõimet ja pildikvaliteeti. Võimalik on kasutada iga kaubamärgi pakutavate SDK -dega DSLR -kaameraid.

Kokkupanek ja katsed viidi läbi Kopenhaageni Fablabis selle toel.

Samm: katsetage skanneriga

Skanneriga katsetamine
Skanneriga katsetamine
Skanneriga katsetamine
Skanneriga katsetamine
Skanneriga katsetamine
Skanneriga katsetamine

Süsteemi testimiseks kasutati kalamänguasja ja näete jäädvustatud pilti. Kogu jäädvustatud fail ja ka väljundpunkti pilv on lisatud lisatud faili, saate PLY -punkti pilvefaili avada Meshlabi abil:

meshlab.sourceforge.net/

Samm: mõned muud skannimistulemused

Mõned muud skannimistulemused
Mõned muud skannimistulemused
Mõned muud skannimistulemused
Mõned muud skannimistulemused
Mõned muud skannimistulemused
Mõned muud skannimistulemused
Mõned muud skannimistulemused
Mõned muud skannimistulemused

Siin näete mõningaid inimese nägude skaneeringuid ja seina 3D -skannimist. Peegelduste või ebatäpsete pilditulemuste tõttu on alati mõningaid kõrvalekaldeid.

6. samm: 3D -skanneri kasutajaliides

3D -skanneri kasutajaliides
3D -skanneri kasutajaliides

Selles etapis 3D -skannimistarkvara testimiseks lisan kaks andmekogumit, millest üks on kala skaneerimine ja teine on lihtsalt tasane sein, et näha selle täpsust. Avage ZIP -failid ja käivitage SL3DGUI.py. Paigaldamiseks kontrollige sammu 2. Kõigi lähtekoodide saamiseks saatke sõnum minu postkasti.

3D -skannimisosa kasutamiseks peate installima kaks kaamerat ja projektori, kuid muude osade jaoks klõpsake lihtsalt nuppu. Prooviandmete testimiseks klõpsake kõigepealt protsessil, seejärel lävel, stereovaste ja lõpuks punktpilv. Punktipilve nägemiseks installige Meshlab.

meshlab.sourceforge.net/

Soovitan: