熱線電話:0755-23712116
郵箱:contact@shuangyi-tech.com
地址:深圳市寶安區沙井街道后亭茅洲山工業園工業大廈全至科技創新園科創大廈2層2A
工業相機的原理與選型
很多數字相機采用電荷耦合器件(CCD)作為其感光元器件。CCD 的原理很簡單:我們可以把它想象成一個沒有蓋子的芯片,上面整齊地排列著很多小的感光單元,光線中的光子撞擊每個單元后,在這些單元中會產生電子(光電效應),而且光子的數目與電子的數目互成比例。但在這一過程中,光子的波長并沒有被轉換為任何形式的電信號,換言之,CCD 裸芯片實際上都沒有把色彩信息轉換為任何形式的電信號。那么采用 CCD 作為感光元件的彩色數字相機是如何生產彩色圖像的?其圖像存在哪些優缺點?本文將回答這個問題。
1. 相機的芯片類型
一般情況下,工業相機按照芯片類型可以分為CCD相機和CMOS相機,當然也有一些其他的芯片,比如富士公司生產的Super CCD芯片。這里我們只討論市場主流的CCD相機和CMOS相機的工作原理。數碼相機的CCD和CMOS都深藏于相機內部,就算您有機會看到它們的樣子,也很難進行區分。
CCD芯片工作原理,如圖所示:
在感光像點接受光照之后,感光元件產生對應的電流,電流大小與光強對應,因此感光元件直接輸出的電信號是模擬的。在CCD傳感器中,每一個感光元件都不對此作進一步的處理,而是將它直接輸出到垂直寄存器,傳到水平寄存器中,最后才能形成統一的輸出。由于感光元件生成的電信號實在太微弱了加上在此過程中會產生大量電壓損耗,無法直接進行模數轉換工作,因此這些輸出數據必須做統一的放大處理—這項任務是由CCD傳感器中的放大器專門負責,經放大器處理之后,每個像點的電信號強度都獲得同樣幅度的增大;因信號只通過一個放大器進行放大,所以產生的噪點較少。但由于CCD本身無法將模擬信號直接轉換為數字信號,因此還需要一個專門的模數轉換芯片進行處理,最終以二進制數字圖像矩陣的形式輸出給專門的DSP處理芯片。
而對于CMOS傳感器,上述工作流程就完全不適用了。CMOS傳感器中每一個感光元件都直接整合了放大器和模數轉換邏輯,當感光二極管接受光照、產生模擬的電信號之后,電信號首先被該感光元件中的放大器放大,然后直接轉換成對應的數字信號。換句話說,在CMOS傳感器中,每一個感光元件都可產生最終的數字輸出,所得數字信號合并之后被直接送交DSP芯片處理,問題恰恰是發生在這里,CMOS感光元件中的放大器屬于模擬器件,無法保證每個像點的放大率都保持嚴格一致,致使放大后的圖像數據無法代表拍攝物體的原貌—體現在最終的輸出結果上,就是圖像中出現大量的噪聲,品質明顯低于CCD傳感器,不過目前這方面的技術已大幅改善。
2. 單色相機成像原理
我們首先從相對簡單的黑白數字相機入手。
如圖所示,物體在有光線照射到它時將會產生反射,這些反射光線進入鏡頭光圈照射在 CCD 芯片上,在各個單元中生成電子。
曝光結束后,這些電子被從 CCD 芯片中讀出,并由相機內部的微處理器進行初步處理。此時由該微處理器輸出的就是一幅數字圖像了。
3. 彩色相機的成像方案
3.1. 三棱鏡
CCD 芯片按比例將一定數量的光子轉換為一定數量的電子,但光子的波長,也就是光線的顏色,卻沒有在這一過程中被轉換為任何形式的電信號,因此 CCD 實際上是無法區分顏色的。
在這種情況下,如果我們希望使用 CCD 作為相機感光芯片,并輸出紅、綠、藍三色分量,就可以采用一個分光棱鏡和三個 CCD,如圖所示。棱鏡將光線中的紅、綠、藍三個基本色分開,使其分別投射在一個 CCD 上。這樣以來,每個 CCD 就只對一種基本色分量感光。
這種解決方案在實際應用中的效果非常好,但它的最大缺點就在于,采用 3 個 CCD + 棱鏡的搭配必然導致價格昂貴。因此科研人員在很多年前就開始研發只使用一個 CCD 芯片也能輸出各種彩色分量的相機。
3.2. 濾光片
如果在 CCD 表面覆蓋一個只含紅綠藍三色的馬賽克濾鏡,再加上對其輸出信號的處理算法,就可以實現一個 CCD 輸出彩色圖像數字信號。由于這個設計理念最初由拜爾(Bayer)先生提出,所以這種濾鏡也被稱作拜爾濾鏡。
如圖所示,該濾鏡的色彩搭配形式為:一行使用藍綠元素,下一行使用紅綠元素,如此交替;換言之,CCD 中每 4 個像素中有 2 個對綠色分量感光,另外兩個像素中,一個對藍色感光、一個對綠色感光。從而使得每個像素只含有紅、綠、藍三色中一種的信息,但我們希望的是每個像素都含有這三種顏色的信息。
拜耳濾鏡的實現方式,不同的傳感器廠商有不同的解決方案,最常用的做法是覆蓋RGB紅綠藍三色濾光片,以1:2:1的構成由四個像點構成一個彩色像素(即紅藍濾光片分別覆蓋一個像點,剩下的兩個像點都覆蓋綠色濾光片),采取這種比例的原因是人眼對綠色較為敏感。而索尼的四色CCD技術則將其中的一個綠色濾光片換為翡翠綠色(英文Emerald,有些媒體稱為E通道),由此組成新的R、G、B、E四色方案。不管是哪一種技術方案,都要四個像點才能夠構成一個彩色像素。
所以接下來要對這些像素的值使用 “色彩空間插值法” 進行處理。
以上圖中左下角的紅色區域為例,我們需要的是丟失了的綠色與藍色的值。而插值法可以通過分析與這個紅色像素相鄰的像素計算出這兩個值。在這個例子中,算法發現該區域像素綠色像素均含有大量電荷,但藍色像素電荷數為零,所以可以計算出,這個紅色像素實際上是黃色的。
如果以上圖為例對 3 CCD 的成像結果與單 CCD + 色彩插值處理后的結果進行比較,我們將發現所得圖片完全一致。但該結論僅對這幅圖像成立!因為這副圖片色彩對比簡單、邊界規則。而在實際應用中,即使最成熟的色彩插值算法也會在圖片中產生低通效應。所以,單 CCD 彩色相機生成的圖片比 3 CCD 彩色相機生成的圖片更加模糊,這點在圖像中有超薄或纖維形物體的情況下尤為明顯。但是,單 CCD 彩色相機使得 CCD 數字相機的價格大大降低,而且隨著電子技術的發展,今天 CCD 的質量都有了驚人的進步,因此大部分彩色數碼相機都采用了這種技術。
這里介紹兩種簡單的插值方式:
3.2.1. 臨近像素復制法
填補缺失的色彩值的最簡單方法就是從臨近像素中獲取色彩值。以拜爾濾鏡中第二行第一個綠色像素為例,在源圖像中該點實際是紅色的,但經拜爾濾鏡中綠色鏡片過濾后,該點色值為零。我們只需要把臨近紅藍像素中的紅色與藍色值復制到該像素中,就能獲得其 RGB 值(255,0,0)。
就此例而言,這種插值法計算出了正確的 RGB 值。但在實際應用當中,對于靜止圖像,這種簡單的插值法所生成的結果是不可接受的。但由于它算法簡單且不耗費多少時間,我們可以將其用于對圖像質量要求不高的視頻數據流中(例如視頻預覽)。
3.2.2. 臨近像素均值法(雙線性插值)
我們可以對 “復制插值法” 作出的最直接改進就是使用若干臨近像素的均值。如下圖所示,這種方法對于上例中的象素點,同樣可以計算出正確的 RGB 值(255,0,0)。
但針對圖中第二個示例像素點的計算指出了均值法的一個重大缺陷:均值法有低通特性,并由此將清晰的邊界鈍化。如該點 RGB 值本應是(255,0,0),但計算后變成了(255,128,64),即由紅色變成了棕橙色。
今天相機中所使用的插值法的性能要大大高于前面介紹的這兩種基本方法。A Study of Spatial Color Interpolation Algorithms for Single-Detector Digital Cameras一文 對這些算法做了很好的介紹和比較。
4. 相機接口類型
4.1. GIGE千兆網接口
千兆網協議穩定,該接口的工業相機是近幾年市場應用的重點。使用方便,連接到千兆網卡上,即能正常工作。
在千兆網卡的屬性中,也有與1394中的Packet Size類似的巨幀。設置好此參數,可以達到更理想的效果。
傳輸距離遠,可傳輸100米。可多臺同時使用,CPU占用率小。
4.2. USB2.0接口
所有電腦都配置有USB2.0接口,方便連接,不需要采集卡。
USB2.0接口的相機,是最早應用的數字接口之一,開發周期短,成本低廉,是目前最為普通的類型,缺點是其傳輸速率較慢,理論速度只有480Mb(60MB)。
在傳輸過程中CPU參與管理,占用及消耗資源較大。USB2.0接口不穩定,相機通常沒有堅固螺絲,因此在經常運動的設備上,可能會有松動的危險。傳輸距離近,信號容易衰減。
4.3. USB3.0接口
USB 3.0的設計在USB 2.0的基礎上新增了兩組數據總線,為了保證向下兼容,USB 3.0保留了USB 2.0的一組傳輸總線。
在傳輸協議方面,USB 3.0除了支持傳統的BOT協議,新增了USB Attached SCSI Protocol (USAP),可以完全發揮出5Gbps的高速帶寬優勢。
由于總線標準是近幾年才發布,所以協議的穩定性同樣讓人擔心。傳輸距離問題,依然沒有得到解決。
4.4. Camera Link接口
需要單獨的Camera Link接口,不便攜,導致成本過高。傳輸速度是目前的工業相機中最快的一種總線類型。
一般用于高分辨率高速面陣相機,或者是線陣相機上。
傳輸距離近,可傳輸距離為10米。
4.5. 1394(火線)
1394接口,在工業領域中,應用還是非常廣泛的。協議、編碼方式都非常不錯,傳輸速度也比較穩定,只不過由于早期蘋果的壟斷,造成其沒有被廣泛應用。
1394接口,特別是1394B口,都有堅固的螺絲。1394接口不太方便的地方是其未能普及,因此電腦上通常不包含其接口,因此需要額外的采集卡,傳輸距離僅為4.5米。
占用CPU資源少,可多臺同時使用,但由于接口的普及率不高,已慢慢被市場淘汰。
5. 線陣和面陣相機
5.1. 面陣
上面我們所說的相機均屬于面陣相機,相機像素是指這個相機總共有多少個感光晶片,通常用萬個為單位表示,以矩陣排列,例如3百萬像素、2百萬像素、百萬像素、40萬像素。百萬像素相機的像素矩陣為 W*H=1000*1000 。相機分辨率,指一個像素表示實際物體的大小,用 um*um 表示。數值越小,分辨率越高。
5.2. 線陣
線陣相機是一類特殊的視覺機器。與面陣相機相比,它的傳感器只有一行感光元素,因此使高掃描頻率和高分辨率成為可能。線陣相機的典型應用領域是檢測連續的材料,例如金屬、塑料、紙和纖維等。被檢測的物體通常勻速運動 , 利用一臺或多臺相機對其逐行連續掃描 , 以達到對其整個表面均勻檢測??梢詫ζ鋱D象一行一行進行處理 , 或者對由多行組成的面陣圖象進行處理。另外線陣相機非常適合測量場合,這要歸功于傳感器的高分辨率 。
6. 相機常見參數介紹
1.分辨率(Resolution)
相機每次采集圖像的像素點數(Pixels),對于工業數字相機一般是直接與光電傳感器的像元數對應的,對于工業數字模擬相機則是取決于視頻制式,PAL制為 768*576 NTSC制為 640*480 。
2.像素深度(Pixel Depth)
即每像素數據的位數,一般常用的是8Bit,對于工業數字數字相機一般還會有10Bit、12Bit等。
3.最大幀率(Frame Rate)/行頻(Line Rate)
相機采集傳輸圖像的速率,對于面陣相機一般為每秒采集的幀數(Frames/Sec.),對于線陣相機機為每秒采集的行數(Hz)。
4.曝光方式(Exposure)和快門速度(Shutter)
對于工業線陣相機都是逐行曝光的方式,可以選擇固定行頻和外觸發同步的采集方式,曝光時間可以與行周期一致,也可以設定一個固定的時間;面陣相機有幀曝光、場曝光和滾動行曝光等幾種常見方式,工業數字相機一般都提供外觸發采圖的功能??扉T速度一般可到10微秒,高速相機還可以更快。
5.像元尺寸(Pixel Size)
像元大小和像元數(分辨率)共同決定了相機靶面的大小。目前工業數字相機像元尺寸一般為3μm-10μm,一般像元尺寸越小,制造難度越大,圖像質量也越不容易提高。
6.光譜響應特性(Spectral Range)
是指該像元傳感器對不同光波的敏感特性,一般響應范圍是350nm-1000nm,一些相機在靶面前加了一個濾鏡,濾除紅外光線,如果系統需要對紅外感光時可去掉該濾鏡。