Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Under Pressure: Learning-Based Analog Gauge Reading in the Wild

作者: Maurits Reitsma, Julian Keller, Kenneth Blomqvist, Roland Siegwart · ICRA 2024

授權條款

  • 開放取用
  • 論文: CC BY 4.0

以下內容皆依據論文全文,依其 CC BY 4.0 授權條款使用;圖表已標示作者。

一句話摘要

一個不需儀表類型或量程的逐步儀表讀數器:OCR 讀出刻度時相對誤差約 1%,在 Howells 等人的資料上平均為 2.01%;OCR 是主要的失效點。

為何重要

工廠中多數儀表仍是類比式的,因此巡檢老舊基礎設施的機器人需要從不同視角讀取它們。由於每個階段彼此獨立,機器人能判斷某個儀表是在哪一步失效,作者也將系統部署在一個配備 7-DoF 手臂與腕部攝影機的移動巡檢平台上。

問題

工業廠區中的巡檢機器人必須讀取類比儀表,這些儀表在設計、單位與刻度上各不相同,位在反光或髒污的玻璃後方,而且常常是從斜角看到的。早期以學習為基礎的讀數器需要關於量程的先驗知識,或是假設刻度為圓形、跨度至少 180 度,且儀表沒有遮擋。

提出的方法

此流程以 YOLOv8 偵測儀表,用凍結的 DINOv2 骨幹網路與小型解碼器預測起始、終止與中間刻度線的熱圖,並通過至少 5 條刻度線擬合橢圓。它以 YOLOv8 分割指針,並用正交距離迴歸擬合一條直線,校正透視與旋轉,以 DBNet 與 ABINet OCR 讀取刻度數字與單位,用 RANSAC 擬合從角度到數值的線性模型,並在指針直線與橢圓的交點讀出數值。

關鍵見解

  • 將讀數拆成儀表偵測、刻度線偵測、橢圓擬合、指針分割、OCR 與內插,讓每次失效都能追溯到單一階段。
  • 對刻度線擬合橢圓,而不是假設儀表盤面為圓形,可以處理透視,以及半徑與盤面不同的刻度;標記位於橢圓內側或外側,可用來區分內圈與外圈刻度。
  • OCR 只需要兩個正確的刻度標記,RANSAC 會剔除序號之類的誤讀。
  • OCR 是最弱的階段:所測試的預先訓練文字偵測器沒有一個能適用於所有儀表類型,而 ABINet 無法讀取小數點或負號。
  • 旋轉校正對旋轉的儀表不可或缺,但若起始與終止刻度線判斷錯誤,會稍微降低未旋轉儀表上的刻度標記偵測率。

主要結果

  • 摘要與結論表示相對讀數誤差低於 2%;表 I 列出 OCR 成功時為 1.15%(正視圖)與 0.77%(斜視圖),但在所有能算出讀數的樣本上則為 444% 與 246%,因為誤讀的刻度標記會扭曲讀數。
  • 在 Howells 等人的資料集上(五種儀表類型各 450 張影像,儀表 d 因非線性而排除),平均相對誤差為 2.01%,Howells 等人則為 3.3%;2.01% 是有讀數的四種儀表的平均,因為儀表 a 的每一個影格 OCR 都失敗,儀表 e 則有 73.2% 的影格失敗。
  • 依儀表區分,誤差為 0.96% 對 7.0%(b)、1.46% 對 0.9%(c)、3.1% 對 1.2%(e)與 2.5% 對 2.3%(f),且不需要 Howells 等人所要求的量程先驗。
  • 儀表偵測在任何測試集上都沒有失敗(IoU 0.80–0.81);刻度線偵測在正視圖上找到 94.6% 的標註刻度線,在斜視且旋轉的視圖上為 77.5%,在非典型儀表上為 30%。
  • 在各典型測試集中,OCR 在 40–57.5% 的影像上失敗,是最常見的失效;橢圓擬合在 5–17% 的典型儀表與 50% 的非典型儀表上失敗。
  • 旋轉校正將斜視且旋轉儀表上的刻度標記偵測率從 0% 提高到 29%;透視校正將斜視圖上的偵測率從 18% 提高到 20%。

限制

  • OCR 是最容易出錯的階段:預先訓練的 DBNet 文字偵測在儀表刻度標記上表現不佳,作者也找不到能適用於所有儀表類型的預先訓練偵測器(另外試過 Mask-RCNN 與 DRRG)。
  • ABINet 文字辨識無法偵測小數點或負號,因此只能讀取自然數的刻度標記。
  • 假設刻度為線性,至少有 5 條可見的主刻度線、數字刻度標記、平坦的盤面,且起始與終止刻度線之間的缺口位於底部;偵測到的刻度線少於 5 條,橢圓擬合就會失敗。
  • 指針分割在指針陰影,以及近白色盤面上的白色指針上失敗(非典型儀表上指針 IoU 為 0),而刻度線偵測在與訓練集不同的儀表上效能會下降。
  • 透視校正可能不夠,機器人部署的展示也未報告讀數精度。

對領域的影響

入圍 IEEE ICRA 2024 自動化最佳論文獎決選,被引用 10 次。作者在 GitHub 上以開源形式釋出其儀表讀數軟體。

摘要

我們提出一個可解釋的類比儀表讀數框架,可部署於真實世界的機器人系統。我們的框架將讀數任務拆成不同的步驟,讓我們能在每一步偵測可能的失效。我們的系統不需要關於儀表類型或刻度範圍的先驗知識,並能擷取所使用的單位。我們證明,我們的儀表讀數演算法能以低於 2% 的相對讀數誤差取得讀數。

連結

  • arXiv 2404.08785: https://arxiv.org/abs/2404.08785
  • DOI 10.1109/ICRA57147.2024.10610793: https://doi.org/10.1109/ICRA57147.2024.10610793
  • PDF: https://arxiv.org/pdf/2404.08785v1
  • 程式碼: https://github.com/ethz-asl/analog_gauge_reader

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。