Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

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

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

Licencias

  • Acceso abierto
  • Artículo: CC BY 4.0

Todo lo que sigue se basa en el artículo completo bajo su licencia CC BY 4.0; su figura se muestra con crédito a los autores.

En resumen

Lector de indicadores paso a paso que no necesita el tipo de indicador ni el rango de la escala: error relativo de alrededor del 1 % cuando el OCR lee la escala, 2,01 % de media con los datos de Howells et al.; el OCR es el principal punto de fallo.

Por qué importa

La mayoría de los indicadores en las plantas siguen siendo analógicos, por lo que los robots que inspeccionan infraestructuras antiguas necesitan leerlos desde puntos de vista variados. Como cada etapa está separada, un robot puede saber qué paso ha fallado en un indicador dado, y los autores desplegaron el sistema en una plataforma de inspección móvil con un brazo de 7-DoF y una cámara montada en la muñeca.

Problema

Los robots de inspección en plantas industriales deben leer indicadores analógicos que varían en diseño, unidades y escala, se encuentran tras cristales reflectantes o sucios y a menudo se ven en ángulo. Los lectores anteriores basados en aprendizaje necesitan conocer de antemano el rango de la escala, o suponen una escala circular que abarca al menos 180 grados y un indicador sin obstrucciones.

Solución propuesta

La cadena de procesamiento detecta el indicador con YOLOv8, predice mapas de calor de las marcas inicial, final e intermedias con un backbone DINOv2 congelado y un pequeño decodificador, y ajusta una elipse que pasa por al menos 5 marcas. Segmenta la aguja con YOLOv8 y ajusta una recta mediante regresión de distancia ortogonal, corrige la perspectiva y la rotación, lee los números y las unidades de la escala con OCR DBNet y ABINet, ajusta con RANSAC un modelo lineal de ángulo a valor y lee el valor donde la recta de la aguja corta la elipse.

Ideas clave

  • Dividir la lectura en detección del indicador, detección de las marcas de escala, ajuste de la elipse, segmentación de la aguja, OCR e interpolación permite atribuir cada fallo a una etapa.
  • Ajustar una elipse a las marcas de escala, en lugar de suponer una esfera circular, gestiona la perspectiva y las escalas cuyo radio difiere del de la esfera; que un marcador quede dentro o fuera de la elipse separa las escalas interiores de las exteriores.
  • El OCR necesita solo dos marcadores de escala correctos, y RANSAC descarta las lecturas erróneas, como los números de serie.
  • El OCR es la etapa más débil: ningún detector de texto preentrenado probado funcionó con todos los tipos de indicador, y ABINet no puede leer puntos decimales ni signos negativos.
  • La corrección de la rotación es esencial para los indicadores girados, pero reduce ligeramente la detección de marcadores de escala en los no girados cuando se juzgan mal las marcas inicial y final.

Resultados principales

  • El resumen y la conclusión indican un error relativo de lectura inferior al 2 %; la Tabla I da 1,15 % (vistas frontales) y 0,77 % (vistas en ángulo) cuando el OCR tiene éxito, pero 444 % y 246 % sobre todos los ejemplos en los que pudo calcularse una lectura, porque los marcadores de escala mal leídos distorsionan la lectura.
  • En el conjunto de datos de Howells et al. (450 imágenes de cada uno de cinco tipos de indicador, excluido el medidor d por no ser lineal), el error relativo medio fue del 2,01 % frente al 3,3 % de Howells et al.; el 2,01 % promedia los cuatro medidores con lecturas, ya que el OCR falló en todos los fotogramas del medidor a y el medidor e falló en el 73,2 % de los fotogramas.
  • Por medidor, los errores fueron 0,96 % frente a 7,0 % (b), 1,46 % frente a 0,9 % (c), 3,1 % frente a 1,2 % (e) y 2,5 % frente a 2,3 % (f), sin el conocimiento previo del rango de la escala que requieren Howells et al.
  • La detección del indicador no falló nunca en ningún conjunto de prueba (IoU 0,80–0,81); la detección de marcas encontró el 94,6 % de las marcas anotadas en vistas frontales, el 77,5 % en vistas en ángulo y giradas y el 30 % en indicadores atípicos.
  • El OCR falló en el 40–57,5 % de las imágenes de los conjuntos de prueba típicos, el fallo más común; el ajuste de la elipse falló en el 5–17 % de los indicadores típicos y en el 50 % de los atípicos.
  • La corrección de la rotación elevó la detección de marcadores de escala en indicadores en ángulo y girados del 0 % al 29 %; la corrección de la perspectiva la elevó en vistas en ángulo del 18 % al 20 %.

Limitaciones

  • El OCR es la etapa más propensa a errores: la detección de texto preentrenada DBNet funciona mal con los marcadores de escala de los indicadores, y los autores no encontraron ningún detector preentrenado (probaron también Mask-RCNN y DRRG) que funcionara con todos los tipos de indicador.
  • El reconocimiento de texto de ABINet no puede detectar puntos decimales ni signos negativos, por lo que solo se leen marcadores de escala que son números naturales.
  • Supone una escala lineal con al menos 5 marcas principales visibles, marcadores de escala numéricos, una esfera plana y el hueco entre la marca inicial y la final en la parte inferior; detectar menos de 5 marcas hace fallar el ajuste de la elipse.
  • La segmentación de la aguja falló con las sombras de la aguja y con agujas blancas sobre esferas casi blancas (IoU de la aguja de 0 en indicadores atípicos), y la detección de marcas se degrada en indicadores distintos de los del conjunto de entrenamiento.
  • La corrección de la perspectiva puede ser insuficiente, y el despliegue en el robot se muestra sin una precisión de lectura indicada.

Impacto en el campo

Finalista del IEEE ICRA 2024 Best Paper Award in Automation, con 10 citas. Los autores publican su software de lectura de indicadores como código abierto en GitHub.

Resumen

Proponemos un marco interpretable para la lectura de indicadores analógicos que puede desplegarse en sistemas robóticos del mundo real. Nuestro marco divide la tarea de lectura en pasos diferenciados, de modo que podemos detectar posibles fallos en cada paso. Nuestro sistema no necesita conocimiento previo del tipo de indicador ni del rango de la escala y es capaz de extraer las unidades utilizadas. Mostramos que nuestro algoritmo de lectura de indicadores es capaz de extraer lecturas con un error relativo de lectura inferior al 2 %.

Enlaces

  • 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
  • Código: https://github.com/ethz-asl/analog_gauge_reader

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.