來源:映維網 作者 黃顏
確定場景三維信息的能力稱為深度感測,這對開發者和用戶都是一項十分有價值的工具。深度傳感是一個非常活躍的計算視覺領域,近年來的創新包括人像模式和AR等應用,以及諸如透明對象檢測等基礎感測創新。基於RGB的常見立體深度傳感技術需要十分高昂的計算,而且在低紋理區域會受到影響,並且在極低光照條件下會完全失效。
因為Pixel 4的人臉解鎖功能必須以高速執行並支持黑暗環境,所以它需要一種不同的解決放哪。Pixel 4的前端包含實時紅外有源立體深度傳感器uDepth。這項技術是Pixel 4的一項關鍵計算機視覺功能,有助於身份驗證系統識別用戶,同時能夠防止欺騙攻擊。另外,它支持一系列的新功能,如事後照片潤色、基於深度的場景分割、背景模糊、人像效果和3D照片等。
谷歌最近以Camera2 API的方式來提供了uDepth的訪問權限,允許使用Pixel Neural Core、兩個紅外攝像頭和一個紅外模式投影儀並以30Hz提供時間同步的深度幀。Google Camera App使用這個API為Pixel 4用戶的自拍帶來優化的深度功能。在這篇博文中,谷歌將向大家概要解釋uDepth的工作原理和底層算法,並用Piexl 4的示例結果對用例進行討論。下面是映維網的具體整理:
1. 立體深度感測的綜述
所有立體攝像頭系統都會採用視差重建深度。對於這種效果,你可以注視一個對象,閉合左眼,然後張開左眼並閉合右眼。你會發現對象的位置會出現移動,而越靠近的對象移動得越快。uDepth是Dense Local Stereo匹配技術家族的一員,其主要是通過計算來估計每個像素的視差。所述技術會在一個攝像頭形成的圖像中評估由每個像素包圍的區域,並嘗試在第二個攝像頭的相應圖像中尋找相似的區域。正確校準後,生成的重構屬於可度量,這意味著它們表示實際的物理距離。
為了處理無紋理區域和處理弱光條件,團隊使用了「有源立體」設置,將紅外圖案投影到由立體紅外攝頭機檢測到的場景中。所述方法提高了低紋理區域的可識別性,從而優化了識別效果並降低了系統的計算量。
2. uDepth與眾不同的地方
立體感測系統的運算量非常大。對於以30Hz頻率運行的感測器,其在保持高質量的前提下必須是低功耗。uDepth利用了眾多關鍵的見解來實現這一點。
其中之一是,給定一對彼此相似的區域,而大多數對應的子集同樣相似。例如,給定兩個相似的8×8像素塊,兩者左上的4×4子區域同樣可能相似。這將告知uDepth管道的初始化過程,後者通過比較每個圖像中的非重疊像素塊並選擇最相似的像素塊來構建深度建議金字塔。這個過程從1×1像素塊開始,並按層累積支持,直到生成初始低解析度深度映射。
在初始化之後,團隊應用一種全新的神經深度細化技術來支持Pixel 4的規則網格圖案照明器。典型的有源立體系統投射一個偽隨機網格圖案來幫助消除場景中的匹配歧義,但uDepth能夠支持重複的網格模式。重複結構產生的區域在立體對中看起來十分相似,並可能導致不正確的匹配。針對這個問題,團隊採用了輕量級卷積架構,通過紅外亮度和鄰近信息來調整不正確的匹配,而每幀耗時不到1.5ms。
神經深度細化架構
在神經深度細化之後,合適的深度估計將從相鄰的像素塊迭代傳播。這個和後續的管道步驟利用了uDepth成功的另一個關鍵洞察:自然場景通常是局部平面,只有很小的非平面偏差。這使得團隊能夠找到覆蓋場景的平面像素塊,然後只為一個像素塊中的每個像素細化單個深度,從而大大減少計算負載。
最後,從相鄰平面假設中選擇最佳匹配。
綠色組件由GPU運行,黃色組件由CPU運行,藍色組件則由Pixel Neural Core運行
當手機出現跌落情況時,這可能會導致立體攝像頭的出廠校準偏離實際位置。為了在實際使用中確保高質量的結果,uDepth系統支持自校準。計分程序評估每個深度圖像是否存在誤校準的跡象,並建立對設備狀態的信心。如果檢測到校準錯誤,則從當前場景重新生成校準參數。
左邊是未校準的立體深度;右邊是經過自校準後的立體深度
更多的信息請參閱Slanted O(1) Stereo。
3. 用於計算攝影的深度
uDepth傳感器的原始數據需要是精確和可度量,這是人臉解鎖的基本要求。諸如人像模式和三維照片等計算攝影應用有著非常不同的需求。在所述用例中,實現視頻幀速率並不重要,但深度應該是平滑的,邊緣對齊的,並且在彩色攝像頭的整個視場中都是完整的。
從左到右:原始深度感測結果,預測深度,3D照片
為了實現這一目標,團隊訓練了一個端到端的深度學習架構。它增強了原始uDepth數據,並推斷出一個完整、密集的3D深度映射。谷歌採用了RGB圖像、人像分割和原始深度的組合。
用於計算攝影深度的架構
為了獲得Ground Truth,團隊利用了一個體三維捕捉系統。這是一個配備有331個自定義彩色LED燈、一組高解析度色攝像頭和一組自定義高解析度深度傳感器的測地線球體,能夠生成接近照片真實感的人像模型。谷歌在設置中添加了Pixel4智慧型手機,並將它們與其他硬體(燈光和攝像頭)同步。生成的訓練數據包括Pixel 4視點真實圖像和合成渲染的組合。
數據獲取綜述
4. 將一切整合起來
當所有一切就位後,uDepth將能夠以30Hz產生深度數據流,並生成平滑的後處理深度映射。系統生成的平滑、密集、每像素深度支持啟用Social Media Depth功能的所有Pixel 4自拍照片,並且可用於社交媒體的散焦和3D照片等後期捕獲效果。
谷歌最後提供了一個演示應用,這樣你就可以利用uDepth提供的實時點雲可視化工具進行體驗。請點擊這裡下載(注,這個應用僅用於演示和研究目的,不用於商業用途;谷歌不會提供任何支持或更新)。這個演示應用會從你的Pixel 4可視化三維點雲。由於深度映射屬於時間同步,並且與RGB圖像位於同一坐標系中,所以可以顯示3D場景的紋理映射,如下面示例:
利用uDepth獲取的單幀RGB點雲示例