隨著智能手機(jī)的不斷發(fā)展成熟,為了尋找差異化的廠商不斷增加攝像頭的數(shù)量。然而,攝像頭的數(shù)量越多,就代表拍照的質(zhì)量越好嗎?
Google Pixel 手機(jī)一直堅(jiān)持單攝,雖然硬件不算頂尖,但是憑借著強(qiáng)大的算法,Pixel 手機(jī)的照相水平非常突出。上個(gè)月,Pixel 3 發(fā)布會(huì)的 Keynote 顯示其暗光拍照的成像效果甚至完虐 iPhone XS,讓人驚嘆不已。
近日,Google 又為自己的相機(jī)應(yīng)用增加了“Night Sight”功能(夜視功能),用戶無需三腳架和閃光燈就能在夜間拍出銳利干凈的照片,并獲得了眾多評(píng)測(cè)博主的好評(píng)。本文就將為讀者介紹弱光條件下拍照的難點(diǎn)以及機(jī)器學(xué)習(xí)在這一問題中的應(yīng)用。
弱光拍攝的難點(diǎn)
大家如果在夜晚拍過照片的話,肯定會(huì)發(fā)現(xiàn)拍出的照片上有很多噪點(diǎn),使得照片看起來顏色和亮度都很不均勻。噪點(diǎn)或者叫噪聲的來源有兩個(gè):散粒噪聲和讀取噪聲。散粒噪聲指進(jìn)入感光元件的光子數(shù)量太少造成可觀測(cè)的光子數(shù)量不均。散粒噪聲的出現(xiàn)與我們所使用感光元件的質(zhì)量沒有關(guān)系,不過智能手機(jī)的感光元件太小,所以受散粒噪聲影響比普通相機(jī)更大。讀取噪聲則是由將電信號(hào)轉(zhuǎn)換成讀數(shù)時(shí)的隨機(jī)錯(cuò)誤造成的。感光元件的質(zhì)量越好那么讀取噪聲也就越小。
把所有噪聲的來源都考慮進(jìn)去我們可以得出一個(gè)信噪比,信噪比越高則意味著我們拍出的照片質(zhì)量越好。感光元件大小不變的情況下信噪比和曝光時(shí)間成正比,所以看來只要練成鐵手就能完美地解決這個(gè)問題。然而還是想簡(jiǎn)單了,就算拍攝者能長(zhǎng)時(shí)間穩(wěn)穩(wěn)地舉著手機(jī)被拍的對(duì)象也沒法保持長(zhǎng)時(shí)間不動(dòng)。
2014 年發(fā)布的 HDR+ 功能改善了散粒噪聲和讀取噪聲的問題,不過 HDR+ 的本意如它的名字一樣是為了提高照片的動(dòng)態(tài)范圍。HDR+ 的原理是連拍很多張照片,然后通過圖像識(shí)別把多張照片進(jìn)行疊加成一張照片。每張照片的曝光時(shí)間能根據(jù)用戶手抖的程度和拍攝目標(biāo)的移動(dòng)自動(dòng)調(diào)節(jié)來保證照片的銳度,這樣就在保證銳度的前提下增加了曝光時(shí)間,所以照片的信噪比也能提高了。
看起來弱光拍照的問題已經(jīng)完美解決了,就連拍幾十張后合并成一張就行了。然而實(shí)際的情況是就算用多張照片合并的方法還是對(duì)光照有要求,光照低于一定的標(biāo)準(zhǔn)就算再多拍效果也不好。標(biāo)示光源亮度的物理量是光通量,它的單位是流明。單位面積接收到的光通量叫做照度,單位是勒克斯。他們之間的關(guān)系大家可以參照壓力與壓強(qiáng)的關(guān)系來理解。為了讓大家能直觀地了解不同勒克斯的概念,下面表中用生活中的場(chǎng)景與勒克斯數(shù)值做了對(duì)比:
普通的手機(jī)相機(jī)從 30 勒克斯開始就不太行了,如果使用 HDR+ 或者類似合成多張照片的技術(shù)大概能降到 3 勒克斯但再低也就不行了。我們開發(fā)夜視功能的目標(biāo)是讓手機(jī)在 0.3 到 3 勒克斯之間不補(bǔ)光只按一次快門也能拍出好照片,而要實(shí)現(xiàn)這一目標(biāo)最重要的手段就是盡可能多地捕獲光子。
曝光時(shí)間限制和模糊問題
延長(zhǎng)曝光時(shí)間雖然能提高信噪比拍出更干凈的照片,但也同時(shí)帶來了兩個(gè)問題。Pixel 手機(jī)默認(rèn)的拍攝模式是零快門延遲,意思是說用戶一打開相機(jī)應(yīng)用其實(shí)相機(jī)就開始拍照存儲(chǔ)在緩存里了。當(dāng)用戶按下快門的時(shí)候手機(jī)會(huì)提取最新拍攝的 9 至 15 張相片來進(jìn)行合成,這樣就能保證拍到的是用戶按快門的那一刻。
用戶在拍照時(shí)手機(jī)會(huì)顯示預(yù)覽,為了維持最低 15 幀的顯示刷新,HDR+ 能實(shí)現(xiàn)的最慢快門速度也只有 66 毫秒。所以為了進(jìn)一步延長(zhǎng)曝光時(shí)間,夜視功能改變了拍攝模式。用戶使用夜視功能拍照時(shí)按下快門后相機(jī)才會(huì)開始拍攝,所以用戶必須維持一小段時(shí)間盡量不動(dòng)。
延長(zhǎng)曝光帶來的第二個(gè)問題是畫面模糊。雖然 Pixel 2 和 Pixel 3 配備了光學(xué)防抖鏡頭但最多只能支持到 1/8 秒快門。Pixel 3 為了解決這一問題應(yīng)用了所謂的動(dòng)作測(cè)量技術(shù),也就是使用光流法來判斷畫面的移動(dòng),然后再動(dòng)態(tài)調(diào)整快門速度來讓畫面盡量清楚。Pixel 1 和 Pixel 2 雖然不會(huì)默認(rèn)使用動(dòng)作測(cè)量,不過用戶開啟夜視模式時(shí)它們也會(huì)使用動(dòng)作測(cè)量。這樣如果用戶畫面晃動(dòng)不大的話每張照片的曝光時(shí)間最多能到 333 毫秒。這項(xiàng)技術(shù)也針對(duì) Pixel 1 和使用了腳架的情況進(jìn)行了優(yōu)化。Pixel 1 沒有光學(xué)防抖,所以快門的時(shí)間就稍微短一些而如果手機(jī)完全沒有移動(dòng)的話快門時(shí)間最高可達(dá)一秒。
除了快門時(shí)間,應(yīng)用也會(huì)根據(jù)情況調(diào)整所拍的照片張數(shù)來減少用戶等待的時(shí)間。如果使用三腳架只拍 6 張就可以合成了,若為手持則最多會(huì)拍 15 張。所以使用 Pixel 手機(jī)拍照,根據(jù)相機(jī)是前置還是后置、手持穩(wěn)定性、畫面穩(wěn)定性和亮度的不同,合成前所拍攝的照片在 15 張 1/15 秒快門照片和 6 張 1 秒快門的照片之間。下面的圖中我們可以看到一點(diǎn)區(qū)別:
左圖我們可以看到狗頭部的動(dòng)作。中間圖為動(dòng)作測(cè)量關(guān)閉狀態(tài)下拍攝,快門為 73 毫秒,能明顯看到模糊。右圖為動(dòng)作測(cè)量開啟狀態(tài)下拍攝,快門為 48 毫秒,比關(guān)閉動(dòng)作測(cè)量清楚一些。
下面的圖是手持和三腳架拍攝的不同效果:
左圖為手持拍攝,略微有抖動(dòng)。拍攝了 15 張快門 333 毫秒的照片進(jìn)行合成。右圖為手機(jī)判斷無抖動(dòng)所以拍攝了 6 張快門 1 秒的照片進(jìn)行合成。
對(duì)齊與合成
拍攝多張照片進(jìn)行合成不是什么新鮮的方法,在天文和微距攝影上都有很廣泛的應(yīng)用。雖然原理聽起來很容易,但將手持拍攝的照片對(duì)齊就很困難。我們從 2010 年就開始進(jìn)行對(duì)齊與合成相關(guān)的研究,最早的成果是 iOS 平臺(tái)一個(gè)叫做 Synthcam 的應(yīng)用。
夜視功能的原理其實(shí)和 Synthcam 差不多,但提高了照片的分辨率。Pixel 1 和 2 中使用的 HDR+ 融合算法提高了剔除無效照片的能力,Pixel 3 中使用的超高分辨率變焦技術(shù)雖說并不是為減少噪點(diǎn)所開發(fā)但客觀上也實(shí)現(xiàn)了除噪點(diǎn)的效果。這項(xiàng)技術(shù)某些條件下效果優(yōu)于 HDR+ 但對(duì)計(jì)算能力要求更高,所以沒有應(yīng)用在 Pixel 1 和 Pixel 2 上。
其他難題
原理聽起來挺簡(jiǎn)單,但開發(fā)夜視功能的過程中還是碰到了不少難題。
▌1.弱光條件下自動(dòng)白平衡失效
自動(dòng)白平衡的目的是將不同色溫條件下拍攝的照片都調(diào)整為白光下拍攝的顏色,否則人眼在回看照片時(shí)會(huì)發(fā)現(xiàn)明顯的色差。
白平衡在數(shù)學(xué)上屬于不適定問題。比如感光元件判斷拍到的雪花是藍(lán)色的,但無法判斷雪花到底是真的藍(lán)還是天的藍(lán)色映在雪花上。現(xiàn)在的自動(dòng)白平衡算法在強(qiáng)光條件下效果不錯(cuò),但在弱光拍攝時(shí)就非常不準(zhǔn)了。
為此我們訓(xùn)練了一個(gè)模型來判斷照片的白平衡是否正常并作出矯正。為了訓(xùn)練這個(gè)模型我們使用 Pixel 手機(jī)在各種光照條件了拍了很多照片并手工對(duì)白平衡進(jìn)行調(diào)整。下圖中我們能看到應(yīng)用模型前后的明顯區(qū)別。
▌2.色調(diào)映射
人眼在弱光下是分不清楚顏色的,因?yàn)橹挥胁荒芘袛囝伾囊晽U細(xì)胞才能在晚上工作。但人眼看不到并不表示到晚上顏色就沒有了,所以夜視功能想超越人眼的極限必須在夜間也能拍出清晰的顏色。
下面這張圖就是在夜間通過長(zhǎng)時(shí)間曝光所拍攝的(注意天空中可以看到星星)。雖然偶爾拍拍這種把晚上拍成白天的效果也不錯(cuò),但恐怕大家還是想能把晚上拍成晚上。
其實(shí)藝術(shù)家們很早就發(fā)現(xiàn)了讓觀眾感覺所畫的是夜間的方法,如下圖所示:
畫家提高畫面的對(duì)比度并把陰影部分直接涂黑來營(yíng)造出夜間的效果。我們也使用了類似的方法,比如使用 S 形色調(diào)映射。不過怎么把握其中的度還是挺值得思考的,下面這張用 Pixel 3 拍的照片就非常成功:
夜視模式的極限
當(dāng)照度低于 0.3 勒克斯時(shí)手機(jī)的自動(dòng)對(duì)焦功能會(huì)失效,所以我們?cè)?Pixel 3 的夜視模式增加了兩個(gè)手動(dòng)對(duì)焦按鈕:近和遠(yuǎn)。近模式的對(duì)焦距離約為 1.2 米,遠(yuǎn)模式則在約 3.6 米處對(duì)焦。在遠(yuǎn)模式下景深是從 1.8 米到無窮遠(yuǎn)。雖然照度低于 0.3 勒克斯也能拍出好照片,但就必須借助三腳架和第三方應(yīng)用了。
那么理論上對(duì)攝影來說照度能低到什么程度呢?我想當(dāng)捕捉到的光子會(huì)受到讀取噪音影響時(shí)就差不多了。另外還有其他的噪聲來源,比如受溫度影響的暗電流,不過我可不建議大家為了降噪點(diǎn)把手機(jī)泡到液氮里。就算這些問題全都解決了也會(huì)有風(fēng)吹樹搖,超長(zhǎng)曝光攝影還是很困難。
注意事項(xiàng)
用夜視功能拍照很有趣,如果使用得當(dāng)?shù)脑捘軌蚺某鲂Ч浅:玫恼掌R挂暪δ茉?Pixel 3 上面的效果是最好的,一方面是因?yàn)樗?a href="http://www.1cnz.cn/v/tag/137/" target="_blank">芯片速度最快,另外自動(dòng)白平衡算法也是以 Pixel 3 為基礎(chǔ)訓(xùn)練的。不過就算用的不是 Pixel 3 夜視功能也能讓你在弱光下拍出好照片(預(yù)覽里的噪點(diǎn)并不會(huì)出現(xiàn)在完成的照片上)。文章最后就給大家一些更好地使用夜視功能的注意事項(xiàng)吧:
完全黑暗的地方夜視功能也拍不到什么東西
柔和均勻的光照條件下拍攝效果更好
不要對(duì)著光源拍,否則會(huì)有炫光
可以點(diǎn)預(yù)覽屏幕來調(diào)整曝光
如果是單純地想降低曝光是可以通過軟件后期實(shí)現(xiàn)的,而且沒那么多噪點(diǎn)
對(duì)著畫面上有顏色或者亮度對(duì)比的地方比較容易自動(dòng)對(duì)上焦
還是對(duì)不上焦就試試手動(dòng)對(duì)焦(如下圖)
靠著墻可以增加手持的穩(wěn)定性有助于提升照片銳度
用前置鏡頭自拍也可以用夜視功能,而且手機(jī)屏幕還能補(bǔ)光
-
智能手機(jī)
+關(guān)注
關(guān)注
66文章
18477瀏覽量
180107 -
攝像頭
+關(guān)注
關(guān)注
59文章
4836瀏覽量
95599 -
圖像識(shí)別
+關(guān)注
關(guān)注
9文章
520瀏覽量
38267
原文標(biāo)題:勝過iPhone XS?Google Pixel的“夜視功能”是怎樣煉成的
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論