Google Pixel 2/2XL視頻穩定技術探究

本文系微信公眾號《大話成像》,知乎專欄《all in camera》原創文章

大話成像讀者QQ交流群 :237427716 大話計算機視覺QQ交流群:651805282

本站教學視頻大話成像之《數字成像系統》32講已上線淘寶,搜索關鍵字『大話成像』即可找到,或使用鏈接

PC用戶: item.taobao.com/item.ht

手機用戶可使用鏈接: 複製這條信息¥adMo0tqbc2N¥後打開手淘

請購買了視頻的讀者加入QQ群:679050565,群名稱:數字成像系統課程,驗證消息請輸入購買課程時候的個人ID。


前不久Google發布了Pixel 2/2 XL智能手機,在DxOMark移動設備相機評測綜合排行榜中位居榜首。隨後Apple發布了iPhone X,在DxO上的拍照評分超過了Pixel 2/2 XL,但由於Pixel

2/2 XL出色的視頻拍攝質量,尤其是視頻穩定質量非常優秀,可以拍攝穩定的60fps的4K視頻,使其綜合評分領先iPhone X,保住了綜合排名第一的位置。

相比較第一代Pixel,Pixel 2/2 XL採用了Google最新的融合視頻穩定系統(Fused video stabilization),在原有的電子圖像穩定(EIS)系統的基礎上整合了光學圖像穩定(OIS)模塊。作為Google宣稱的人工智慧手機,機器學習技術也被運用到了Pixel 2/2 XL視頻穩定系統中。這些改進使得Pixel 2的視頻穩定質量又提升到了一個新的高度。

視頻拍攝於印度山區,右側為Pixel 2視頻穩定效果

上周Google安卓相機團隊的工程師在Google研究博客上發表了文章《Fused Video Stabilization on the Pixel 2 and Pixel 2 XL》,介紹了Pixel 2/2 XL使用的融合視頻穩定技術。Pixel 2/2 XL的視頻穩定系統是Google多個團隊,包括相機演算法,感測器演算法和相機硬體團隊共同努力的成果。遺憾的是Google並沒有開源Pixel產品的軟體演算法。希望了解Pixel 2視頻穩定系統原理的讀者,可以閱讀這篇文章大致了解Pixel 2視頻穩定系統的工作原理。

Google在博客上首先介紹了視頻拍攝中通常會出現的一些影響視頻質量的問題,之後簡要介紹了Pixel 2解決這些問題的方法,並附上了多組對比視頻。對於手機視頻防抖系統開發的讀者非常有參考價值。

  • 視頻拍攝中的一些常見問題

1.相機抖動 (Camera Shake)

人們多數時候是通過手持手機拍攝視頻,如果在拍攝中行走或跑動,那麼相機的抖動將會非常劇烈,視頻幾乎難以觀看。

2.運動模糊 (Motion Blur)

如果相機或者被拍攝的物體在曝光過程中發生了位移,那麼照片或者視頻就會產生模糊。即使之後對視頻進行了穩定處理,但模糊圖像是很難被複原的。如果視頻中圖像清晰度發生周期性突變,圖像清晰模糊交替變化,那麼會嚴重影響視頻觀感。

視頻序列圖像銳度周期變化

3.捲簾快門效應 (Rolling Shutter Effect)

CMOS圖像感測器每一時刻只讀取一行像素的感光值,從讀取第一行像素值開始,到讀完最後一行像素值,一般需要十多毫秒時間。被拍攝物體或者相機在像素讀取過程中的移動會導致圖像產生縱向的形變。

CMOS圖像感測器像素讀取時序

捲簾快門效應

4.自動對焦拉風箱 (Focus Breathing)

如果在視頻拍攝過程中,對焦點的深度快速變化,例如鏡頭前有物體突然閃入或閃出,通常自動對焦短時間內無法對準,鏡頭會前後來回反覆對焦。

  • 註:Pixel 2採用激光加相位自動對焦系統(Autofocus with laser +dual pixel phase detection),似乎不應該有拉風箱的問題。Google在博客中也沒有明確描述如何處理這種問題。

Pixel 2/2 XL視頻穩定系統結構框圖

Pixel 2/2 XL視頻穩定系統可分為三個處理階段:

1. 運動分析(motion analysis)

新增加的OIS模塊實時測量鏡頭組的位移信息,結合陀螺儀測量得到的相機空間位置信息,能夠精確地估算出相機的運動情況。

OIS測量鏡頭組三維位置信息

陀螺儀測量手機(相機)三維空間旋轉信息

陀螺儀可以測量相機在三維空間中的旋轉角度信息(滾轉,俯仰和偏航角roll,

pitch, yaw),測量頻率高達200HZ,足夠計算出CMOS圖像感測器每行像素曝光時刻相機的運動矢量。據此可以準確的對捲簾快門變形進行建模。

增加的OIS模塊可以測量出鏡頭組的移動信息,包括Z方向上的焦距變化和XY方向上的鏡頭位移。

對捲簾快門效應進行精確的建模需要非常精準的時序同步,CMOS圖像感測器像素讀取,OIS透鏡位置測量,陀螺儀角度測量,這三個系統的時間戳需要嚴格同步。幾毫秒的誤差將會導致明顯的圖像抖動。

2.運動濾波(motion filter)

緩存多幀視頻圖像序列,利用機器學習演算法,預測出用戶正常的,有目的的拍攝移動。把用戶的拍攝移動從上一個步驟stylex=background:white lang=en-US>「lang=zh-CN>運動濾波」stylex=background:white lang=zh-CN>輸出的真實相機運動中分離出來,得到虛擬相機運動。

預測用戶的拍攝移動使用的機器學習演算法被稱之為stylex=background:white lang=en-US>Lookahead filteringstylex=background:white lang=zh-CN>,後面會對lang=en-US>Lookahead演算法再做詳細介紹。

拍攝視頻過程中相機沿水平或豎直方向移動,圖像將產生運動模糊。Lookahead flitering使用機器學習演算法可預測出相機移動與運動模糊之間的關聯關係。

3.視頻幀合成(frame synthesis)

最後一步,利用以上分析得到的相機真實運動和虛擬運動信息,對視頻序列進行處理,為了消除捲簾快門效應,把每一幀圖像按行列劃分成多個塊,每個塊單獨做仿射變換(Warp)。

左圖為相機拍攝過程中沿水平方向移動時的一幀圖像,將圖像按塊劃分,對每個綠色塊內的圖像採用不同的仿射變換係數,右圖紅色方框內的圖像進行了捲簾快門校正。

Lookahead Motion Filtering

Lookahead filtering演算法是Pixel 2的視頻穩定系統中的一個關鍵技術。它可以預測並識別出用戶的拍攝移動模式,計算出穩定的虛擬相機運動。

Lookahead演算法分多個階段,逐步完善最終的每一幀圖像的虛擬相機運動信息。

第一步,對緩存的多幀圖像的真實相機運動做高斯濾波,即可得到平穩的相機運動信息。

(註:包括上一代的Pixel和其它多數的視頻穩定演算法,運動分析過程到此已完成。以下是Pixel 2的演算法改進)

使用機器學習演算法,訓練出一個模型,可以把用戶有意的拍攝移動從真實相機運動中分離出來。舉個例子,當預測到用戶正在沿著水平方向平移相機時,視頻穩定處理應當更加多的消除豎直方向上的相機抖動。

另外在實際情況中,有時相機移動幅度過大,穩定後的圖像有可能超出原始圖像的邊界,出現圖像邊界像素丟失的情況。Lookahead演算法可以預測這種情況發生的可能性,在接下來的圖像序列中做出調整,防止穩定後的圖像丟失邊界處的像素。

過度穩定的圖像在左下角青色標記位置部分像素丟失,右邊圖像採用Lookahead演算法避免了過度穩定造成的像素丟失。之前提到的當相機運動劇烈時,光學防抖系統往往會造成運動模糊。隨後的電子防抖處理會進一步模糊圖像。這種運動模糊會在視頻序列里產生明顯的圖像清晰度周期性變化。運動模糊通常發生在特定

之前提到的當相機運動劇烈時,光學防抖系統往往會造成運動模糊。隨後的電子防抖處理會進一步模糊圖像。這種運動模糊會在視頻序列里產生明顯的圖像清晰度周期性變化。

運動模糊通常發生在特定的方向上。如果圖像中主要的運動模糊與視頻序列的移動方向一致,人們的大腦會有意忽視這種模糊。

Pixel 2視頻穩定系統利用陀螺儀以及OIS模塊的高頻採樣信號,計算出每幀圖像曝光開始時刻和結束時刻的相機的位置與角度,以及一幀圖像曝光期間相機的移動軌跡。使用機器學習演算法,用一組有運動模糊和沒有運動模糊的視頻進行訓練,得到運動模糊和相機移動的關聯關係。對於與運動模糊相關的相機移動在後續處理中多予以保留。這樣就可以有效地緩解視頻序列中清晰度周期性突變的問題,同時依然保持了理想的視頻穩定效果。


歡迎大家關注我們的公眾號大話成像大話計算機視覺,並加入我們的兩個QQ交流群交流一些工作學習中的問題 。


推薦閱讀:

TAG:GooglePixel | 相機 | 視頻 |