Prévia do material em texto
Projeto Integrador III MEDIÇÃO DE TEMPERATURA ATRAVÉS DE VISÃO COMPUTACIONAL Felipe Kissmann 1 , Guilherme Augusto Segat 2 , Renan Felipe do Vale 3 1 IFSC Chapecó, Estudante, felipekissmann@outlook.com 2IFSC Chapecó, Estudante, guilhermesegat@gmail.com ³ IFSC Chapecó, Estudante, renanfelipedovalle@gmail.com Resumo: A proposta do projeto é desenvolver um software capaz de reconhecer um padrão geométrico presente numa imagem em espectro infravermelho e calcular a sua temperatura. Palavras-Chave: Temperatura, Infravermelho, Visão computacional. 1. INTRODUÇÃO Com o avanço da tecnologia a automação vem ganhando cada vez mais espaço em diferentes áreas da indústria, com o objetivo de trazer maior eficiência de produção, além da redução de custos e tempo. Em alguns processos industriais a automação já se torna essencial por substituir um processo repetitivo, como no caso de reconhecimento de objetos, para obter-se uma classificação correta durante a linha de produção. A diferenciação de objetos pode ser dada através do sensoriamento de diferentes características como cor, forma, tamanho, peso, entre outros. Um tipo de sensoriamento muito usado para identificação são as câmeras, que aliadas com um software de processamento de imagem, podem extrair várias informações do que está sendo monitorado. Outro avanço significativo da tecnologia é a capacidade de geração de imagens térmicas, que trouxe inúmeras vantagens em diferentes áreas da indústria, devido ao fato desta conseguir monitorar a temperatura de uma área ou objeto a uma boa distância, sem nenhum tipo de conexão com o mesmo. O problema apresentado para este estudo é a dificuldade de monitoramento da temperatura de um objeto que pode ter sua localização obstruída e está em constante movimento, que é o caso de processos como a rotomoldagem ou linha de produção de uma agroindústria. Para a resolução deste, será desenvolvido um software que possa fazer a análise completa de imagens geradas por uma câmera térmica e ainda apresentar as informações necessárias para o usuário. 2. PROJETO INFORMACIONAL Na concepção e projeto de visão computacional aparecem diversos questionamentos técnicos que precisam ser elucidados para o melhor funcionamento do sistema proposto. Abaixo segue uma breve revisão sobre os principais aspectos a serem observados previamente nessa área. 2.1 Imagem A imagem digital pode ser definida com uma função bidimensional f(x,y) onde x e y são coordenadas de um plano e f é o valor de de intensidade luminosa, cor, brilho ou outra característica ou combinação destas na coordenada especificada (QUEIROZ; GOMES, 2001). Desta forma uma imagem digital é uma matriz de pontos chamados pixels com características visuais capazes de expressar algo inteligível quando combinados e processável por métodos computacionais convencionais. Tal conceito é possível de ser visualizado na imagem abaixo. Figura 1: Representação de uma imagem digital em tons de cinza (QUEIROZ; GOMES, 2001) 2.2 Processamento de Imagens A primeira etapa do processamento de uma imagem consiste na aquisição desta, nesta etapa estão envolvidas câmeras digitais que capturam a radiação eletromagnética e convertem para uma representação digital desta, capaz de ser inteligível por meios computacionais (INPE, 2017). Em seguida, acontece o pré-processamento da imagem, nesta etapa a figura é ajustada a formatos, dimensões, correções de ruídos entre outros processos que visam tornar mais fácil ou mesmo possível as demais etapas do sistema (INPE, 2017). Após o pré-processamento ocorre o processamento digital, neste momento a imagem é realçada de diferentes formas como por exemplo em relação ao contraste de cores e bordas, este passo é importante pois facilita a obtenção de informações sobre a figura (INPE, 2017). Por fim ocorre a extração de informações desta imagem por meio de técnicas de reconhecimento de padrões, cores e demais propriedades e a partir destas informações é possível fazer uma interpretação visual voltada para uma aplicação específica (INPE, 2017). 2.3 Requisitos do cliente Neste tópico, serão expostos os requisitos que possuem maior importância para o usuário final do software. Estes requisitos foram adquiridos em conversa com o professor proponente do projeto. 2.3.1 Reconhecimento de padrão estático ou em movimento. O programa a ser desenvolvido deverá reconhecer um padrão em imagens obtidas por uma Projeto Integrador III câmera térmica, sendo que a posição do objeto poderá variar, representando movimento. 2.3.2 Reconhecimento de temperatura do padrão estabelecido. Além de reconhecer um padrão, o programa deverá monitorar a temperatura de um objeto como um todo, não apenas em um ponto. 2.3.3 Interface para visualização dos dados. Também se faz necessário criar uma interface para que o cliente possa indicar a forma geométrica a ser monitorada. Nessa mesma interface, após calibrado o padrão, será indicado a temperatura do objeto. 3. PROJETO CONCEITUAL 3.1 Estrutura funcional Neste item será retratado algumas das funcionalidades que o software deverá ser capaz de realizar, seguindo uma sequência lógica de execução. 3.1.2 Função Global Para evidenciar o funcionamento do software descrito na estrutura funcional, de forma resumida, apresenta-se a função global do equipamento, conforme o diagrama Diagrama 01: Função Global Basicamente o usuário insere imagens com dados térmicos no software, que calcula a temperatura aproximada do padrão desejado e retorna ao usuário os dados desejados no processo. 3.1.3 Estruturas funcionais alternativas A estrutura funcional tem o objetivo de expor os componentes do software e as fases do processo de funcionamento. No diagrama 02 é possível visualizar o funcionamento do software dividido em quatro etapas principais que se ramificam em outros passos, essa estrutura apresenta a sequência de trabalho e os procedimentos que o usuário deve seguir. Diagrama 02: Estrutura Funcional 3.2 Hierarquização de requisitos e seleção de soluções Para a seleção das opções de soluções foram levados em consideração alguns fatores. Dentre eles está a disponibilidade de recursos, a experiência dos integrantes, conversas com possíveis usuários do programa e quantidade de bibliografia sobre as técnicas de processamento. A seguir será exposta a matriz morfológica com destaque nas soluções escolhidas para cada item. Posterior à matriz será exposto os motivos pelas quais foram escolhidas cada solução. Tabela 01: Matriz Morfológica com as soluções escolhidas 4. PROJETO PRELIMINAR Esta etapa consistiu em sintetizar todas as ideias levantadas durante o processo de desenvolvimento do projeto como um todo, com um intuito de chegar a um resultado final que atenda todos os requisitos levantados da melhor forma possível. Serão abordados os métodos utilizados para a resolução dos problemas do projeto e o detalhamento de cada um dos mesmos, justificando sua utilização. 4.1 Captura de imagens O software desenvolvido neste projeto trabalha com imagens térmicas, para isto foi necessário realizar a captura de algumas destas. As imagens iniciais para serem utilizadas no software seriam bastante simples, contando com um círculo isolado Projeto Integrador III aquecido a uma temperatura significativamente maior que a ambiente. Foi utilizada a câmara termográficaFLUKE TI90, uma chapa circular e em alguns casos uma chapa retangular, ambas de aço 1020 aquecidas à temperaturas que variavam de 30 à 160°C. Para captura das imagens, as chapas foram posicionadas em pedestais ficando apenas em contato com o ar e aquecendo minimamente o ambiente ao seu redor, assim gerando imagens com forma mais definida. Na figura a seguir, é possível ver a forma circular e retangular em seu espectro visível. Figura 1: formas retangular e circular. Fonte: Dos autores (2017). 4.2 Interface A interface final do software foi baseada na estrutura apresentada no projeto conceitual, porém com alguns recursos modificados. Ela conta com um botão “carregar” para carregamento de imagem a partir das imagens do sistema, a imagem escolhida é carregada em um PictureBox e a partir daí é possível acionar o botão “processar”. Ao processar, mais duas imagens surgem em outros dois PictureBox, um mostra o resultado do processo “canny”, que faz a detecção de bordas da imagem, e a outra mostra o resultado do círculo detectado ignorando o restante da imagem. Quanto as configurações, estão todas presentes na janela raiz do software. No canto inferior esquerdo da janela, é possível mudar a escala da temperatura conforme a imagem a ser processada, possibilitando assim, processar imagens capturadas com escala automática. Logo ao lado, estão presentes os parâmetros de detecção de círculo, onde cada um pode ser alterado individualmente para melhorar os resultados obtidos. E por último, no canto inferior direito são mostrados os valores RGB do círculo detectado e sua temperatura média em graus célsius. A seguir, uma imagem da interface completa, com uma imagem carregada e processada, com todos os parâmetros de configuração ajustados: Figura 2: interface em funcionamento. Fonte: Dos autores (2017). 4.3 Detecção do objeto Partiu-se da ideia de detectar três tipos de objetos: quadrados, triângulos e círculos. Conversando com pessoas que tentaram desenvolver o software em outros projetos integradores, viu-se que a maior dificuldade de padrão à ser encontrado se dava nos circulares, sendo assim, esse foi o primeiro objeto a ser trabalhado. Utilizando a plataforma de desenvolvimento Visual Studio, a biblioteca EmguCV e programando em C#, iniciou-se a fase de desenvolvimento do software. Após fase de pesquisa, viu-se que anteriormente ao uso de ferramentas que detectam padrões circulares, tratar a imagem com alguns filtros facilitaria a detecção do objeto. Com a imagem em mãos foram aplicados alguns filtros, onde após analisados os resultados, foram mantidos ou descartados do programa final. Nos tópicos a seguir se dá uma breve explicação na ferramenta que detecta os círculos bem como seus parâmetros. Tendo em vista que a equipe executora teve o propósito de encontrar um padrão e se dedicar em fazer a correta relação entre os valores do conjunto de pixels com determinada temperatura, apenas o padrão circular está sendo utilizado e será explicado na sequência. 4.3.1 Hough Circles Dentro da biblioteca Emgu CV, há diversas ferramentas que auxiliam na detecção de padrões, dentre elas, está a ferramenta denominada Hough Circles. Esta ferramenta tem como objetivo encontrar todos os padrões circulares presentes numa imagem e armazená-los em um vetor denominado circles. Dentro desta ferramenta, há alguns parâmetros calibráveis onde é possível especificar quais círculos e de quais tamanhos devem ser encontrados. Também é possível descrever o quão distante deve estar um círculo de outro, prevenindo assim, que os círculos se sobreponham. Na figura abaixo é possível ver todos os parâmetros ajustáveis da função Hough Circles, que ficarão disponíveis para calibração de cada imagem. Projeto Integrador III Figura 3: parâmetros de detecção. Fonte: Dos autores (2017). Para um melhor entendimento do usuário, será explicado aqui qual a função de cada parâmetro. 4.3.1.1 Canny Threshold e Threshold Linking Trata-se dos limiares para o processo de histerese. Para cada imagem haverá valores que podem auxiliar na detecção da imagem, como podem atrapalhar. Os valores desses filtros variam de 0 à 255, onde 0 irão tratar qualquer conjunto de pixels como limiares e 255 irão reconhecer apenas limiares muito bem definidos. Para melhor esclarecimento, nas imagens a seguir irei calibrar dois valores diferentes para a mesma imagem. Nessa imagem consta a imagem em espectro infravermelha original. Figura 4: espectro infravermelho. Fonte: Dos autores (2017). Essa imagem é o resultado da aplicação do filtro com valores relativamente baixos. Figura 5: aplicação canny. Fonte: Dos autores (2017). Agora, na figura à seguir, a calibração está com valores mais condizentes para encontrar os limiares corretos do padrão circular. Figura 6: aplicação canny. Fonte: Dos autores (2017). 4.3.1.2 Acumulador Dentre as funções da Hough Circles talvez seja este o parâmetro mais confuso para explicação. De forma resumida, quanto mais baixo, mais fácil de encontrar círculos falsos pela função Hough Circles. Na bibliografia utilizada, os autores recomendam testar valores para cada imagem, não apresentando um padrão específico para seguir. Nas figuras abaixo é possível ver que para pequenas mudanças neste parâmetro, há grandes diferenças nos círculos encontrados. Neste primeiro caso foi colocado 10 no acumulador e o mesmo encontrou vários círculos inexistentes. Figura 7: acumulador 10. Fonte: Dos autores (2017). Já nesse segundo caso, para a mesma imagem, foi incrementado um valor de 4 no acumulador, totalizando 14. Nota-se um resultado totalmente diferente do caso anterior. Figura 8: acumulador 14. Fonte: Dos autores (2017). 4.3.1.3 Resolução de Centro Trata da relação inversa da resolução do acumulador para a resolução da imagem. Por exemplo, se for parametrizado como 1, o acumulador terá a mesma resolução da imagem original, caso seja parametrizado como 2, o acumulador tem metade da altura e largura. Neste caso, o software irá trabalhar apenas parametrizado em 1. 4.3.1.4 Distância Mínima Este parâmetro se refere à distância entre o centro de dois círculos. Visto que as imagens retiradas para testes no software possuem apenas um círculo, a distância pode ser máxima (255). Projeto Integrador III 4.3.1.5 Raio mínimo Como o próprio nome já diz, se refere ao raio mínimo do círculo à ser encontrado. 4.3.1.6 Raio máximo Esse parâmetro tem como função limitar os círculos que devem ser encontrados em um raio máximo. Caso o valor seja 0, não há valor máximo de raio. 4.4 Detecção de temperatura A partir da detecção do objeto são obtidas algumas informações como a posição do centro do círculo nas coordenadas X e Y dentro da imagem e o tamanho do raio. Com isso é executado um algoritmo que armazena a cor de cada pixel dentro da região detectada. Este algoritmo se baseia na execução de dois laços de repetição e um teste condicional, os laços de repetição utilizam a informação do centro do círculo e do raio para percorrer um quadrado nas coordenadas X e Y, pixel a pixel. Já o teste condicional visa delimitar a região onde a cor de cada pixel será armazenada, para isso parte-se da equação do círculo abaixo: Equação: Equação do círculo [1] Onde: r: raio x: coordenada x y: coordenada y Desenvolvendo e aplicando as variáveis disponíveisna aplicação é possível dizer que está dentro do círculo qualquer pixel que puder ser descrito pela inequação abaixo, onde é considerado dentro do objeto o pixel cuja a raiz quadrada da soma das coordenadas em x e y ao quadrado são menores do que o raio detectado. Equação: Inequação que delimita os pixels dentro do objeto √ [2] Onde: : raio do objeto detectado x: coordenada x do pixel y: coordenada y do pixel Desta forma o algoritmo percorre uma região retangular, pixel a pixel, e quando o teste condicional identifica que o pixel está dentro do círculo, este tem sua cor armazenada no padrão RGB, conforme é demonstrado na imagem abaixo. Figura 9: identificação RGB. Fonte: Dos autores (2017). Após mapear e armazenar cor de cada pixel dentro da figura detectada, o sistema extraí a média aritmética simples de cada componente identificado, desta forma obtendo a tonalidade média da figura. O princípio básico da câmera trata-se de aplicar uma escala de cor de acordo com a temperatura das regiões da imagem que está sendo vista ou capturada. Essa escala pode ser vista na figura abaixo e nota-se que ela é unidimensional e atribui cores mais vermelhas para temperaturas mais quentes, mais verdes para intermediárias e mais azuis para temperaturas mais baixas. As temperaturas máxima e mínima podem ser arbitradas manualmente ou definidas automaticamente pela câmera Figura 10: escala de temperatura. Fonte dos autores (2017) Uma característica importante é que está escala é unidimensional, o que gera um problema pois a criação de cores em sistemas computacionais digitais se dá em múltiplas dimensões, como no modelo RGB, onde uma cor é formada por uma parcela de vermelho, uma parcela de verde e uma parcela de azul. Por isso, foi preciso encontrar um modelo de correlação que consiga transformar um modelo multidimensional (cor) em um modelo unidimensional (temperatura) com precisão. O modelo desenvolvido se baseia na observação do comportamento do padrão RGB ao longo da escala. Percebeu-se que dentro da variação de temperatura sempre há uma cor dominante, a qual se trata da vermelha no último terço do span (faixa de variação da temperatura) da medição, verde no terço central e azul no terço inferior. Há também um canal de cor que varia aumentando ou diminuindo junto com a temperatura indicando a transição e forçando a mudança de tonalidade, este canal de cor é o segundo de maior intensidade e com base nele se obtém a variação de temperatura. Por fim o canal restante no modelo RGB é nulo (zero) ou intensidade e variação nula e pode ser desconsiderado durante a mudança de cor. A variação de cor se dá entre 0 e 255, logo se faz uma escala simples dentro de cada patamar levando em consideração a média da cor e como se dá a relação de variação dentro daquele patamar No esquemático demonstrado na figura abaixo percebe-se a cor dominante, variante e nula para cada faixa da escala de cor correlacionando com a temperatura. Projeto Integrador III Figura 11: Modelo RGB. Fonte: Dos autores (2017). 5. Resultados O sistema foi testado através da comparação dos resultados revelados por ele e pelos que são fornecidos na câmera termográfica da Fluke bem como no software da mesma. Pode-se afirmar que o software desenvolvido consegue apresentar resultados satisfatórios, bastante fiéis aos que são mostrados pelo sistema profissional. Abaixo é possível visualizar uma imagem tirada com a câmera termográfica e temperatura que ela identificou. Figura 12: imagem câmera termográfica. Fonte: Dos autores (2017). A seguir, uma captura de tela do software desenvolvido processando uma imagem tirada segundos após a anterior, apenas com a função de informações desabilitada. Nota-se que a temperatura média observada é muito fiel a temperatura identificada pela câmera. Figura 13: resultado obtido. Fonte: Dos autores (2017). Em testes percebeu-se que o sistema apresenta uma diferença de até 10°C em relação a imagem da câmera, isso se mostra por alguns fatores como: diferença de tempo entre a captura da imagem com informações e sem informações o que faz o objeto ter sua temperatura alterada, nas imagens da câmera a temperatura apresentada se trata de um ponto ou pequena região do objeto enquanto no software desenvolvido se calcula a temperatura média de todo o objeto, além disso, pela tecnologia da câmera não ser aberta é difícil precisar o funcionamento do algoritmo que calcula a temperatura logo é bastante complexo garantir uma fidelidade completa. Por vezes é necessário mudar os parâmetros de detecção de objetos para conseguir realizar o processamento da imagem em virtude da qualidade de captura e nitidez das bordas o que é uma tarefa um pouco trabalhosa e inviável para produto final, porém, completamente aceitável para um projeto em desenvolvimento como este. Contudo, é possível afirmar que o software apresenta um resultado bastante satisfatório dentro das condições de desenvolvimento do trabalho, a técnica de detecção de temperatura a partir da cor se mostrou bastante eficiente e robusta, trazendo resultados fiéis ao real. A interface é amigável e de fácil utilização. 5. REFERÊNCIAS BRASIL. J Viana. Universidade Federal Rural do Rio de Janeiro. Processamento da Imagem. Disponível em: <http://www.ufrrj.br/institutos/it/de/acidentes/sr4.htm> . Acesso em: 16 mar. 2017. QUEIROZ, José Eustáquio Rangel de; GOMES, Herman Martins. Introdução ao Processamento Digital de Imagens. Campina Grande: Ufcg, 2001. INFRARED. Câmeras Termográficas. Disponível em: <http://www.infraredequipamentos.com.br/index.php/t ermografia-e-corona/camera-termografica.html>. Acesso em: 16 mar. 2017. CONCEITO.DE (Brasil). Conceito de Imagem. Disponível em: <http://conceito.de/imagem>. Acesso em: 13 mar. 2017. INPE. Instituto Nacional de Pesquisa Especial. Teoria : Processamento de Imagens. Disponível em: <http://www.dpi.inpe.br/spring/teoria/realce/realce.htm >. Acesso em: 16 mar. 2017.