單視角2D影像深度資訊不漏接 平面影像重建3D立體視覺(1)

作者: 誠君
2023 年 10 月 16 日

不同於3D雙目相機感測系統,單視角的深度估測(Monocular Depth Estimation)系統只需輸入由單視角(Single View)拍攝的平面RGB影像,就能估算出圖像(Image)中每個物件的深度資訊。具有多鏡頭(Shots)和多場景(Scenes)的2D視訊影片,也能應用單視角的線索(Cue)和偵測技術,獲得在2D視訊影像內每個物件的深度資訊。

深度測量挑戰

當3D機器視覺系統在測量場景深度時,必然會遇到對應匹配(Correspondence Matching)的問題。造成這種問題的主要原因有:紋理(Texture)、遮蔽(Occlusion)、反射不是均勻的非朗伯表面(Non-Lambertian Surface)、深度的模糊(Depth Ambiguity)。尤其是後者,會形成所謂的不適定(Ill-Posed)問題,且單視角比多視角更容易發生。如在圖1(a)中,只提供物件在x軸和y軸的座標資訊;(b) 代表人眼通常能夠將2D物件自然地重建成3D實體;(c)代表xy平面上的任一圖形可以映射到無限多個3D立體圖,也就是有無限多個解,這就產生了不適定問題。

圖1 2D映射至3D的不適定問題

此外,表面會反射的(Reflective)、透明的、有鏡面的物體,都是立體匹配演算法的難題。例如:汽車的擋風玻璃,它常會使立體匹配演算法失效。因此,至今仍有很多公司依賴LiDAR來獲取深度資訊。但自從深度學習(Deep Learning)被導入至這個應用領域後,針對上述問題,已經有許多解決方案被提出。

用「線索」判斷深度

3D機器視覺跟人腦一樣,也是藉由輸入的訊號與圖像,辨識出各種模式(Pattern),例如:在圖像中的物體大小、紋理、移動等,這些模式統稱為深度線索(Depth Cue)。在圖像中,雖然沒有直接的距離資訊,但這些線索能協助判斷出物件和相機之間的距離。深度線索有四種:靜態單視角的(Static Monocular)、移動產生的(Depth From Motion)、雙目的(Binocular)、生理學的。人類在潛意識下,就是利用這些線索察覺到深度。3D機器視覺除了生理學的深度線索沒有以外,其餘三種都有。

3D機器視覺系統是模擬人眼和人腦,當它注視圖2中的物件時,也能察覺出如圖2下方的結果。當自駕車在移動時,安裝在車上的相機,也能察覺到遠處建築物的相對速度,比在近處的車輛、行人、樹木的相對速度慢。這就是從移動的線索,得到的深度資訊,也稱作運動視差(Motion Parallax)。

圖2 靜態單視角的深度線索

3D機器視覺的雙目視差原理,是和人類的視網膜視差(Retina Disparity)原理相同。因為雙目視差與深度成反比,所以越靠近雙目相機的物件,雙目視差值就越大。越靠近單視角相機的物件,該物件在圖像中的大小就也越大。

此外,當圖像中的兩物件前後交疊,產生所謂的遮蔽時,被遮蔽的物件會被認為比較遠。當圖像中的物件看起來霧濛濛的、模糊不清楚時,也會被認為是在遠處。光線和陰影也是測量深度的重要線索。圖像中的物件被光線照射後所產生的陰影,以及光線被物件反射的情形,都是深度線索。越靠近3D相機的物件紋理會越清晰,越遠者就越不清楚或失真,如圖3所示,這種距離的層次感被稱為紋理梯度(Texture Gradient)。

圖3 紋理梯度所顯現出來的遠近效果

監督式單視角的深度測量

單視角圖像的線索包含有:紋理變化(Texture Variation)、紋理梯度、遮蔽、物件的大小、霧氣(Haze)、失焦(Defocus)等。其中,霧氣是環境因素與光線散射造成的。若單目相機的焦距是固定的,則失焦的物件與單目相機之間的遠近關係是可以判斷的。

單視角測距是一項困難的工作,通常必須事先知道場景的部份變動因素。所以,傳統的單視角深度估算通常是採用監督式的,需先輸入大量的圖像和相對應的基準真相的深度資訊來訓練此系統。然後才能將新的圖像輸入至此監督式系統,來估算深度。通常,只知道圖像中的區域特徵(Local Feature)是無法估算出深度,還需要知道圖像中的廣域特性(Global Property)。例如:將多尺度(Multi-Scale)或多解析度(Multi-Resolution)圖像中的區域、廣域特徵的連結關係,以及圖像中的像素和深度的關係,都輸入至馬爾科夫隨機場(Markov Random Field, MRF)演算法來估算深度。

圖4(a)是使用卷積濾波器(Convolutional Filter)來獲得紋理能量和梯度。前九個稱作羅氏遮罩(Law’s Mask),可以執行區域均值(Local Averaging)、邊緣偵測(Edge Detection)、點偵測(Spot Detection)。後六個是用來偵測不同方向的邊緣,各間隔30度。圖4(b)分成左側的相對的深度特徵和右側的絕對的深度特徵向量。兩者各別代表原圖中的區塊yi、yj和A0。絕對的深度特徵向量包含個別深度特徵和它附近的深度特徵,以及相連但更遠的深度特徵(尺度放大後)。相對的或廣域的深度特徵是使用濾波器輸出的直方圖(Histogram)來表示。最右側共19個元素,是C0區塊的絕對的深度特徵向量。在YCbCr色彩空間中,紋理的資訊大都包含在亮度通道(Intensity Channel)Y裡,羅氏遮罩可以使用亮度通道的訊號來估算紋理能量。

圖4 監督式單視角的深度測量

霧氣的資訊是包含在低頻的色度通道(Color Channel)中,區域均值濾波器(第一個羅氏遮罩)可以使用色度通道的訊號來估算霧氣資訊。使用圖4(a)中的六個定向邊緣濾波器和亮度通道訊號做卷積運算,可以得出非常抗雜訊的紋理梯度。圖5是多解析度的MRF模型,它可以表示特徵和深度的關係、在相同解析度下不同深度的關係,以及在不同解析度下不同深度的關係。不過,圖5只呈現了三個中的兩個解析度,以及邊緣的子集合。

圖5 多解析度的MRF模型

除了紋理梯度以外,廣域的深度梯度也是估算深度的利器。在圖6中,(a1)是一張風景照,(a2)是(a1)的廣域深度梯度變化圖,(a3)是(a1)深度圖。(b1)是一張直線透視圖(Linear Perspective Picture)。(c1)是一張普通的前景聚焦照片。圖7是使用廣域的深度梯度產生深度圖的流程。若輸入的不是新的視訊鏡頭(Video Shot),就使用前一個廣域的深度梯度。否則,須計算出新的廣域的深度梯度。然後,加入區域的深度資訊,能產生更精細的深度圖。在圖6中,偵測輸入的訊框是否是新的視訊鏡頭,以及產生廣域的深度梯度,這兩個步驟是重要關鍵。

圖6 (a1)是一張風景照;(b1)是一張直線透視圖;(c1)是一張普通的前景聚焦照片
圖7 使用廣域的深度梯度產生深度圖的流程

單視角2D影像深度資訊不漏接 平面影像重建3D立體視覺(1)

單視角2D影像深度資訊不漏接 平面影像重建3D立體視覺(2)

單視角2D影像深度資訊不漏接 平面影像重建3D立體視覺(3)

》想看更多內容?快來【免費加入會員】【登入會員】,享受更多閱讀文章的權限喔!
標籤
相關文章

單視角2D影像深度資訊不漏接 平面影像重建3D立體視覺(2)

2023 年 10 月 16 日

單視角2D影像深度資訊不漏接 平面影像重建3D立體視覺(3)

2023 年 10 月 16 日

INT8運算最佳化發功 嵌入視覺/深度學習效能大增

2018 年 06 月 04 日

整合嵌入式系統/神經網絡/邊緣運算 Easy Chat+為障礙者發聲(1)

2024 年 03 月 07 日

嵌入式AI應用持續成長 深度學習大顯神威(1)

2024 年 06 月 18 日

嵌入式AI應用持續成長 深度學習大顯神威(2)

2024 年 06 月 18 日
前一篇
單視角2D影像深度資訊不漏接 平面影像重建3D立體視覺(2)
下一篇
HOLTEK新推出HT32F61030/HT32F61041 Power Delivery MCU