RECONHECIMENTO DE PADRÕES EM IMAGENS DE PLANTAS DE EUCALIPTO OBTIDA POR UM VEÍCULO AÉREO NÃO TRIPULADO (VANT) Vitor Mello de Araujo Lima1 Kalinka R. L. J. C. Branco Adimara Bentivoglio Colturato Universidade de São Paulo/Instituto de Ciências Matemáticas e de Computação 1 Bolsista CNPq. E-mail: [email protected] Resumo O projeto consistiu no teste de algoritmos da biblioteca OpenCV em imagens de plantações de eucaliptos. As imagens foram obtidas por um VANT e registravam plantas doentes e plantas sadias. Aplicando as técnicas de processamento de Imagens contidas na biblioteca, buscava-se separar com eficiência as plantas sadias das doentes. Várias funções da biblioteca foram testadas e avaliadas com o critério de resolver o problema proposto . Palavras Chaves: Processamento de Imagens, VANT, Segmentação. Abstract The project consisted in the test of OpenCV algorithms on images of eucalyptus plantations. The images were obtained by a VANT and they recorded sick and health plants. Using image-processing techniques, contained in the OpenCV library, we wanted to separate the sick and the health plants. Various functions were tested and evaluated. Key words: Image Processing, VANT and segmentation. SIICUSP 2014 – 22º Simpósio Internacional de Iniciação Científica e Tecnológica da USP Introdução A visão é o mais avançado de nossos sentidos, por isso, não surpreende que as imagens tenham papel principal na percepção humana. Entretanto, ao contrário de nós humanos, cuja visão só abrange uma estreita banda do espectro eletromagnético, as máquinas que capturam imagens abrangem praticamente o espectro todo, desde raios gama às ondas de rádio. Elas podem operar com imagens oriundas de fontes que nós humanos não costumamos associar à imagens. Como, por exemplo, ultrassom, microscopia eletrônica, e imagens geradas por computador. Por isso, o processamento de imagens digitais tem um largo e variado campo de aplicações. O processamento de imagens consiste em aplicar sobre a imagem transformações sucessivas com o objetivo de extrair mais facilmente a informação nela contida de modo que o resultado final seja mais adequado que a imagem original para uma aplicação específica (Souza, 2011). A ferramenta utilizada no projeto é a biblioteca OpenCV (Open Source Computer Vision Library), implementada nas linguagens C e C++ pela Intel. A biblioteca conta com mais de 500 funções dedicadas ao processamento digital de imagens e reconhecimento de padrões e aprendizagem de máquina. A biblioteca facilita em muito o trabalho do programador, pois ela já traz pronta uma grande gama de ferramentas para as mais variadas tarefas. Fica a cargo do pesquisador que a usa então o teste dessas ferramentas, avaliando aquela que melhor se encaixa em seus objetivos, e combinando as ferramentas de maneira complementar, para extrair o melhor de cada uma. Vários conceitos previstos na teoria já se encontram codificados no OpenCV, como o thresholding, o filtro gaussiano, clustering, entre outras Esses conceitos e outros foram aplicados e serão detalhados mais adiante. Utilizando algoritmos dessa biblioteca, tem-se como objetivo do projeto fazer o reconhecimento de padrões em imagens aéreas de plantas de eucalipto afetadas por uma enfermidade denominada Murcha de Ceratocystis, causada por um fungo chamado Ceratocystis fimbriata, para que se possa diferenciar nas imagens plantas sadias de plantas doentes. Ainda são escassos os trabalhos específicos de processamento de imagens de plantas de eucaliptos, principalmente em se tratando de sensoriamento remoto, e nesse sentido mostra-se a importância desse projeto que pode vir a contribuir na melhoria de técnicas de manejo da cultura. Objetivos O objetivo do projeto era, obtidas as imagens pelo VANT, dar a elas o melhor tratamento para separar as plantas doentes do restante da imagem. Além disso, dever-se-ia usar algoritmos da biblioteca OpenCV, analisando a sua eficiência com o objetivo, compreendendo seu modo de funcionamento, e testando possíveis combinações. As fotos eram oriundas de plantações de eucalipto doentes, obtidas por imagens aéreas captadas por um VANT. Materiais e Métodos O trabalho foi desenvolvido no Laboratório de Sistemas Embarcados Críticos (LSEC) utilizando imagens aéreas de um veículo aéreo não tripulado(VANT) eBee. Para processamento das imagens foi utilizado a ferramenta OpenCV 2.3, na linguagem C++. Foram testadas vários métodos, como o thresholding (limiarização) binário, toZero, truncado. Cuja ideia básica é estabelecer um limiar, e marcar os pixels acima (ou abaixo) desse limiar, destacando-os do resto da imagem, que é transformado em fundo. Conforme equação: SIICUSP 2014 – 22º Simpósio Internacional de Iniciação Científica e Tecnológica da USP Também foi testado o thresholding adaptativo, onde o valor de thresh é calculado para blocos da imagem, tendo portando vários valores para a mesma imagem, o que auxilia em imagens com luminosidade muito variada. Também foi utilizado o K-means Clustering, método que reduz o numero de “cores” da imagem para uma quantidade selecionada. Funciona muito bem para segmentação e reconhecimento de padrões, e as cores são escolhidas com base na variação dos valores de pixel ao longo da imagem. O método InRange também foi utilizado, esse método, ao contrário da limiarização, busca um range a ser marcado, e não um limiar, possibilitando melhores resultados quando um limiar não é o suficiente. Em auxílio com esses métodos, funções de dilatação e erosão de pixels foram utilizados no tratamento de bordas internas e externas. Além disso, filtragem gaussiana e média também foram técnicas de pósprocessamento utilizadas. Resultados O método mais eficaz encontrado foi combinando a função InRange, que permite definir a faixa de valores de pixels desejada, usando o espaço de cor HSV, e não RGB, conforme Figura 1. Combinado com as funções Erode e Dilate, para o tratamento de bordas internas e externas, abaixo, mostra-se exemplo desse procedimento. Figura 1. Imagem original no visível RGB (à esquerda) e imagem após aplicação do método InRange (à direita). Foram utilizados filtros no pós processamento, na tentativa de lapidar o resultado. Abaixo, é mostrado o resultado com o filtro de média, que atribui um valor ao pixel central com base em sua vizinhança. O Filtro gaussiano que avalia não apenas o valor dos pixels vizinhos, mas também usa sua distância como peso, e o filtro de borramento. SIICUSP 2014 – 22º Simpósio Internacional de Iniciação Científica e Tecnológica da USP Figura 2. Imagem após aplicação do método InRange com filtro de borramento (à esquerda), de média (meio) e gaussiano (à direita). Pode-se notar que o filtro médio produz resultados mais limpos, preservando apenas a parte mais significativa da imagem, como observado na Figura 2. Conclusões O melhor método encontrado foi o processamento com a função inRange, que consegue separar da melhor maneira as plantas doentes das sadias e de outros elementos da imagem. Como o processo não é perfeito, seu uso em conjunto com os algoritmos Erode e Dilate é necessário para tratarmos as bordas internas e internas, que são preenchidas com a aplicação sucessiva dessas funções, na ordem Erode, Dilate, Dilate, Erode. O pós processamento mais efetivo foi usando o filtro MedianFilter, que se mostrou eficaz eliminando pontos isolados marcados pelo algoritmo, frutos provavelmente da variação da luminosidade na foto. Algumas dificuldades superadas durante o projeto foram: Primeiro a instalação da biblioteca no sistema operacional Windows, que demandou varias tentativas, e se mostrou bem mais complexa do que usando Linux. A princípio também houve dificuldade em encontrar o conteúdo desejado na imensa documentação do OpenCV. A busca e teste de várias funções, além da consulta de outros trabalhos na área, buscando achar as funções mais utilizadas e suas vantagens, foram importantes na superação desse obstáculo. Superados, só foi preciso paciência e bastante experimentação tanto das funções como dos melhores parâmetros, para se lapidar os resultados. Referências Bibliográficas GONZALEZ, R. C.; WOODS, R. E. Digital Image Processing (3rd Edition). [S.l.]: Prentice Hall, 2007. Hardcover. ISBN 013168728X. HAYKIN, S. Redes neurais: princípios e prática. 2ed. Porto Alegre: Bookman, 2001. SOUZA, L.R. Algoritmo para reconhecimento e acompanhamento de trajetória de padrões em vídeos. Monografia. Universidade Federal do Vale do São Francisco, 2011. Disponível em:<<http://www.univasf.edu.br/~ccomp/monografias/monografia_1.pdf >> Acesso em: 24/04/2013. FREIRE, J.F. Aplicações de Visão em C++. Dissertação de Mestrado. Universidade Técnica de Lisboa, 2009. RIBEIRO, H. B. Reconhecimento de Gestos Usando Segmentação de Imagens Dinâmicas de Mãos Baseada no Modelo de Mistura de Gaussianas e Cor de Pele. Dissertação de Mestrado. Escola de Engenharia de São Carlos. 2006 MACHADO, D. S. Sistema de Inspeção Visual Automática ao Controle de Qualidade de Ovos em Linhas de Produção. Dissertação de Mestrado. Centro Federal de Educação Tecnológica de Minas Gerais. 2009. ANJO, M. S. Avaliação das Técnicas de Segmentação, Modelagem e Classificação para o Reconhecimento Automático de Gestose e Proposta de uma Solução para Classificar Gestos da Libra em Tempo Real. Universidade Federal de São Carlos 2012. SIICUSP 2014 – 22º Simpósio Internacional de Iniciação Científica e Tecnológica da USP