Under Pressure: Learning-Based Analog Gauge Reading in the Wild
Auteurs: Maurits Reitsma, Julian Keller, Kenneth Blomqvist, Roland Siegwart · ICRA 2024
Licences
- Accès libre
- Article: CC BY 4.0
Tout ce qui suit s'appuie sur l'article complet sous sa licence CC BY 4.0 ; sa figure est montrée en citant les auteurs.
En bref
Lecteur d'instruments étape par étape qui n'a besoin ni du type d'instrument ni de la plage de l'échelle : environ 1 % d'erreur relative quand l'OCR lit l'échelle, 2,01 % en moyenne sur les données de Howells et al. ; l'OCR est le principal point de défaillance.
Pourquoi c'est important
La plupart des instruments de mesure dans les usines sont encore analogiques, de sorte que les robots qui inspectent des infrastructures existantes doivent les lire sous des angles variés. Comme chaque étape est distincte, un robot peut savoir quelle étape a échoué sur un instrument donné, et les auteurs ont déployé le système sur une plateforme d'inspection mobile dotée d'un bras à 7-DoF et d'une caméra montée au poignet.
Problème
Les robots d'inspection dans les usines doivent lire des instruments analogiques qui varient par leur conception, leurs unités et leur échelle, se trouvent derrière un verre réfléchissant ou sale et sont souvent vus de biais. Les lecteurs antérieurs fondés sur l'apprentissage nécessitent une connaissance préalable de la plage de l'échelle, ou supposent une échelle circulaire couvrant au moins 180 degrés et un instrument non masqué.
Solution proposée
Le pipeline détecte l'instrument avec YOLOv8, prédit les cartes de chaleur des graduations de début, de fin et intermédiaires avec un backbone DINOv2 gelé et un petit décodeur, et ajuste une ellipse passant par au moins 5 graduations. Il segmente l'aiguille avec YOLOv8 et ajuste une droite par régression des distances orthogonales, corrige la perspective et la rotation, lit les nombres et les unités de l'échelle avec l'OCR DBNet et ABINet, ajuste un modèle linéaire angle-valeur avec RANSAC, et lit la valeur à l'endroit où la droite de l'aiguille rencontre l'ellipse.
Idées clés
- Découper la lecture en détection de l'instrument, détection des graduations, ajustement d'ellipse, segmentation de l'aiguille, OCR et interpolation permet de rattacher chaque échec à une seule étape.
- Ajuster une ellipse aux graduations de l'échelle, plutôt que de supposer un cadran circulaire, gère la perspective et les échelles dont le rayon diffère de celui du cadran ; la position d'un chiffre d'échelle à l'intérieur ou à l'extérieur de l'ellipse distingue les échelles intérieures et extérieures.
- L'OCR n'a besoin que de deux chiffres d'échelle corrects, et RANSAC écarte les erreurs de lecture comme les numéros de série.
- L'OCR est l'étape la plus faible : aucun détecteur de texte pré-entraîné testé n'a fonctionné sur tous les types d'instruments, et ABINet ne peut pas lire les séparateurs décimaux ni les signes moins.
- La correction de rotation est indispensable pour les instruments tournés, mais elle réduit légèrement la détection des chiffres d'échelle sur les instruments non tournés lorsque les graduations de début et de fin sont mal estimées.
Principaux résultats
- Le résumé et la conclusion annoncent une erreur de lecture relative inférieure à 2 % ; la Table I donne 1,15 % (vues de face) et 0,77 % (vues de biais) lorsque l'OCR réussit, mais 444 % et 246 % sur l'ensemble des exemples pour lesquels une lecture a pu être calculée, car les chiffres d'échelle mal lus faussent la lecture.
- Sur le jeu de données de Howells et al. (450 images pour chacun de cinq types d'instruments, meter d exclu car non linéaire), l'erreur relative moyenne était de 2,01 % contre 3,3 % pour Howells et al. ; les 2,01 % font la moyenne des quatre instruments ayant des lectures, car l'OCR a échoué sur toutes les images de meter a et meter e a échoué sur 73,2 % des images.
- Par instrument, les erreurs étaient de 0,96 % contre 7,0 % (b), 1,46 % contre 0,9 % (c), 3,1 % contre 1,2 % (e) et 2,5 % contre 2,3 % (f), sans l'a priori sur la plage de l'échelle qu'exigent Howells et al.
- La détection de l'instrument n'a échoué sur aucun jeu de test (IoU 0,80–0,81) ; la détection des graduations a trouvé 94,6 % des graduations annotées sur les vues de face, 77,5 % sur les vues de biais et tournées et 30 % sur les instruments atypiques.
- L'OCR a échoué sur 40–57,5 % des images des jeux de test typiques, l'échec le plus fréquent ; l'ajustement d'ellipse a échoué sur 5–17 % des instruments typiques et 50 % des atypiques.
- La correction de rotation a fait passer la détection des chiffres d'échelle sur les instruments de biais et tournés de 0 % à 29 % ; la correction de perspective l'a fait passer de 18 % à 20 % sur les vues de biais.
Limites
- L'OCR est l'étape la plus sujette aux erreurs : la détection de texte DBNet pré-entraînée donne de mauvais résultats sur les chiffres d'échelle des instruments, et les auteurs n'ont trouvé aucun détecteur pré-entraîné (en essayant aussi Mask-RCNN et DRRG) qui fonctionne sur tous les types d'instruments.
- La reconnaissance de texte ABINet ne peut pas détecter les séparateurs décimaux ni les signes moins, de sorte que seuls les chiffres d'échelle entiers naturels sont lus.
- Suppose une échelle linéaire avec au moins 5 graduations principales visibles, des chiffres d'échelle numériques, un cadran plat et l'intervalle entre les graduations de début et de fin situé en bas ; moins de 5 graduations détectées fait échouer l'ajustement d'ellipse.
- La segmentation de l'aiguille a échoué sur les ombres d'aiguille et sur les aiguilles blanches sur des cadrans presque blancs (IoU de l'aiguille de 0 sur les instruments atypiques), et la détection des graduations se dégrade sur les instruments différents de ceux de l'ensemble d'entraînement.
- La correction de perspective peut être insuffisante, et le déploiement sur robot est présenté sans précision de lecture rapportée.
Impact sur le domaine
Finaliste du prix IEEE ICRA 2024 Best Paper Award in Automation, avec 10 citations. Les auteurs publient leur logiciel de lecture d'instruments en open source sur GitHub.
Résumé
Nous proposons un cadre interprétable pour la lecture d'instruments de mesure analogiques, déployable sur des systèmes robotiques réels. Notre cadre découpe la tâche de lecture en étapes distinctes, de sorte que nous pouvons détecter les échecs potentiels à chaque étape. Notre système n'a besoin d'aucune connaissance préalable du type d'instrument ni de la plage de l'échelle et est capable d'extraire les unités utilisées. Nous montrons que notre algorithme de lecture est capable d'extraire des valeurs avec une erreur de lecture relative inférieure à 2 %.
Liens
- 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
- Code: https://github.com/ethz-asl/analog_gauge_reader