CMOS圖像傳感器工作原理

首先來看下CMOS圖像傳感器長啥樣:

在這裏插入圖片描述
我們知道計算機不能處理模擬信號,只能處理數字信號,所以現實世界的光影也不能直接被計算機處理,要記錄數字影像,那麼我們必須把真實的影像通過數字化轉變爲計算機能讀取寫入的格式。因此我們就需要一種東西,能夠把光信號轉換爲電信號,這也就是 CCD 和CMOS 的由來,由於成本和功耗等等原因我們現在看到的數字相機和手機都是 CMOS, 具體原因展開太麻煩所以也就不詳細說了。

每一個 CMOS 像素都包括感光二極管(Photodiode)、浮動式擴散層(Floating diffusion layer)、傳輸電極門 (Transfer gate)、起放大作用的MOSFET、起像素選擇開關作用的M0SFET.在 CMOS 的曝光階段,感光二極管完成光電轉換,產生信號電荷,曝光結束後,傳輸電極門打開,信號電荷被傳送到浮動式擴散層,由起放大作用的MOSFET電極門來拾取,電荷信號轉換爲電壓信號。所以這樣的 CMOS 也就完成了光電轉換、電荷電壓轉換、模擬數字轉換的三大作用,通過它我們就能把光信號轉化爲電信號,最終得到數字信號被計算機讀取,這樣,我們就已經擁有了記錄光線明暗的能力,但這還不夠,因爲我們需要色彩。

在這裏插入圖片描述
現代彩色CMOS 的原理也很簡單,直接在黑白圖像傳感器的基礎上增加色彩濾波陣列(CFA),從而實現從黑白到彩色的成像。很著名的一種設計就是Bayer CFA(拜耳色彩濾波陣列)。一個很有趣的事就是,我們用來記錄光影的 CMOS, 和我們用來輸出光影的顯示器,原理也剛好是向相反的,CMOS 把光轉化爲電信號最後以數字格式記錄,顯示器把解碼的數字格式從電信號重新轉化爲光。光電之間的轉換也就構成了我們人類數字影像的基礎。好了回到正題,爲什麼是 RGB 三種顏色?爲什麼 G 的佔比要高於 R 和 B 呢?
在這裏插入圖片描述
這是因爲人視網膜上的感光細胞分爲兩種:視錐細胞和視杆細胞,分別對應人眼的明視覺和暗視覺。視錐細胞又分三種:紅色感光細胞、綠色感光細胞、藍色感光細胞,它們對照明的明暗條件敏感度較低,只有當光照強度達到一定條件錐細胞才能夠起作用。視杆細胞對光照的敏感度較高,可以在光照條件很暗的情況下對景物成像,卻不能感受顏色。這也解釋了爲什麼在晚上的時候人仍然能夠看到物體,卻不能有效地分辨物體的顏色的現象跟顏色有關的三種視錐細胞,每一種都對 RGB 三種顏色最敏感。

在這裏插入圖片描述
注意,是最敏感,所以藍視錐細胞不僅能感應藍色,也可以感應到綠和一部分紅色,綠視錐細胞不僅能感應綠,也可以感應一部份藍和紅,最後紅視錐細胞也是如此。所以通過三種視錐細胞感應到不同波長光譜的比例,人類就能識別出視覺上除了紅綠藍之外的其他顏色。

在這裏插入圖片描述
人造的大部分顯示器,也都是利用這個特性來欺騙人類看到紅綠藍之外的顏色,比如上圖就是我的顯示器在顯示黃色時實際發出的光譜,根本就沒有黃色,這就是一個騙子顯示器,但是通過對人眼視覺特性的利用,我們看到的就是黃色。1931年,CIE(國際標準照明委員會)建立了一系列表示可見光譜的顏色空間標準,定義了CIE-RGB基色系統。規定了RGB系統的三原色光波長分別爲700nm,546.1nm,435.8nm的紅光(R)、綠光(G)、藍光(B)。

在這裏插入圖片描述
通過混色實驗可以得到上圖的一組曲線,它們表示在 380nm-780nm 範圍 內當各個光譜能量一樣時,某一波長的光譜色與

在這裏插入圖片描述
混色結果一樣,並稱這三條曲線爲 CIE1931 RGB 系統光譜三刺激值曲線,這與後文中我們要提到的標定有很大關係。
在這裏插入圖片描述
這還可以延伸一下,由於計算顏色三刺激值時會出現負值,所以 CIE 又設計出了一套 CIE-XYZ 系統,用 X, Y, Z 來代表紅綠藍三原色,上圖也就是 CIE1931 XYZ 系統光譜三刺激值曲線。
在這裏插入圖片描述
著名的 CIE 1931 xy 色度圖也就是從此而來,我們可以用它描述出任意的一種人眼可見色彩。當然後來爲了更精確的修正,還有 CIE 1976 u’v 色度圖,我們的很多評測也都使用了這個標準。因此,在理論上只需要記錄 RGB, 也就能還原出我們眼睛看到的所有顏色了。
好了我們回到濾鏡顏色的問題上。對於基於 Bayer CFA 的設計,當我們拍攝右側圖 1 的場景時,CMOS 所有像素傳回來的圖像直接組合的結果就是右側圖 2, 當我們將濾鏡顏色加到像素上會得到圖 3, 很明顯這也不應該是我們最後看到的圖像。所以由 3 到 4 的過程,就需要插值算法來補足。

在這裏插入圖片描述
對於 Bayer CFA 設計的 CMOS, 有常用的插值算法,比如相鄰像素插值、雙線性插值、三次多項式插值等,它們的目的都是爲了還原出全部的 RGB 三個通道分量,比如雙線性插值就是這麼算的:對於只有紅色分量的像素:例如 R32:
在這裏插入圖片描述
通過還原得到完整的 RGB 分量,我們就能得到一幅沒有缺損的圖像了,但是這就是終點了嗎?並不是,我們不能直接把這樣的圖像存儲,因爲這其中有一個很重要的問題:Bayer CFA 經過插值之後,CFA 的色特性與人眼的視覺特性並不一定重合,所以圖像中的像素顏色可能都是偏色的,這裏可能是光學透鏡的光譜特性導致,也可能是 Bayer CFA 上的彩色濾鏡光譜特性導致,跟拍攝的環境光也有很大關係。所以還有一步,那就是校正標定。校正標定之中最重要的則是伽馬校正和顏色校正,先看伽馬校正:在現實世界中,幾乎所有的顯示器、攝影膠片以及很多電子照相機的光電轉換特性都是非線性的。這些非線性部件的輸出與輸入之間的關係通常用冪函數表示。理想狀態下,色彩強度 (Intensity)與電子束的電壓信號之間成線性關係,但實際情況剛好想法,色彩強度與輸入的電壓信號之間是非線性關係。顯示器的輸出強度和輸出電壓的響應大致成冪指數關係,下方式子表示輸出的強度隨着輸入電壓的增長成指數增長,通常我們就把這個冪指數稱爲伽馬(Gamma):

在這裏插入圖片描述
爲了使圖像在顯示器上的效果和實際情形更爲接近,在攝像機獲取圖像後,必須進行伽馬校正,把上邊式子的非線性關係校正爲線性關係:

在這裏插入圖片描述
其中,是經過校正處理後的圖像的像素值;是沒有經過校正的像素值;伽馬值γ表示校正的程度,γ=1 時,不進行校正,γ值越大,像素灰度值的校正程度越大。顏色校正:由於不同廠家在製造 CMOS 時使用的彩色濾光片不同,CMOS 對不同波段的光電響應度不同,都會導致相機的光譜響應曲線不同,比如這是某一個 CMOS 的光譜相應曲線:

在這裏插入圖片描述
很容易的就會發現彩色相機 RGB 三刺激值曲線圖和之前我們提到過的 CIE 1931-RGB 系統有很大差別。
想減小這種差異,就要對原始圖像的像素灰度值(R,G,B)進行必要的補償,帶來和人眼感知相近的顏色,這其中的工作就是顏色標定。好了,鋪墊了這麼久,終於講到那當我們把 RGGB 換成 RYYB, 用黃色濾鏡替代綠色會怎麼樣了。

在這裏插入圖片描述
黃光的光譜主波是 570-590 納米,剛好被夾在紅綠主波之間,所以只要彩色濾鏡的光譜特性設計得足夠好,那麼理論上黃色也就能記錄紅+綠。

在這種非常理想的條件下,RYYB 的感光總量肯定可以超過 RGGB, 不過這也給插值算法補全 RGB 的那一步帶來了一定困難,插值不理想的話後期色彩標定也會出現問題。
在這裏插入圖片描述
轉自:https://tech.qudong.com/2019/0402/558867.shtml

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章