郭育青
使用奧林巴斯E-M5 Mark II相機像素位移功能拍攝的樹林,在高解像度模式下,E-M5 Mark II會連續(xù)拍攝8個影像,每個影像之間,相機的防抖系統(tǒng)會將感光元件平移0.5個像素,相機自動將8個原來只有1600萬像素的影像變成4000萬像素影像。
熟悉彩色數(shù)碼攝影的朋友應(yīng)該了解,相機能夠拍到彩色影像是因為每個像素點都記錄下了紅、綠、藍三種色彩信息。目前主流的采用拜爾陣列式CMOS的數(shù)碼相機在傳感器表面覆蓋了一層規(guī)律排列的濾光層,上面排列了與下層像素點對應(yīng)的紅、綠、藍濾光鏡,光線攝入傳感器后,經(jīng)過拜耳陣列被分解為紅、綠、藍單色光,再到達下層的像素點,傳感器便記錄下這個單色光的光強信息。這樣,每一個像素點的真實色彩信息只包含三原色其中之一,再經(jīng)過圖像信號處理器進行插補計算而得到每一個像素點的紅、綠、藍信息。這個過程被稱為“解馬賽克”(DeMosaic),我們現(xiàn)在所說的“偽像”“摩爾紋”等都和解馬賽克的過程有關(guān)。而且,解馬賽克的過程中通常會假設(shè)顏色給定圖像中某個區(qū)域的像素相對恒定。在這種假設(shè)下,顏色通道高度相關(guān),重建欠采樣顏色信息的過程中出現(xiàn)不自然的現(xiàn)象也就不足為奇了。
“解馬賽克”原理
此方案最早是柯達公司科學家拜耳(Bryce Bayer)發(fā)明的,因此被稱作“拜耳陣列”,現(xiàn)在廣泛運用于生成數(shù)字圖像?!鞍荻袷健笔窍鄼C內(nèi)部的原始圖片格式,一般我們習慣稱之為RAW格式。存儲在存儲卡上的JPG或其它格式圖片, 都是從RAW格式轉(zhuǎn)化過來的。
目前大多數(shù)相機和手機攝像頭都采用拜耳陣列式傳感器,所拍攝圖片的分辨率主要取決于傳感器尺寸與像素數(shù)量。和傳統(tǒng)單反相機相比,以智能手機為代表的小尺寸相機傳感器小很多,像素數(shù)量少,這限制了它們的分辨率。也有一些相機在小尺寸傳感器的基礎(chǔ)上依然配備了很高的像素數(shù)量,但單個像素尺寸很小,又限制它們拍攝出畫面的信噪比。
然而,作出大尺寸傳感器并不是簡單的事,而且大尺寸傳感器必然導致相機尺寸增大。因此不少廠商便開始研究如何在不犧牲像素點大小、不增加傳感器尺寸的前提下提高圖像分辨率。以奧林巴斯和松下為代表的廠商多年前曾推出過一種像素位移技術(shù)(也被稱作“搖搖樂”),在傳感器尺寸和像素數(shù)固定的情況下,試圖利用通過連續(xù)拍攝多幀圖像的方法提升物理分辨率。不過這種方式對于拍攝的要求很高:首先,它要求相機必須是完全紋絲不動地放在拍攝位置上;其次,只在一些特殊的具有機身防抖的相機上才能用。如此,“搖搖樂”可以說是一種高端攝影功能,難以推廣也不易上手。
不過,科學家們還是有其他辦法來實現(xiàn)超高分辨率,比如業(yè)內(nèi)有一類非常流行的基于機器學習的算法——單幀超分算法,最具代表性的是谷歌的RAISR剃刀算法。它的處理過程基于單張照片,通過機器學習的方式,分區(qū)增強不同特征的細節(jié)和層次,以達到整體的分辨率提升,同時還能保證較高的峰值信噪比。這個方法在很多手機和相機上已經(jīng)得到應(yīng)用了,其優(yōu)點和缺點也都很明顯:優(yōu)點是的確會讓你在肉眼感受上覺得畫面的分辨率有提升,銳度有提高;缺點是它并非真正的物理分辨率的提升,同時還要求你的硬件能夠勝任這種機器學習的算法。
搖搖樂的原理
采用像素位移技術(shù)拍攝的海邊礁石和海浪,分辨率16736×11168,松下S1R相機、24-105mm F4變焦鏡頭,f/6.3,1/3200秒,ISO 800
另外一種行之有效的方案是利用多幀圖像來做超高分辨率圖像的合成,這也是目前手機、相機都非常樂于采用的一種計算攝影方法,最典型的應(yīng)用是可以在蘋果和谷歌手機上實現(xiàn)的“無損數(shù)碼變焦”,尤其是谷歌Pixel3手機。谷歌Pixel3背后只有一顆攝像頭,卻仍然可以在2倍放大圖片時保持分辨率不變。
RAISER算法的效果,上圖為原圖,下圖為超高分辨率圖片
這個方法背后的思想是利用手腕的自然晃動來模擬出“搖搖樂”的效果。看似簡單,但背后卻隱藏了深刻的科學原理。科學家通過大量的實驗和驗證發(fā)現(xiàn)人手腕的這個抖動和“搖搖樂”實際上是等價的。手握著相機(或任何物體)時,自然的手部震顫總是存在的,振幅很低,具有高度周期性,頻率在8~12Hz的范圍內(nèi),運動規(guī)模較小且隨機。并且大量實驗表明,該行為不會隨年齡變化。因此,手部震顫移動相機的運動規(guī)模足以提供亞像素級別的圖像對齊操作,從而能夠為超分辨率的算法奠定理論基礎(chǔ)。
因此,當你手持拍攝的時候,超分辨率算法就利用手抖來提升分辨率;當你的手機放在三腳架上時,算法會調(diào)用光學防抖來模擬“搖搖樂”以提升分辨率。最終結(jié)果是:不管你是手持還是不手持,拍出來的照片都會超越單張照片的物理分辨率極限。更進一步講,多幀超分辨率的計算攝影算法本質(zhì)上是利用每一幀亞像素級別的微小偏移,在連拍的過程中直接得到了完整的RGB圖像,去掉了傳統(tǒng)數(shù)碼流程中解馬賽克這一步操作。這就使得同樣一個傳感器,物理分辨率提升了、畫面的信噪比也改善了,原來的種種奇怪的摩爾紋、偽色等也近乎消失了。
多幀超分辨率的效果對比
拍照時如果手抖,反而更清晰了。這并不是一句空談,而且已經(jīng)切切實實發(fā)生在我們身邊了。當我起們拿手機拍照的時候,可能就已經(jīng)在用這個計算攝影方法了。只是這個方法是隱藏的,大多數(shù)人感受不到罷了。