電腦視覺

深度估計(depth estimation)

/ depth es-tih-MAY-shun /

深度估計要算出場景中每一處離我們有多遠——把一張平面的照片,變成一種「近」與「遠」的感覺。它的輸出通常是一張深度圖:圖中每個像素的明暗編碼著距離,於是前景明亮地發光,背景則暗淡地隱去(或者反過來)。這就是「看到一張走廊的圖片」與「理解這條走廊向遠處延伸了三十英尺」之間的區別。機器人、汽車和AR應用正是需要這種三維感,才能在世界裡穿行、與之互動。

獲得它大體有兩條路。可靠的那條用幾何和額外的感測器:兩台相隔一段距離的相機(立體視覺,就像你的兩隻眼睛),或者一個透過計時「光彈回來要多久」來測距的感測器(雷射雷達、飛行時間)。更難、也更時髦的那條,是單目深度估計——用一個神經網路從單張普通照片裡去猜深度,它學的是人類也在用的那些線索:畫面中位置越高的東西往往越遠、紋理隨距離而縮小、近處的物體會擋住遠處的。

誠實的分界線,恰恰就劃在這兩條路之間。基於幾何、多感測器的深度,給出的是你在安全攸關任務裡可以信賴的真實測量。相比之下,單圖深度從根本上說就是一次猜測——一張平面照片確實不含足夠資訊來確定真實距離(一座真山和一張小小的山的照片,可以投影得一模一樣),而模型只知道相對深度和典型場景,並不知道絕對的米數。對於人像模式的背景虛化這類效果,它令人印象深刻又實用,但它不是測量;自動駕駛系統之所以倚重雷射雷達和立體視覺,正是因為它們不能拿人命去賭一次單目的猜測。

你手機的人像模式會估計深度,以分辨哪些像素是主體、哪些是背景,再把背景虛化出柔美的焦外光斑。它通常效果出眾——但留意它有時會把虛化抹到一縷散落的頭髮上,或抹進手臂與身體之間的縫隙裡,正是在那些地方,它對深度的猜測把邊界搞錯了。

單圖深度驅動了人像虛化——令人印象深刻,但那是猜測,而非測量。

單張二維照片,原則上無法確定真實距離——從單圖得到的深度是一種有根據的猜測,通常只是相對的(誰近誰遠),而非絕對的米數。安全攸關的系統會用立體相機或雷射雷達來做真實測量,並把單目深度當作提示,而非地面真值。

又稱
depth predictionmonocular depth深度估计深度估計depth map