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 以浏览我们的开源机器人项目。