Depth Quality Metrics#
術語#
下表列出了本主題中出現的術語和縮寫。
| 術語 | 描述 |
|---|---|
| ROI | 感興趣的區域 |
| FOV | 視野 |
| GT | 真實值 |
| RMS | 均方根 |
| 性傳染病 | 標準差 |
Quality 指標#
評估深度品質涉及將深度數據的各個方面進行量化,並將其與預期的性能標準或真實測量值進行比較。用於定量評估深度品質的一些常見指標包括以下內容:
- 深度精確度是透過計算深度資料的中位數偏差,來評估絕對誤差。
- 空間精確度是透過計算深度資料的均方根誤差來評估空間雜訊。
- 時間精確度用以評估深度值隨時間變化的均勻性。
- Fill 此指標用以評估影像中有效深度像素所佔的百分比。
要準確評估深度數據的品質,必須對其有透徹的理解並進行仔細的評估。建立一個受控且全面的測試環境,對於準確評估深度感測器的功能與局限性,以及判定其是否適合特定應用或情境,至關重要。
為了維持深度品質評估的一致性,建議使用具有高反射率且表面平整、並具備均勻漫反射特性的物體,藉此避免複雜且難以控制的真實世界情境。這指的是將平面參考目標置於距擷取裝置已知距離處,作為評估的重要基準。若無法滿足此條件,平整的牆面或白板亦可作為適當的測試目標。 各項指標均可針對相機視野範圍內任意選定的感測區域(ROI)進行計算。

深度準確度#
深度精度指的是測量所得的深度值與物體與擷取裝置之間真實距離的吻合程度。高精度意味著深度測量值與 GT 高度吻合,從而將距離估算的誤差降至最低。如前所述,建議在距離感測器已知位置處設置一參考平面,以簡化深度數據的 GT 評估;而該平面與感測器之間的距離,可透過雷射測距儀或捲尺等常見測量工具精確測定。
| 項目 | 描述 |
|---|---|
| 類別 | 深度精度 |
| 目的/目標 | 測量指定 ROI 範圍內深度影像相對於 GT 的精確度。 |
| 目標 | 參考平面\牆 |
| 已分析的影像 | 深度圖 |
| ROI | 舉例來說,81% 的 ROI 相當於影像寬度的 90% 乘以影像高度的 90%。 |
| 描述 | 此指標用於衡量單幀深度圖中,相對於 GT 的每像素深度精確度,且不包含因相機位置所導致的誤差。GT 是透過測量深度原點至參考目標的距離而獲得。 深度準確度可透過以下公式計算:Depth_accuracy_Signed = Median(CP_Length – GT + PP_Dist) ,其中 CP_Dist 代表深度原點與沿 GT 測量方向擬合平面之間的實際長度,而 PP_Dist 則表示點雲中各像素點到該擬合平面的距離。 |
| 偽代碼 | 輸入:Depth_Image、GT 移除 Depth_Image 中所有為零的資料點 根據 Depth_Image 計算 Point_Cloud(X、Y、Z 矩陣) 根據 Point_Cloud 計算 Fitted_Plane 移除異常值: 所有低於第 0.5 百分位數及高於第 99.5 百分位數的 Z 值 計算深度原點與 Fitted_Plane 之間沿著 GT 向量的實際長度,並儲存為 CP_Dist 計算所有點到 Fitted_Plane 的距離,並儲存為 PP_Dist 計算 Depth_Error = CP_Dist – GT + PP_Dist 計算 Median_Value = 50 % Depth_Error 的百分位數 輸出:Depth_accuracy_Signed = 100 * Median_Value / GT |
| 輸出值 | 深度_準確度_帶符號 |
| 輸出單位 | [%] |
空間精度#
準確度涉及與真實深度的系統性偏差,而空間精確度則與深度測量的一致性有關。空間精確度反映了平面目標上深度資料的雜訊水準。具有高空間精確度的深度資料,在同一場景中針對相同或相似的表面,其深度值的變異性較低。要評估空間精確度,可對已知或受控位置的參考平面進行測量,計算所獲深度值的均方根誤差,並將其與預期的精確度閾值或規格進行比較。
均方根誤差(RMS)可表示為距離或視差單位,但考量到深度與噪聲之間的耦合關係,可透過相機與平面目標之間的距離進行歸一化,並以百分比(%)為單位表示。
| 項目 | 描述 |
|---|---|
| 類別 | 空間精度 |
| 目的/目標 | 測量深度值相對於最佳擬合平面的噪聲水準。 |
| 目標 | 參考平面/牆面 |
| 已分析的影像 | 深度圖 |
| ROI | 舉例來說,81% 的 ROI 相當於影像寬度的 90% 乘以影像高度的 90%。 |
| 描述 | 計算每個有效像素到最佳擬合平面的距離的均方根值,並以光學中心到該平面的距離為基準進行歸一化,將均方根誤差以百分比形式輸出。 |
| 偽代碼 | 輸入:Depth_Image 移除 Depth_Image 中所有為零的資料點 根據 Depth_Image 計算 Point_Cloud(X、Y、Z 矩陣) 根據 Point_Cloud 計算 Fitted_Plane 移除離群值: 所有低於第 0.5 百分位數及高於第 99.5 百分位數的 Z 值 計算深度原點與 Fitted_Plane 之間的距離,並儲存為 CP_Dist 計算所有點到 Fitted_Plane 的距離,並儲存為 PP_Dist 計算 RMSE = PP_Dist 的均方根 輸出:Spatial_precision = 100 * RMSE / CP_Dist |
| 輸出值 | 空間精確度 |
| 輸出單位 | [%] |
時間精度#
時間精確度用以衡量特定感測區域(ROI)內深度值隨時間的變化。深度影像的品質可依據其時間一致性來評估。 高品質的深度影像應具備隨時間推移而平滑且穩定的深度變化。此方法定義為特定幀數(例如 30 幀)內深度值的標準差(STD)。時序雜訊的量化是針對每個像素分別進行,隨後計算每個像素在指定時間範圍內的標準差。
| 項目 | 描述 |
|---|---|
| 類別 | 深度時間噪聲 |
| 目的/目標 | 測量每個像素的深度值隨時間變化的幅度。 |
| 目標 | 牆 |
| 已分析的影像 | N 張連續深度圖像 |
| ROI | 舉例來說,81% 的 ROI 相當於影像寬度的 90% 乘以影像高度的 90%。 |
| 描述 | 每像素的時間雜訊是透過測量每個像素在 N 幀連續影像中的深度值標準差(STD)來定義,從而得到一個標準差矩陣。時間雜訊定義為該標準差矩陣的中位數,並以目標距離 Z 的百分比表示。此指標會排除 NaN 及深度為零的資料。 |
| 偽代碼 | 輸入:N 張深度圖像 (Depth_Image),目標標籤 (GT) 針對每張深度圖像 (Depth_Image) 進行迴圈,以建立深度張量 (Depth_Tensor) 賦值 Depth_Tensor = (Depth_Image,N) // 維度為 (寬度,高度,N) 從 Depth_Tensor 中移除所有零值 計算 STD_Matrix = Depth_Tensor(寬度,高度,全部) 的標準差 計算 Median_STD = 50 % STD_Matrix 的第 50 百分位數 輸出:100 * Median_STD / Z |
| 輸出值 | STD 矩陣的中位數值,除以距牆距離 |
| 輸出單位 | [%] |
Fill Rate#
高品質的深度圖應能均勻地覆蓋整個視野,且無遺漏區域。填充率(Fill )用以衡量深度圖中非零像素的比例,代表深度覆蓋率。較高的填充率表示大多數場景點均已成功擷取。
| 項目 | 描述 |
|---|---|
| 類別 | Fill 利率 |
| 目的/目標 | 測量指定 ROI 內有效深度值的比例。 |
| 目標 | 參考平面/牆面 |
| 已分析的影像 | 深度圖 |
| ROI | 舉例來說,81% 的 ROI 相當於影像寬度的 90% 乘以影像高度的 90%。 |
| 描述 | 計算指定 ROI 內具有有效深度值的像素與所有像素之間的比例。 |
| 偽代碼 | INPUT: Depth_Image COMPUTE Total_Num = size(Depth_Image) ASSIGN Valid_Image = Depth_Image REMOVE Valid_Image 中的所有零值 COMPUTE Valid_Num = size(Valid_Image) COMPUTEFill_Rate = 100 * Valid_Num / Total_Num OutputFill_Rate |
| 輸出值 | 指定 ROI 內有效像素的比例。 |
| 輸出單位 | [%] |