Sisällysluettelo:

DIY 3D -skanneri perustuu rakenteelliseen valoon ja stereonäköön Python -kielellä: 6 vaihetta (kuvilla)
DIY 3D -skanneri perustuu rakenteelliseen valoon ja stereonäköön Python -kielellä: 6 vaihetta (kuvilla)

Video: DIY 3D -skanneri perustuu rakenteelliseen valoon ja stereonäköön Python -kielellä: 6 vaihetta (kuvilla)

Video: DIY 3D -skanneri perustuu rakenteelliseen valoon ja stereonäköön Python -kielellä: 6 vaihetta (kuvilla)
Video: 3Dプリンターで金の名刺を作ってみた。 2024, Heinäkuu
Anonim
DIY 3D -skanneri perustuu rakenteelliseen valoon ja stereonäköön Python -kielellä
DIY 3D -skanneri perustuu rakenteelliseen valoon ja stereonäköön Python -kielellä
DIY 3D -skanneri perustuu rakenteelliseen valoon ja stereonäköön Python -kielellä
DIY 3D -skanneri perustuu rakenteelliseen valoon ja stereonäköön Python -kielellä

Tämä 3D -skanneri valmistettiin edullisilla tavanomaisilla tuotteilla, kuten videoprojektorilla ja verkkokameroilla. Strukturoidun valon 3D-skanneri on 3D-skannauslaite, jolla mitataan kohteen kolmiulotteinen muoto käyttämällä heijastettuja valokuvioita ja kamerajärjestelmää. Ohjelmisto kehitettiin perustuen strukturoituun valoon ja stereonäköön python -kielellä.

Kapean valonsäteen heijastaminen kolmiulotteiselle muotoillulle pinnalle tuottaa valaistuslinjan, joka näyttää vääristyneeltä muilta kuin projektorin näkökulmista, ja sitä voidaan käyttää pinnan muodon tarkkaan geometriseen rekonstruktioon. Vaaka- ja pystysuuntaiset valonauhat projisoidaan kohteen pintaan ja sitten ne tallennetaan kahdella verkkokameralla.

Vaihe 1: Johdanto

Johdanto
Johdanto
Johdanto
Johdanto

Automaattiset 3D-hankintalaitteet (joita usein kutsutaan 3D-skanneriksi) mahdollistavat erittäin tarkkojen mallien rakentamisen todellisista 3D-objekteista kustannustehokkaasti ja aikaa säästävästi. Olemme kokeilleet tätä tekniikkaa lelujen skannaamisessa suorituskyvyn osoittamiseksi. Erityistarpeita ovat: keskitason korkea tarkkuus, helppokäyttöisyys, skannauslaitteen edullinen hinta, muoto- ja väritietojen itserekisteröity hankinta ja lopulta sekä käyttäjän että skannattujen kohteiden käyttöturvallisuus. Näiden vaatimusten mukaisesti suunnittelimme halvan, rakenteelliseen valoon perustuvan 3D-skannerin, joka käyttää monipuolista värillistä raitakuvioista. Esittelemme skannerin arkkitehtuurin, käytetyt ohjelmistotekniikat ja ensimmäiset tulokset sen käytöstä hankkeessa, joka koskee lelun 3D -hankintaa.

Halvan skannerimme suunnittelussa päätimme toteuttaa emitteriyksikön käyttämällä videoprojektoria. Syynä oli tämän laitteen joustavuus (jonka avulla voidaan kokeilla minkä tahansa tyyppisiä valokuvioita) ja sen laaja saatavuus. Anturi voi olla joko mukautettu laite, tavallinen digitaalikamera tai verkkokamera. sen on tuettava korkealaatuista värin sieppaamista (eli korkean dynaamisen alueen hankkimista) ja mahdollisesti korkealla resoluutiolla.

Vaihe 2: Ohjelmisto

Ohjelmisto
Ohjelmisto

Python -kieltä käytettiin ohjelmoinnissa kolmesta syystä, joista toinen on helppo oppia ja toteuttaa, kaksi voimme käyttää OPENCV -ohjelmaa kuvaan liittyviin rutiineihin ja kolme se on kannettava eri käyttöjärjestelmien välillä, joten voit käyttää tätä ohjelmaa Windowsissa, MAC: ssa ja Linuxissa. Voit myös määrittää ohjelmiston käytettäväksi minkä tahansa kameran (verkkokamerat, järjestelmäkamerat tai teollisuuskamerat) tai projektorin kanssa, jonka tarkkuus on 1024 x 768 pikseliä. On parempi käyttää kameroita, joiden resoluutio on yli kaksi kertaa. Testasin henkilökohtaisesti suorituskykyä kolmessa eri kokoonpanossa, ensimmäinen oli kahdella rinnakkaisella Microsoftin web -elokuvateatterilla ja pienellä kannettavalla projektorilla, toinen kahdella lifecam -elokuvateatterikameralla, jotka kääntyivät 15 astetta toisiaan kohti, ja Infocus -projektorilla, viimeinen kokoonpano oli logitech -verkkokameroilla ja Infocus -projektori. Objektipinnan pistepilven kaappaamiseksi meidän on mentävä viiden vaiheen läpi:

1. Harmaiden kuvioiden heijastaminen ja kuvien ottaminen kahdesta kamerasta "SL3DS1.projcapt.py"

2. Käsitellään kunkin kameran 42 kuvaa ja kaapataan pistekoodit "SL3DS2.procimages.py"

2. Kynnyksen säätäminen käsiteltävien alueiden peittämisen valitsemiseksi "SL3DS3.adjustthresh.py"

4. Etsi ja tallenna samanlaisia pisteitä kustakin kamerasta "SL3DS4.calcpxpy.py"

5 Laske pistepilven "SL3DS5.calcxyz.py" X-, Y- ja Z -koordinaatit

Tulos on PLY -tiedosto, joka sisältää koordinaatit ja väritiedot kohteen pinnalla olevista pisteistä. Voit avata PLY -tiedostoja CAD -ohjelmistolla, kuten Autodesk -tuotteilla, tai avoimen lähdekoodin ohjelmistolla, kuten Meshlab.

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

Python 2.7, OPENCV -moduuli ja NUMPY on asennettava näiden Python -ohjelmien suorittamista varten. Olen myös kehittänyt graafisen käyttöliittymän tälle ohjelmistolle TKINTERissä, jonka löydät vaiheessa 6 kahdella näytetiedostolla. Löydät lisätietoja tästä aiheesta seuraavilta verkkosivuilta:

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…

Vaihe 3: Laitteiston asennus

Laitteiston asennus
Laitteiston asennus
Laitteiston asennus
Laitteiston asennus
Laitteiston asennus
Laitteiston asennus
Laitteiston asennus
Laitteiston asennus

Laitteisto koostuu:

1. Kaksi verkkokameraa (Logitech C920C)

2. Infocus LP330 -projektori

3. Kameran ja projektorin jalusta (valmistettu 3 mm: n akryylilevyistä ja 6 mm: n HDF -puusta, leikattu laserleikkurilla)

Kaksi kameraa ja projektori on liitettävä tietokoneeseen, jossa on kaksi videolähtöä, kuten kannettava tietokone, ja projektorin näyttö on määritettävä laajennukseksi pääikkunan työpöydälle. Täältä näet kuvia kameroista, projektorista ja jalustasta. Leikattava piirustustiedosto on liitetty SVG -muodossa.

Projektori on Infocus LP330 (alkuperäinen resoluutio 1024X768) ja seuraavat tiedot Kirkkaus: 650 lumenin värivaloteho: ** Kontrasti (täysi päälle/pois): 400: 1 Automaattinen iiris: Ei alkuperäistä tarkkuutta: 1024x768 Kuvasuhde: 4: 3 (XGA) Videotilat: ** Tietotilat: MAX 1024x768 Suurin teho: 200 wattia Jännite: 100V - 240V Koko (cm) (KxLxS): 6 x 22 x 25 Paino: 2,2 kg Lampun käyttöikä (täysi teho): 1000 tuntia Lampun tyyppi: UHPLampun teho: 120 wattia Lampun määrä: 1 Näytön tyyppi: 2 cm DLP (1) Vakio -zoom -objektiivi: 1,25: 1 Tarkennus: Manuaalinen heijastusetäisyys (m): 1,5 - 30,5 Kuvakoko (cm): 76-1971

Tätä videoprojektoria käytetään heijastamaan strukturoituja valokuvioita skannattavaan kohteeseen. Rakenteellinen kuvio koostuu pysty- ja vaakasuorista valkoisista valonauhoista, jotka tallennetaan datatiedostoon, ja verkkokamerat sieppaavat vääristyneet nauhat.

Käytä mieluiten niitä kameroita, joita voidaan ohjata ohjelmistolla, koska sinun on säädettävä tarkennusta, kirkkautta, tarkkuutta ja kuvanlaatua. On mahdollista käyttää DSLR -kameroita, joissa on kunkin merkin tarjoamia SDK: ita.

Kokoonpano ja testit tehtiin Kööpenhaminan Fablabissa sen tuella.

Vaihe 4: Kokeileminen skannerilla

Kokeileminen skannerilla
Kokeileminen skannerilla
Kokeileminen skannerilla
Kokeileminen skannerilla
Kokeileminen skannerilla
Kokeileminen skannerilla

Järjestelmän testaamiseen käytettiin kalalelua ja näet otetun kuvan. Kaikki kaapattu tiedosto ja myös lähtöpistepilvi sisältyvät liitteenä olevaan tiedostoon, voit avata PLY -pistetiedoston Meshlabilla:

meshlab.sourceforge.net/

Vaihe 5: Jotkut muut skannaustulokset

Muutamia muita skannaustuloksia
Muutamia muita skannaustuloksia
Muutamia muita skannaustuloksia
Muutamia muita skannaustuloksia
Muutamia muita skannaustuloksia
Muutamia muita skannaustuloksia
Muutamia muita skannaustuloksia
Muutamia muita skannaustuloksia

Täällä näet joitain ihmisen kasvojen skannauksia ja seinän 3D -skannausta. Heijastuksista tai epätarkista kuvatuloksista johtuvat aina jotkut poikkeavat kohdat.

Vaihe 6: 3D -skannerin käyttöliittymä

3D -skannerin käyttöliittymä
3D -skannerin käyttöliittymä

3D -skannausohjelmiston testaamiseksi tässä vaiheessa lisään kaksi tietojoukkoa, joista toinen on kalan skannaus ja toinen on vain tasoseinä, jotta näet sen tarkkuuden. Avaa ZIP -tiedostot ja suorita SL3DGUI.py. Tarkista asennusta varten vaihe 2. Lähetä viesti postilaatikkooni täältä saadaksesi kaikki lähdekoodit.

Jotta voit käyttää 3D -skannausosaa, sinun on asennettava kaksi kameraa ja projektori, mutta muissa osissa napsauta painiketta. Jos haluat testata näytetietoja, napsauta ensin prosessia, sitten kynnystä, stereovastausta ja lopuksi pistepilveä. Asenna Meshlab nähdäksesi pilvipisteen.

meshlab.sourceforge.net/

Suositeltava: