Skip to content

深度圖

讀取 16 位 PNG、TIFF、NPY、PFM 與 EXR 深度資料,支援百分位視窗化、色彩對映、游標處的米制讀數,以及反投影進三維檢視器。

Potato 能把深度圖渲染得可讀,在游標處以米為單位報告距離,並且在給定相機內參的情況下,把深度圖變成可供你放置三維框的點雲。 深度是單目估計器、雙目裝置與 RGB-D 感測器交付三維資訊的方式,也是多數機器人資料集隨影片一併提供的格式。

可執行示例:examples/spatial/depth-eval/

深度與影像不同的三點

把深度圖當作影像開啟,看到的是一塊黑色矩形。就算不是,你看到的也只是一堆顏色,而不知道其中任何一種代表多遠。

檔案本身並不知道自己的單位。 RealSense、Azure Kinect 與 NYU-Depth 用毫米;KITTI 補全基準用 1/256 米;任何由浮點陣列寫出的檔案用米。depth_scale 表示每個儲存單位對應多少米,預設值為 0.001。填錯是無聲的,因為視窗會重新縮放,畫面看起來毫無二致——這正是米制讀數存在的理由。

零不是一個距離。 它幾乎是通用的"無返回"編碼。若按深度來讀,它會在感測器覆蓋範圍內的每一個空洞處畫出一堵明亮的牆。Potato 把非測量值記作 NaN,並塗成品紅色,這是所有色彩對映中都不存在的顏色,因此空洞不會被誤認成近處或遠處的深度。資訊欄會報告深度圖中有多少比例是空洞。一臺面對無紋理牆面的雙目裝置確實會返回 80% 的空洞,而看不到這一點的標註者會把它們當成幾何結構來讀。

有意義的量程幾乎從來不是完整量程。 近/遠視窗預設取有效畫素的第 2 與第 98 百分位。

配置

yaml
instance_display:
  fields:
    - key: depth
      type: depth_map
      label: "Depth"

支援的格式:16 位 PNG、16 位 TIFF、NPY 與 NPZ、PFM,以及 EXR。

視窗化是可度量的,不是裝飾性的

百分位窗口才是實質所在,其效果可以用數字說明。一份內容位於 1200 到 1800 之間的 16 位掃描件,在樸素的 8 位轉換下渲染出 255 級灰階中的 4 級區分度,而在百分位視窗下有 254 級。這同樣適用於一般的科研用 TIFF。參見媒體匯入

反投影

在給定內參的情況下,深度圖會被反投影進點雲所使用的同一個三維檢視器,因此同樣的立方體工具在它上面也可用。這正是 RGB-D 資料集無需單獨轉換步驟即可在三維中標註的原因。

相關內容