User Tools

Site Tools


project:3d_scanning_structured_light

DIY 3D skeniranje (2/3) Strukturirano svjetlo

Ako projiciramo liniju na neki 3D objekt, ta će linija, iz perspektive promatrača, biti izobličena u skladu sa površinom objekta. 3D skeniranje korištenjem strukturiranog svjetla bazira se na projiciranju poznatog uzorka (linije, slučajni signal) na predmet te rekonstrukciju 3D objekta korištenjem dobivene slike.

Najpoznatiji primjer korištenja strukturiranog svjetla je Kinect koji projicira (pseudo) slučajni uzorak (“točkice”) u infra-crvenom području.

Jednostavna varijanta 3D skeniranja pomoću strukturiranog svjetla se može izvesti pomoću projektora, kamere koja će snimiti sliku te softvera za rekonstrukciju. Jednostavan open source softver se može naći na:
https://code.google.com/p/structured-light/

3D skeniranje strukturiranim svjetlom korištenjem jednostavnog uzorka (3 fazno pomaknute slike) ima neke nedostatke. Naime, za uspješnu rekonstrukciju algoritam mora moći pratiti neprekinutu projiciranu liniju na slici. Ako osvijetljeni predmet ima oštre rubove ili nagle skokove na površini, projicirane linije će se prekinuti i rekonstrukcija neće biti uspješna (također će imati prekide). No ipak, ovaj jednostavni postupak daje vrlo dobre rezultate za predmete sa glatkom površinom.

Za uspješnu rekonstrukciju kompliciranijih objekata potrebno je koristiti drugačije uzorke za projiciranje — potrebno je svaku liniju nekako kodirati kako bi algoritam mogao prepoznati pojedine linije (linije se najčešće kodiraju takozvanim Grayevim kodom).

U sklopu radionice 3D skeniranja implementiran je jednostavan, poluautomatizirani 3D skener. Projektor i kamera (PiCamera) su spojeni na Raspberry Pi računalo, a skenerom se upravlja pomoću web sučelja gdje se jednostavno može izvršiti podešavanje parametara kamere i položaja objekta. Za rekonstrukciju se koriste tri fazno pomaknute slike (jednostavan način) te gore spomenuti kod (prepisan u C++ radi boljih performansi na Raspberry Pi računalu). Izvorni kod ovog projekta dostupan je na:
https://bitbucket.org/igor_b/3d_scanner/src

Primjeri skenova

Web sučelje

project/3d_scanning_structured_light.txt · Last modified: 2015/09/12 00:01 by dp