?
機(jī)器視覺(jué)不可不知的相機(jī)內(nèi)部工作原理
工業(yè)相機(jī)是機(jī)器視覺(jué)系統(tǒng)中的一個(gè)關(guān)鍵組件,其最本質(zhì)的功能就是將光信號(hào)轉(zhuǎn)變成有序的電信號(hào)。選擇合適的相機(jī)也是機(jī)器視覺(jué)系統(tǒng)設(shè)計(jì)中的重要環(huán)節(jié),相機(jī)的選擇不僅直接決定所采集到的圖像分辨率、圖像質(zhì)量等,同時(shí)也與整個(gè)系統(tǒng)的運(yùn)行模式直接相關(guān)。
一. 相機(jī)的芯片類(lèi)型:
一般情況下,工業(yè)相機(jī)按照芯片類(lèi)型可以分為CCD相機(jī)和CMOS相機(jī),當(dāng)然也有一些其他的芯片,比如富士公司生產(chǎn)的Super CCD芯片。這里我們只討論市場(chǎng)主流的CCD相機(jī)和CMOS相機(jī)的工作原理。數(shù)碼相機(jī)的CCD和CMOS都深藏于相機(jī)內(nèi)部,就算您有機(jī)會(huì)看到它們的樣子,也很難進(jìn)行區(qū)分。
CCD芯片相機(jī):
CCD芯片工作原理,如圖所示:
在感光像點(diǎn)接受光照之后,感光元件產(chǎn)生對(duì)應(yīng)的電流,電流大小與光強(qiáng)對(duì)應(yīng),因此感光元件直接輸出的電信號(hào)是模擬的。在CCD傳感器中,每一個(gè)感光元件都不對(duì)此作進(jìn)一步的處理,而是將它直接輸出到垂直寄存器,傳到水平寄存器中,最后才能形成統(tǒng)一的輸出。由于感光元件生成的電信號(hào)實(shí)在太微弱了加上在此過(guò)程中會(huì)產(chǎn)生大量電壓損耗,無(wú)法直接進(jìn)行模數(shù)轉(zhuǎn)換工作,因此這些輸出數(shù)據(jù)必須做統(tǒng)一的放大處理—這項(xiàng)任務(wù)是由CCD傳感器中的放大器專門(mén)負(fù)責(zé),經(jīng)放大器處理之后,每個(gè)像點(diǎn)的電信號(hào)強(qiáng)度都獲得同樣幅度的增大;因信號(hào)只通過(guò)一個(gè)放大器進(jìn)行放大,所以產(chǎn)生的噪點(diǎn)較少。但由于CCD本身無(wú)法將模擬信號(hào)直接轉(zhuǎn)換為數(shù)字信號(hào),因此還需要一個(gè)專門(mén)的模數(shù)轉(zhuǎn)換芯片進(jìn)行處理,最終以二進(jìn)制數(shù)字圖像矩陣的形式輸出給專門(mén)的DSP處理芯片。
?CMOS芯片相機(jī):
CMOS工作原理,如圖所示:
?
而對(duì)于CMOS傳感器,上述工作流程就完全不適用了。CMOS傳感器中每一個(gè)感光元件都直接整合了放大器和模數(shù)轉(zhuǎn)換邏輯,當(dāng)感光二極管接受光照、產(chǎn)生模擬的電信號(hào)之后,電信號(hào)首先被該感光元件中的放大器放大,然后直接轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字信號(hào)。換句話說(shuō),在CMOS傳感器中,每一個(gè)感光元件都可產(chǎn)生最終的數(shù)字輸出,所得數(shù)字信號(hào)合并之后被直接送交DSP芯片處理,問(wèn)題恰恰是發(fā)生在這里,CMOS感光元件中的放大器屬于模擬器件,無(wú)法保證每個(gè)像點(diǎn)的放大率都保持嚴(yán)格一致,致使放大后的圖像數(shù)據(jù)無(wú)法代表拍攝物體的原貌—體現(xiàn)在最終的輸出結(jié)果上,就是圖像中出現(xiàn)大量的噪聲,品質(zhì)明顯低于CCD傳感器,不過(guò)目前這方面的技術(shù)已大幅改善。
二. 黑白相機(jī)成像原理:
以CCD原理為例,CCD原理并不復(fù)雜。我們可以把它想象成一個(gè)頂部被打開(kāi)的記憶芯片。因此光束可以射到記憶單元中。根據(jù)"光電效應(yīng)”,這些光束在記憶單元中產(chǎn)生負(fù)電荷(下圖中右上部分)。
?
曝光后,這些電荷被讀出,進(jìn)而被相機(jī)處理單元進(jìn)行預(yù)處理。從相機(jī)處理單元輸出的就是一幅數(shù)字圖像。
三. 彩色彩色成像原理:
CCD芯片將光子轉(zhuǎn)換為電子,在這一過(guò)程當(dāng)中,光子數(shù)目與電子數(shù)目互成比例。但光子還有另外一個(gè)特征值——波長(zhǎng)(波長(zhǎng)決定顏色),而這條信息卻沒(méi)有在這個(gè)過(guò)程中被轉(zhuǎn)換為電子。因此,從這個(gè)意義上說(shuō),CCD芯片都可以被稱為色盲。所以彩色相機(jī)的成像稍微復(fù)雜些,目前主要有兩種方式:三棱鏡方式和濾光片方式,下面分別介紹:
?
三棱鏡方式:
為了獲取光線的顏色信息,我們很容易想到用三棱鏡將光束分成單色光,然后分別成像,對(duì),三棱鏡方式就是這個(gè)原理,如下圖:
?
他將從鏡頭射入的光分成三束,每束光都由不同的內(nèi)置光柵來(lái)過(guò)濾出某一種三原色,然后使用三塊CCD分別感光。這些圖象再合成出一個(gè)高分辨率、色彩精確的圖象。如300萬(wàn)像素的相機(jī)就是由三塊300萬(wàn)像素的CCD來(lái)感光。也就是可以做到同點(diǎn)合成,因此拍攝的照片清晰度相當(dāng)高。該方法的主要困難在于其中包含的數(shù)據(jù)太多。在你照下一張照片前,必須將存儲(chǔ)在相機(jī)的緩沖區(qū)內(nèi)的數(shù)據(jù)清除并存盤(pán)。因此這類(lèi)相機(jī)對(duì)其他部件的要求非常高,其價(jià)格自然也非常昂貴。
?
濾光片方式:
當(dāng)然,為了獲取光線的顏色信息,我們很容易想到用濾光片來(lái)實(shí)現(xiàn),原理圖如下:
?
在該圖中,每個(gè)感光元件對(duì)應(yīng)圖像傳感器中的一個(gè)像點(diǎn),由于感光元件只能感應(yīng)光的強(qiáng)度,無(wú)法捕獲色彩信息,因此必須在感光元件上方覆蓋彩色濾光片。在這方面,不同的傳感器廠商有不同的解決方案,最常用的做法是覆蓋RGB紅綠藍(lán)三色濾光片,以1:2:1的構(gòu)成由四個(gè)像點(diǎn)構(gòu)成一個(gè)彩色像素(即紅藍(lán)濾光片分別覆蓋一個(gè)像點(diǎn),剩下的兩個(gè)像點(diǎn)都覆蓋綠色濾光片),采取這種比例的原因是人眼對(duì)綠色較為敏感。而索尼的四色CCD技術(shù)則將其中的一個(gè)綠色濾光片換為翡翠綠色(英文Emerald,有些媒體稱為E通道),由此組成新的R、G、B、E四色方案。不管是哪一種技術(shù)方案,都要四個(gè)像點(diǎn)才能夠構(gòu)成一個(gè)彩色像素。
從上圖我們看到,經(jīng)過(guò)相機(jī)處理單元之后,上圖右上角中的空白值,被補(bǔ)上了255,這里牽涉到色彩插值,詳見(jiàn)下:
?
色彩插值:
一開(kāi)始我們將使用在用于成像與測(cè)量的單CCD相機(jī)(測(cè)量)一節(jié)中介紹過(guò)的數(shù)字原始圖像。為了簡(jiǎn)單起見(jiàn),該數(shù)字原始圖像、它的源圖及拜爾濾光片都被列于下圖。
這里介紹兩種簡(jiǎn)單的插值方式:
復(fù)制臨近像素法:
填補(bǔ)缺失的色彩值的最簡(jiǎn)單方法就是從臨近像素中獲取色彩值。讓我們以第二行第一個(gè)綠色像素(來(lái)自拜爾濾光片)為例(如下圖中被加粗黑框之像素所示)。
?
在源圖像中該點(diǎn)實(shí)際是紅色,但經(jīng)拜爾濾光片綠色像素過(guò)濾后色彩值變?yōu)榱?。我們只需要把臨近紅藍(lán)像素中的紅色與藍(lán)色值(見(jiàn)上圖)復(fù)制到該像素中,就能獲得其RGB值(255,0,0)。就上圖所示例子而言,插值法產(chǎn)生了正確的RGB值。但在實(shí)際應(yīng)用當(dāng)中,對(duì)于靜止圖像,這種簡(jiǎn)單的插值法所生成的結(jié)果是不可接受的。但由于它并不耗費(fèi)多少時(shí)間,我們可以將其用于對(duì)質(zhì)量標(biāo)準(zhǔn)要求不高的視頻數(shù)據(jù)流中(例如視頻預(yù)覽)。
臨近像素均值法(雙線性插值):
?
我們可以對(duì)“復(fù)制插值法”作出的第一個(gè)改進(jìn)就是使用若干臨近像素的均值。如圖所示,這種方法同樣可以得到正確的RGB值(255,0,0)。但第二個(gè)例子指出了均值法的一個(gè)重大缺陷:均值法有低通特性,并由此將清晰的邊界鈍化。RGB值本應(yīng)是(255,0,0),但實(shí)際上變成了(255,128,64),因此該點(diǎn)變成了棕橙色。
今天相機(jī)中所使用的插值法的性能要大大高于前面介紹的這兩種基本方法。A Study of Spatial Color Interpolation Algorithms for Single-Detector Digital Cameras一文 對(duì)這些算法做了很好的介紹和比較。
四. 相機(jī)接口類(lèi)型:
GIGE千兆網(wǎng)接口:
千兆網(wǎng)協(xié)議穩(wěn)定,該接口的工業(yè)相機(jī)是近幾年市場(chǎng)應(yīng)用的重點(diǎn)。使用方便,連接到千兆網(wǎng)卡上,即能正常工作。
在千兆網(wǎng)卡的屬性中,也有與1394中的Packet Size類(lèi)似的巨幀。設(shè)置好此參數(shù),可以達(dá)到更理想的效果。
傳輸距離遠(yuǎn),可傳輸100米??啥嗯_(tái)同時(shí)使用,CPU占用率小。
USB2.0接口:
所有電腦都配置有USB2.0接口,方便連接,不需要采集卡。
USB2.0接口的相機(jī),是最早應(yīng)用的數(shù)字接口之一,開(kāi)發(fā)周期短,成本低廉,是目前最為普通的類(lèi)型,缺點(diǎn)是其傳輸速率較慢,理論速度只有480Mb(60MB)。
在傳輸過(guò)程中CPU參與管理,占用及消耗資源較大。USB2.0接口不穩(wěn)定,相機(jī)通常沒(méi)有堅(jiān)固螺絲,因此在經(jīng)常運(yùn)動(dòng)的設(shè)備上,可能會(huì)有松動(dòng)的危險(xiǎn)。傳輸距離近,信號(hào)容易衰減。
USB3.0接口:
USB 3.0的設(shè)計(jì)在USB 2.0的基礎(chǔ)上新增了兩組數(shù)據(jù)總線,為了保證向下兼容,USB 3.0保留了USB 2.0的一組傳輸總線。
在傳輸協(xié)議方面,USB 3.0除了支持傳統(tǒng)的BOT協(xié)議,新增了USB Attached SCSI Protocol (USAP),可以完全發(fā)揮出5Gbps的高速帶寬優(yōu)勢(shì)。
由于總線標(biāo)準(zhǔn)是近幾年才發(fā)布,所以協(xié)議的穩(wěn)定性同樣讓人擔(dān)心。傳輸距離問(wèn)題,依然沒(méi)有得到解決。
Camera Link接口:
需要單獨(dú)的Camera Link接口,不便攜,導(dǎo)致成本過(guò)高。傳輸速度是目前的工業(yè)相機(jī)中最快的一種總線類(lèi)型。
一般用于高分辨率高速面陣相機(jī),或者是線陣相機(jī)上。
傳輸距離近,可傳輸距離為10米。
1394(火線):
1394接口,在工業(yè)領(lǐng)域中,應(yīng)用還是非常廣泛的。協(xié)議、編碼方式都非常不錯(cuò),傳輸速度也比較穩(wěn)定,只不過(guò)由于早期蘋(píng)果的壟斷,造成其沒(méi)有被廣泛應(yīng)用。
1394接口,特別是1394B口,都有堅(jiān)固的螺絲。1394接口不太方便的地方是其未能普及,因此電腦上通常不包含其接口,因此需要額外的采集卡,傳輸距離僅為4.5米。
占用CPU資源少,可多臺(tái)同時(shí)使用,但由于接口的普及率不高,已慢慢被市場(chǎng)淘汰。
五. 線陣和面陣相機(jī):
面陣:
上面我們所說(shuō)的相機(jī)均屬于面陣相機(jī),相機(jī)像素是指這個(gè)相機(jī)總共有多少個(gè)感光晶片,通常用萬(wàn)個(gè)為單位表示,以矩陣排列,例如3百萬(wàn)像素、2百萬(wàn)像素、百萬(wàn)像素、40萬(wàn)像素。百萬(wàn)像素相機(jī)的像素矩陣為W*H=1000*1000。相機(jī)分辨率,指一個(gè)像素表示實(shí)際物體的大小,用um*um表示。數(shù)值越小,分辨率越高。
線陣:
線陣相機(jī)是一類(lèi)特殊的視覺(jué)機(jī)器。與面陣相機(jī)相比,它的傳感器只有一行感光元素,因此使高掃描頻率和高分辨率成為可能。線陣相機(jī)的典型應(yīng)用領(lǐng)域是檢測(cè)連續(xù)的材料,例如金屬、塑料、紙和纖維等。被檢測(cè)的物體通常勻速運(yùn)動(dòng) , 利用一臺(tái)或多臺(tái)相機(jī)對(duì)其逐行連續(xù)掃描 , 以達(dá)到對(duì)其整個(gè)表面均勻檢測(cè)??梢詫?duì)其圖象一行一行進(jìn)行處理 , 或者對(duì)由多行組成的面陣圖象進(jìn)行處理。另外線陣相機(jī)非常適合測(cè)量場(chǎng)合,這要?dú)w功于傳感器的高分辨率 。
六. 相機(jī)常見(jiàn)參數(shù)介紹:
1. 分辨率(Resolution):相機(jī)每次采集圖像的像素點(diǎn)數(shù)(Pixels),對(duì)于工業(yè)數(shù)字相機(jī)一般是直接與光電傳感器的像元數(shù)對(duì)應(yīng)的,對(duì)于工業(yè)數(shù)字模擬相機(jī)則是取決于視頻制式,PAL制為768*576,NTSC制為640*480。
2. 像素深度(Pixel Depth):即每像素?cái)?shù)據(jù)的位數(shù),一般常用的是8Bit,對(duì)于工業(yè)數(shù)字?jǐn)?shù)字相機(jī)一般還會(huì)有10Bit、12Bit等。
3. 最大幀率(Frame Rate)/行頻(Line Rate):相機(jī)采集傳輸圖像的速率,對(duì)于面陣相機(jī)一般為每秒采集的幀數(shù)(Frames/Sec.),對(duì)于線陣相機(jī)機(jī)為每秒采集的行數(shù)(Hz)。
4. 曝光方式(Exposure)和快門(mén)速度(Shutter):對(duì)于工業(yè)線陣相機(jī)都是逐行曝光的方式,可以選擇固定行頻和外觸發(fā)同步的采集方式,曝光時(shí)間可以與行周期一致,也可以設(shè)定一個(gè)固定的時(shí)間;面陣相機(jī)有幀曝光、場(chǎng)曝光和滾動(dòng)行曝光等幾種常見(jiàn)方式,工業(yè)數(shù)字相機(jī)一般都提供外觸發(fā)采圖的功能。快門(mén)速度一般可到10微秒,高速相機(jī)還可以更快。
5. 像元尺寸(Pixel Size):像元大小和像元數(shù)(分辨率)共同決定了工業(yè)相機(jī)是機(jī)器視覺(jué)系統(tǒng)中的一個(gè)關(guān)鍵組件,其最本質(zhì)的功能就是將光信號(hào)轉(zhuǎn)變成有序的電信號(hào)。選擇合適的相機(jī)也是機(jī)器視覺(jué)系統(tǒng)設(shè)計(jì)中的重要環(huán)節(jié),相機(jī)的選擇不僅直接決定所采集到的圖像分辨率、圖像質(zhì)量等,同時(shí)也與整個(gè)系統(tǒng)的運(yùn)行模式直接相關(guān)。
參考文獻(xiàn):
1.https://zhidao.baidu.com/question/456371031.html
2.http://doc.plcjs.com/doc_apply/apply_other/2009-9/3/099322203453836.htm
3.http://www.mimvm.com/share/skill/176.html
4.http://www.mv186.com/show-list-284.html
5.https://www.douban.com/note/237350466/
?
?