像素無用?關於CMOS解析度上限的探討

像素無用?關於CMOS解析度上限的探討

來自專欄 玩機小胖的玩具世界

昨天被問到一個有點兒意思的話題:「如果我想用相機拍細菌,而且是很多細菌,放大後還能一個個看清楚,怎樣的成像系統才能滿足?」

這個問題最現實的回答是轉接顯微鏡,也能拍到很多活靈活現的細菌。但對方表達的更深一層意思是:CMOS解析度的上限到底有多高?有沒有可能我們隨手一拍,放大放大再放大就看得清細菌(0.5~5微米)級的物體?

理想成像系統是用1個像素對應1個細菌,假設細菌是1微米=0.001毫米,全畫幅36mm X 24mm,也就是8.64億像素。但顯然,這個邏輯太理想了,顯得有些幼稚:首先是無視了鏡頭光學解析度的限制,第二是無視了像差,第三是即便建立在8.64億個細菌逐行逐列排好隊的前提下,依然忽略了採樣定律。

第一個問題:光學解析度

大家應該都聽說過艾里斑的概念,從圖像來看就是下面這個東東:

艾里斑是一個極小的點光源在通過理想透鏡後,於像面所形成,之所以無法還原為點,是因為光線的波動性,而根據惠更斯原理,波前上的每一個點都可以是作為獨立的子球面波光源,所以無數個子波之間互相抵消或增強,形成新的波前。

但成像系統都有孔徑限制(鏡片尺寸、光圈尺寸等等),當波前受限於一個孔徑時,會產生衍射效應,造成波前向後彎曲,在像面形成一個由中心亮斑和一組照度快速下降的同心圓環組成的斑點,這就是艾里斑。

一個有限孔徑的光學系統產生的艾里斑衍射圖就確定了這套裝置的極限解析度,兩個臨近的艾里斑靠近,直至它們各自中心亮斑峰值的距離下降到0.5λ(波長)/NA(數值孔徑,折射率n乘以出瞳孔徑角半數U的正弦)時,兩者就無法分辨了,稍稍拉長到0.61λ/NA時符合瑞利判據,可以分辨出兩個不同的艾里衍射班。當一個衍射班的極大值和另一個衍射斑的第一條暗紋重合,之間就出現清晰的界限,還是根據瑞利判據,此時兩個峰值的距離Z就等於:

若是以像素對應的話,如果λ取0.55微米的太陽光均值,那像素間最小間距就是0.617微米,對應到全畫幅即為22億6958萬像素,這可以基本理解為在透鏡衍射影響下的感測器像素密度上限,但記住:這個演算法基於沒有任何像差的理想成像系統,實際應用中與理想值的差距很大。而且從透鏡的角度來說,角解析度的概念也相當重要,此時對應的最小角解析度函數為:

θ為最小角,D為出瞳系統孔徑,因為最小角解析度是波長的直接函數,是系統孔徑的反函數,所以減小波長或增大孔徑都能提高極限解析度,但這倆顯然都是有嚴格的限定範圍(尤其對民用成像系統來說),用弧度來計算上式更為直觀:

顯然,系統孔徑越大,最小解析度開角就越小。舉個例子:取λ為太陽光的均值0.55微米,弧度1秒為4.85 X 10的-6次方,整理可得:

單位為弧秒,這個數據同樣是理想值,實際情況與此存在偏差。比如天文望遠中的杜氏極限描述了等亮星間距離大於等於4.6/D時,兩顆星星才能目視分辨。而對於分光儀等光學儀器來說,解析度N就表示它最小可探測的波長差是儀器使用波長的1/N。

在數字成像系統里,使相鄰艾里斑突破衍射極限的光圈F是:

其中p為單個像素尺寸,所以在感測器尺寸一定的情況下,像素密度越高,極限衍射光圈越大。換言之,相同的像素總數,感測器尺寸越大,極限衍射光圈越小。

第二個問題:像差

艾里斑的討論建立在理想的、無像差的、孔徑具有均勻通過率的理想透鏡上,並且有被均勻振幅的理想波前照射。像差和不均勻透射/波前振幅都會負面影響到解析度,嚴格來說就是繼續讓原本就呈現艾里斑狀擴散的像,繼續以各種形態彌散開。

像差的類型非常多,按指數之和為級,一級像差有2個(放大率和橫向像差),三級像差有5個(球差、慧差、像散、場曲、畸變),五級像差有9個(五級球差、線性慧差、斜球差、橢球差等),七級像差14個,九級像差20個,以及:

個n級像差。實用中都是像差的組合而非單項,其中大家比較熟悉的應該就是三級像差了。

比如上圖所示的各種球差,看起來跟艾里斑是不是很相似?是一個由光暈環繞的亮斑,無論過校正還是欠矯正,球差都會降低像的對比,使其細節模糊,所以一些鏡頭明明已經上焦但照片依然模糊,基本都是球差的問題。同時球差也是決定虛化效果的關鍵因素之一。

當然,以此類推,色差會導致不同波長之間的互相干擾、慧差像散進一步扭曲像面的點擴散形式、暗角降低邊緣信噪比……而且無論是多麼完美的校正,像差也一定會存在,對解析度的影響也自然一定存在,所以像素極限遠不像理論那麼高。

第三個問題:採樣率

MTF這個詞大家至少應該很眼熟,除了可以標定鏡頭解析度之外,當然也可以衡量感測器的解析度,而它們對應的都是空間頻率,單位有線對/毫米(lp/mm)、線寬/像高(LW/PH)、線對/像高(lp/PH)、周期/像素(Cycles/Pixel)等等,聽起來很不一樣,但只是量度方式不同而已。

解析度落實到具體意義上,就是看像面可以還原多少物面的細節,比如1000個線對拍出來之後還能分辨多少,如果是以黑白相間的正弦波為例:

波峰與波谷分別對應1個像素,在一一對應的情況下,物面的1000個正弦波相位就需要1000個像面的對應點即可還原,在數字感測器上,像面的對應點也就是像素,像素密度就決定了採樣率。

但即便是最簡單的正弦波,它與像素(採樣點)也會存在相位差,如果是1:1採樣,原始信號稍有一點相位差,像素就基本無法正確採樣出物面的應有形狀,出現摩爾紋或偽色,解析度急劇下降:

這時候只能通過增加像素密度,也就是增加採樣率來實現,而這就是奈奎斯特採樣定律的意義所在了——在模擬信號與數字信號轉換時,採樣頻率需大於模擬信號最高頻率2倍,才能保證數字信號完整保留原始信息,感測器的奈奎斯特頻率有公式:

對於尺寸一定的感測器而言,像素間距越小,也即像素密度越大,奈奎斯特頻率越高,這也是為什麼說「像素即正義」的原因,依然是一個簡單的正弦波,高採樣率在各種相位差的影響下也能更好地還原信號,提升可以容忍頻率更高的正弦波並還原,換句話說就是提高了解析度:

可以看到2倍還不算特別靠譜,實際應用中甚至要求奈奎斯特頻率是模擬信號峰值頻率的5-10倍,也即1個極小點光源需要5-10個像素來採樣還原:

這樣是不是好多了?用我們一開始拍細菌的案例來說,8.64億個1微米直徑的細菌,需要43.2-86.4億像素去進行採樣。而按照衍射極限理論,550nm單光照射時,至少需要一塊51mm X 34mm的感測器才能踩到理論門檻,而且依然是在無視現有數字感測器工藝和透鏡系統像差的極理想條件下。

簡單來說,像素密度高採樣率高,利於消除摩爾紋、偽色,並提高銳度……很多人都覺得手機上高像素沒有意義,覺得在100%放大時細節模糊,但一直以來都是道聽途說,小胖就以實例為證,下圖是某手機的1/1.7英寸感測器4000萬像素RAW輸出,100%放大:

ISO 200,F1.8。請不要在意這隨意的畫風,看看細節好像也沒有不堪到讓人尷尬的地步……對手機成像「無細節」的印象主要來自於較為嚴重的機內塗抹演算法。為提升信噪比,大多手機的確是會用解析度和銳度去換信噪比。但實際上,還很容易忽略了焦距和物距的影響——有用過廣角鏡頭拍攝經驗就不難發現,比如無論性能再強的14mm鏡頭,甚至配合D850這樣的強力機身,拍攝物距在10米開外的風光照時,100%放大數毛也同樣缺乏細節,所以不談焦距物距就數毛相當於在耍流氓。

突破解析度極限的終極手段——拼接

我們前面討論的解析度極限有一個前提,那就是基於單次拍攝,事實上簡單來看不難發現其實很大程度上我們也受制於感測器尺寸,要是能無限擴大感測器尺寸,相機原生系統拍細菌這種事情還真不是不可能。但突破現有技術極限的事情顯然不能按套路出牌,所以現在的極高解析度攝影幾乎都選擇了相同的方法——拼接。

上圖是一張倫敦夜景,看起來是不是沒啥了不起的?但事實上這是260張D850+300mm F2.8拍攝的照片拼接而成,總像素達到73億!如果是每一張都貼邊拍攝的話,總像素應該是117億,但全景都需要邊緣重疊,所以減去重疊部分,這張照片相當於使用了140400mm^2的感測器,按3:2比例計算(雖然照片並不是這個比例),也即459mm X 305mm的感測器進行拍攝。這個尺寸是什麼概念?8X10英寸大畫幅頁片的尺寸是201.7mm X 252.5mm……當然,這只是簡單計算,並不嚴謹(比如每一張的曝光時間可能並不一致,相當於做CMOS HDR了)。而這張截圖只展示了它155度視角里的一小部分而已,這麼多照片的拼接意味著一件事:你可以進行相當任性的局部放大,比如這樣:

是的,就是前一張圖中部偏上的那個塔尖,拼接超高解析度照片可以說是效果驚人,但過程也無比繁瑣甚至昂貴,還伴隨著很高的失敗率,但在追求極限的路上攝影師們也從未掉隊。對於普通攝影愛好者來說只需要理解一件事——在不考慮圖像處理器主觀性的前提下,現有感測器的解析度遠未到極限,別忘了在信噪比的章節我們還提過高像素縮圖大法的優點,因此未來三五年看到主流機型突破半億甚至逼近1億像素,同時連拍對焦還刷得飛起,我覺得都是無需意外的事情,因為它本就應該會發生……


推薦閱讀:

光處理器運行的原理是什麼?為什麼製造難度這麼大?
相機的動態範圍與寬容度,究竟區別在哪裡?
日立的「CMOS 退火」技術是怎樣的一種技術?利用該技術的半導體計算機是否能夠替代量子計算機?
堆棧式 CMOS、背照式 CMOS 和傳統 CMOS 感測器有何區別?
CMOS 亞閾值區怎麼玩?

TAG:解析度 | CMOS | 藝術 |