對焦是怎樣煉成的 | 鍵攝者說⑧

歡迎關注微信公眾號:蘭拓相機租賃,第一時間發布評測和科普,租賃低至7折

前言

之前的科普很多都在講畫質,講解析度,講信噪比……當然,出於一個風光拍攝者的角度來說,畫質是非常重要的一環,了解畫質評判原理和影響畫質因素的產生機制,也有助於我們更好的獲取極限畫質。那麼自然的,配合本次的人像專題,我們也來聊聊跟對焦相關的事情。單反和無反都叫相位檢測,它們本質上有什麼區別?為什麼單反的對焦點分f/2.8、f/5.6……,而無反就不分?為什麼單反容易跑焦而無反相對較難?為什麼同一代產品,A7R3的追焦性能遠不如A9?……等等這些問題,都可以在這篇文章當中找到答案。坐好了,咱們起飛咯~

對焦的本質

要談對焦的本質,首先需要思考一個問題:對於一個沒有像差的理想鏡頭來說,對上焦了和沒對上焦,本質上有什麼區別?

從直觀上來說,就是對上焦了之後是清楚的,沒對上焦的時候是模糊的。說得嚴謹一點就是,一個理想的點光源,在經過合焦的理想鏡頭之後,在焦平面上呈現的依然是一個點。而沒合焦的情況下,一個理想點光源在通過鏡頭之後所成的像是一個發散的二維圖樣。

沒錯,這就是我們反覆提過無數次的點擴散函數,任何東西,不管是發光的還是反光的,都可以等效成無限多個點光源所組成的集合。鏡頭失焦之後,這無限多個點就會擴散成無限多個點擴散函數,組成我們最終看到的焦外圖像。

但這些點擴散函數並不是簡單相加的——其實很好理解,這些點光源之間的距離是無窮小的,但是點擴散函數卻不是,也就意味著點光源A擴散之後,其產生的亮度也會影響其它點光源所在位置的亮度。舉個比較極端的例子就是兩個擴散得很大,互相重合的光斑,重合部分的亮度比兩個光斑中心的亮度還要高,產生了疊加效果:

所以由點擴散函數生成焦外圖像的演算法不是簡單的相加,但是也並不複雜。雖然點光源虛化擴散開之後會影響周圍其它點的亮度,但是很明顯這種影響是跟距離相關的。

為了方便起見(寫一堆二重積分可能很多人看著頭都會大),我們把情況簡化成一維情形,假設圖像當中有一個定點X,受到來自同一條直線上A、B、C、D……的點擴散函數(灰圈)影響。很顯然,離X越遠的點,同樣的虛化程度對X處成像效果的影響越小。

所以,影響X處虛化效果的變數是距離因子f(X-τ),乘以點擴散函數的值g(τ),然後有無窮多個這樣的點,所以我們沿著一條直線求這些乘過距離因子之後的點擴散函數的和,由於有無窮多個點,所以說是求和,實際上是積分:

有信號學基礎的同學應該對這個式子並不陌生,這就是傳說中的卷積——當然這個式子,以及它背後的物理意義並不重要,在這裡我想說明的問題是,由於對於一個特定的像點τ和特定的鏡頭來說f(X-τ)(在後面馬上我們就可以證明它就是鏡頭合焦時的成像效果)是一個定值,所以對於同一支鏡頭、同光圈值拍攝同一個場景而言焦外成像唯一的取決於g(τ)——這也是我們可以從拍攝燈泡得到的光斑圖像當中推測鏡頭實拍焦外表現的原理。而對於同一支鏡頭、同一個光圈值,確定的g(τ)對應一個確定的焦點距離。特別的,當合焦的時候g(τ)收縮為狄拉克函數(一個理想點,有興趣的可以點進去了解一下這玩意究竟是個啥),而對於狄拉克函數δ(x),我們有:

所以,此時合焦圖像某點的亮度Y(x)=f(X-τ),τ只是一個位置因子,決定你選的是圖片距離X點多遠的位置。也就是說合焦的時候,該處的亮度等於該點光源的亮度(假設理想鏡頭無光損)。而且很顯然,此時點擴散函數本身也是極大值(δ(x)|x=x0 =∞)。

至於為什麼理想鏡頭合焦時點擴散函數是δ函數,反之亦然,也是有原因的:

這是因為狄拉克函數有一個基於廣義傅里葉變換(利用了δ函數的特徵來做了一步廣義積分,否則算不出來)的性質:

而空域亮度分布函數的傅里葉變換就是頻域MTF,MTF=1就意味著頻域還原度是100%,信號沒有損失,解析度是∞,所以叫理想鏡頭。其合焦時的點擴散函數必然是狄拉克函數,反之亦然。

so,說了這麼多廢話連篇的數學,看不懂也無所謂,只要記一個結論就可以了:

無論是手動對焦、反差檢測還是相位檢測,本質上都是驅動鏡頭使點擴散函數g(τ)發生變化,最終使得在焦平面上其亮度取極大值,位置離散度取極小值,理想狀況下收斂成一個點(以下均簡稱點擴散函數取極值)的過程。

而且由於能量守恆,一個固定的點光源的點擴散函數中包含的總能量是固定的:

也就是說亮度取極大值時,位置離散度必然取極小值,反之亦然成立,所以只需要檢測其中一個極值就可以實現對焦了。

各顯神通(一)反差對焦

放大手動對焦和反差對焦的原理是相同的,裂像屏手動對焦的原理和片上式相位檢測是類似的,所以手動對焦就不再單獨拿出來說了。

反差對焦的原理最簡單,也最好理解,各種相機上使用得也最多,就先拿它出來討論吧。

相信這個直觀圖解大家也看到過無數次了。不過為什麼反差的最大值對應的就是點擴散函數的極值呢?

其實反差的定義,跟我們之前講的銳度的定義是一樣的,都是某個方向上亮度對距離的變化率或者說Y的導數Y。或者說,在固定的距離範圍內,使得亮度的變化量取最大值。

這麼說就非常好理解了,就好像堆沙子,要使得堆起來的山坡斜率最大,就要把沙子盡量在一個點上堆高。同理要想亮度變化率最大,就要使得點擴散函數亮度盡量高,一直到g(τ)=δ(x-t)的理想情況,此時反差為無窮大,黑白邊界無限清晰,也就是找到了合焦點。

一句話結論:反差對焦檢測的是點擴散函數的亮度極值。亮度取極大值時分布面積必然取極小值,此時鏡頭合焦。

反差對焦不是本次要講的重點,所以就一筆帶過了。接下來我們來講兩種相位檢測——單反的獨立相位檢測模塊,和無反的片上式相位檢測。

順便提一句反差對焦的一種變體就是松下的DFD,在鏡頭的點擴散函數信息和距離信息能一一對應,並且機內有記錄的情況下,可以直接通過檢測點擴散函數的方式來測距,從而實現類似相位檢測的追焦性能。缺點就是機身必須知道鏡頭每個對焦距離下的點擴散函數,也就是說隨便轉接插個頭是不行的,用奧巴頭也不行,只能實現普通的反差對焦。

各顯神通(二)獨立相位檢測

對於單反相機來說,成像模塊和對焦模塊是兩套光路,靠反光鏡結構來進行切換,相當精巧的一套機械組件:

當然今天重點要講的是對焦感應器,如果單獨拆出對焦模塊來的話,它長這個樣子:

可以看到白色條狀的、對稱排列的檢測線,實際上這些檢測線都是一些獨立的線性CCD,也是一個一個像素組成的。

只不過單有這個對焦模塊,還沒法實現相位檢測。單反還有一套複雜的分光光學系統,來配合相位檢測模塊實現自動對焦:

如圖所示,最左邊是一個點光源。通過鏡頭成像之後也會變成一個點擴散函數。然後根據理想鏡頭的特點,點光源穿過鏡頭後也總有一個點的點擴散函數能取到極值(也就是先假定鏡頭可以聚焦)。我們把這個焦點也看作一個向後繼續發光的點光源,稱作虛擬點光源。下面要做的就是求這個虛擬點光源(點擴散函數極大值)的位置,接下來的事情就順理成章了:

鏡頭後方的焦點(虛擬點光源)位置不同,經過兩個二次成像透鏡後在檢測線上投下的光點位置也就不同。根據檢測線(下面的粗黑線,注意實際上是一排像素,可以感受光線強度)上信號的強度分布,就可以倒推出點擴散函數的這個極大值究竟在空間中分布在哪個位置,然後把鏡頭馬達推過去,OK,一次完整的相位檢測對焦就此結束。當然實踐設計當中這個過程是閉環的,在推動鏡頭的同時,這個CCD檢測線依然會一直工作,以確保能把鏡頭推到正確的位置。決定對焦精度的就是像素的大小——像素分劃得越細,測量這個虛擬光源的位置就可以越準確。但是像素太小也會帶來其它問題,我們接下來再說。

所以再看這張圖就順理成章了——一對檢測線對應的是它們中間的一個對焦點。不過這一對檢測線只能檢測與該檢測線方向有垂直分量的反差線條,如果線條與檢測線平行,就相當於點擴散函數在檢測線上恆為0,相位檢測無法工作。所以為了對焦系統能更好的工作,很多時候都是把兩對互相垂直的檢測線組合起來,做成一個十字對焦點。或者把四對互相成45°角的檢測線組合起來,做成一個雙十字對焦點。

一字、十字、雙十字對焦點就是這麼回事,那麼對應「f/2.8」、「f/5.6」這些「光束」的對焦點又是怎麼回事?

可以看這張圖,很明顯光圈越大對應的口徑也就越大,來自鏡頭邊緣的光線範圍也就越寬廣,需要檢測線更長,或者一對檢測線(圖中的A、B)之間的間距更遠(淡黃色與深黃色相比)才能對更大的光圈收束的全部光線做相位檢測。

所以佳能的官網介紹也有點耍滑頭,5D4的中心對焦點介紹是「對應f/2.8和f/5.6光束的雙十字自動對焦」,很容易被理解成f/2.8和f/5.6都可以用到米字形的四對檢測線。但是實際上,看對焦模塊上的檢測線我們就很容易看出來這個中心對焦點的設計是f/2.8光束利用X形的兩對長距檢測線,f/5.6光束利用「+」形的兩對短距檢測線,也就是無論如何都只能用到一組十字對焦。不仔細看介紹的話,還真容易忽略這個問題。

打開詳細介紹就可以看到了,藍色的f/2.8十字形自動對焦點和黃色的f/5.6十字形自動對焦點。佳能在宣傳上可以模稜兩可一下,但是詳細介紹也是絕對不敢造假,只是一般消費者很少去在意這些東西罷了。再來比較一下這兩張圖,f/5.6、f/8的檢測線就可以排得很密集,但是f/2.8的檢測線就必須拉開很遠。什麼,你想讓佳能給你一對f/1.4的檢測線?歇著吧您,塞不下。塞得下您也買不起,就委屈委屈用f/2.8的檢測線來給f/1.2的鏡頭對焦吧啊。

至於中低端單反就更寒酸了,80D/6D2的檢測模塊,給的是45點全十字,中心雙十字,是不是聽起來還不錯?然而看看檢測線:

只有兩對拉開距離比較遠的檢測線,其它的基本都是成對靠在一起,一看就有種不祥的預感。

實際也是如此:

只有中心點寬大仁慈的給你個X形的f/2.8檢測線,別的都是f/5.6的十字,想用大光圈對準?開LV吧您吶。

說完了可用於對焦的最大光圈,再來說說單反可用於對焦的最小光圈。跟大光圈正好相反,小光圈下需要檢測線靠得更近,同時精度和靈敏度也要足夠高才行。

這個圖就是上面這個對焦模塊的f/8可用點,只剩下一個中心點,對比上面的對焦模塊示意圖不難猜測,那根加粗的檢測線就是為這個f/8對焦準備的,增加進光量的同時縮小像素的徑向長度。(對焦檢測線的像素一般都不是方形,比如下面這張尼康Multi-Cam 20K對焦模塊顯微照片,明顯扁的像素更適合用來做相位檢測模塊,檢測線徑向方向的像素密度高從而精度高,同時可以通過加寬法向寬度的辦法來增加進光量提升靈敏度)

當然為了避免被說是黑佳能,還是要特別提示一下,下面這個組合(三代增距鏡)可以在80D/6D2上用到27點的f/8光束自動對焦,具體實現方式不明。

一句話結論:獨立相位檢測檢測的是點擴散函數取極大值,收斂成一個點光源時的空間位置。很顯然,如果鏡頭本身就有不小的球差(如下圖),使得這個虛擬點光源並不完美,獨立相位檢測幾乎是一定會產生隨機跑焦的情況的。

各顯神通(三)片上式相位檢測

雖然都叫相位檢測,但是具體實現方式區別還是挺大的。首先有一條就決定了無反沒法使用類似單反的獨立相位檢測:這套玩意由於引入了虛擬點光源,實際檢測線的光學位置在焦平面後面很遠的地方,放進無反里就意味著要塞進CMOS後面,這顯然是不可能的:

所以無反的片上相位檢測用的基本是自己專屬的一套辦法(佳能的雙核像素也是類似的原理),相當於直接檢測點擴散函數的形狀,而不是用二次成像透鏡來檢測虛擬點光源的位置。

玩過用剪紙擋鏡頭前面拍心形光斑這種遊戲的人應該都能理解,點擴散函數的形狀只有在理想狀況下才是個圓,如果光闌形狀發生變化,點擴散函數也會發生相應的變化。

但是用這種東西拍合焦的照片,卻不會發現有什麼異常,道理很簡單:合焦的時候點擴散函數就是一個點,點和點之間是全同的,沒有區別。

片上式相位檢測基於的是這麼一套簡單的東西:半個像素看到的點擴散函數也是半月形,左半邊看到的往左偏,右半邊看到的往右偏,只有合焦的時候(點擴散函數都收斂成一個點)才能重合。通過偏移量就可以測距,通過測距就可以快速對焦。

當然要完美的成這麼一套像,需要把每個像素都弄成半遮罩,才能看到類似半月形鏡頭光斑的效果。不過只是為了對焦的話這種事不需要搞那麼複雜,找一個小區域,搞一排像素來看這半個點擴散函數就可以了,這就是無反的檢測線。

一排往左,一排往右,就這麼個簡單的玩意兒就可以做相位對焦的檢測線,也是蠻神奇的。

當然也有一種感測器是全部像素都分左右的——就是佳能的全像素雙核對焦,正好5D4還有Dual Pixel RAW,可以輸出A和A+B(相當於左半像素和全像素)的輸出信號,我們可以一眼就看出來,對於不同形狀(半月牙和圓形)的點擴散函數,只有合焦的焦點處才能重合,只要離焦就會產生錯像,離焦越遠錯像幅度越大:

所以實際上只要是個左右不一樣的形狀就可以利用合焦時候點擴散函數收斂,離焦時候點擴散函數發散的特性來實現測距,只不過半像素這種手段製造和實現都比較容易,所以成了默認的規矩。

這個跟裂像屏本質原理上是一樣的(裂像屏也是兩片透鏡各擋一半),所以可以用片上式PDAF做出數碼裂像這種好玩的功能——不過目前好像只有富士的機器才有。

結論:本質上,片上相位檢測檢測的是點擴散函數在位置參數上擴散區間的最小值。由於能量守恆,擴散區間越小亮度極值自然也就越高,所以此時點擴散函數取極大值,鏡頭合焦。

那麼片上式對焦相對獨立相位檢測的優缺點都有什麼呢?

優點:

1、精度高

前面講過,單反的獨立對焦模塊和成像模塊實際光程是不等長的,裝配過程中容易產生誤差。而且單反由於進行對焦的光線只是一小部分,對焦像素需要做得比較大才能獲得可觀的靈敏度。片上式相位檢測就沒這問題,成像像素多大,檢測像素就是多大。而我們前面講過相位檢測的精度取決於檢測像素的大小,要靈敏度就要不了精度,所以1DX2/5D4用四對檢測線做一個對焦點也是有點無奈之舉的意思。在這兩點上,即使都是純相位檢測,沒有反差介入,無反的對焦精度也是先天性的優勢。更不用說無反對焦完了還可以用絕對準確的反差對焦來做最終確認,單反……原則上來說也可以抬反光板用反差確認一下,但是這真的會給人一種脫那啥放那啥的感覺……

2、成本低

單反的對焦模塊什麼的都是獨立的,無反的……反正本來你也要做像素那套東西,加對焦點的額外成本幾乎等於零

3、不吃檢測線長度,可以對全部光圈的光線進行對焦

單反之所以需要不同的檢測線來應對不同的光圈,主要還是因為二次成像透鏡的分光機制,檢測線並不能吃到鏡頭進入的全部光線。而無反的片上相位就沒有這個問題,鏡頭入射的全部光線都可以照到片上相位點上來做對焦使用。當然因為實際鏡頭都有口徑蝕,真實情況沒有那麼理想,不過相比單反要靠不同的檢測線來區分相應的光圈,無反從f/1.2到f/11隻要靈敏度跟上都可以做相位檢測的特點在實用性上可以說是莫大的方便。同時可以利用大光圈的全部光束對焦,又進一步提高了(1)中所提到的精度。

4、因為2和3,對焦點密度可以做得很高

2不用解釋了,3的話,想想前一節講到的,單反的檢測線為了實現大光圈、高精度,要佔多少地方,就明白了……

5、無機械結構,故障率低

集成度越高、機械部件越少則故障率越低這個也算是鐵律了。聽說過壞硬碟的,壞顯卡的,壞主板的,你聽說過幾個人CPU正常用用壞了的?

缺點:

1、不能同時成像和對焦

這個事情其實從現階段來看,尤其是對於A7R3這種機器而言是有點致命的,有人可能會說,單反成像的時候也是要抬板子的,對焦系統一樣啞火啊?然而實際上不是。

曝光,或者說成像這件事,是分兩步的:

①:快門打開,像素阱積累電荷

②:快門關閉,進行A/D轉換、數據讀取等後續操作

在②的過程當中,快門帘是不能開啟的,一旦快門帘開啟就會繼續積累電荷導致曝光出錯。有些快門壞掉的相機,拍攝的照片一邊會有亮條,就是這個原理。

然後區別就在這裡了:單反在快門關閉、讀CMOS的過程中,可以放下反光板繼續對焦,一邊讀CMOS一邊對焦毫無壓力。無反就不行,CMOS被快門擋死的時候整個對焦模塊都是GG的。偏偏對於傳統結構的CMOS,讀取時間一點都不短——即使是A7R3上的灰燼版IMX251,從上到下讀完CMOS也需要1/13s。假設開10fps連拍,每一幀0.1s,讀CMOS都要1/13s,也就是說每幀只有0.023s(23%)的時間可以給相位檢測模塊來對焦。而單反,尤其是旗艦單反的反光板回彈時間都在1/40s左右,以D850的7fps連拍為例,每幀當中獨立相位檢測模塊可以有0.117s(81.93%)的時間處於工作狀態,追焦性能要做好也是相對容易。之所以旗艦單反的反光板都打得啪啪響,不是為了給你聽著爽的,都是為了能快速回彈,在連拍過程中盡量多爭取對焦模塊可用的工作時間,畢竟能給對焦模塊多續1ms,追焦性能就能提高一分,這都是體育攝影的生命線啊。

當然索尼A9解決這個問題的方式有點暴力——高並發ADC+片上緩存,讀不完不要緊,直接扔進緩存里放著,慢慢往外讀,對焦系統繼續工作就是了。這樣的話一個刷新周期只有1/160s左右,即使是20fps連拍,對焦模塊也能有87.5%的占空比進行工作,強大暴力的追焦性能從此就有了硬體保證。

所以之前我也在微博上說過,堆棧式CMOS的緩存就是用來挑戰旗艦單反的最後領地——追焦性能的,至於20fps連拍和無黑視取景這種,只是附帶的東西,看起來爽,實際意義真的沒有大幅提升的追焦性能那麼大。換句話說,A9無黑視的最大意義是讓對焦系統無黑視,「讓你看到你按下快門的瞬間」這種宣傳語,雖然很激勵人心,但真的在追焦性能進化的意義面前只能算作玩兒票的花活。

2、應對大脫焦檢測無力

單反由於有二次成像透鏡把像重新聚焦到檢測線上,即使鏡頭大幅度脫焦,檢測線上依然能有相對清晰的信號。無反就不行了,只能靠反差試對或者乾脆罷工,這就是所謂的拉風箱,在使用大光圈鏡頭的時候尤其明顯。這也屬於一個原理性的問題,雖然問題不大,但有時候也會比較影響體驗。最大的問題可能就是應對突然闖入對焦範圍的物體時容易抓瞎,光圈越大這個問題越明顯,算是個小硬傷吧。

3、略微影響畫質

怎麼說也是虧了幾百上千個像素啊是吧。不過這個問題也是有解的,就是全像素雙核的方案,在此就不多說了。

總結:對焦的現在與對焦的未來

諸位可能想不到的是,片上式相位檢測其實出現的時間很短,第一部採用片上式相位檢測的相機是富士F300EXR,2011年7月才發布的,比內置ADC的Exmor CMOS歷史還短。第一台片上式相位檢測的可換鏡頭相機是尼康J1/V1(2011年9月),第一台APS-C畫幅的片上式相位檢測相機是發佈於2012年6月的佳能650D,隨後索尼也發布了帶片上PDAF的NEX-5R,跟61點獨立對焦模塊的5D3幾乎是一個時代的產品。

結果現在片上式對焦都隨著CMOS性能進化到量變引起質變的階段了,那套61點的獨立對焦模塊(1DX/5D3上那塊的改進版)還在佳能旗艦機里用著……

其實單反的這套對焦系統,雖然前面我也用了「設計精巧」之類的評語來給予評價,但是大家應該清醒的認識到一個問題就是蒸汽朋克沒有未來,機械組件的速度再提升也就那樣了,更不用說磨損、精度、跑焦、成本……之類的問題。

然而半導體卻是規模經濟,賣得越多成本就越低,成本越低就可以賣得越便宜,賣得越便宜就可以賣得越多……

所以毫無疑問,A9獲得各種年度相機獎項也是實至名歸——如果說D850/D5是對焦的現在,那麼A9就是對焦的未來。D850上這塊Multi-Cam 20K基本把獨立對焦模塊能做的事情都發揮到幾乎極致了,並且實際表現也相當不錯。不過A9這種第一代全幅高速片上式追焦產品出來就擁有能跟它幾乎戰平(實際上除了3D/物體識別追焦之外,打D5都壓力不大。至於物體識別跟蹤這個,更多的應該是演算法問題,索尼的軟體還是嫩了點)的實力。雖然半導體工藝也在逐漸逼近物理極限,但是能優化提升的空間明顯還是比機械要大——佳能從10fps做到14fps用了差不多10年,如果再給片上式對焦系統和相應的高速CMOS十年時間,又會是怎麼樣的一副光景呢?

拭目以待吧。


推薦閱讀:

「騷年」你會裝B嗎?(男士經典拍照姿勢)
這個日本博主,每天發一張圖,堅持五年後成了Instagram上的腦洞之王
我從《紐攝》獲得的30條手機攝影啟示
如何看待永諾14mmF2.8超廣角鏡頭?

TAG:摄影 | 对焦 | 镜头 |