LEITURA AUTOMÁTICA DE INSTRUMENTOS ANALÓGICOS DE MEDIÇÃO Rynaldo Z. H. Almeida, Flavius P. R. Martins Laboratório de Equipamentos Elétricos e Ópticos Instituto de Pesquisas Tecnológicas do Estado de São Paulo Av. Prof. Almeida Prado, 532 – Cidade Universitária – CEP 05508-901 E-mail: [email protected], [email protected] Oswaldo Horikawa Departamento de Engenharia Mecatrônica e Sistemas Mecânicos Escola Politécnica da Universidade de São Paulo Av. Prof. Mello de Moraes, 2231 – Cidade Universitária – CEP 05508-900 E-mail: [email protected] Abstract: A computer vision system for automatic reading of analogical measurement devices is proposed. Such a system can be especially useful to the automation of calibration processes or other tests that require repetitive readings. The approach is based on the comparison between the slopes of the pointer and the display scale marks. Several automatic reading tests were carried out and the uncertainties obtained were equivalent to the human ones. The process success rate was around 99%. 1 Introdução Neste trabalho apresenta-se um sistema de visão computacional para leitura de mostradores de instrumentos analógicos, desenvolvido com o propósito de se automatizar processos que requerem o registro em série das medidas de instrumentos que não disponham de quaisquer interfaces de comunicação digital. Tais processos permeiam parte significativa dos trabalhos realizados por muitos dos laboratórios do IPT (Instituto de Pesquisas Tecnológicas do Estado de São Paulo), mas a mesma necessidade é identificada junto aos demais operadores da Rede Brasileira de Metrologia. Embora apresente grande potencial de utilização no país, essa aplicação não tem sido muito abordada na literatura. Sablatnig e Kropatsch (1994) implementaram um sistema dedicado à leitura automática de hidrômetros analógicos, cujo escopo pretendiam estender a outros instrumentos com características similares. Posteriormente, Alegria e Serra (2000) desenvolveram algoritmos de visão computacional para a leitura de voltímetros com mostradores analógicos e digitais, mas sem interface de comunicação digital. Apesar de apresentarem algumas semelhanças, os sistemas referidos acima utilizam algoritmos de visão computacional especializados para um particular tipo de instrumento, o que dificulta muito a sua extensão ao grande espectro de mostradores analógicos existentes. Neste trabalho procurou-se evitar essas limitações, mediante o desenvolvimento de algoritmos de interpretação de cenas que concebem a leitura do instrumento como um processo de identificação da posição relativa entre o ponteiro, que descreve um movimento de rotação, sobre um background onde se destacam as marcas fixas de variadas categorias de escalas, conforme ilustrado, por exemplo, nas figuras 1 e 2. Embora mostradores semelhantes ao da figura 1 também tenham sido abordados por Alegria e Serra (2000), muitas melhorias foram introduzidas no método original, cabendo destaque para as seguintes: determinação do ângulo do ponteiro independente de qualquer referência às bordas horizontais do painel, as quais não constituem marcas fiduciais confiáveis; capacidade de identificação de todas as marcas de escala e não apenas das marcas-limite, o que permite a leitura sobre escalas de funções desconhecidas (não-lineares e não-logarítmicas); extensão de aplicação da leitura automática sobre escalas retilíneas como a da figura 2. Figura 1 – Luxímetro Gossen modelo Panlux Figura 2 – Luxímetro Metra modelo PU150 O sistema desenvolvido pressupõe a necessidade de se fornecerem os seguintes dados do painel do instrumento: classe da escala (circular ou retilínea), número de escalas, número de marcas principais e seus valores associados. Uma vez inseridas em um banco de dados, referem-se a todo o conjunto de instrumentos a serem calibrados. Os ensaios são realizados posicionando-se o instrumento sobre uma bancada de testes iluminada por fonte de luz difusa. Após a captura da imagem por uma câmera CCD monocromática marca JAI (modelo CVM10BX) com resolução de 640 x 480 pixels e 256 tons de cinza, conectada a uma placa de aquisição de imagens da Data Translation (modelo DT-3120), aplica-se um algoritmo de visão computacional escrito em C++ com auxílio da ferramenta SCIVA (Sistema Computacional de Inspeção Visual Automática), desenvolvida no IPT. Os principais passos desse algoritmo são discutidos a seguir. 2 Seqüência de processamento e análise A leitura é realizada em duas etapas. Na primeira (processamento do background), as marcas de escala são reconhecidas e associadas aos valores armazenados no banco de dados. Na segunda (medição) identifica-se a posição do ponteiro em relação ao background ao longo do processo de calibração. Utilizando-se três imagens do mesmo instrumento, com o ponteiro em posições distintas, determinamse as marcas de escala adotando-se o seguinte algoritmo: 1. 2. 3. 4. 5. 6. 7. 8. eliminação dos objetos móveis da cena (ponteiro); detecção do eixo medial do ponteiro em cada uma das imagens; identificação do centro de rotação do ponteiro; mapeamento da cena de objetos fixos do painel para um espaço onde as escalas se tornam retilíneas com marcas orientadas segundo a direção vertical; limiarização e filtragem mediante operadores morfológicos; aplicação de regras heurísticas para identificação das marcas de escala; mapeamento dos centros destas marcas para o espaço original da imagem; cálculo das inclinações das marcas de escala. A cena contendo apenas objetos fixos (vide figura 3) é obtida por meio de um filtro de mediana temporal (Huang e Hsu, 1981) aplicado à seqüência de três imagens acima referida. Mediante subtração, isolam-se as imagens do ponteiro, às quais se aplicam operações de limiarização adotandose o algoritmo de Otsu (1979) e esqueletonização por meio de operadores morfológicos (Haralick e Shapiro, 1991). Nas imagens resultantes desse processo (vide figura 4) detectam-se as retas associadas ao ponteiro, utilizando-se para tanto a Transformada de Hough (Illingworth e Kittler, 1988), combinada com o Método dos Mínimos Quadrados (Niblack e Petkovic, 1990). Figura 3 – Fundo do dispositivo mostrador Figura 4 – Imagem do ponteiro esqueletonizado Uma vez obtidos os parâmetros dessas retas determina-se o centro de rotação do ponteiro mediante a aplicação do Método dos Mínimos Quadrados à resolução de um sistema linear de equações redundantes com três equações e duas incógnitas, descrevendo a intersecção das três retas consideradas. Esse ponto é, então, adotado como origem de um sistema de coordenadas utilizado nas transformações geométricas subseqüentes. Para instrumentos com escalas circulares e marcas radiais (vide figura 1), aplica-se uma transformada polar (equações (1)) que produz uma imagem com escalas retilíneas horizontais e marcas verticais (Alegria e Serra, 2000), conforme ilustrado na figura 5. ρ = sign( x ) x 2 + y 2 (1) Caso o instrumento possua escalas retilíneas com marcas radiais (vide figura 2) aplica-se inicialmente uma transformação (equações (2)) que mapeia as retas horizontais em circunferências concêntricas em torno do centro de rotação do ponteiro, mantendo constante o comprimento das linhas. Como tais imagens são equivalentes às de instrumentos com escalas circulares e marcas radiais (vide figura 6), as mesmas são submetidas em seguida à transformação (1). θ = sign( x )arctg( y / x ) x2 v = tg ( y / x ) ⋅ u (2) 1 + tg 2 ( y / x ) As imagens mapeadas pelas transformações (1) e (2) são submetidas a uma seqüência de operações de limiarização (Otsu, 1979), inversão e abertura morfológica com um elemento estruturante (Haralick e Shapiro, 1990) de altura 5 e largura unitária. Como esta última operação tem o objetivo de desconectar as marcas de escala mediante a eliminação das linhas horizontais que as unem, a altura do elemento estruturante deve ser maior que a espessura das linhas horizontais e menor que a altura das marcas de escala. Nas figuras 7 e 8 apresentam-se exemplos de imagens antes e após a operação de abertura. u = sign( x ) Após a rotulação da imagem aberta, realiza-se uma busca orientada por padrão (Winston, 1980), baseada em uma regra heurística que identifica objetos de alturas próximas, alinhados segundo a horizontal e mantendo espaçamentos quase eqüidistantes ou continuamente decrescentes. A aplicação desse algoritmo permite identificar as marcas principais de escala (vide figura 9), após o quê os demais objetos delimitados por elas são classificados como marcas secundárias de escala (vide figura 10). Figura 5 – Escalas retilíneas com marcas verticais Figura 6 – Escalas circulares com marcas radiais Figura 7 – Resultado da limiarização e inversão Figura 8 – Resultado da operação de abertura Figura 9 – Seleção de marcas principais de escala Figura 10 – Seleção final das marcas de escala Com auxílio das transformações geométricas inversas referentes às equações (1) e (2), as marcas de escala isoladas no passo anterior são localizadas nas imagens originais e a inclinação de cada uma delas é calculada a partir do ângulo formado pela reta definida pelo baricentro da marca e pelo centro de rotação do ponteiro. Finalmente, associam-se às marcas principais de escala os correspondentes valores de leitura armazenados no banco de dados, calculando-se os demais para as marcas secundárias. Concluída a etapa de processamento do background, que visava obter uma interpretação adequada e precisa do conjunto de objetos fixos relevantes da cena, (ou seja, as marcas de escala e suas interrelações quantitativas), procede-se à ‘leitura’ propriamente dita de cada nova imagem capturada. Para essa etapa, de medição, adota-se o seguinte procedimento: (a) calcula-se o ângulo de inclinação do ponteiro por meio de passos idênticos àqueles utilizados na etapa anterior para detecção de retas; (b) identificam-se as duas marcas de escala com inclinações mais próximas à inclinação do ponteiro; (c) determina-se a medida indicada pelo ponteiro a partir de interpolação linear baseada nas medidas das marcas de escala adjacentes identificadas no passo b. 3. Resultados experimentais Foram realizados diversos testes de validação adotando-se a seguinte metodologia: 1) 2) 3) 4) capturavam-se 5 imagens com o ponteiro em posições distintas; tomavam-se 3 dessas imagens como referência para a etapa de processamento do background; realizava-se a leitura sobre todas as escalas das 5 imagens; repetiam-se os passos 1-3 para cada uma das C5,3=10 combinações possíveis de imagens; Utilizando-se esse procedimento pôde-se avaliar a influência que a seleção das imagens utilizadas para identificar o background exercem sobre o processo medição. Nas tabelas 1 e 2 apresentam-se os resultados obtidos referentes às imagens das figuras 1 e 2 1. A última coluna de cada tabela fornece a razão entre a faixa de variação das leituras (diferença entre os valores máximo e mínimo) e a resolução das escalas, indicativo da dispersão das leituras automáticas frente à resolução de escala. Valores de até 50% são considerados bons por apresentarem dispersões menores que a repetitividade de leitura humana (Waeny, 1985). Escala µ σ min max (max-min) / resolução 1 53,3 0,3 52,7 53,7 19% 2 116,1 0,6 114,6 116,9 11% 3 420 3 413 424 23% 4 1136 Escala µ σ min max (max-min) / resolução 1 145,79 0,15 145,48 145,97 5% 2 3611 6 3601 3618 17% 3 5,87 0,02 5,84 5,89 10% 9 1115 1148 Tabela 1. Leituras baseadas na imagem da figura 1. 16% Tabela 2:Leituras baseadas na imagem da figura 2 Observa-se que, pelo critério da dispersão de leituras acima mencionado, os resultados obtidos excederam as expectativas. Testes com dois outros instrumentos fontes de tensão marca Minipa modelo MPS-3003 e marca Tectrol modelo TC 50-015 também conduziram a resultados similares. É importante aqui ressaltar que, pelo fato de o eixo óptico da câmera ser perpendicular ao plano do instrumento, apresentando tolerância da ordem de 5 graus, o erro de paralaxe implícito no método é desprezível (Almeida, 2006). Nessas condições, a variação da posição aparente do centro de rotação do 1 As outras 4 imagens utilizadas em cada teste foram omitidas devido a limitações do espaço de edição. ponteiro é muito pequena face à distância entre ele e as marcas de escala, de modo que o cálculo da inclinação das mesmas não é afetado de maneira significativa. Além disso, as variações de inclinação aparentes do ponteiro e das marcas de escala oriundas da não-perpendicularidade entre o eixo óptico e o plano do mostrador do instrumento são correlacionadas e não afetam o resultado final de leitura obtido por interpolação. Nem todas as tentativas de pré-processamento do background foram bem sucedidas. Em poucos casos, não mais do que duas marcas de escala deixavam, eventualmente, de ser identificadas pelo algoritmo de busca orientado por padrão, fato esse que impedia a realização da segunda etapa do processo. Contudo, tal dificuldade era facilmente eliminada mediante a escolha de um conjunto diferente de imagens iniciais destinadas à identificação do background. Para 13 testes de validação realizados, com lotes de 5 imagens, cada qual referente a um tipo diferente de instrumento, obteve-se índices de 97,6% de sucesso na identificação das marcas de escala e 98,9% de leituras corretas. 4. Conclusões O sistema de visão computacional desenvolvido apresenta características de desempenho e de interface homem-máquina que o tornam bastante adequado à automação de ensaios de calibração de variados tipos de instrumentos dotados de mostradores analógicos, realizados pelos laboratórios de metrologia do país. As medidas obtidas durante os ensaios de validação apresentam pouca dispersão e repetitividade superior à da leitura humana. O arranjo experimental requerido é simples e poucas informações são solicitadas ao operador humano. A ampliação do escopo de utilização desse sistema pode ser atingida mediante o desenvolvimento de algoritmos robustos de visão computacional, capazes de realizar o reconhecimento das marcas de escala sob condições de iluminação menos controladas. Em tais condições poder-se-ia, por exemplo, construir instrumentos portáteis de leitura automática de medidores de consumo residencial de água e de energia elétrica. Referências Bibliográficas 1. Alegria, F. C., Serra, A. C. “Computer vision applied to the automatic calibration of measuring instruments”. Measurement, v.28, p.185-195, 2000. 2. Almeida, R. Z. H., “Leitura automática de dispositivos mostradores analógicos de instrumentos de medição utilizando visão computacional”. Dissertação de mestrado. São Paulo, EPUSP, 2006. 3. Haralick, R.M.; Shapiro, M. Computer and Robot Vision. Reading, MA, Addison Wesley, 1991. 4. Huang, T. S., Hsu, Y. P. “Image Sequence Enhancement”. Image Sequence Analysis, chapter 4, p.289-309, 1981. 5. Illingworth, J., Kittler, J. “A Survey of the Hough Transform”. Computer Vision, Graphics and Image Processing, v.44, p.87-116, 1988 6. Niblack, W., Petkovic, D. “On Improving the Accuracy of the Hough Transform”. Machine Vision and Applications, v.3, p.87-106, 1990 7. Otsu, N. A. “Threshold Selection Method from Gray-Level Histograms”. IEEE Transactions on Systems, Man, and Cybernetics, v. SMC-9, n.1, p.62-66, 1979 8. Sablatnig, R., Kropatsch, W. G. “Automatic Reading of Analog Display Instruments”. Proceedings of the 12th ICPR International Conference on Pattern Recognition. Jerusalem. v. 1, pp.794-797, 1994. 9. Waeny, J. C. C., “Noções básicas de confiabilidade metrológica”. Relatório Técnico IPT, 1985. 10. Winston, P. H., Artifical Intelligence. Reading, MA, Addison-Wesley, 1984.