RECONHECIMENTO DE PADRÕES EM IMAGENS DE PLANTAS

Propaganda
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
Download