Depth Quality Metrics#
術語#
下表列出了本主題中出現的術語和縮寫。
| 術語 | 描述 |
|---|---|
| ROI | Region of Interest |
| FOV | 視野 |
| GT | Ground Truth |
| RMS | Root of Mean Square |
| STD | Standard Deviation |
Quality Metrics#
評估深度 Quality 涉及量化深度資料的各種面向,並將其與所需的效能標準或 Ground Truth 測量值進行比較。量化深度 Quality 評估的一些常見指標包括以下內容:
- Depth accuracy 透過計算深度資料的中位數偏差來評估絕對誤差。
- Spatial precision 透過計算深度資料的均方根誤差來評估空間雜訊。
- Temporal precision 評估深度值隨時間的均勻性。
- Fill Rate 評估影像中有效深度像素的百分比。
量化指標需要深入理解並嚴謹評估深度資料的 Quality。建立一個受控且全面的測試環境對於準確評估深度感測器的功能與限制,以及確定其是否適合特定的應用或情境至關重要。
為了保持深度 Quality 評估的一致性,建議使用具有均勻漫反射屬性的高反射率平坦表面,從而避免複雜且不受控制的真實世界情境。這指的是放置在距離擷取裝置已知距離處的平面參考目標,作為評估的重要基準。如果無法提供此類條件,平坦的牆面或白板也可以作為適當的測試目標。每個指標都可以在相機 FOV 內的任何所需 ROI 上進行計算。

深度準確度#
Depth accuracy 是指測量到的深度值與物件和擷取裝置之間真實距離的符合程度。高 accuracy 意味著深度測量值與 GT 高度吻合,從而將距離估算中的誤差降至最低。如前所述,建議使用放置在距離感測器已知距離處的參考平面,以簡化評估所需的深度資料 GT,並且可以使用雷射測距儀或捲尺等常用測量工具精確測定平面與感測器之間的距離。
| 項目 | 描述 |
|---|---|
| 類別 | Depth accuracy |
| 目的/目標 | 測量指定 ROI 內相對於 GT 的深度影像 accuracy。 |
| 目標 | 參考平面/牆面 |
| 分析影像 | 深度影像 |
| ROI | 例如,81% 的 ROI 相對於影像寬度的 90% 乘以影像高度的 90%。 |
| 描述 | 此指標用於測量單一影格深度影像中相對於 GT 的每像素深度準確度,不包含相機擺放位置所造成的誤差。GT 是透過測量從深度原點到參考目標的距離來獲得。深度準確度可以使用下列公式計算:Depth_accuracy_Signed = Median(CP_Length – GT + PP_Dist) 其中 CP_Dist 表示深度原點與沿著 GT 測量方向擬合平面之間的實際長度,而 PP_Dist 表示點雲到擬合平面的每像素距離。 |
| 偽代碼 | INPUT: Depth_Image, GT REMOVE all zeros in Depth_Image COMPUTE Point_Cloud (X,Y,Z matrix) from Depth_Image COMPUTE Fitted_Plane to Point_Cloud REMOVE outliers: all Z values that below percentile 0.5 % and above percentile 99.5 % COMPUTE the actual length between the depth origin and the Fitted_Plane along the GT vector as CP_Dist COMPUTE distance of all points to the Fitted_Plane as PP_Dist COMPUTE Depth_Error = CP_Dist – GT + PP_Dist COMPUTE Median_Value = 50 % percentile value of Depth_Error OUPUT: Depth_accuracy_Signed = 100 * Median_Value / GT |
| 輸出值 | Depth_accuracy_signed |
| 輸出單位 | [%] |
空間精度#
準確度關注的是與真實深度的系統性偏差,而空間精度則與深度測量的穩定性有關。空間精度指出平面目標上深度資料的雜訊水準。具有高空間精度的深度資料在同一場景內相同或相似表面上的深度值變異數較低。為了評估空間精度,您可以對已知或受控位置的參考平面進行測量,計算所獲得深度值的 RMS 誤差,並將其與所需的精度閾值或規格進行比較。
RMS 誤差可以距離或視差單位表示,但考慮到深度與雜訊之間的關聯性,也可以透過相機與平面目標之間的距離進行正規化,並以百分比 (%) 單位表示。
| 項目 | 描述 |
|---|---|
| 類別 | 空間精度 |
| 目的/目標 | 測量深度值相對於最佳擬合平面的雜訊水準。 |
| 目標 | 參考平面/牆壁 |
| 分析影像 | 深度影像 |
| ROI | 例如,81% 的 ROI 相對於影像寬度的 90% 乘以影像高度的 90%。 |
| 描述 | 計算各有效像素到最佳擬合平面距離的 RMS,並以光學中心到平面的距離進行正規化,RMS 誤差輸出則以百分比表示。 |
| 偽代碼 | INPUT: Depth_Image REMOVE all zeros in Depth_Image COMPUTE Point_Cloud (X,Y,Z matrix) from Depth_Image COMPUTE Fitted_Plane to Point_Cloud REMOVE outliers: all Z values that below percentile 0.5 % and above percentile 99.5 % COMPUTE distance between the depth origin and the Fitted_Plane as CP_Dist COMPUTE distance of all points to the Fitted_Plane as PP_Dist COMPUTE RMSE = RootMeanSquare of PP_Dist OUPUT: Spatial_precision = 100 * RMSE / CP_Dist |
| 輸出值 | Spatial_precision |
| 輸出單位 | [%] |
時間精度#
時間精度用於測量 ROI 內深度值隨時間的變化。深度影像的Quality可以根據其時間一致性進行評估。高品質的深度影像應具有隨時間平滑且穩定的深度。此方法定義為跨特定影格數量(例如 30 個)的深度值標準差 (STD)。時間雜訊的量化是以每像素為基礎進行,隨後計算每個像素在指定時間內的標準差。
| 項目 | 描述 |
|---|---|
| 類別 | 深度時間雜訊 |
| 目的/目標 | 測量每個像素的深度值隨時間變化的程度。 |
| 目標 | 牆壁 |
| 分析影像 | N 個連續深度影像 |
| ROI | 例如,81% 的 ROI 相對於影像寬度的 90% 乘以影像高度的 90%。 |
| 描述 | 每像素時間雜訊定義為測量 N 個連續影格中每個像素深度值的標準差,從而產生標準差矩陣。時間雜訊定義為標準差矩陣的中位數,佔目標距離 Z 的百分比。此指標不包含 NaN 和零深度資料。 |
| 偽代碼 | INPUT: N images of Depth_Image, GT LOOP for each of N Depth_Image to create Depth_Tensor ASSIGN Depth_Tensor = (Depth_Image,N) //dimension is (width,height,N) REMOVE all zeros from Depth_Tensor COMPUTE STD_Matrix = STD of Depth_Tensor(width,height,all) COMPUTE Median_STD = 50 % percentile value of STD_Matrix Output: 100 * Median_STD / Z |
| 輸出值 | 標準差矩陣的中位數除以到牆壁的距離 |
| 輸出單位 | [%] |
Fill Rate#
高品質的深度影像應均勻覆蓋整個視場,且沒有遺漏區域。Fill rate 用於衡量深度影像中非零像素的比例,代表深度覆蓋範圍。高 Fill rate 表示場景中的大部分點都已被成功擷取。
| 項目 | 描述 |
|---|---|
| 類別 | Fill rate |
| 目的/目標 | 量測指定 ROI 內有效深度值的比例。 |
| 目標 | 參考平面/牆壁 |
| 分析影像 | 深度影像 |
| ROI | 例如,81% 的 ROI 相對於影像寬度的 90% 乘以影像高度的 90%。 |
| 描述 | 計算指定 ROI 內具有有效深度值的像素佔所有像素的比例。 |
| 偽代碼 | INPUT: Depth_Image COMPUTE Total_Num = size(Depth_Image) ASSIGN Valid_Image = Depth_Image REMOVE all zeros from Valid_Image COMPUTE Valid_Num = size(Valid_Image) COMPUTE Fill_Rate = 100 * Valid_Num / Total_Num Output Fill_Rate |
| 輸出值 | 指定 ROI 內有效像素的比例。 |
| 輸出單位 | [%] |