Under Pressure: Learning-Based Analog Gauge Reading in the Wild
Autores: Maurits Reitsma, Julian Keller, Kenneth Blomqvist, Roland Siegwart · ICRA 2024
Licenças
- Acesso aberto
- Artigo: CC BY 4.0
Tudo o que segue se baseia no artigo completo sob a licença CC BY 4.0; sua figura é mostrada com crédito aos autores.
Em resumo
Leitor de medidores etapa por etapa que não precisa do tipo de medidor nem da faixa da escala: erro relativo de cerca de 1 % quando o OCR lê a escala, 2,01 % em média nos dados de Howells et al.; o OCR é o principal ponto de falha.
Por que importa
A maioria dos medidores em plantas industriais ainda é analógica, por isso robôs que inspecionam infraestrutura legada precisam lê-los a partir de pontos de vista variados. Como cada estágio é separado, um robô consegue saber qual etapa falhou em um dado medidor, e os autores implantaram o sistema em uma plataforma móvel de inspeção com um braço de 7-DoF e uma câmera montada no punho.
Problema
Robôs de inspeção em plantas industriais precisam ler medidores analógicos que variam em design, unidades e escala, ficam atrás de vidros reflexivos ou sujos e muitas vezes são vistos em ângulo. Leitores anteriores baseados em aprendizado precisam de conhecimento prévio da faixa da escala, ou supõem uma escala circular que abrange pelo menos 180 graus e um medidor sem obstruções.
Solução proposta
O pipeline detecta o medidor com YOLOv8, prevê mapas de calor das marcas inicial, final e intermediárias com um backbone DINOv2 congelado e um pequeno decodificador, e ajusta uma elipse passando por pelo menos 5 marcas. Ele segmenta o ponteiro com YOLOv8 e ajusta uma reta por regressão de distância ortogonal, corrige perspectiva e rotação, lê os números e as unidades da escala com OCR DBNet e ABINet, ajusta com RANSAC um modelo linear de ângulo para valor e lê o valor no ponto em que a reta do ponteiro encontra a elipse.
Principais ideias
- Dividir a leitura em detecção do medidor, detecção das marcas da escala, ajuste da elipse, segmentação do ponteiro, OCR e interpolação permite atribuir cada falha a um estágio.
- Ajustar uma elipse às marcas da escala, em vez de supor um mostrador circular, lida com a perspectiva e com escalas cujo raio difere do mostrador; o fato de um marcador ficar dentro ou fora da elipse separa escalas internas e externas.
- O OCR precisa de apenas dois marcadores de escala corretos, e o RANSAC descarta leituras erradas, como números de série.
- O OCR é o estágio mais fraco: nenhum detector de texto pré-treinado testado funcionou em todos os tipos de medidor, e o ABINet não consegue ler pontos decimais nem sinais negativos.
- A correção de rotação é essencial para medidores girados, mas reduz levemente a detecção de marcadores de escala nos não girados quando as marcas inicial e final são avaliadas incorretamente.
Principais resultados
- O resumo e a conclusão afirmam um erro relativo de leitura abaixo de 2 %; a Tabela I dá 1,15 % (vistas frontais) e 0,77 % (vistas em ângulo) quando o OCR tem sucesso, mas 444 % e 246 % sobre todos os exemplos em que uma leitura pôde ser calculada, porque marcadores de escala lidos incorretamente distorcem a leitura.
- No conjunto de dados de Howells et al. (450 imagens de cada um de cinco tipos de medidor, com o medidor d excluído por ser não linear), o erro relativo médio foi de 2,01 % contra 3,3 % de Howells et al.; os 2,01 % são a média dos quatro medidores com leituras, já que o OCR falhou em todos os quadros do medidor a e o medidor e falhou em 73,2 % dos quadros.
- Por medidor, os erros foram 0,96 % vs 7,0 % (b), 1,46 % vs 0,9 % (c), 3,1 % vs 1,2 % (e) e 2,5 % vs 2,3 % (f), sem o conhecimento prévio da faixa da escala que Howells et al. exigem.
- A detecção do medidor nunca falhou em nenhum conjunto de teste (IoU 0,80–0,81); a detecção de marcas encontrou 94,6 % das marcas anotadas em vistas frontais, 77,5 % em vistas em ângulo e giradas e 30 % em medidores atípicos.
- O OCR falhou em 40–57,5 % das imagens nos conjuntos de teste típicos, a falha mais comum; o ajuste da elipse falhou em 5–17 % dos medidores típicos e em 50 % dos atípicos.
- A correção de rotação elevou a detecção de marcadores de escala em medidores em ângulo e girados de 0 % para 29 %; a correção de perspectiva a elevou em vistas em ângulo de 18 % para 20 %.
Limitações
- O OCR é o estágio mais propenso a erros: a detecção de texto pré-treinada DBNet tem desempenho ruim com marcadores de escala de medidores, e os autores não encontraram nenhum detector pré-treinado (testando também Mask-RCNN e DRRG) que funcionasse em todos os tipos de medidor.
- O reconhecimento de texto do ABINet não consegue detectar pontos decimais nem sinais negativos, por isso só são lidos marcadores de escala que são números naturais.
- Supõe uma escala linear com pelo menos 5 marcas principais visíveis, marcadores de escala numéricos, um mostrador plano e o espaço entre a marca inicial e a final na parte de baixo; menos de 5 marcas detectadas faz o ajuste da elipse falhar.
- A segmentação do ponteiro falhou com sombras do ponteiro e com ponteiros brancos em mostradores quase brancos (IoU do ponteiro 0 em medidores atípicos), e a detecção de marcas se degrada em medidores diferentes dos do conjunto de treinamento.
- A correção de perspectiva pode ser insuficiente, e a implantação no robô é mostrada sem uma precisão de leitura informada.
Impacto na área
Finalista do IEEE ICRA 2024 Best Paper Award in Automation, com 10 citações. Os autores liberam seu software de leitura de medidores como código aberto no GitHub.
Resumo
Propomos um framework interpretável para leitura de medidores analógicos que pode ser implantado em sistemas robóticos do mundo real. Nosso framework divide a tarefa de leitura em etapas distintas, de modo que podemos detectar possíveis falhas em cada etapa. Nosso sistema não precisa de conhecimento prévio do tipo de medidor nem da faixa da escala e é capaz de extrair as unidades usadas. Mostramos que nosso algoritmo de leitura de medidores consegue extrair leituras com um erro relativo de leitura inferior a 2 %.
Links
- 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