Sa ating pang-araw-araw na buhay, nakasanayan na natin ang pagtingin sa mga maliwanag at detalyadong imahe. Gayunpaman, may nakatagong lihim: ang mga sensor ng kamera ay likas na kulang sa kakayahang makita ang kulay. Ang bawat pixel ay kayang tukuyin lamang ang liwanag, hindi ang kulay. Ang pag-convert ng data na ito na itim at puti sa kulay na imahe ay nangangailangan ng isang kumplikadong sistema. Sa sentro ng sistemang ito ay matatagpuan ang Bayer pattern (Bayer filter) at ang image signal processor (ISP). Ang dalawang elemento na ito ay gumagana tulad ng utak at mata ng kamera, na sama-samang nagpapabuo sa proseso mula sa mga raw na signal ng liwanag hanggang sa huling imahe.
Bilang isang konsultant na espesyalista sa mga camera module, ang artikulong ito ay magbibigay ng malalim na pagsusuri sa Bayer pattern, ilalantad ang daloy ng proseso ng ISP, at tatalakayin kung paano direktang nakaaapekto ang mga pangunahing teknolohiyang ito sa mga aplikasyon tulad ng object detection sa mga embedded vision system. Magbibigay kami ng ekspertong pananaw mula sa perspektibo ng isang inhinyero upang matulungan kang maunawaan ang bawat mahalagang link sa chain ng imahe.
Upang maunawaan ang Bayer pattern, kailangan muna ninyong maunawaan kung paano gumagana ang mga digital na kamera. Ang isang sensor ng kamera ay binubuo ng milyon-milyong photosensitive na diode (mga pixel). Kapag hinampas ng mga photon ang mga pixel na ito, lumilikha sila ng elektrikal na singgaling na ang sukat ay proporsyonal sa intensidad ng liwanag. Gayunman, ang mga pixel na ito ay hindi kayang magkakaiba ng mga kulay ng liwanag; tanging ang liwanag lamang ang kanilang naitatala.
Ang Bayer pattern, na karaniwang tinatawag na Bayer filter, ay isang orihinal na solusyon. Ito ay binubuo ng isang maliit na hanay ng mga filter—pula (R), berde (G), at asul (B)—na tiyak na inilalagay sa ibabaw ng bawat pixel. Ang hanay ng filter na ito ay nagpapahintulot sa bawat pixel na tumanggap at itala lamang ang intensidad ng tiyak na kulay ng liwanag sa ilalim nito. Halimbawa, ang isang pixel na takpan ng pula na filter ay nagta-tala lamang ng liwanag ng pula.
Samakatuwid, ang raw data na inilalabas ng sensor ay hindi isang kulay na RGB na imahe, kundi isang monochrome mosaic pattern, na kilala bilang "Bayer Raw Data." Ang bawat pixel sa data na ito ay naglalaman ng impormasyon mula sa isang kulay lamang na channel.
Kung titingnan ninyo nang mabuti ang isang karaniwang Bayer pattern, mapapansin ninyo na may dalawang beses na maraming berdeng pixel kaysa sa mga pula at asul na pixel. Ito ay kilala bilang RGGB (o GRBG, BGGR, atbp.) na pagkakaayos.
Ang disenyo na ito ay hindi basta-bastang pangyayari; ito ay batay sa mga pisikal na katangian ng mata ng tao. Ang retina ng tao ay pinakasensitibo sa berdeng liwanag, kaya ang ating panlasa sa liwanag (o "grayscale") ay pangunahing nagmumula sa berdeng channel. Sa pamamagitan ng pagtatalaga ng higit pang pixel sa berde, ang camera ay nakakakuha ng mas mayamang impormasyon tungkol sa liwanag, na nagreresulta sa mas mataas na kalinawan at mas kaunti ang ingay kapag binubuo muli ang imahe, na sa huli ay ginagawa ang imahe na mas natural at mas malinaw.
May iba't ibang pagkakaayos ng Bayer pattern, kung saan ang RGGB at BGGR ang dalawang pinakakaraniwan. Bagaman parehong sumusunod sa prinsipyo ng "dobling berde," ang tiyak na pagkakaayos ay iba.
Sa pagkakahanay na RGGB, ang mga piksel na pula at asul ay inilalagay nang pahilis sa harap ng mga piksel na berde. Sa pagkakahanay na BGGR, ang mga piksel na berde ay inilalagay nang pahilis sa harap ng mga piksel na pula at asul. Ang pagpili ng mga ganitong pagkakahanay ay nakaaapekto sa sumusunod na proseso ng ISP, lalo na sa algorithm ng demosaicing.
Halimbawa, ang iba't ibang pagkakahanay ay nakaaapekto sa pagkombinasyon ng mga kapit-bilang na piksel sa panahon ng mga kalkulasyon sa interpolation. Para sa mga sistema ng embedded vision, ang pagpili ng pattern na Bayer ay kadalasang nakabase sa disenyo ng chip ng ISP at nangangailangan ng koordinasyon sa pagitan ng hardware at software upang matiyak ang kalidad ng huling imahe.
Ang image signal processor (ISP) ang utak ng sistema ng kamera. Ang pangunahing tungkulin nito ay tumanggap ng hindi pa naprosesong raw na datos na Bayer mula sa sensor at, sa pamamagitan ng isang kumplikadong pipeline ng proseso, i-convert ito sa isang karaniwang format ng imahe na nararanasan natin, handa na para ipakita o i-analyze. Maaaring isang hiwalay na chip ang ISP o isama sa pangunahing chip ng kontrol.
Ang isang mahusay na ISP ay mahalaga para sa mataas na performans na camera module. Ang bawat hakbang na ito ay pinaproseso ay mahalaga at direktang nagpapadetermina sa huling kalidad ng imahe.
Ang isang kumpletong ISP pipeline ay karaniwang binubuo ng maraming hakbang sa pagproseso. Ipa-highlight natin ang ilan sa mga pangunahing hakbang dito:
Sa proseso ng pagmamanufaktura, ang mga sensor ay maaaring magkaroon ng mga indibidwal na sira na pixel, na walang liwanag o palaging may liwanag. Ang unang hakbang ng ISP ay kilalanin at ayusin ang mga sira na pixel na ito sa pamamagitan ng pagpapalit ng kanilang datos sa pamamagitan ng interpolation mula sa mga kapit-bilang na pixel.
Kahit sa ganap na kadiliman, ang sensor ay nagpapagawa pa rin ng mahinang signal na elektrikal dahil sa "dark current." Ang ISP ay binabawas ang nakafixed na "black level" na ito upang matiyak na ang mga itim na pixel ay tunay na zero, kaya nagpapabuti ito sa dynamic range ng imahe.
Kapag ang sensor ay nasa mababang liwanag, ito ay nagpapagenera ng malaking halaga ng random na electronic noise. Ginagamit ng ISP ang mga kumplikadong algorithm upang paghiwalayin ang detalye ng imahe mula sa noise at pagkatapos ay ilapat ang noise reduction. Maaari itong makabuluhang mapabuti ang kalinisan ng imahe, ngunit ang labis na noise reduction ay maaari ring burahin ang detalye.
Ito ay isa sa mga pangunahing tungkulin ng ISP. Ang algorithm ng demosaicing ay nag-iinterpolate ng impormasyon ng bawat kapit-bilang na pulang, berdeng, at asul na pixel ng bawat pixel upang hulaan ang kumpletong RGB na halaga ng nasabing pixel. Ang kalidad ng algorithm ng demosaicing ang direktang tumutukoy sa pag-uulat ng kulay at detalye ng huling imahe.
Ang iba't ibang pinagkukunan ng liwanag (tulad ng liwanag ng araw, fluorescent lighting, at incandescent lighting) ay nagpapalabas ng liwanag na may magkakaibang temperatura ng kulay. Ang awtomatikong pagbabalanse ng puti (auto white balance) ay sumusuri sa pamamahagi ng kulay sa larawan at awtomatikong ina-adjust ang gain ng mga channel ng pula, berde, at asul upang matiyak na ang mga bagay na puti ay tumpak na ipinapakita bilang puti sa ilalim ng anumang pinagkukunan ng liwanag. Ang dinamikong at kumplikadong prosesong ito ay isa sa mga pangunahing katangian na nagpapakilala sa ISP.
Kahit pagkatapos ng pagbabalanse ng puti, maaaring hindi pa rin tumpak ang pag-uulat ng kulay ng isang kamera. Ginagamit ng ISP ang isang color matrix upang karagdagang iwasto ang kulay, na nagmamapa sa likas na color space ng sensor ng kamera patungo sa isang pamantayang color space (tulad ng sRGB) upang matiyak ang pagkakapareho ng kulay sa iba't ibang device.
Ang pagwawasto ng gamma ay isang di-linear na proseso para sa liwanag ng larawan upang tugma sa di-linear na panlasa ng mata ng tao, kaya't ang mga madilim at maliwanag na bahagi ay tila mas natural at may mas malalim na lawak.
Ang ISP ay nagpapahusay sa mga gilid ng mga imahe, kaya't lumilitaw silang mas malinaw at mas matulis. Gayunpaman, kailangan nito ng tiyak na kontrol, dahil ang labis na pagpapamatulis ay maaaring magdulot ng hindi natural na mga nakakadismaya at nakakalitong artifact.
Para sa mga inhinyero ng embedded vision, ang ISP ay higit pa sa isang kasangkapan para sa pagpapaganda ng imahe. Ang bawat hakbang sa pagproseso ng ISP ay direktang nakakaapekto sa pagganap ng mga sumusunod na algorithm ng computer vision. Ang pag-iiwan sa papel ng ISP ay maaaring magdulot ng nakamamatay na mga kamalian sa mga aplikasyon tulad ng pagkakakita ng bagay.
Maraming inhinyero ang mali ang pagtingin sa ISP bilang isang "black box," na umaasa na ito ay eksklusibong responsable sa paglikha ng "magandang tingnan" na imahe. Gayunpaman, habang ang ilang pagproseso ng ISP ay maaaring mapabuti ang kalidad ng paningin, maaari rin itong makagambala sa mga algorithm ng computer vision.
Halimbawa, ang labis na pagbawas ng noise ng ISP ay maaaring pahirin ang mga madilim at detalyadong tekstura sa imahe, na mahalaga para sa mga algorithm ng pagkakakita ng bagay.
Ang hindi stable na awtomatikong balanse ng puti ay isang pangunahing problema sa computer vision. Sa ilalim ng nagbabagong kondisyon ng pag-iilaw, kung ang awtomatikong balanse ng puti ay nabigo sa tamang pag-aadjust ng temperatura ng kulay, maaari itong magdulot ng kulay na hindi natural sa imahe. Maaaring mawala ang epekto ng mga modelo ng object detection na na-train kapag ginamit sa tunay na aplikasyon, dahil maaaring hindi nila makita ang mga bagay na may hindi natural na kulay.
Upang matiyak ang kahusayan ng mga algorithm sa computer vision, kailangan ng mga inhinyero ng isang ISP na optimizado para sa mga aplikasyon sa larangan ng vision. Ibig sabihin, ang mga parameter ng ISP ay dapat kontrolable at adjustable, upang ang mga inhinyero ay makapag-adjust ng pipeline ng pagproseso ng imahe para sa partikular na sitwasyon ng aplikasyon (tulad ng malakas na liwanag sa labas o mahina ang liwanag gabi-gabi). Bukod dito, mahalaga ring piliin ang module ng camera na nag-o-output ng raw na Bayer data. Ito ay nagbibigay-daan sa mga inhinyero na gawin ang proseso ng ISP sa software sa backend, na nagbibigay ng pinakamataas na flexibility at kontrol.
Ang Bayer pattern at ang image signal processor ang mga pundasyon ng digital imaging chain, na nagtatrabaho nang sabay-sabay upang baguhin ang mga hilaw na senyal ng liwanag sa kapaki-pakinabang na impormasyon ng imahe. Ang pag-unawa sa bawat hakbang ng proseso ng ISP at ang pagkilala sa kanyang diretsong epekto sa mga sumusunod na algorithm ng computer vision ay mahalaga para sa bawat embedded vision engineer. Ang ISP ay hindi lamang nakakatulong sa estetika ng mga imahe kundi tumutukoy din sa tagumpay ng mga aplikasyon ng AI tulad ng object detection at image recognition.
Nakakaranas ka ba ng problema sa optimalisasyon ng ISP ng camera module para sa iyong proyekto? Makipag-ugnayan sa aming ekspertong koponan ngayon at magbibigay kami sa iyo ng propesyonal na serbisyo sa pagpili at pag-customize ng image signal processor upang matulungan ang iyong embedded vision project na maging matagumpay!
