Talaan ng mga Nilalaman:

Pagbubuo ng 3D Mula sa Isang solong Larawan: 8 Hakbang
Pagbubuo ng 3D Mula sa Isang solong Larawan: 8 Hakbang

Video: Pagbubuo ng 3D Mula sa Isang solong Larawan: 8 Hakbang

Video: Pagbubuo ng 3D Mula sa Isang solong Larawan: 8 Hakbang
Video: LALAKING WALONG TAON NANG NAKAKADENA, MAY PAG-ASA PA KAYANG MAKALAYA? | Kapuso Mo, Jessica Soho 2024, Nobyembre
Anonim
Pagbubuo ng 3D Mula sa Isang Larawan
Pagbubuo ng 3D Mula sa Isang Larawan
Pagbubuo ng 3D Mula sa Isang Larawan
Pagbubuo ng 3D Mula sa Isang Larawan

Ang gawain ng muling pagtatayo ng 3D ay karaniwang nauugnay sa paningin ng binocular. Bilang kahalili, maaari mong ilipat ang isang solong camera sa paligid ng object. Samantala, kung ang hugis ng bagay ay kilala, maaaring malutas ang gawain mula sa isang solong larawan. Iyon ay mayroon kang isang camera lamang at hindi ito gumagalaw. Tingnan natin kung paano ito gawin hakbang-hakbang. Gagamitin namin ang Rubik's Cube sapagkat ito ay mahusay na na-standardize at may isang mayamang hanay ng mga tampok. Maaari itong ituring bilang isang napaka-simpleng bagay at sabay na isang kumplikadong pagbuo. Kaya't dapat malampasan ng paningin ng makina ang malalaking hadlang upang makumpleto ang gawain.

Hakbang 1: Suriin ang pagiging kumplikado ng Gawain

Suriin ang pagiging kumplikado ng Gawain
Suriin ang pagiging kumplikado ng Gawain
Suriin ang pagiging kumplikado ng Gawain
Suriin ang pagiging kumplikado ng Gawain
Suriin ang pagiging kumplikado ng Gawain
Suriin ang pagiging kumplikado ng Gawain
Suriin ang pagiging kumplikado ng Gawain
Suriin ang pagiging kumplikado ng Gawain

Sa unang tingin, ang gawain ay simple. Hanapin ang gitnang buhol kung saan magkakasama ang 3 mga gilid ng kubo at iguhit ang mga gilid na ito. Mula sa kanilang mga coordinate, posible na kalkulahin ang distansya mula sa camera at mga anggulo ng pag-ikot. Ang problema ay wala ang mga linyang ito. Mula sa kaliwang imahe nakikita mo na ang bawat gilid ay kinakatawan ng 2 magkatulad na mga linya. Bukod dito, ipinapakita sa kanang itaas na larawan na ang bawat isa sa kanila ay nasira sa 3 mga segment. Bukod dito, kung ilalapat namin ang isang variant ng sikat na Hough transform na maaaring makakita ng mga segment ng linya, ginagawa nito ang gawain na may ilang mga error na kung saan imposible ang pagtuklas ng gitnang buhol. Kung ang mga dulo ay hindi maabot ang bawat isa, walang iisang punto. Kung ang pagtuklas ay nag-overshoot sa dulo, magiging hitsura ito ng buhol sa gitna ng gilid tulad ng nakikita mo sa 2 natitirang mga imahe.

Hakbang 2: Hanapin ang Wastong Diskarte

Hanapin ang Wastong Diskarte
Hanapin ang Wastong Diskarte

Kapag napakaraming mga detalye ang hindi nagagawa ang mga deterministic algorithm, oras na upang isaalang-alang ang probabilistic na diskarte. Kung kalkulahin namin ang average na mga parameter ng imahe, ang kanilang mga error ay mabawasan nang malaki at kabalintunaan ang pamamaraan ay magiging mas maaasahan. Ang karaniwang Hough transform ay hindi naglalabas ng mga segment ng linya. Ang slope lang nito theta at ang distansya rho mula sa pinagmulan ng coordinate. Binubuo nila ang bahagi ng Hough space na kung saan ay ipinakita sa itaas. Narito ang theta ay tumutugma sa pahalang na axis. Ang mga maliwanag na spot ay nagmamarka ng mga posibleng linya sa imahe. Tandaan na maraming mga tulad spot ay matatagpuan isa sa itaas ng isa pa. Hindi nakakagulat, sa aming imahe maraming mga parallel na linya. Mayroon silang parehong theta at magkakaibang rho.

Hakbang 3: Kalkulahin ang Theta Histogram

Kalkulahin ang Theta Histogram
Kalkulahin ang Theta Histogram

Makita natin ang mga nasabing kumpol. Para sa hangaring ito ay ibubuod namin ang mga pagbabasa para sa lahat ng mga tuldok sa puwang ng Hough na may parehong theta. Nakikita mo ang kaukulang histogram sa ilustrasyon. Ilang tala tungkol sa mga sukat. Kapag nagtatrabaho ka sa mga imahe sa mga coordinate ng pixel, ang X axis ay napupunta tulad ng dati, ngunit ang Y ay tumuturo pababa kaya't ang pinagmulan ng koordinasyon ay ang kaliwang sulok sa itaas at dapat na masukat ang theta mula sa X axis ng pakaliwa. Isinasaalang-alang na ang buong pag-aalis ng theta sa larawan ay 180 degree, maaari mong suriin na ang 3 pangunahing mga tuktok ay kumakatawan sa 3 nangingibabaw na mga dalisdis sa imahe.

Hakbang 4: Kalkulahin ang Rho Histogram

Kalkulahin ang Rho Histogram
Kalkulahin ang Rho Histogram

Ngayon alam na natin ang 3 pangunahing mga kumpol ng mga parallel na linya, paghiwalayin natin ang mga linya sa loob ng bawat isa sa kanila. Maaari naming ulitin ang parehong diskarte. Kumuha tayo ng isang haligi mula sa Hough space na tumutugma sa isang rurok sa theta histogram. Susunod, makakalkula namin ang isa pang histogram kung saan ang X axis ay kumakatawan sa rho na halaga at Y - naibubuod na mga pagbasa para sa rho na ito. Malinaw na, ang kabuuan ay magiging mas kaunti kaya ang tsart na ito ay hindi gaanong makinis. Gayunpaman, ang mga taluktok ay malinaw na nakikita at ang bilang ng mga ito (7) eksaktong tumutugma sa bilang ng mga parallel na linya sa pinagmulang imahe. Sa kasamaang palad, hindi lahat ng mga tsart ay perpekto, ngunit ang prinsipyo ay malinaw.

Hakbang 5: Hanapin ang Central Knot

Hanapin ang Central Knot
Hanapin ang Central Knot

Kung kukuha tayo ng gitnang rurok sa rho histogram para sa bawat theta, makakakuha kami ng 3 mga linya na pula sa larawan. Ang kanilang intersection ay nagmamarka ng kinakailangang punto.

Hakbang 6: Pumili Mula sa 2 Mga Kahalili

Pumili Mula sa 2 Mga Kahalili
Pumili Mula sa 2 Mga Kahalili
Pumili Mula sa 2 Mga Kahalili
Pumili Mula sa 2 Mga Kahalili

Nakikita mo na ang bawat linya ay papunta sa gitnang punto sa parehong direksyon. Paano matukoy ang tamang kalahati? Kunin natin ang theta3. Ipagpalagay na kukuha tayo ng mas mababang bahagi ng linyang ito. Kalkulahin natin ang isa pang Hough space para lamang sa bahagi ng larawan mula sa 2 berdeng mga linya hanggang sa kanang itaas na sulok ng imahe. Pagkatapos ay lumikha ng theta histogram para dito. Nakita mo na ang pangatlong rurok ay tuluyan nang nawala kaya nagawa namin ang tamang pagpipilian.

Hakbang 7: Tukuyin ang Mga Panlabas na Sulok

Tukuyin ang Mga Panlabas na Sulok
Tukuyin ang Mga Panlabas na Sulok

Ngayon ay maaari naming gamitin ang una at ang huling rurok sa rho histograms upang gumuhit ng mga asul na linya na gupitin ang mga pulang gilid at markahan ang mga natitirang sulok. Nalulutas ang gawain.

Hakbang 8: Subukan Ito sa Pagsasanay

Ang mga guhit para sa Instructable na ito ay nilikha gamit ang Pang-unawa 1.0. Ito ay libreng software na gumagamit ng OpenCV - isang malakas na silid-aklatan para sa paningin ng computer. Gayundin maaari itong maiugnay sa WinNB na ginamit sa aking isa pang Instructable sa gayon ay nagbibigay ng kakayahan sa paningin para sa mga robot. Maaari mong i-download ang parehong mga programa mula sa nbsite. Para sa pag-install, patakbuhin lamang ang na-download na exe file. Sa paglaon, maaari mo itong alisin gamit ang karaniwang tool ng Windows. Naglalaman din ang site ng mga mapagkukunan tungkol sa paningin ng computer at mga kaugnay na paksa. Sa Pang-unawa makikita mo ang inilarawan na pamamaraan ng muling pagtatayo ng 3D pati na rin ang marami pa. Ang bentahe ng program na ito ay naglalabas ito ng pangwakas na resulta kasama ang intermediate data. Nagagawa mong saliksikin kung paano gumagana ang paningin ng computer nang hindi pagiging isang programmer. Tulad ng sa pag-input, ang bawat pamamaraan ay may espesyal na napiling mga tipikal na sample. Siyempre, maaari mo ring gamitin ang iyong sarili. Posibleng maglagay ng mga imahe mula sa isang file o mula sa camera ng computer. Huwag mag-atubiling makipag-ugnay sa akin sa anumang mga katanungan o mungkahi.

Inirerekumendang: