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

Depth Accuracy#
深度準確度是指測得的深度值對應於物體與擷取裝置之間真實距離的程度。高準確度意味著深度測量值與 GT 高度吻合,從而將距離估算中的誤差降至最低。如前所述,建議在距離感測器已知的位置放置一個參考平面,以便簡化評估所需的深度資料 GT,且該平面與感測器之間的距離可以使用雷射測距儀或捲尺等常用測量工具精確測定。
| 項目 | 描述 |
|---|---|
| Category | 深度準確度 |
| 目的/目標 | 測量指定 ROI 內相對於 GT 的深度影像準確度。 |
| 目標 | 參考平面/牆壁 |
| 分析影像 | 深度影像 |
| 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 |
| 輸出單位 | [%] |
Spatial Precision#
準確度關注的是與真實深度的系統性偏差,而空間精度則與深度測量的穩定性有關。空間精度表示平面目標上深度資料的雜訊水準。具有高空間精度的深度資料,其相同場景內相同或相似表面的深度值變異數較低。若要評估空間精度,可以對已知或受控位置的參考平面進行測量,計算所得深度值的 RMS 誤差,並將其與所需的精度閾值或規格進行比較。
RMS 誤差可以表示為距離或視差的單位,但考量到深度與雜訊之間的耦合關係,也可以透過相機與平面目標之間的距離進行正規化,並以百分比 (%) 單位表示。
| 項目 | 描述 |
|---|---|
| Category | 空間精度 |
| 目的/目標 | 測量相對於最佳擬合平面的深度值雜訊水準。 |
| 目標 | 參考平面/牆壁 |
| 分析影像 | 深度影像 |
| 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 |
| 輸出單位 | [%] |
Temporal Precision#
時間精度用於衡量 ROI 內深度值隨時間的變化。深度影像的 Quality 可根據其時間一致性進行評估。高品質的深度影像應具備隨時間變化的平滑且穩定的深度。此方法定義為特定影格數(例如 30)內深度值的標準差(STD)。時間噪聲的量化是基於每個像素進行的,隨後計算每個像素在指定時間內的標準差。
| 項目 | 描述 |
|---|---|
| Category | 深度時間噪聲 |
| 目的/目標 | 測量每個像素的深度值隨時間變化的程度。 |
| 目標 | 牆壁 |
| 分析影像 | 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 表示大部分景物點已被成功捕捉。
| 項目 | 描述 |
|---|---|
| Category | 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 內的有效像素比例。 |
| 輸出單位 | [%] |