PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Programa de Pós-Graduação em Engenharia Elétrica - PPGEE Metodologia de Registro de Imagens Termográficas para Equipamentos Elétricos Henrique Santos Camargos Rocha Belo Horizonte 2006 HENRIQUE SANTOS CAMARGOS ROCHA METODOLOGIA DE REGISTRO DE IMAGENS TERMOGRÁFICAS PARA EQUIPAMENTOS ELÉTRICOS Dissertação apresentada ao Programa de PósGraduação em Engenharia Elétrica da Pontifícia Universidade Católica de Minas Gerais, como parte dos requisitos para obtenção do título de Mestre em Engenharia Elétrica. Orientador: Prof. Dr. Alexei M. C. Machado Co-Orientador: Prof. Dr. Pyramo P. C. Júnior PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 2006 Resumo Diversos equipamentos, que utilizam ou transmitem energia elétrica, se aquecem antes de uma avaria. Essas diferenças térmicas podem ser detectadas através da termografia infravermelha. Entretanto, os programas de manutenção preditiva baseados em termografia utilizam câmeras fixadas nos pontos a serem monitorados e, como essas câmeras são equipamentos caros, a abordagem torna-se pouco viável para monitorar um grande sistema. Com essa motivação, esse trabalho propõe um método simples para que a câmera não precise ser fixada, utilizando um modelo tridimensional do equipamento monitorado e fazendo seu registro com a imagem termográfica utilizando a técnica de informação mútua. Assim, a quantidade de câmeras necessárias para fazer um monitoramento infravermelho diminui e por conseqüência o custo da solução é também reduzido. O registro do modelo às imagens proporcionará, em última instância, uma forma de avaliar e detectar o risco de falhas de forma preventiva. Os resultados dos registros demonstram que para o caso estudado a utilização de um método de gradiente estocástico descendente não consegue chegar a uma solução satisfatória e que embora o método de força bruta seja mais lento se comparado ao do gradiente, os seus resultados são muito satisfatórios. Palavras-Chave: Termografia; Registro de Imagens; Informação Mútua. 4 Agradecimentos A Deus, por tudo. Aos meus pais, por terem proporcionado as condições que me permitiram chegar até aqui. Aos meus amigos e parentes que me deram o apoio emocional durante essa jornada. Aos baderneiros pela ajuda técnica e moral. A CEMIG pela base de imagens cedidas para teste. E aos meus orientadores, pelo empenho, incentivo, direcionamento e paciência que me trouxeram a conclusão deste trabalho. 5 Sumário 1. INTRODUÇÃO ........................................................................................................................................ 8 1.1. OBJETIVO........................................................................................................................................... 12 1.2. DESCRIÇÃO DO PROBLEMA ................................................................................................................ 12 1.3. APLICAÇÕES ...................................................................................................................................... 13 2. REVISÃO BIBLIOGRÁFICA .............................................................................................................. 14 3. REGISTRO DE IMAGENS ATRAVÉS DA INFORMAÇÃO MÚTUA........................................... 19 3.1. MODELAGEM GEOMÉTRICA ............................................................................................................... 19 3.2. TRANSFORMAÇÕES ............................................................................................................................ 21 3.3. REGISTRO .......................................................................................................................................... 23 3.4. INFORMAÇÃO MÚTUA........................................................................................................................ 24 3.4.1. Variável Aleatória..................................................................................................................... 25 3.4.2. Entropia .................................................................................................................................... 26 3.4.3. Estimação da Função de Densidade......................................................................................... 29 3.4.4. Histograma ............................................................................................................................... 30 3.4.5. Estimação da Função de Densidade Parzen Window............................................................... 32 3.4.6. Gradiente Estocástico Descendente.......................................................................................... 33 3.5. OTIMIZAÇÃO DA INFORMAÇÃO MÚTUA ............................................................................................. 35 3.5.1. Densidade Probabilística.......................................................................................................... 37 3.5.2. Algoritmo Implementado........................................................................................................... 38 4. EXPERIMENTOS E TESTES .............................................................................................................. 41 4.1. INFORMAÇÃO MÚTUA........................................................................................................................ 41 4.1.1. Experimentos............................................................................................................................. 42 4.1.2. Boundary-value analysis........................................................................................................... 44 4.1.3. Fuzz Testing .............................................................................................................................. 45 4.2. REGISTRO DE IMAGENS TERMOGRÁFICAS.......................................................................................... 46 4.2.1. Registro usando Gradiente ....................................................................................................... 49 4.2.1. Registro usando Força Bruta.................................................................................................... 50 4.3. ANÁLISE DOS RESULTADOS ............................................................................................................... 53 5. CONCLUSÃO ........................................................................................................................................ 55 5.1. TRABALHOS FUTUROS ....................................................................................................................... 56 6. REFERÊNCIAS ..................................................................................................................................... 58 6 Lista de Figuras Figura 1 – Faixa de comprimentos de onda do Espectro Eletromagnético..................................................... 9 Figura 2 – Transformador: Imagem visual (Esquerda) e Termográfica (Direita)........................................... 9 Figura 3 – Câmera termográfica ThermoVision® SC6000 MWIR da empresa FLIR. Resposta espectral de 3-5 μm conseguindo monitorar temperaturas ambientes na faixa de -41°C a +71°C.. ................................. 10 Figura 4 – Diagrama simplificado de um sistema de diagnóstico de falhas baseado em termografia . ........ 11 Figura 5 – Ilustração da metodologia adotada. A projeção 2D do modelo transformado é registrado na imagem termográfica. A informação mútua entre os dois é medida e então o processo se repete. ............. 13 Figura 6 – Gráficos de densidade de entropia: Alta (Esquerdo) e Baixa (Direito) ....................................... 27 Figura 7 – A largura do intervalo h do histograma afeta a aparência geral do histograma. Um h pequeno aumenta a variância, mas também aumenta precisão. Um h grande diminui a variância e a precisão. ........ 31 Figura 8 – Modelo tridimensional de um pára-raio. ..................................................................................... 43 Figura 9 – Projeção do modelo tridimensional rotacionado 30 graus em relação ao eixo x......................... 43 Figura 10 – Imagem visual de um pára-raio ASEA XAP 145 A2................................................................ 43 Figura 11 – Imagem resultante da conversão da Fig. 8 para escala de cinza................................................ 43 Figura 12 – Imagem termográfica 1, original (esquerda) e em escala de cinza (direita) Dimensões originais: 318x240. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR.. ...................................... 47 Figura 13 – Imagem termográfica 2, original (esquerda) e em escala de cinza (direita) Dimensões originais: 318x240. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR.. ...................................... 47 Figura 14 – Imagem termográfica 3, original (esquerda) e em escala de cinza (direita) Dimensões originais: 640x480. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR. ....................................... 47 Figura 15 – Imagem termográfica 4, original (esquerda) e em escala de cinza (direita) Dimensões originais: 640x480. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR. ....................................... 48 Figura 16 – Imagem termográfica 5, original (esquerda) e em escala de cinza (direita) Dimensões originais: 640x480. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR. ....................................... 48 Figura 17 – Imagem termográfica 6, original (esquerda) e em escala de cinza (direita) Dimensões originais: 640x480. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR. ....................................... 48 Figura 18 – Modelo registrado do teste 1 usando gradiente, tentado registrar a Figura 12, o tempo médio foi de 28 segundos. ............................................................................................................................................ 50 Figura 19 – Modelo registrado do teste 2 usando gradiente Modelo registrado do teste 2 usando gradiente, tentando registrar a Figura 17, o tempo médio foi de 32 segundos.. ............................... 50 Figura 20 – Modelo registrado do teste 1 usando força bruta....................................................................... 51 Figura 21 – Modelo registrado do teste 2 usando força bruta....................................................................... 51 Figura 22 – Modelo registrado do teste 3 usando força bruta....................................................................... 51 Figura 23 – Modelo registrado do teste 4 usando força bruta....................................................................... 51 Figura 24 – Modelo registrado do teste 5 usando força bruta....................................................................... 51 Figura 25 – Modelo registrado do teste 6 usando força bruta....................................................................... 51 Figura 26 – Modelo registrado do teste 9. .................................................................................................... 53 Figura 27 – Modelo registrado do teste 10. .................................................................................................. 53 7 Lista de Tabelas Tabela 1 – Casos de testes para técnica Fuzz Testing .. .................................................. 45 Tabela 2 – Testes usando imagens termográficas .. ........................................................ 50 Tabela 3 – Testes usando imagens termográficas com falhas simuladas ....................... 52 8 1. Introdução Sir Friedrich Wilhelm (William) Herschel (1738-1822), um astrônomo alemão, descobriu o infravermelho em 1800. Sabendo que a luz solar continha todas as cores da faixa visual do espectro eletromagnético e que era também uma fonte de calor, Herschel queria descobrir quais as cores responsáveis pelo aquecimento dos objetos. Idealizou um experimento usando um prisma, papelão e termômetros com bulbos pretos onde mediu as temperaturas das diferentes cores. Herschel observou um aumento de temperatura à medida que movia o termômetro de violeta para o vermelho no espectro criado pela luz do sol atravessando o prisma. Descobriu que a temperatura mais quente ocorria, de fato, além da luz vermelha. A radiação que causara esse aquecimento não era visível; Herschel denominou essa radiação invisível como “raios caloríficos”. Hoje, é conhecida como radiação infravermelha. A energia térmica ou infravermelha é uma onda invisível que possui comprimento de onda muito longo para ser detectado pelo olho humano. O que se percebe por calor é justamente essa energia térmica. A luz visível ao olho humano está no intervalo de 0,4 μm até 0,7 μm do comprimento de onda do espectro eletromagnético; o intervalo do infravermelho está logo em seguida, com comprimento de onda de 0,7 μm até 1 mm (Fig. 1). No espectro eletromagnético, os infravermelhos se subdividem em infravermelhos curtos (0,7-5 µm), infravermelhos médios (5-30 µm) e infravermelhos largos (30-1000 µm). Ao contrário do calor que é percebido por seres humanos, na medição infravermelha, todo objeto que possua uma temperatura acima do zero absoluto emite calor; mesmo um objeto frio como um cubo de gelo emite radiação infravermelha. Quanto mais alta a temperatura de um objeto, maior a radiação infravermelha emitida. A técnica de mapear a radiação infravermelha em sinal visível ao olho humano é chamada de imageamento térmico ou termografia infravermelha. 9 Figura 1 – Faixa de comprimentos de onda do Espectro Eletromagnético A termografia infravermelha, utilizada como técnica para diagnóstico permite a visualização e verificação instantânea do comportamento térmico de objetos. Uma câmera infravermelha de termografia é um dispositivo que consegue detectar energia infravermelha, converter em sinal eletrônico, produzindo imagens (Fig. 2) e executar cálculos de temperatura. O calor detectado por uma câmera termográfica pode ser quantificado ou medido de forma muito precisa e sem contato físico, não apenas para monitorar o comportamento térmico, mas também para identificar e avaliar a gravidade dos problemas de aquecimentos. Figura 2 – Transformador: Imagem visual (Esquerda) e Termográfica (Direita). Câmeras de termografia (Fig. 3) ou de imageamento térmico empregam um sistema óptico para captar e focalizar a energia infravermelha capturada pelo sistema da cena para o detector do aparelho. O detector é sensível à energia na porção infravermelha do espectro eletromagnético e converte essa energia em um sinal elétrico proporcional, o qual é então amplificado. Esse sinal amplificado é enviado para um processador de vídeo 10 e em seguida para um monitor de visualização, similar a um tubo de raios catódicos ou um visor de cristal líquido chamado viewfinder, podendo ser manipulado numa variedade de maneiras para propósitos de interpretação. A imagem mostrada no viewfinder é um mapa de temperatura no qual as suas variações em níveis de cinza ou cores correspondem às diferenças de energias radiantes. Figura 3 – Câmera termográfica ThermoVision® SC6000 MWIR da empresa FLIR. Resposta espectral de 3-5 μm conseguindo monitorar temperaturas ambientes na faixa de -41°C a +71°C. Um critério importante de desempenho para um equipamento infravermelho é a sua resposta espectral. Fabricantes geralmente selecionam uma ou duas subfaixas do infravermelho que o equipamento irá operar. Câmeras que operam em infravermelho curtos têm uma resposta espectral de 2 a 5,6 µm e são utilizados para monitoramento indoors possuindo maior sensibilidade. Câmeras que operam em infravermelhos médios têm uma resposta espectral de 8 a 14 µm e são utilizados para monitoramento outdoors, conseguindo monitorar objetos a grandes distâncias. Resposta espectral é uma característica permanente do equipamento que varia conforme modelo e fabricante. A termografia infravermelha pode ser uma ferramenta essencial na manutenção preditiva de sub-estações, torres de energia, transformadores, linhas de transmissão, enfim em diversos equipamentos elétricos. Uma inspeção termográfica pode identificar falhas potenciais antes que as mesmas ocorram. Isso porque a maior parte dos equipamentos elétricos apresenta diferenças térmicas antes de uma avaria, diferenças estas que podem ser detectadas através da termografia. Programas de manutenção preditiva que utilizam termografia podem ajudar na localização rápida e precisa de falhas em sua fase inicial (KELCH, SEFFRIN, 1999; SCHULTZ, 2005). Isso tudo, somado a 11 um bom custo/benefício que a termografia oferece (SANOR, CAWLFIELD, 2001), torna essa tecnologia bastante atraente do ponto de vista comercial. Basta verificar alguns exemplos de inspeções termográficas em processos industriais para demonstrar a sua grande gama de aplicações. Dentre esses processos, pode-se citar a verificação de refratários em fornos, a medição de variação de temperatura em rolos de papel, laminações, secadores de laranja e máquinas de plástico, entre outros. Sistemas de diagnóstico de falhas baseados em imagens termográficas (Fig. 4) utilizam a câmera numa posição fixa para que não haja variação de posicionamento e escala nas imagens, o que aumenta muito o custo do monitoramento, pois essas câmeras termográficas são equipamentos caros. Não apenas as câmeras, mas também os softwares comerciais que lidam com imagens termográficas são de custos elevados. Nesse contexto, justifica-se um estudo para que não seja mais necessária à fixação das câmeras e o desenvolvimento de técnicas computacionais, permitindo então um ajuste automático de posição e escala das imagens termográficas com o objetivo de diminuir ainda mais o custo desses sistemas. Equipamento Elétrico Monitaramento Câmera Termográfica Imagem Defeituosa Central de Processamento Processa Conserta/Troca Equipamento Equipe de Manutenção Figura 4 – Diagrama simplificado de um sistema de diagnóstico de falhas baseado em termografia. 12 1.1. Objetivo O objetivo desse trabalho é propor um método de registro entre a imagem termográfica e o modelo tri-dimensional de um objeto, que possa ser aplicado em diversos equipamentos elétricos para auxiliar no diagnóstico de falhas. A eficácia do método proposto é exemplificada em um estudo de caso envolvendo o registro de pára-raios, os quais possuem certas peculiaridades que serão discutidas mais adiante. A abordagem utilizada com esse equipamento pode ser generalizada para aplicação em outros equipamentos. As partes de diagnóstico e classificação da falta não serão abordadas nesse trabalho. 1.2. Descrição do Problema A metodologia adotada no processo de registro pode ser explicada resumidamente da seguinte forma: o modelo tridimensional do objeto é transformado através de rotações e então sua projeção bidimensional é adquirida para que o registro com a imagem termográfica seja realizado. A informação mútua1 do registro é medida e o processo se repete (Fig. 5) até que a medição de todas as transformações possíveis sejam feitas. O registro que apresentar a maior informação em comum será o escolhido. Para aumentar a eficiência do processo, não serão realizadas todas as transformações possíveis no objeto, mas apenas as rotações nos eixo x e z em uma certa faixa de ângulos, que corresponde à variação encontrada na maioria das imagens obtidas da cena. 1 Informação em comum entre duas imagens utilizada no método de registro de mesmo nome. Explicado com mais detalhes na seção 3.4. 13 Transformação Projeção Registro Modelo 3D Imagem Termográfica Medição Info. Modelo + Imagem Figura 5 – Ilustração da metodologia adotada. A projeção 2D do modelo transformado é registrado na imagem termográfica. A informação mútua entre os dois é medida e então o processo se repete. 1.3. Aplicações Termografia infravermelha tem sido aplicada em diversas áreas onde o conhecimento sobre os padrões de calor e temperaturas associados proverão dados relevantes sobre um processo, sistema ou estrutura. A detecção de falhas incipientes em equipamentos elétricos é uma dessas áreas onde termografia é bastante aplicada (KELCH; SEFFRIN, 1999). Como já mencionado, os sistemas de diagnóstico baseados em imagens termográficas utilizam geralmente câmeras em posições fixas, o que torna essa abordagem pouco viável quando se deseja monitorar muitos equipamentos, uma vez que o custo de uma câmera termográfica é alto. Fazendo-se o registro das imagens termográficas o posicionamento das imagens será automaticamente ajustado de acordo com o modelo, tornando possível eliminar a necessidade da câmera fixa e porventura diminuir o custo de um sistema desse tipo. Técnicas de registro de imagens têm sido aplicadas no registro de imagens médicas com bons resultados (BROWN, 1992; MAINTZ, VIERGEVER, 1996 e 1998). Com o registro, é possível analisar partes importantes das imagens de modo a facilitar o diagnóstico do médico de uma possível anomalia ou doença. 14 2. Revisão Bibliográfica A utilização de imagens termográficas para diagnóstico de falhas em equipamentos elétricos envolve trabalhos que aplicam a termografia em um programa de manutenção preditiva. Kelch e Seffrin (1999) apresentaram um estudo detalhado sobre termografia aplicada a manutenção preditiva, verificando a sua aplicação em empresas, bem como as técnicas disponíveis no mercado. Sanor e Cawfield (2001) analisaram o custo/benefício dos sistemas de termografia em manutenção preditiva, chegando à conclusão que, em média, para cada dólar gasto nessa tecnologia existe um retorno de quatro dólares em investimentos de materiais e mão de obra para resolver os problemas antes que estes ocorram. Schultz (2004) descreveu como desenvolver e implantar um programa de manutenção preditiva baseado em termografia. Entretanto, os trabalhos supracitados abordam o assunto de forma muito generalizada e simples, provavelmente para atingir um público menos técnico. O registro de imagens termográficas normalmente envolve imagens adquiridas a grandes distâncias, geralmente de sensores em helicópteros, aviões, ou mesmo satélites, e requerem o registro de todos os dados em um sistema geográfico de coordenadas comuns. Growe e Tönjes (1997) tentaram fazer um controle automático de casamento de pontos para o registro das imagens porque a falta de precisão de parâmetros de vôo e a aparência específica de certos objetos no sensor são dificuldades inerentes ao problema de registro automático. Para superar essas dificuldades os autores apresentam um sistema que utiliza inteligência computacional para selecionar a estrutura apropriada para os pontos de controles e então extrair suas características do sensor de dados. O conhecimento é representado explicitamente usando redes de semântica e regras de inteligência artificial. A melhor correspondência entre os dados do sensor e a imagem pode ser encontrada pelo 15 algoritmo A*2. O controle automático do registro é então demonstrado usando imagens aéreas. Existem casos onde a imagem termográfica precisa passar por etapas de préprocessamento como por exemplo, filtros, para tornar a informação procurada mais evidente, realçando a imagem. Highnam e Brady (1997) estudaram métodos para realce de imagens termográficas, tendo aplicado dois algoritmos de realce: o filtro pela mediana e o filtro espacial homomórfico. É proposto um novo algoritmo, o filtro espaço-temporal homomórfico, o qual mescla características dos métodos citados anteriormente juntamente com peculiaridades especiais das imagens termográficas para se obter um resultado superior em problemas que lidam com imagens termográficas a grandes distâncias. Os algoritmos foram aplicados em diversas seqüências de imagens e funcionaram bem, mostrando um realce significativo na imagem. Embora não tenha sido encontrado nenhum trabalho específico sobre o registro de imagens termográficas em modelos tridimensionais, existem diversos trabalhos nesse contexto sobre imagens visuais, principalmente lidando com imagens médicas. Lisa G. Brown (1992) apresentou uma análise detalhada de técnicas de registro, explicando qual técnica é mais indicada para certos casos de distorções nas imagens. O trabalho de Brown serve como um bom ponto de partida, explicando em detalhes certos conceitos técnicos e as áreas de aplicações que as técnicas de registro possuem. Maintz e Viergever (1996, 1998) possuem trabalhos importantes na área de registro de imagens, apresentaram uma revisão de métodos existentes sobre registro de imagens médicas. Os métodos são divididos principalmente entre extrínsecos e intrínsecos. Métodos extrínsecos são baseados na introdução de objetos externos no espaço da imagem, enquanto métodos intrínsecos são baseados apenas na informação da imagem. As estatísticas do uso destas abordagens mostram tendências definitivas na evolução de técnicas de registro. Segundo os autores, houve uma mudança clara na 2 Em inteligência artificial, A* (pronunciado ‘A estrela’) é um algoritmo de busca pelo melhor caminho em um grafo que represente um espaço de problema. 16 pesquisa de métodos extrínsecos para intrínsecos. Os trabalhos de Maintz e Viergever também apresentam um panorama das técnicas de transformações de imagens. São apresentados um estudo e exemplos de diferentes naturezas de transformações. Uma transformação é denominada rígida quando apenas translações e rotações são permitidas. Se a transformação mapeia linhas paralelas em linhas paralelas então é denominada afim. Se mapear linhas em linhas, é chamada de projetiva. Finalmente, se mapear linhas em curvas, é denominada elástica. Leventon, Wells e Grimson (1997) apresentaram um trabalho sobre registro de imagens bidimensionais em um modelo tridimensional usando a técnica de registro de informação mútua. A principal diferença entre o trabalho dos autores e este seria que Leventon et al. utilizaram imagens de múltiplas visões do objeto em um sistema de coordenadas comum para convergir o registro a um modelo tridimensional com maior precisão. Para realizar isso foi preciso conhecer as posições das câmeras que obtiveram as imagens para conseguir um plano de coordenadas comum para todas imagens e acrescentar uma etapa extra no algoritmo de informação mútua para levar em conta as múltiplas visões para registrar o modelo. Como Leventon et al. foi um dos poucos trabalhos que apresentou muitas semelhanças com este, principalmente por tentar registrar um modelo tridimensional em uma imagem de um objeto real, sua descrição sobre a metodologia e método de registro utilizado foi o que impulsionou a escolha do método de registro da Informação Mútua para este trabalho. O’Donnel et al. (2000) propuseram uma técnica de registro usando imagens cardíacas e um modelo tridimensional de um coração. A abordagem utilizada pelos autores é bastante similar à utilizada nesse trabalho, que consiste basicamente no registro da imagem adquirida no modelo tridimensional que é ajustado através de transformações rígidas para se chegar à solução ótima. Contudo, o trabalho de O’Donnel et al é mais complexo, usando uma técnica de registro projetada por eles para registrar imagens do coração, passando por diversos estágios de transformações e alinhamentos antes do registro ser realizado. 17 Um procedimento genérico de registro de imagens em modelos tridimensionais foi proposto por Philippe Even (2004). Com o objetivo de encontrar uma solução mais amigável para o ponto de vista do usuário, o procedimento tenta minimizar a quantidade de trabalho manual. O procedimento implementado possui dois passos baseados na seleção da imagem a ser registrada e de algumas características do objeto estruturado. Primeiramente, um método de interpretação visual de características é utilizado para que sejam eliminados dois eixos de rotação. O grau de rotação do eixo restante é facilmente determinado através de métodos iterativos. A precisão atingida pelo procedimento é estimada para ajudar o usuário a decidir sobre a confiabilidade do registro. Especificamente sobre Informação Mútua, é possível encontrar uma série de trabalhos explicando seu funcionamento bem como suas aplicações e algumas possíveis alterações. Paul Viola (1995) foi quem inicialmente propôs o método para registro de imagens utilizando a medida de informação mútua. Gilles (1996) apresentou e descreveu detalhadamente a técnica fazendo testes e mostrando resultados, em uma compacta síntese sobre o assunto. McGary et al. (1997) utilizaram com sucesso a técnica de informação mútua para fazer o registro de imagens geradas por ressonância magnética para reduzir artefatos introduzidos por causa do movimento do paciente. Slomka et al. (2000) propuseram um método de registro automático, usando informação mútua em modelos tridimensionais e cortes bidimensionais desses modelos de imagens médicas, e analisa os resultados e a eficácia do método proposto. Egnal (2000) comparou duas abordagens utilizadas para a implementação de registro de imagem rígidas de duas dimensões com informação mútua. As duas abordagens utilizaram um método de gradiente que seguem seu sentido contrário pra tentar atingir o mínimo global, ou seja, a solução ótima. Kuijper (2002) tentou combinar a técnica de informação mútua com uma analise Gaussiana da imagem para criar uma medição parametrizada da informação mútua da imagem utilizando informações locais. 18 Rodríguez-Carranza e Loew (1998) propuseram uma variante interessante do método de informação mútua que multiplica os experimentos por pesos definidos de acordo com um cálculo sobre os pontos sobrepostos das duas imagens a serem registradas antes de calcular as entropias. Essa variante utiliza também uma medição diferente de entropia do método clássico denominado Entropia-S (S-entropy) que no caso dos autores teve a vantagem de não necessitar de estimar as funções de distribuições de densidades dos níveis de intensidade das imagens. 19 3. Registro de Imagens através da Informação Mútua Neste capítulo são apresentados os métodos, conceitos e definições importantes para realizar o registro de imagem termográficas através do método de informação mútua, descrevendo a metodologia adotada e a solução proposta. 3.1. Modelagem Geométrica Modelagem geométrica é uma área da computação gráfica que estuda a criação de modelos tridimensionais de objetos, assim como a descrição ou representação das formas desses objetos. Basicamente, pode-se dividir as técnicas de modelagem geométrica em três formas (AZEVEDO, 2003): matemática, automática e manual. O método matemático utiliza descrições matemáticas e algoritmos para gerar um objeto. A modelagem automática é a mais sofisticada, rápida e poderosa. Através de equipamentos especiais como scanners 3D3 (WILLIAMS, 2004), pode-se obter o modelo tridimensional de quase tudo. A modelagem manual é um método simples e barato que utiliza basicamente as medidas de um modelo real e a intuição do modelador. Como não existe nenhum scanner 3D disponível para realização desse projeto, e como a geometria de objetos elétricos é de difícil descrição matemática, utilizar a modelagem manual tem a grande vantagem de simplicidade e baixo custo além do fato de que a modelagem será realizada apenas uma vez. 3 Um Scanner 3D é um dispositivo que analisa um objeto ou ambiente do mundo real para coletar dados sobre sua forma e possivelmente cor. Os dados coletados são usados para construir digitalmente modelos tridimensionais. Esse tipo de dispositivo é usado extensivamente pela indústria na produção de filmes e jogos eletrônicos. 20 Dentro da modelagem manual existem diversas técnicas. Neste trabalho, foi utilizada a técnica denominada de Instanciamento de Primitivas (AZEVEDO, 2003). Nesse método, o sistema de modelagem define um conjunto de formas sólidas primitivas que são relevantes à área de aplicação. Essa técnica de modelagem cria novos objetos através do posicionamento de primitivas por transformações geométricas (mudanças de escala, rotações, translações, etc.) ou pelo uso de primitivas parametrizáveis. No primeiro caso, um objeto como uma cadeira pode ser modelada pela justaposição de paralelepípedos. No segundo caso, cria-se um conjunto de peças geralmente complexas e de uso comum para um determinado fim, como por exemplo, engrenagens, e a partir dessas primitivas pode-se criar uma infinidade de variações desses objetos com apenas alguns comandos para alteração de seus parâmetros. No exemplo da engrenagem, esses parâmetros seriam, por exemplo, a altura e diâmetro. A modelagem dos objetos foi feita utilizando um software específico para criação de objetos tridimensionais, 3D Studio4. Os objetos modelados são salvos em arquivos no formato DXF5 que serão abertos pela ferramenta de registro. O software 3D Studio foi escolhido somente por ser o software de mais fácil disponibilidade no momento da elaboração do trabalho, sendo que este pode ser substituído por qualquer outro software com a capacidade de criação de objetos 3D, como AutoCAD6 por exemplo. Como o formato do arquivo utilizado é especificamente desenvolvido para ser operado por outros softwares, praticamente todo software de construção 3D terá opção de salvar arquivos nesse formato, dessa forma não se fica preso a utilização exclusiva do 3D Studio. 4 3D Studio Max é um programa de modelagem 3D que permite renderização de imagens e animação. É utilizado por estúdios de criação de jogos, como por exemplo a Electronic Arts, e Blizzard Entertainment. Mais informações podem ser encontradas no site do fabricante http://www.autodesk.com/3dsmax. 5 DXF (Drawing eXchange Format, ou formato de troca de desneho) é um tipo de arquivo do formato CAD, desenvolvido pela Autodesk como solução para permitir interoperabilidade de dados entre seu software AutoCAD e outros programas. 6 AutoCAD é um software do tipo CAD (Computer-Aided Design), criado e comercializado pela Autodesk, Inc. em 1982. É utilizado para desenho técnico em 2 dimensões e, limitadamente, para modelamento de objetos em 3 dimensões. 21 Modelar o objeto usando um software é muito mais fácil e viável do ponto de vista comercial do que a alternativa de usar uma linguagem de programação gráfica, como por exemplo OpenGL7. A alternativa é mais fácil porque, no software, é possível acompanhar e modificar a criação das partes do objeto. 3.2. Transformações As operações de rotação e translação de objetos são chamadas de operações ou transformações rígidas, uma vez que não há alteração das suas proporções relativas. Como os equipamentos são estruturas tridimensionais, a operação de registro possui 6 graus de liberdade: 3 rotações e 3 translações. Transladar significa deslocar o objeto sem alterar seus eixos de orientação. Translada-se um objeto adicionando quantidades as coordenadas de todos os pontos do objeto. Assim cada ponto em (x,y,z) pode ser movido por Tx unidades em relação ao eixo x, por Ty unidades em relação ao eixo y, e por Tz unidades em relação ao eixo z. Se for utilizado a notação matricial, essa translação se apresenta da seguinte forma: [x ' y ' z '] = [ x y z ] + [Tx Ty Tz ] A rotação de objetos tridimensionais permite que objetos sejam vistos de diferentes ângulos. A rotação de um objeto é mais simples de ser realizada individualmente sobre cada um dos eixos usando-se os denominados ângulos de Euler (AZEVEDO, 2003). Através dos ângulos de Euler, cada rotação pode ser obtida a partir da análise de operações realizadas nos planos xy, yz e zx. Essa abordagem facilita uma definição precisa das rotações em relação a um sistema de eixos. Esses ângulos definem a rotação em um plano pelo giro em torno de um vetor normal a esse plano. 7 OpenGL (Open Graphics Library) é uma especificação definindo uma API multiplataforma e multilinguagem para a escrita de aplicações capazes de produzir gráficos computacionais de duas ou três dimensões. 22 A forma da matriz de rotação é dependente do eixo sobre o qual se efetua a operação. Rotação ao redor do eixo z, ou no plano xy, deixa o eixo z inalterado, enquanto as demais coordenadas são alteradas em função do ângulo de giro em torno do eixo z. Assim, um giro de α graus em torno do eixo z, muda as coordenadas de um ponto de [x,y,z] para [x’,y’,z’] dados por: [x ' y ' z '] = [ x y ⎡ cos(α ) s e n(α ) 0 ⎤ z ] ⎢⎢ − s e n(α ) cos(α ) 0 ⎥⎥ ⎢⎣ 0 0 1 ⎥⎦ Rotação ao redor do eixo x, ou no plano yz, deixa o eixo x inalterado, enquanto as demais coordenadas são alteradas em função do ângulo de giro em torno do eixo x. Assim, um giro de β graus em torno do eixo x, muda as coordenadas de um ponto de [x,y,z] para [x’,y’,z’] dados por: [x ' y ' z '] = [ x y 0 0 ⎤ ⎡1 ⎢ z ] ⎢0 cos( β ) s e n( β ) ⎥⎥ ⎢⎣0 − s e n( β ) cos( β ) ⎥⎦ Rotação ao redor do eixo y, ou no plano zx, deixa o eixo y inalterado, enquanto as demais coordenadas são alteradas em função do ângulo de giro em torno do eixo y. Assim, um giro de γ graus em torno do eixo y, muda as coordenadas de um ponto de [x,y,z] para [x’,y’,z’] dados por: [x ' y ' z '] = [ x y ⎡ cos(γ ) 0 − s e n(γ ) ⎤ ⎥ 1 0 z ] ⎢⎢ 0 ⎥ ⎢⎣s e n(γ ) 0 cos(γ ) ⎥⎦ Uma observação interessante é que essas matrizes são todas ortogonais e normalizadas, o que é denominado de ortonormais. Isto é, cada uma das suas colunas (ou linhas), se consideradas como vetores teriam comprimento 1 (normalizadas) e seriam vetores mutualmente ortogonais, isto é, cujos produtos internos ou escalares resultariam em zero. Uma propriedade muito útil de matrizes ortonormais é que suas inversas são simplesmente suas transpostas. 23 O processo de combinar duas ou mais matrizes é chamado concatenação e é executado multiplicando as matrizes antes de aplicá-las aos pontos. Esse processo é especialmente produtivo quando se deseja aplicar muitas operações seguidas como escala e rotações em um conjunto de pontos. Deve-se, no entanto, ter em mente que a ordem de aplicação das transformações afeta o produto final, pois a multiplicação de matrizes não é necessariamente comutativa. Assim, se o ponto for girado 5° graus em torno de x, 15° em torno de y e 50° graus em torno de z, a matriz de rotação final será o resultado das três matrizes de rotação multiplicadas nessa ordem, ou seja, o produto das matrizes: 0 0 ⎤ ⎡ cos15° 0 − s e n 25°⎤ ⎡ cos 50° s e n 50° 0 ⎤ ⎡1 ⎢ ⎥ ⎢ − s e n 50° cos 50° 0 ⎥ 1 0 [ x ' y ' z '] = [ x y z ] ⎢0 cos 5° s e n 5°⎥⎥ ⎢⎢ 0 ⎥⎢ ⎥ ⎢⎣0 − s e n 5° cos 5° ⎥⎦ ⎢⎣s e n15° 0 cos 25° ⎥⎦ ⎢⎣ 0 0 1 ⎥⎦ 3.3. Registro Registrar uma imagem com o modelo significa encontrar, para todo ponto na imagem, um ponto correspondente no modelo tridimensional. Como serão registrados uma imagem de duas dimensões e um modelo de três dimensões, o registro pode ser considerado como um mapeamento de um espaço bidimensional para outro tridimensional. Os métodos de registro nestas condições apresentam um alto custo computacional (MAINTZ, VIERGEVER, 1998), o que justifica o investimento na obtenção de soluções eficientes. A habilidade de representar um objeto em várias posições no espaço é fundamental para se compreender sua forma e realizar o seu registro com uma projeção bidimensional. A projeção descrita nesse caso consiste em fazer uma transposição do modelo tridimensional para um espaço bidimensional. Técnicas de projeção são baseadas na operação onde um conjunto de raios emanados de um centro de projeção, ou ponto focal, passa através de cada ponto do modelo, interceptando um plano de projeção. Todo o problema matemático da projeção consiste em se determinar as coordenadas dos pontos 24 do modelo neste plano. O tipo de projeção utilizado neste trabalho é a projeção perspectiva8. O método de registro utilizado neste trabalho foi o da Informação Mútua (Mutual Information) que encontra informações comuns de duas imagens em partes sobrepostas. Essa informação é obtida utilizando a medição da entropia de Shannon (1948), que mede incerteza, variabilidade ou complexidade de uma imagem (MACGARY, 1997). Mais especificamente, a informação mútua compara as dependências estatísticas entre duas imagens (EGNAL, 1999). 3.4. Informação Mútua O método de registro de imagens por informação mútua é uma técnica proposta por Paul Viola (1995) que se baseia na idéia chave que, se duas imagens são similares então sua informação em comum será muito grande. Essa abordagem difere da maioria dos outros métodos de registro que normalmente procuram minimizar alguma função energética, que no ponto mínimo significa que a correlação correta foi alcançada. Inicialmente essa técnica foi projetada para realizar o registro rígido de imagens de uma mesma cena obtida através de sensores diferentes. Nesse caso, as imagens seriam bastante parecidas possuindo apenas diferenças de caráter espectral. O método da informação mútua usa um critério de entropia que mede a incerteza ou variabilidade de uma variável aleatória. A Informação mútua geralmente é computada sobre histogramas 2D discretos das imagens, o resultado é a probabilidade marginal da junção das imagens que também é 8 Na projeção perspectiva, o centro de projeção encontra-se a uma distância finita do plano de projeção. Os objetos sofrem deformações, criando uma representação bem realista, por simularem a maneira como nossos olhos percebem os objetos no espaço. Nela, encontramos duas características básicas: o encurtamento perspectivo, ou seja, a ilusão de que objetos são cada vez menores à medida que sua distância ao plano de projeção aumenta; e os pontos de fuga, decorrentes da ilusão de que linhas paralelas convergem a um determinado ponto. 25 representada por um histograma 2D. O histograma resultante contém intervalos onde são representados os números relativos de pontos (pixels) correspondentes entre as imagens. 3.4.1. Variável Aleatória Uma variável aleatória, ou random variable (RV), é um conceito utilizado para modelagem de processos imprevisíveis. Ao invés de tentar prever exatamente como um processo irá se comportar durante um certo tempo ou espaço, que dependendo das circunstâncias pode ser difícil ou até mesmo impossível, torna-se muito mais fácil modelar seu comportamento médio usando apenas estatísticas. Uma variável aleatória pode ser considerada como o resultado numérico de operar um mecanismo não determinístico ou de fazer uma experiência não determinística para gerar resultados aleatórios. Por exemplo, ao se atirar um dado de seis faces os resultados produzidos poderão assumir os valores {1, 2, 3, 4, 5, 6}, mas a probabilidade do evento de sortear qualquer um desses valores é a mesma. Matematicamente, uma variável aleatória definida como um valor de uma função mensurável de um espaço probabilidade para um espaço mensurável ou real. Este espaço mensurável é o espaço de possíveis valores da variável, e é normalmente tomado como um número real. No restante dessa seção, serão utilizadas as seguintes definições: se X é uma variável, então ΩX é o domínio da variável. Será denominado experimento um valor particular de X, e amostra será uma coleção de experimentos. No caso de variáveis discretas, a probabilidade de um evento xi é escrito como P(X = xi) ou P(xi), e a soma de todas probabilidades do evento é igual a: ∑ xi ∈ Ω X P( X = xi ) = 1 . (3.01) 26 No caso de variáveis contínuas, a probabilidade de um evento não pode ser definida tão intuitivamente, sendo que ΩX é domínio infinito, consequentemente P(X = xi) seria igual a zero. Portanto, deve-se utilizar densidades probabilísticas (probability densities): PX ( x0 ) = lim P ( x0 < X < x0 + ε ) ε ε →0 . (3.02) E a definição de probabilidade de um evento como: b P(a < X < b) = ∫ PX ( x) dx . a (3.03) 3.4.2. Entropia Entropia mede a desorganização dos valores de uma variável aleatória. Quanto mais uniformes forem as probabilidades de uma variável aleatória mais entropia ela possuirá. O estudo inicial de entropia tem origem na física, em particular na área de termodinâmica. O trabalho de Shannon (1948) é considerado por diversos autores como o marco que ampliou o estudo da entropia para uma abordagem estatística. Desde então, entropia tem sido aplicada em teoria da informação, teoria de complexidade, e em diversas outras áreas. A Figura 6 mostra uma comparação da entropia de duas variáveis, a variável do gráfico a esquerda que possui uma distribuição uniforme da probabilidade possui mais entropia do que a variável do gráfico a direita. No caso da variável à direita, é possível prever que a maior parte dos experimentos se enquadrará no pico do gráfico. 27 Figura 6 – Gráficos de densidade de entropia: Alta (Esquerdo) e Baixa (Direito) Para uma variável discreta X, entropia é definida como: H ( X ) = − E X [log P ( X )] = − ∑ xi ∈ Ω X P ( xi ) log P ( xi ) , (3.04) onde EX é o valor esperado da variável aleatória X. Será assumido no restante do trabalho que 0 log (0) = 0 e que a base 2 será o padrão dos logaritmos. A probabilidade P(X, Y) entre duas variáveis aleatórias, X e Y, que possuem um grau de dependência entre si é denominado distribuição conjunta. Essa noção é formalizada através do uso de entropia conjunta (joint entropy) que é a medição da variabilidade de Y sobre o conhecimento de X, e sua definição matemática: H ( X , Y ) = − E X [ EY [ log P ( X , Y ) ]] . H ( X ,Y ) = − ∑ xi∈X , yi ∈Y PXY ( xi , yi ) log PXY ( xi , yi ) . (3.05) (3.06) A entropia condicional (conditional entropy) é a medição da aleatoriedade de Y dado um X conhecido, e sua fórmula é bastante similar a da entropia conjunta, sendo: H (Y | X ) = − E X [ EY [ log P (Y | X ) ]] . (3.07) H (Y | X ) = H ( X , Y ) − H ( X ) (3.08) 28 O conceito de informação mútua é bastante relacionado com o de entropia conjunta e condicional, porque a Informação Mútua, MI, entre duas variáveis é: I ( X , Y ) = H (Y ) − H (Y | X ) (3.09) onde I(X,Y) é a medida da redução de entropia de Y dado X. Outra forma de expressar a equação anterior em termos de probabilidades seria: ∑ I ( X ,Y ) = xi ∈ X , yi ∈Y PXY ( xi , yi ) log PXY ( xi , yi ) . PX ( xi ) PY ( yi ) (3.10) Expandindo a divisão e multiplicação no logaritmo e somando os termos tem-se: ∑ I ( X ,Y ) = ( PXY ( xi , yi ) log PXY ( xi , yi ) −PXY ( xi , yi ) log PX ( xi ) PY ( yi ) ) xi ∈ X , yi ∈Y ∑ = PXY ( xi , yi ) log PXY ( xi , yi ) − xi ∈ X , yi ∈Y − ∑ xi ∈ X , yi ∈Y Como ∑ xi ∈ X , yi ∈Y I ( X ,Y ) = ∑ PXY ( xi , yi ) log PX ( xi ) . (3.11) PXY ( xi , yi ) log PY ( yi ) PXY ( xi , yi ) = xi ∈ X , yi ∈Y ∑ xi ∈ X , yi ∈Y ∑P xi ∈ X X ( xi ) = ∑ P ( y ) = 1 , pode-se reduzir a equação: yi ∈Y Y PXY ( xi , yi ) log PXY ( xi , yi ) − i ∑P xi ∈ X X ( xi ) log PX ( xi ) − ∑ PY ( yi ) log PY ( yi ) , (3.12) yi ∈Y ou mais simplesmente, a fórmula da informação mútua pode ser definida como: I ( X , Y ) = − H ( X , Y ) + H ( X ) + H (Y ) . (3.13) O objetivo de um método de registro é colocar dois sinais em alinhamento geométrico. Suponha que se tenham dois sinais u(X) e v(Y), onde u(X) é o modelo, v(Y) é uma imagem, X é um ponto qualquer de u e Y um ponto correspondente a X em v. Os dois sinais podem ser completamente diferentes em forma e sistema de coordenadas. Pode-se, 29 por exemplo, tentar alinhar um dado tridimensional para um bidimensional que é o caso desse trabalho. Existe uma função que relaciona os sinais u(X) e v(Y) para um alinhamento geométrico em comum. Essa função será uma transformação T que mapeia o modelo na imagem na forma v(T(X)). Portanto, a informação mútua entre o modelo e a imagem será uma função de T: MI (T ) ≡ I (u ( X ), v(T ( X ))) = − H (u ( X ), v(T ( X ))) + H (u ( X )) + H (v(T ( X ))) , (3.14) onde o símbolo ≡ significa “é definido como”. 3.4.3. Estimação da Função de Densidade Para se encontrar a informação mútua é preciso conhecer a função de densidade probabilística das variáveis aleatórias do problema. Estimar essa função de densidade para certas imagens não é uma tarefa fácil. O problema de se estimar a função de densidade consiste em encontrar para uma seqüência de variáveis aleatórias X1, X2,... , Xn uma função de densidade probabilística comum f(x) e então estimar f^(x). Nos casos onde as variáveis aleatórias não possuem uma função contínua de densidade probabilística, o problema de estimação da função de densidade torna-se um problema de estimação da probabilidade de uma variável aleatória, onde se assume que essa variável compartilha uma função probabilística em comum com a seqüência de variáveis descrita acima. Uma das técnicas mais utilizadas para realizar essa estimação é a denominada Maximum Likehood, e consiste em encontrar o modelo mais apropriado que poderia ter gerado o conjunto de dados. Essa técnica funciona bem para modelagem de densidades exponenciais e Gaussianas. Uma mistura de densidades exponenciais pode ser utilizada para a modelagem, onde gψi é uma distribuição Gaussiana de variância ψi e de média μi: 30 n PX ( x) = ∑ Ai gψ i ( x − μi ) . (3.15) i =0 Ai é denominado Mixture Proportion do i-ésimo elemento, geralmente 0 < Ai < 1. Quando Σ Ai = 1, a mistura de Gaussianas garantidamente poderá modelar a função de densidade. Uma abordagem para o problema da estimação da função de densidade seria realizar fortes inferências sobre a densidade estudada, permitindo assim uma simplificação no processo de estimação. Por exemplo, se for inferido que os dados vieram de uma função Normal, então bastaria encontrar a média e a variância da função para ter a densidade probabilística adequada. Entretanto, pode ser difícil parametrizar os dados para uma distribuição em particular se os dados não seguirem o comportamento daquela distribuição. No caso das imagens termográficas estudadas nesse trabalho, não se conhece a função de distribuição de probabilidade. Por esse motivo, será utilizada uma abordagem mais genérica, simples e não-paramétrica de estimação de densidade que não faz inferências sobre a forma da função a priori. 3.4.4. Histograma O método mais simples de estimação de densidade é o Histograma (EGNAL, 1999). Nesse método, são criados intervalos e então é contada a freqüência de cada ponto (experimento) contido em cada intervalo, de forma normalizada, para que o somatório das freqüências seja igual a 1. Mais formalmente, é selecionada uma série {tk ∈ ℜ | −∞ < k < ∞} onde o k-ésimo intervalo seja Bk = [tk , t K +1 [ . Os intervalos do histograma terão largura fixa h se tk +1 − tk = h ∀ k ; h também pode ser denominado como parâmetro de suavização. A densidade do histograma usa blocos de altura 1/(nh) de forma que a área de cada bloco será 1/n, onde n é o número de pontos. Se ak denota a contagem de dados do k-ésimo intervalo, então o histograma será: 31 f ^ ( x) = ak 1 n = ∑ I ( xi ) nh nh i =1 [tk ,tk +1[ para x ∈ Bk . (3.16) Se a contagem de intervalos for uma variável aleatória binomial com uk ~ B(n,Pk), onde Pk = ∫ f ( z )dz . A probabilidade da variável binomial será: Bk P( X = x) = ( ) P [1 − P] n k então Var ( f ^ ( x)) = k n−k , Var (ak ) PK [1 − Pk ] = , (nh) 2 nh 2 (3.17) (3.18) sendo Var a variância. Em geral, os intervalos determinam à precisão do histograma. Quanto menor forem os intervalos, mais preciso será o histograma, porém será mais sensível a variância dos dados (Fig 7). No limite, quando h=0, o histograma é precisamente a função de densidade probabilística empírica com variância infinita. A tarefa crucial é encontrar o tamanho ideal do intervalo. Figura 7 – A largura do intervalo h do histograma afeta a aparência geral do histograma. Um h pequeno aumenta a variância, mas também aumenta a precisão. Um h grande diminui a variância e a precisão. Existem diversos algoritmos para se determinar o tamanho correto de um intervalo. Muitos fazem uma busca inicial nos dados para então decidir o tamanho que os intervalos deverão possuir, mas essa abordagem é custosa em tempo. Outra abordagem tenta predizer o tamanho dos intervalos baseado em conhecimento a priori ou 32 pressuposições sobre os dados. Uma simples regra para estimar o número de intervalos é a Regra de Sturges. Desenvolvida em 1926 por Hebert Sturges, a regra assume que um histograma otimizado construído com dados no formato de uma distribuição Normal e em escala, pode ser modelado como por uma distribuição binomial B(n, p = 0,5). Se o centro do histograma estiver em algum dos pontos i=0, 1, ..., k-1 e for escolhido o i-ésimo intervalo para ser o coeficiente Binomial ( ), k −1 i então número total de amostras será: k −1 n = ∑ ( k i−1 ) = (1 + 1) k −1 = 2k −1 . (3.19) i =0 O número ótimo de intervalos será então k = 1 + log 2 (n). Lembrando que, na regra de Sturges, foi assumido que os dados seguem uma distribuição Normal e, embora tecnicamente encontre o número ótimo de intervalos, na prática, se os dados não seguirem essa distribuição, o número encontrado pode não ser ótimo, mas ainda assim a regra consegue gerar histogramas bem suaves e pouco tendenciosos. A rapidez de criação de um histograma e do cálculo de suas probabilidades são as grandes vantagens desse método de estimação de função de densidades probabilísticas. Se os intervalos já tiverem sidos definidos de antemão, então o histograma pode ser construído em uma ordem de complexidade de tempo linear, equivalente ao número de pontos. O cálculo de f^(x) leva apenas uma iteração. Outra vantagem do histograma é que são feitas poucas inferências sobre a densidade que se pretende modelar. 3.4.5. Estimação da Função de Densidade Parzen Window Parzen Window é uma técnica não-paramétrica de estimação de densidade cuja idéia geral parece bastante com a do Histograma, mas possui uma melhor suavização ao custo de mais tempo necessário para processar mais cálculos. Essa técnica utiliza as amostras diretamente da variável aleatória para modelar sua densidade. Dado uma 33 amostra de Na experimentos a={x1, ..., xn}, a fórmula da função de densidade no ponto x será: PX ( x, a ) = 1 Na ∑ R( x − x ) , (3.20) a xa ∈ a com R sendo uma função de suavização. Por questão de simplificação, R será calculado como sendo uma distribuição Gaussiana. PX ( x, a ) = 1 Na ∑ gψ ( x − x ) , 1 com gψ ( x) = (3.21) a xa ∈ a 2πψ e − x2 2ψ , (3.22) onde gψ é uma distribuição Gaussiana de variância ψ. Para duas variáveis aleatórias, X e Y, basta definir W = (X,Y), w=(x,y); e |ψ| como sendo o determinante da matriz de covariância, e utilizar a formula de Gaussiana para duas dimensões: PW ( w, a ) = 1 Na com gψ ( w) = ∑ gψ (w − w ) , 1 2π ψ (3.23) a wa ∈ a e ⎛ 1 T −1 ⎞ ⎜ − w ψ w⎟ ⎝ 2 ⎠ . (3.24) 3.4.6. Gradiente Estocástico Descendente Para maximizar a informação mútua entre o modelo e a imagem, será preciso diferenciar a Equação (3.14) usada para o cálculo da informação mútua. Sendo a transformação T que mapeia o modelo u na imagem v, o objetivo é encontrar a transformação que resulte na maior informação mútua. Para isso será necessário realizar a diferenciação em relação ao critério T: 34 d d d MI (T ) = − H (u ( X ), v(T ( X ))) + H (v(T ( X ))) . dT dT dT (3.25) Com a expressão da distribuição da densidade, dada uma amostra a, é possível computar a entropia fazendo uma média do logaritmo da distribuição sobre uma segunda amostra b. A entropia de uma variável aleatória X será: H ( X ) ≡ − Eb [log PX ( x, a)] = − 1 Nb ∑ log P X xb ∈ b ( xb , a ) . (3.26) A entropia conjunta de duas variáveis aleatórias X e Y será: H ( X , Y ) ≡ H (W ) ≡ − Eb [log PW ( w, a )] = − 1 Nb ∑ log P wb ∈ b W ( wb , a ) . (3.27) É preciso ampliar ainda mais a Equação (3.25), usando as informações de estimativas de densidade probabilísticas para obter a fórmula que seja possível utilizar um esquema de otimização utilizando um gradiente estocástico descendente. Essa nova fórmula irá apontar para o resultado (transformação) que apresenta a maior informação mútua: d 1 ⎛ MÎ = ⎜∑ dT N b ⎜⎝ xi ∈ b −∑ xi ∈ b ∑ W (v , v )(v − v ) ψ −1 T x j∈ a v i j i j v d (vi − v j ) dT ⎞ −1 d T ( , )( ) ( ) W w w w w w w − − ψ ∑ uv i j i j uv dT i j ⎟⎟ x j∈ a ⎠ . (3.28) Com as seguintes definições: Wv (vi , v j ) ≡ gψ v (vi − v j ) ∑ gψ xk ∈ a v (vi − vk ) , (3.29) 35 Wuv ( wi , w j ) ≡ gψ v ( wi − w j ) ∑ gψ xk ∈ a v ( wi − wk ) , ui ≡ u ( xi ), vi ≡ v(T ( xi )), wi ≡ [ui , v j ]T . (3.30) (3.31) Com a diferenciação, é possível usar uma rotina de caminhamento para o máximo local, atualizando as estimativas para o registro da transformação T a cada iteração, pela fórmula: Tn +1 = Tn + λ dMÎ . dT (3.32) O algoritmo é repetido até que um número fixo de iterações seja realizado ou até que se atinja convergência. O parâmetro λ é denominado taxa de aprendizagem e geralmente diminui à medida que o procedimento é executado. Um valor pequeno de λ diminui a velocidade de convergência do algoritmo, enquanto um valor grande de λ força o algoritmo a andar a largos passos, potencialmente passando sobre o máximo e não convergindo. Esse algoritmo difere de um gradiente descente regular porque utiliza uma estimativa da diferenciação ao invés de usar a diferenciação real. Segundo Viola (1995) o gradiente estocástico descendente é bem aplicado para o método de registro de informação mútua e possui um bom equilíbrio de custo de performance e eficácia de convergência. 3.5. Otimização da Informação Mútua Normalmente, para se maximizar a informação mútua, é feito um esquema de otimização para encontrar a solução de forma mais eficiente. Uma prática comum é calcular o gradiente descendente da função de entropia para então ‘caminhar’ em direção ao mínimo (local ou global) da função. Essa abordagem tem o problema de nem sempre encontrar a solução ótima, porque o gradiente pode ficar ‘preso’ em um mínimo local da 36 função nunca atingindo a solução ideal. Essa abordagem também exige mais processamento para calcular o gradiente a cada iteração. Dependendo do caso, o ganho de performance em se encontrar uma solução mais rápida pode ser perdido nos cálculos extras para computar o gradiente. O objetivo desse trabalho é fazer o registro da imagem termográfica de forma a atingir a solução ótima, para que se possa futuramente diagnosticar alguma possível falha do equipamento. Por esse motivo foi utilizado o algoritmo de força-bruta para poder verificar todas possíveis alternativas e escolher a que tiver o melhor resultado. No entanto, se todas as transformações possíveis em cada grau fossem feitas, o processo levaria muito tempo tornando-o pouco viável. A fim de otimizar a performance do processo, as transformações foram limitadas. Os domínios determinados para limitar as transformações são determinados de acordo com as características dos equipamentos imageados. Todas as transformações possíveis no modelo são 3 rotações e 3 translações. A variação da distância do objeto até a câmera resulta na alteração da escala do objeto na imagem que é a translação no eixo z. Devido às características do algoritmo de informação mútua de trabalhar com probabilidades, variações pequenas e/ou proporcionais na escala não causam alterações significativas nos resultados, por isso é possível limitar bastante o parâmetro da escala. Entretanto, mesmo as translações limitadas e com três rotações, o tempo exigido pelo método de registro de imagem é substancial. Portanto será preciso impor limites nas rotações para acelerar o processo. Como as imagens disponibilizadas são de apenas uma visão do pára-raio, não é possível fazer uma reconstrução tridimensional em relação ao eixo y, por esse motivo é possível eliminar esse eixo de rotação, restando duas rotações. Dessas, a rotação em relação ao eixo x não precisa ter todos os 360 graus verificados porque, por exemplo, não se tira fotos de cabeça para baixo, necessitando apenas de certa tolerância de graus em relação à posição vertical. 37 Certas transformações possíveis no modelo dentro dos limites estabelecidos pelo domínio são previamente armazenadas em arquivos de imagem para aumentar a performance do algoritmo. As transformações realizadas a priori são as rotações nos eixos x e z, e a translação em z. Testes realizados mostraram que essa decisão resultou em uma melhora expressiva (chegando a ser em certos testes dez vezes mais rápido) do que realizar as rotações dinamicamente na hora do registro. As demais translações nos eixos x e y são feitas dinamicamente porque é necessário ter informações sobre a imagem termográfica para realizar essas translações. 3.5.1. Densidade Probabilística O método de densidade probabilística utilizado no algoritmo de informação mútua foi o do Histograma, devido à rapidez de desempenho e simplicidade de implementação. Para a probabilidade conjunta, um histograma de duas dimensões foi construído. Utilizando a regra de Sturges (Seção 3.4.4) para determinar a largura do intervalo do histograma e arredondando o resultado para dividir o domínio uniformemente, foi encontrado o número 16 que foi utilizado como largura padrão do histograma. Embora os dados não sigam uma distribuição normal a regra de Sturges consegue determinar um intervalo que gere um histograma mais suave e pouco tendencioso. O histograma conterá uma contagem do valor de cada pixel da imagem. Cada pixel é convertido para um valor em escala de cinza para diminuir a gama de valores possíveis; um pixel de uma imagem com 24 bits de cor por pixel na escala RGB 9pode possuir um valor variando de zero até 16.777.215 enquanto um pixel em escala de cinza possui um valor entre zero e 255. Outra dificuldade em usar a escala RGB de 24 bits seria dividir corretamente os intervalos do histograma, porque o valor 255 nessa escala estaria mais ‘próximo’ dos valores 511 e 65.791, que corresponderiam a uma cor azul de 9 O modelo de cores RGB (Red, Green, Blue) é um modelo aditivo cujas cores vermelho, verde e azul são combinadas de diversas maneiras para reproduzir outras cores. 38 tonalidade bem clara, do que o valor 256, que corresponderia a uma cor próxima ao preto, por exemplo. A conversão de um pixel RGB para escala de cinza utilizou a seguinte fórmula: C = 0,30 × R + 0,59 × G + 0,11 × B , (3.33) sendo R a intensidade de vermelho, G de verde e B de azul do pixel no formato RGB com as intensidades de cada cor seguindo a escala de valores de zero a 255, e C é o valor correspondente na escala de cinza. Essa formula é a padrão para converter RGB para escala de cinza, é basicamente o efeito que cada cor que percebemos afeta a iluminação da imagem, já que a cor verde possui um coeficiente maior é o mais próximo do cinza na escala de cores HSV10. 3.5.2. Algoritmo Implementado Algoritmo 1 realiza todas as rotações no modelo tridimensional dentro dos limites do domínio e armazena cada transformação realizada em um arquivo de imagem para que o Algoritmo 2, que realizará o registro, não precise fazer cada transformação em tempo real, aumentando assim a performance. Algoritmo 2 procura registrar a imagem termográfica através de força bruta encontrando a maior informação mútua dentre todos os arquivos contendo as transformações do modelo. Algoritmo 3 procura registrar a imagem termográfica através do gradiente estocástico descendente encontrando a maior informação mútua possível no modelo. 10 O modelo de cores HSV (Hue, Saturation, Value) define um espaço de cores nos termos dos seguintes componentes: Hue sendo o tipo da cor (vermelho, azul ou amarelo), Saturation sendo a pureza da cor, e Value sendo o brilho. 39 Algoritmo 1 1: Para Cada transformação dentro do domínio faça 2: Transformar o modelo. 3: Gravar modelo transformado em arquivo. 4: Fim Para Algoritmo 2 1: Px <- Cálculo do histograma da Imagem termográfica. 2: Max <- Vazio. 3: Para Cada arquivo de transformação do modelo faça 4: Py <- Cálculo do histograma do arquivo. 5: Pxy <- Cálculo do histograma conjunto do arquivo com a imagem termográfica. 6: Hx <- Cálculo da entropia de Px. 7: Hy <- Cálculo da entropia de Py. 8: Hxy <- Cálculo da entropia de Pxy. 9: MI <- Hx + Hy – Hxy. 10: 11: 12: Se ( Max = Vazio ou Max < MI ) então Max <- MI. Fim Se 13: Fim Para 14: Encontrar arquivo correspondente a Max e mapear para a imagem. 40 Algoritmo 3 1: Px <- Cálculo do histograma da Imagem termográfica. 2: Lamb <- 0,5. 3: T <- Ponto de origem de todas transformações. 4: Loops <- 1. 5: Maximo_Loops <- Número máximo de iterações a serem realizadas 6: Faça 7: Py <- Cálculo do histograma do modelo transformado em T. 8: Pxy <- Cálculo do histograma conjunto do arquivo com a imagem termográfica. 9: Hx <- Cálculo da entropia de Px. 10: Hy <- Cálculo da entropia de Py. 11: Hxy <- Cálculo da entropia de Pxy. 12: MI <- Hx + Hy – Hxy. 13: dMIT <- Diferenciação de MI. 14: T <- T + Lamb * dMIT. 15: Lamb <- Recalcular taxa de aprendizagem baseado na variação da informação mútua. 16: Enquanto Loops < Maximo_Loops e Variação de MI < Mínimo definido. 17: Mapear modelo transformado do último T para imagem. 41 4. Experimentos e Testes Este capítulo contém experimentos realizados e testes projetados para validar o algoritmo de registro. Os experimentos foram realizados em um notebook Acer Aspire 1522LMi com processador AMD® AthlonTM 64 3000+ MHz e mémoria 512 MB DDR RAM. A ferramenta utilizada para os experimentos foi implementada usando a linguagem Java versão 1.5 com a biblioteca Java 3D API versão 1.3.1 para Win32/OpenGL, utilizando o sistema operacional Windows XP SP2. 4.1. Informação Mútua Antes de fazer o registro de imagens termográficas, o método de registro de Informação mútua implementado foi testado com dados sintéticos e validado para se ter certeza da confiabilidade do algoritmo de registro implementado. Primeiramente serão apresentados alguns experimentos feitos para se verificar o funcionamento do algoritmo. Depois foi preciso gerar casos de testes utilizando técnicas de teste de software para possuir entradas relevantes e legitimadas pelas técnicas, ao contrário de testar arbitrariamente valores sem um critério mais cientifico. A escolha das técnicas seria baseada de modo que cobrisse o domínio do problema com entradas relevantes e não fosse afetado por pressuposições do método implementado, tudo isso sem gerar um número excessivo de testes. Para isso foi definido o domínio dos casos de testes e então foram escolhidas duas técnicas complementares: Boundary-value analysis e Fuzz testing. A primeira técnica iria cobrir os limites do domínio definido e então a segunda cobriria uma gama de testes dentro do domínio estabelecido. Dessa forma foi possível ter testes que cobrissem uma área maior do domínio do problema. 42 4.1.1. Experimentos O primeiro experimento consistiu em usar o modelo tridimensional do pára-raio (Fig. 8) e registrá-lo com uma projeção bidimensional do mesmo modelo rotacionado 30 graus em relação ao eixo x (Fig. 9). O modelo não reproduz com exatidão os detalhes visuais de um pára-raio de tensão (Fig. 10). Entretanto, o modelo utilizado é satisfatório para o algoritmo de registro. Nesse teste, o modelo foi rotacionado um grau por vez, cobrindo todas as rotações no eixo x dentro do intervalo [-40, 40] e no eixo z dentro do intervalo [-10, 10]. O experimento obteve o resultado esperado, a maior informação mútua foi encontrada quando o modelo estava rotacionado 30 graus em relação ao eixo x e 0 grau em relação ao eixo z. Foi repetido o experimento nove vezes para verificar o tempo médio gasto para fazer o registro de todas as rotações observadas, esse tempo foi de aproximadamente 26 segundos. O experimento seguinte consistiu em ver se era possível registrar a imagem visual do objeto em escala de cinza (Fig. 11) no modelo, usando as mesmas rotações do experimento anterior. O resultado foi satisfatório, a maior informação mútua foi encontrada quando o modelo estava rotacionado a 2 graus em relação ao eixo x e 1 grau em relação ao eixo z. O experimento foi repetido nove vezes e o tempo médio encontrado para fazer o registro de todas as rotações observadas foi de aproximadamente 100 segundos. O tempo foi maior que o experimento anterior porque a imagem visual possui uma variação maior de pixels do que a utilizada no experimento anterior necessitando de mais cálculos para calcular a informação mútua. 43 Figura 8 – Modelo tridimensional de um pára-raio. Figura 9 – Projeção do modelo tridimensional rotacionado 30 graus em relação ao eixo x. Figura 10 – Imagem visual de um pára-raio ASEA XAP 145 A2 Figura 11 – Imagem resultante da conversão da Fig. 8 para escala de cinza. 44 4.1.2. Boundary-value analysis Boundary-value analysis é uma técnica de teste de software cujos valores testados são acima, abaixo e diretamente sobre os limites do domínio. Por exemplo, em um sistema que aceita valores de entrada entre um e dez, os testes realizados seriam os valores um, dez (diretamente sobre o domínio), zero (abaixo do domínio) e onze (acima do domínio). Essa técnica possui a grande vantagem de gerar poucos casos de testes e a desvantagem de não testar todas as possibilidades. Segundo Myers (2004), casos de testes que exploram as condições dos limites possuem uma chance maior de identificar erros. Os testes gerados usaram uma projeção bidimensional do modelo rotacionado nos eixos x e z para ser registrado no próprio modelo. Assim a solução esperada, que equivale à informação mútua máxima, será quando o modelo estiver rotacionado nos mesmos graus que a projeção usada como entrada. Seguindo os limites de rotação definidos nos experimentos anteriores, os valores para rotação em x estarão no intervalo [-40, 40] e em z no intervalo [-10, 10]. A seguir, para facilitar a descrição dos testes, considere o par ordenado (α, β) como sendo uma projeção bidimensional do modelo rotacionado em α graus em relação ao eixo x e β graus em relação ao eixo z. Para os testes no limite do domínio: (-40, -10) e (40, 10), a solução esperada foi alcançada. O algoritmo de registro obteve a maior informação mútua quando o modelo estava transformado com os mesmos valores da imagem de entrada. Para os testes fora do limite do domínio: (-41, -11) e (41, 11), os testes atingiram a melhor solução dentro do domínio. A maior informação mútua encontrada nos testes foi justamente o limite do domínio mais próximo, ou seja, para o teste (-41, -11) a solução encontrada foi equivalente à solução do teste (-40, -10) enquanto para o teste (41, 11) a solução encontrada foi equivalente à solução do teste (40, 10). 45 Como o método passou em todos os casos de testes gerados pode-se dizer que o método implementado foi validado pela técnica Boundary-value analysis. 4.1.3. Fuzz Testing Fuzz Testing é uma técnica de teste de software cuja idéia básica é gerar aleatoriamente os dados de entrada do sistema para testar. As grandes vantagens de usar essa técnica é que o planejamento dos testes é extremamente simples e não é influenciada por pressuposições sobre o comportamento do sistema. Como o algoritmo de registro já passou pela técnica de teste anterior, foram feitos apenas alguns testes utilizando o Fuzz Testing com valores contínuos para complementar os testes da ultima técnica e reforçar a validação do algoritmo implementado. Os limites do domínio são os definidos anteriormente, mas agora os valores gerados serão contínuos enquanto o algoritmo de registro trabalha com valores discretos, por isso é esperado um pequeno erro. Os testes e seus resultados podem ser vistos na Tabela 1. No Tabela 1: Casos de testes para técnica Fuzz Testing Teste Solução Erro Quadrático Teste gerado (α; β) encontrada (α, β) (em graus) 1 (-19,5; 4,8) (-19, 5) 0,29 2 (35,4; -5,6) (35, -6) 0,32 3 (-6,7; -6,5) (-7, -6) 0,34 4 (-33,4; 2,9) (-33, 3) 0,17 5 (-9,5; 2,5) (-9, 3) 0,5 6 (-6,9; 7,3) (-7, 7) 0,1 7 (11,1; -1,0) (11, -1) 0,01 8 (32,9; 7,9) (33, 8) 0,02 9 (21,6; -9,0) (22, -9) 0,16 46 10 (7,8; -4,3) (8, -4) 0,13 11 (-23,2; 3,4) (-23, 3) 0,2 12 (35,2; -7,0) (35, -7) 0,04 13 (1,8; -4,3) (2, -4) 0,13 14 (25,9; 4,5) (26, 5) 0,26 15 (-12,8; 4,4) (-13, 4) 0,2 16 (-22,7; -4,6) (-23, -5) 0,25 17 (34,9; 1,2) (35, 1) 0,05 18 (7,2; 9,1) (7, 9) 0,05 19 (31,5; -7,0) (32, -7) 0,25 20 (-1,6; 3,9) (-2, 4) 0,17 Em todos os casos a solução esperada foi encontrada, que consiste no valor discreto mais próximo. O maior erro médio quadrático observado foi de 0,5 graus. Portanto pode-se dizer que o método de registro implementado foi validado pelos casos de testes da técnica Fuzz Testing. 4.2. Registro de Imagens Termográficas Considerando que o método de registro foi devidamente testado e aprovado por técnicas de teste de software, pode-se fazer os devidos experimentos de registro usando imagens termográficas. Neste caso, não foi utilizada nenhuma técnica de teste de software por dois motivos: primeiro porque foram testadas todas as imagens termográficas que foram disponibilizadas (Fig. 12 a 17); segundo porque a solução ótima não era previamente conhecida. 47 Figura 12 – Imagem termográfica 1, original (esquerda) e em escala de cinza (direita). Dimensões originais: 318x240. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR. Figura 13 – Imagem termográfica 2, original (esquerda) e em escala de cinza (direita). Dimensões originais: 318x240. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR. Figura 14 – Imagem termográfica 3, original (esquerda) e em escala de cinza (direita). Dimensões originais: 640x480. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR. 48 Figura 15 – Imagem termográfica 4, original (esquerda) e em escala de cinza (direita). Dimensões originais: 640x480. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR. Figura 16 – Imagem termográfica 5, original (esquerda) e em escala de cinza (direita). Dimensões originais: 640x480. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR. Figura 17 – Imagem termográfica 6, original (esquerda) e em escala de cinza (direita). Dimensões originais: 640x480. Foto tirada pela câmera ThermaCAM® P20 NTSC da empresa FLIR. 49 Para fazer o registro em um tempo viável, foi utilizado um domínio menor para os parâmetros de rotação de modelo. Nos experimentos da seção anterior, na tentativa de registrar uma imagem visual, o método demorou aproximadamente 100 segundos, ou seja, aproximadamente 2 minutos. Analisando a base de imagens fornecida pela CEMIG foi possível chegar aos novos limites do domínio, as rotações no eixo x ficaram limitadas no intervalo [-10, 10] e no eixo z dentro do intervalo [-5, 5], todas as rotações testadas foram números inteiros. Os limites de translação nos eixos x e y seriam dinâmicos, computados de acordo com o tamanho da imagem de registro, enquanto a translação em z (escala) pôde assumir os valores {0, 10, 20, 30, 40}. Primeiro serão mostrados os testes realizados utilizando-se o gradiente e depois os testes utilizando o algoritmo de força bruta. 4.2.1. Registro usando Gradiente Como explicado na Seção 3.4.6, o algoritmo de gradiente estocástico descendente procura pela transformação que resultará na maior informação mútua. Esse algoritmo possui a vantagem de ser mais rápido do que a força bruta embora nem sempre atinja uma solução satisfatória. A taxa de aprendizagem do algoritmo é ajustada automaticamente, a cada iteração, de acordo com a variação da informação mútua obtida pela iteração passada. Foram realizados testes pra determinar qual deveria ser a taxa de aprendizagem inicial, foram testados os valores {0,1; 0,2; 0,3; 0,4; 0,5; 0,6; 0,7; 0,8; 0,9} sendo escolhido o valor 0,5 como padrão porque foi o valor que apresentou o melhor equilíbrio, possuindo um ajustamento médio a cada iteração e uma boa velocidade de convergência. O primeiro teste utilizando o gradiente foi para registrar a Figura 12. Embora o tempo de processamento tenha sido bom (aproximadamente 28 segundos), o algoritmo atingiu um mínimo local chegando a uma solução não ótima, como pode ser visto na Figura 18 (a forma em ciano é onde o modelo foi registrado). 50 Foi realizado um segundo teste utilizando uma outra imagem para registrar (Fig. 17). O mesmo problema do teste anterior ocorreu novamente, o algoritmo não chegou a uma solução satisfatória (Fig 19). O tempo gasto para esse teste foi de aproximadamente 32 segundos. Figura 18 – Modelo registrado do teste 1 usando gradiente, tentado registrar a Figura 12, o tempo médio foi de 28 segundos. Figura 19 – Modelo registrado do teste 2 usando gradiente, tentando registrar a Figura 17, o tempo médio foi de 32 segundos. 4.2.1. Registro usando Força Bruta O método de força bruta consiste em testar todas as possibilidades possíveis dentro do domínio estabelecido. Os experimentos consistiram em registrar o modelo com cada imagem termográfica da base. A seguir, para facilitar a descrição dos testes, considere o par ordenado (α, β) como sendo uma rotação do modelo em α graus em relação ao eixo x e β graus em relação ao eixo z. Os testes realizados podem ser vistos na Tabela 2, o tempo médio dos testes foi de aproximadamente 120 segundos cada. No Teste Tabela 2: Testes usando imagens termográficas Imagem utilizada Solução encontrada (α, β) Modelo Registrado 1 Figura 12 (-2, 0) Figura 20 2 Figura 13 (-1, 0) Figura 21 3 Figura 14 (-9, 1) Figura 22 4 Figura 15 (-5, 3) Figura 23 5 Figura 16 (-2, 2) Figura 24 6 Figura 17 (1, 5) Figura 25 51 Figura 20 – Modelo registrado do teste 1 usando força bruta. Figura 21 – Modelo registrado do teste 2 usando força bruta. Figura 22 – Modelo registrado do teste 3 usando força bruta. Figura 23 – Modelo registrado do teste 4 usando força bruta. Figura 24 – Modelo registrado do teste 5 usando força bruta. Figura 25 – Modelo registrado do teste 6 usando força bruta. 52 Não foram disponibilizadas imagens termográficas de equipamentos com uma falha em potencial, portanto foram simuladas falhas usando as imagens originais como base e inserindo-se uma falha na imagem para prosseguir com os testes de registro analisando os experimentos em casos de falhas. As falhas inseridas nos testes 7, 8 e 9 foram feitas alterando uma parte da imagem original para cores que representam uma maior temperatura, enquanto as inseridas nos testes 10, 11 e 12 foram feitas alterando uma parte da imagem para cores que representam uma temperatura mais baixa. Por questão de espaço apenas uma imagem do resultado de cada séria de teste será exibido. Era esperado que os resultados fossem similares aos testes anteriores dessa seção. Os mesmos parâmetros dos testes anteriores com imagens termográficas foram utilizados. Os testes realizados podem ser vistos na Tabela 3, o tempo médio dos testes foi de aproximadamente 120 segundos cada. No Teste Tabela 3: Testes usando imagens termográficas com falhas simuladas Imagem original Solução encontrada (α, β) Modelo Registrado 7 Figura 12 (-2, 0) - 8 Figura 13 (-1, 0) - 9 Figura 14 (-9, 1) Figura 26 10 Figura 15 (-5, 3) Figura 27 11 Figura 16 (-2, 2) - 12 Figura 17 (1, 5) - 53 Figura 26 – Modelo registrado do teste 9. Figura 27 – Modelo registrado do teste 10. 4.3. Análise dos Resultados Primeiramente, antes de testar o registro de imagens termográficas, foi preciso verificar o funcionamento do algoritmo de informação mútua implementado. Os experimentos iniciais (Seção 4.1.1) foram feitos somente para se ter uma idéia geral, sem grandes critérios, de como o algoritmo iria se comportar. Nos primeiros experimentos foi, possível verificar que uma imagem visual consome mais tempo para ser registrada do que uma projeção do próprio modelo, porque os pixels da imagem visual possuem uma maior variação de intensidades e, portanto o algoritmo gasta mais tempo processando os cálculos do registro. Os testes realizados depois dos experimentos iniciais foram feitos usando critérios de testes de software para não testar arbitrariamente o algoritmo implementado. Utilizando testes cuja solução ideal era previamente conhecida, foi possível verificar que a implementação feita atingiu os resultados esperados. Como pode ser visto nos casos de testes gerados pelo método Fuzz Testing (Seção 4.1.2) o maior erro médio quadrático encontrado foi de 0,5 graus, um erro bastante aceitável. Para os testes de registro de imagens termográficas, o algoritmo deveria passar a computar os limites de translação em conjunto com os de rotação. Como nos testes 54 anteriores, o registro era realizado em uma projeção do próprio modelo, não havia variação de translação, portanto a translação não era calculada no algoritmo. Com novas transformações a serem realizadas o algoritmo teria de fazer mais cálculos e porventura demoraria mais tempo. Por essa causa foi preciso redefinir os limites de rotações de modo a diminuir as transformações observadas e aumentar a performance sem prejudicar a eficácia do registro. Para o método de registro usando o gradiente estocástico descendente para encontrar a melhor transformação, os resultados não foram satisfatórios. A função do gradiente ficou em um mínimo local, registrando o modelo em um lugar inapropriado da imagem, embora o tempo gasto nesse método tenha sido muito mais rápido do que o da força bruta. Usando um método de força bruta para encontrar a maior informação mútua, os resultados foram bem melhores do que os do gradiente, embora o tempo gasto tenha sido em certos casos até quatro vezes maior. Foram testados todas as imagens disponíveis na base de dados, e os resultados encontrados indicam que o algoritmo conseguiu registrar o modelo com sucesso em todos os casos. Não existia nenhuma imagem na base que possuía uma falha para testar o método de registro nesse caso, por isso foi necessário alterar as imagens da base de modo a simular falhas em potencial nos equipamentos e verificar se o algoritmo seria capaz de registrá-las com sucesso. Os resultados foram similares aos testes anteriores comprovando que o algoritmo não é sensível a esse tipo de variação na imagem e que seria possível registrar imagens de equipamentos com falhas com sucesso. 55 5. Conclusão A detecção de falhas incipientes em equipamentos elétricos é uma das áreas onde termografia infravermelha é bastante aplicada, geralmente usando a termografia em um programa de manutenção preditiva que pode identificar falhas em potencias antes que elas ocorram. Mesmo com atrativo custo/beneficio dessa tecnologia, as câmeras infravermelhas e softwares comerciais que lidam com termografia ainda possuem um custo elevado. O registro de imagens termográficas desse trabalho teve como motivação principal baixar os custos de sistemas de diagnostico de falhas baseado em termografia que utiliza câmeras infravermelhas em posições fixas para que não haja variação de posicionamento e escala nas imagens, mas aumentam muito o custo do monitoramento. Os graus de liberdade de transformações do modelo foram limitados para diminuir o tempo gasto durante o processo de encontrar a maior informação mútua. Devido a limitada base de imagens com apenas uma visão de cada objeto foi disponibilizada, não foi possível fazer uma reconstrução do eixo y, sendo possível então desconsiderar esse eixo de rotação. Se essa abordagem fosse utilizada para uma base com múltiplas visões de um mesmo objeto então seria preciso realizar rotações nesse eixo para obter sucesso com o registro. Analisando as imagens disponíveis foi possível definir os limites de rotação para os restantes eixos, x e z, para aplicação em outro caso seria preciso uma análise para definir esses parâmetros. A técnica de registro de informação mútua tem sido bastante aplicada no registro de imagens médicas com bons resultados. A técnica de informação mútua difere bem de outras técnicas de registro porque tenta maximizar a informação mútua ao contrário de minimizar alguma função energética. A técnica pode usar diferentes funções de densidades probabilísticas como, por exemplo, Histograma e Parzen Window, sendo o Histograma a escolha desse trabalho por causa da simplicidade e principalmente rapidez de desempenho. 56 Usando técnicas de testes de software com dados controlados cujos resultados esperados eram conhecidos a priori, foi possível validar o método de registro implementado sem precisar testar todas as possíveis entradas. A validação do método foi importante pra se ter confiabilidade nos resultados quando o método fosse aplicado no registro de imagens termográficas. O emprego de uma função de gradiente estocástico descendente para encontrar a transformação que resultaria na maior informação mútua não trouxe resultados satisfatórios para o caso estudado. Embora o tempo gasto para registrar usando o gradiente foi bastante menor que da força bruta, o gradiente ficou preso em um mínimo local da função, registrando erroneamente o modelo na imagem termográfica. O método de força bruta conseguiu bons resultados para o registro das imagens termográficas, gastando um tempo aceitável mesmo que maior que o do gradiente, e com uma eficácia no registro bastante satisfatória. Informação mútua tem se tornado uma solução viável para o problema de registro de imagens. Os experimentos e testes do capítulo anterior demonstram que é possível realizar o registro de imagens termográficas com sucesso levando um tempo satisfatório. 5.1. Trabalhos Futuros Como trabalhos futuros para esse projeto, existem a possibilidade de abordar as partes de diagnóstico e classificação das faltas no equipamento elétrico que devem ser facilitadas porque a imagem já foi devidamente registrada no modelo. Outra possibilidade seria testar a performance dos testes com uma ferramenta implementada em outra linguagem ou utilizando uma outra biblioteca gráfica. A linguagem Java que foi utilizada para fazer a ferramenta desse trabalho é considerada 57 mais lenta quando comparada a outras linguagens como, por exemplo, C++. Uma análise cuidadosa e imparcial poderia confirmar ou desmistificar essa hipótese para o caso de registro de imagens. Uma alternativa interessante de continuidade do estudo seria verificar a possibilidade de registrar outros equipamentos elétricos ou utilizar uma outra técnica de registro. Existe também espaço para o estudo de uma técnica automatizada para a criação do modelo tridimensional, a partir da imagem visual do objeto. 58 6. Referências AZEVEDO, Eduardo; CONCI, Aura. Transformações em Pontos e Objetos. In: AZEVEDO, Eduardo; CONCI, Aura. Computação Gráfica – Teoria e Prática. 2 ed. Rio de Janeiro: Elsevier, 2003. Cap. 2, p.38-50. AZEVEDO, Eduardo; CONCI, Aura. Técnicas de Modelagem Geométrica. In: AZEVEDO, Eduardo; CONCI, Aura. Computação Gráfica – Teoria e Prática. 2 ed. Rio de Janeiro: Elsevier, 2003. Cap. 4, p.140-147. BROWN, Lisa G. A survey of image registration techniques. ACM Computing Surveys, [S.l.], v.24, n.4, p.325-376, dec. 1992. EGNAL Geoffrey. Image Registration Using Mutual Information. Computer and Information Science MS-CIS-00-05, University of Pennsylvania, Philadelphia, PA, 1999. EVEN, Philippe. A generic procedure or interactive 3D model registration on images. In: ISPRS CONGRESS, 20, 2004, Istanbul. Anais, Istanbul, [s.n.], jul. 2004, p.204-209. Disponível em <http://www.isprs.org/istanbul2004/comm5/papers/550.pdf> Acesso em: 14 mar. 2006. GILLES, Sébastien. Description and experimentation of image matching using Mutual information. Technical report, Department of Engineering Science, Oxford University, UK, 1996. GROWE, Stefan; TÖNJES, Ralf. A Knowledge Based Approach to Automatic Image Registration. In: INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP'97), 3, 1997, Santa Barbara, USA. Anais, Santa Barbara, [s.n.], oct. 1997, p.228-231. Disponível em <http://citeseer.ist.psu.edu/growe97knowledge.html> Acesso em: 14 mar. 2006. HIGHNAM, Ralph; BRADY, Michael. Model-Based Image Enhancement of Far Infrared Images. IEEE Transactions on Pattern Analysis and Machine Intelligence, [S.l.], v.19, n.4, p.410415, apr. 1997. Disponível em <http://citeseer.ist.psu.edu/highnam97modelbased.html> Acesso em: 14 mar. 2006. KELCH, Craig K.; SEFFRIN, James R. Infrared Thermography for PPM. Maintenance Technology, [S.l.], may. 1999. Disponível em <http://www.mt-online.com/articles/0599amt01.cfm> Acesso em: 14 mar. 2006. KUIJER, Arjan. Mutual Information Aspects of Scale Space Images. UU-CS (Ext. r. no. 2002049). Utrecht, The Netherlands: Utrecht University: Information and Computing Sciences. 2002. LEVENTON, M. E.; WELLS, W.M. III; GRIMSON, W.E.L. Multiple View 2D-3D Mutual Information Registration. In: Image Understanding Workshop, 1997. MAES, F. et al. Multimodality Image Registration by Maximization of Mutual Information, [S.l.], IEEE Transaction On Medical Imaging, v.16, n.2, p.187-198, apr. 1997. MAINTZ, J. B. Antoine; VIERGEVER, Max A. An Overview of Medical Image Registration Methods. Imaging Science Department, Imaging Center Utrecht, 1996. Disponível em <http://citeseer.ist.psu.edu/maintz96overview.html> Acesso em: 14 mar. 2006. 59 MAINTZ, J. B. Antoine; VIERGEVER, Max A. A survey of medical image registration. Medical Image Analysis, [S.l.], v.2, n.1, p.1-36, 1998. Disponível em <http://citeseer.ist.psu.edu/maintz98survey.html> Acesso em: 14 mar. 2006. MCGARRY, D. et al. Registration of Functional Magnetic Resonance Imagery Using Mutual Information, SPIE Proceedings, Los Alamos, v. 3034, n.1, p.621-630, feb. 1997. MYERS, Glenford J. Boundary-value Analysis. In: MYERS, Glenford J. The Art of Software Testing. 2. ed. Hokojen: John Wiley & Sons Inc, 2004. Cap. 4, p.59-64. O’DONNELL, T. et al. Multi-modality model-based registration in the cardiac domain. In: IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, 2000, Hilton Head Island, SC, USA. Anais volume 2, Hilton Head Island, [s.n.], 2000, p.790-791. Disponível em <http://citeseer.ist.psu.edu/456307.html> Acesso em: 14 mar. 2006. RODRÍGUES-CARRANZA, Claudia E.; LOEW, Murray H. Weighted and deterministic entropy measure for image registration using Mutual information. SPIE Medical Imaging. [S.l.], v.3338, p.155-166, 1998. SANOR, Sandy; CAWLFIELD, Scott. Cost/benefit analysis of infrared programs. Maintenance Technology, [S.l.], jun. 2001. Disponível em <http://www.mtonline.com/articles/0601_cost_benefit_infrared.cfm> Acesso em: 14 mar. 2006. SCHULTZ, Carl. Developing and Implementing an Infrared Predictive Maintenance Program. Maintenance Technology, [S.l.], may. 2004. Disponível em <http://www.mtonline.com/articles/0504westar.cfm> Acesso em: 14 mar. 2006. SHANNON, C.E. A mathematical theory of communication. Bell System Technical Journal, n.27, p.623-656, oct 1948. SLOMKA, P. J. et al. Automated 3D registration of magnetic resonance angiography, 3D power Doppler, and 3D B-mode ultrasound images of carotid bifurcation. In Proceedings of SPIE - The International Society for Optical Engineering, volume 3979, p. 332-341, San Diego, CA, USA, 2000. STUDHOLME, C.; HILL, D.; HAWKES, D. Automated 3D registration of MR and CT images of the head, Medical Image Analysis, [S.l.],v.1, n.2, p.163-175, 1996. VIOLA, Paul A. Alignment by Maximization of Mutual Information. 1995. PhD thesis Massachusetts Institute of Technology (MIT). WILLIAMS, Nathaniel et al. Automatic Image Alignment for 3D Environment Modeling. In: Brazilian Symposium on Computer Graphics and Image Processing, 17, 2004, Curitiba. Anais: Curitiba, 2004, p.388-395. Disponível em <http://citeseer.ist.psu.edu/719002.html> Acesso em: 14 mar. 2006.