Вы находитесь на странице: 1из 22

Deteco De Ferrugem Asitica Na Soja Analisando A Imagem Da Folha

Utilizando Redes Neurais


Cidinei Luiz Cassol, Cristiano Agosti
1
Curso de Sistemas de Informao, Universidade do Oeste de Santa Catarina UNOESC,
Chapec, Santa Catarina, Brasil, cidicassol@gmail.com
2
Curso de Sistemas de Informao, Universidade do Oeste de Santa Catarina UNOESC,
Chapec, Santa Catarina, Brasil, cristiano.agosti@gmail.com
RESUMO
O presente trabalho visa relatar e apresentar o processo necessrio para a criao de um
prottipo de software que, baseado numa imagem, consiga identificar se uma folha de soja
est hospedando o patgeno PhakopsoraPachyrizique o causador da doena conhecida
como ferrugem asitica. Como esta doena de difcil deteco, principalmente nos perodos
iniciais de infeco, o prottipo poder auxiliar na identificao e com isso aumentar a
produtividade e reduzir custos de produo. apresentada tambm a coleta de imagens para
treino da rede neural, sendo que, os treinos e as imagens esto registrados neste documento.
Est presente neste trabalho uma reviso bibliogrfica acerca da deteco de ferrugem asitica
na soja atravs da anlise da imagem da folha. Utilizando o conceito de redes neurais da
inteligncia artificial, apresentada tambm uma pesquisa utilizando o framework ANNeF,
que permite o uso do algoritmo de backpropagation para que seja possvel cumprir com o
objetivo geral do trabalho. Durante o decorrer dos estudos e trabalhos, o framework sofreu
alteraes em sua estrutura para melhorar a performance. Ao final colocado como chegou-se
a soluo proposta para este tema, identificando os mtodos utilizados e quais foram as
configuraes da rede neural que melhor permitiram a identificao da doena na folha da
soja.
PALAVRAS-CHAVE: Ferrugem asitica, Inteligncia artificial, Reconhecimento de
padres, Redes neurais.
ABSTRACT
This paper describes and presents the process for the creation of a software prototype that
based in an image can identify whether a soybean leaf is hosting the pathogen
PhakopsoraPachyrizi that is causing the disease known as rust. As this disease is difficult to

detect, especially in the early periods of infection, the prototype can assist in identifying and
thereby increase productivity and reduce production costs. It also presented the collect of
images for training the neural network, and the training and the images are recorded in this
document. It is present in this paper a literature review regarding the detection of soybean rust
by analyzing the image of the leaf. Using the concept of neural networks in artificial
intelligence, it is also presented a study using the framework ANNeF, which allows the use of
the backpropagation algorithm to be able to fulfill the overall objective of the work. During
the course of studies, the framework has undergone changes in its structure to improve the
performance. At the end, it is placed as it reached the proposed solution for this issue,
identifying the methods used and what were the settings of the neural network that best
allowed the identification of disease on soybean leaf.
KEYWORDS: Asian Rust, Artificial Intelligence, Pattern Recognition, Neural Networks.
INTRODUO
Este artigo possui como tema o desenvolvimento de uma ferramenta de software capaz de
identificar a presena de Ferrugem Asitica nas folhas de soja atravs da anlise da imagem
da folha, a anlise supracitada utiliza-se de mecanismos de inteligncia artificial como redes
neurais artificiais e reconhecimento de imagem.
O cultivo de soja, no Brasil, realizado em larga escala, devido a isto, esta cultura
sofre com problemas de doenas oriundas de vrias partes do mundo; a ferrugem asitica
umas das doenas mais impactantes na produo da leguminosa. Tendo em vista que o
diagnstico da doena dificultoso e que no existe soluo tecnolgica no mercado que
realize exatamente este diagnstico, v-se neste trabalho, uma soluo para a identificao da
doena nos primeiros instantes do ciclo de vida do patgeno, fator este que determinante
para o controle da ferrugem asitica.
Este artigo registra um trabalho que utiliza tcnicas que cientificamente so
consideradas complexas e muito avanadas, que so utilizadas em outros estudos, como por
exemploo reconhecimento de doenas humanas. Apresenta ainda uma proposta de construo
de algo inovador, que seria de grande valia para o cenrio agrcola nacional, onde poderia
alavancar outros vrios estudos a cerca deste tema. Alm dos fatores j mencionados, existe
ainda a oportunidade de mercado. Como ainda no existe uma ferramenta que consiga
identificar exatamente a ferrugem asitica na soja, o produto capta para sua comercializao
uma rea promissora de mercado.

O objetivo principal o desenvolvimento de um prottipo de software capaz de


identificar a presena do patgeno da Ferrugem Asitica nas plantas de soja atravs da anlise
da imagem da folha, como objetivos especficos citam-se: entrevistar profissionais da rea da
soja, coletar imagens para testes, pesquisar e estudar softwares com objetivos semelhantes ao
estudo em questo, identificar os pontos relevantes que sero utilizados para classificao da
imagem, utilizar conceitos de redes neurais da inteligncia artificial para desenvolver uma
ferramenta para deteco da Ferrugem Asitica e estudar e retirar as informaes necessrias
para aplicao no software sobre a Ferrugem asitica.
2. REVISO BIBLIOGRFICA
A reviso da literatura deste trabalho aborda os conceitos referentes inteligncia artificial,
redes neurais e reconhecimento de padres, bem como ferrugem asitica levando em
considerao os objetivos do mesmo.
2.1. Ferrugem Asitica
A ferrugem da soja causada por dois fungos do gnero Phakopsora: a
PhakopsoraMeibomiae causadora da ferrugem americana e a PhakopsoraPachyrizi,
causadora da ferrugem asitica, a diferena das duas doenas, alm dos continentes de
origem, a colorao, onde a ferrugem americana assume um padro castanho-avermelhado e
a ferrugem asitica utiliza a predominncia da colorao verde acinzentada (AZEVEDO,
2013).
Segundo Embrapa (2013), a ferrugem asitica teve incio no continente asitico, fator
que ajudou a dar o nome para este patgeno. A primeira identificao da doena foi no ano de
1902 no Japo, em 1914 a ocorrncia j era registrada em vrios pases do sudeste da sia. O
fungo chegou ao Brasil e ao Paraguai no ano de 2001. Cientistas acreditam que a doena pode
ter sido trazida por tempestades de furaces, j que o fungo possui nos ventos sua principal
fonte de disseminao.
Conforme Embrapa (2013), considerando a velocidade de infeco, as reas de
abrangncia e as perdas na produo, que podem chegar totalidade caso no tratada, este
fungo o causador da doena que mais causa perdas na produo de soja do mundo.
2.2.1. Caractersticas para deteco da ferrugem asitica
Para cumprir com o objetivo de entrevistar profissionais da rea de soja, foi entrado em
contato com a doutora em fitopatologia de plantas, Dr. Claudine Dinali Santos Seixas. A

entrevista ocorreu de maneira metodologicamente no padronizada, isto , todos os


questionamentos foram realizados via e-mail.
A entrevista com a Dr. Claudine contribuiu para o entendimento da doena e de como
identifica-la atravs de padres visuais que a infeco causa na folha da planta.
De acordo com a doutora Claudine Seixas, a deteco da ferrugem pode ser feita
atravs da observao das folhas, sendo que nos perodos iniciais da doena a identificao
no passvel de ser efetuada sem o auxlio de aparelhos que amplifiquem a imagem, isto se
deve ao fato de que nesta fase, os pontos que indiquem a certeza da ferrugem ainda no esto
completamente desenvolvidos. Neste caso, a ferrugem asitica somente poder ser
identificada atravs da anlise da estrutura reprodutiva do fungo, esta estrutura e o impacto
fsico causado na folha da soja so chamados de urdias. As urdias possuem uma colorao
verde acinzentada e se parecem com pequenos vulcezinhos.
Com o passar dos dias a colorao fica com um tom mais avermelhado e a leso
aumenta, habilitando desta forma, o diagnstico pela anlise realizada sem utilizao de
aparelhos que aumentem a imagem. Este fungo tem facilidade em se reproduzir em ambientes
midos e quentes, o que agrava a incidncia da doena em localidades com altitudes maiores.
Sua transmisso feita principalmente por via da chuva e do vento nas lavouras de
soja(AGROMUNDO, 2013).
Os primeiros sintomas da doena so vistos nas folhas do baixeiro da planta, ou seja,
nas folhas da parte mdio-baixa da planta, o patgeno pode ocorrer desde o incio do
desenvolvimento das plantas at a fase de maturao.Um dos sintomas que caracterizam a
doena, que as manchas iniciam na parte de baixo das folhas, com um tamanho de 1 mm(um
milmetro) e com forma no circular perfeita, isto , a mancha com incidncia na parte
inferior da folha no ter uma forma geomtrica perfeita, ela ir respeitar as nervuras da folha,
formando assim formas geomtricas aleatrias, mas sempre com cantos nas extremidades
(AGROMUNDO, 2013).
Conforme j demonstrado, a preocupao com a doena Ferrugem Asitica da Soja
elevada, esta importncia se deve aos impactos de prejuzos com montante elevado que a
mesma pode causar. Tendo em vista esta preocupao, vrias pesquisas esto surgindo com o
intuito de constituio de tcnicas e estratgias para o controle desta praga.
Uma destas pesquisas resultou no AFSoft, que de propriedade da Empresa Brasileira
de Pesquisa Agropecuria - EMBRAPA e consegue um resultado considervel na questo da
identificao do patgeno em questo.O AFSoft um software desenvolvido pela

EMBRPAInstrumentao Agropecuria de So Carlos SP. A ferramenta consiste em uma


tecnologia capaz de realizar anlises de diferentes tipos de folhas de plantas.
2.2. Inteligncia Artificial
Conforme dito por Bittencourt (1998), a palavra inteligncia tem suas origens no latim, onde
inter significa entre e legere que significa escolher, j a palavra artificial, vem de artificiale,
que significa no natural, ou seja, criado pelo homem. Segundo Fernandes (2008),
inteligncia significa aquilo que permite ao ser humano escolher entre uma coisa e outra.
Inteligncia a habilidade de realizar de forma eficiente uma determinada tarefa.
No ramo da computao, a inteligncia artificial (IA) se refere a parte voltada para
produo de sistemas de computadores inteligentes, que so capazes de imitar o
comportamento humano em determinadas situaes, ou seja, com a capacidade de simular um
crebro no momento das decises.
Para Fernandes (2008), a IA possui duas abordagens: a cognitiva e a conexionista. A
primeira se baseia em uma modelagem que d nfase a forma de como o ser humano
raciocina e objetiva encontrar uma explicao para comportamentos inteligentes fundados em
aspectos psicolgicos e processos algortmicos. J a segunda abordagem, a conexionista, pode
ser chamada de biolgica, pois a mesma analisa o funcionamento do crebro, dos neurnios e
das conexes neurais. Os estudos da abordagem conexionista se definem basicamente em
redes neurais.
2.2.1. Redes neurais artificiais
Tambm chamadas de modelos conexionistas, ou modelos de processamento paralelo
distribudo, ou ainda, sistemas neuromorfolgicos, as redes neurais artificiais so o
mecanismo que representa a abordagem conexionista da Inteligncia artificial. Elas so
compostas por partes individualizadas, porm com interao interligada entre si, estes
elementos formam camadas as quais dividem uma rede neural artificial.
Uma rede neural artificial composta por vrias unidades de processamento, cujo
funcionamento bastante simples. Estas unidades, geralmente so conectadas por canais de
comunicao que esto associados a determinado peso. As unidades fazem operaes apenas
sobre seus dados locais, que so entradas recebidas pelas suas conexes. (FERNANDES,
2008, p. 59-60)
Em outras palavras, redes neurais formam um mecanismo computacional, que atravs
de neurnios lgicos, tenta simular o comportamento e as habilidades do crebro humano.

Uma rede neural artificial inicia seus procedimentos a partir de informaes que chamamos de
entradas, ou seja, a atividade de uma rede dependente de informaes que sejam repassadas
a ela. De posse das entradas, a rede utiliza-se de suas camadas intermedirias para produzir as
sadas, que seriam as respostas dos clculos efetuados. As camadas intermedirias so
compostas de neurnios, e, entre eles fatores de clculos que atribui-se o nome de pesos.
Todas as redes neurais possuem a estrutura bsica de entrada, camadas intermedirias
e sada. Entre as camadas, os neurnios so ligados por pesos, estes pesos so valores
calculados por diferentes funes. Cada funo possui uma determinada situao que melhor
se adapta, ou seja, as funes so para diferentes fins dentro das redes neurais. De acordo com
as sadas esperadas optado por um tipo de funo.
Existem vrias funes que podem ser utilizadas, sendo elas: a sigmoide assimtrica,
que produz resultados entre 0 (zero) e 1 (um), funo sigmoide simtrica, que produz
resultados entre -0,5 (1/2 negativo) e 0,5 (1/2 positivo), funo linear, funo quadrtica e
funo tangente hiperblica. Neste trabalho foi utilizada a funo sigmoide assimtrica,
justamente pelo intervalo de valores possveis apresentados em seu resultado.
2.2.2. Reconhecimento de padres
A tecnologia de reconhecimento de padres possibilita um vasto leque de aplicaes, em
diversas reas cientficas e tecnolgicas, contudo, a principal utilizao tem sido o
desenvolvimento de sistemas inteligentes, que contraem a maior fatia de investimento
tecnolgico atual. (FEUP, 2013).
O reconhecimento de padres uma rea abrangente e fortemente utilizada
atualmente, como na classificao de quais mensagens vo para a caixa de spam ou no
reconhecimento de rostos nas fotos por exemplo. Os padres so conjuntos de unidades
mensurveis que definem pontos em um espao multidimensional apropriado. (VALIN,
2009).
A IA utiliza-se da tcnica de reconhecimento de padres para analisar um grupo de
dados, que recebe o nome de conjunto de treinamento e objetiva organiz-los segundo os
padres intrnsecos do prprio grupo analisado, porm, antes da efetivao da anlise, existe
uma etapa de treinamento da rede, onde o objetivo descobrir se a rede neural artificial
capaz de encontrar os resultados esperados. (VALIN, 2009).
O reconhecimento de padres a parte do processamento que por meio de tcnicas
computacionais, tenta aproximar o desempenho das mquinas a performance do homem. A
busca por esta aproximao motivada por duas grandes frentes, sendo elas o interesse na

rea de projetar e construir autmatos, ou seja, mquinas inteligentes que sejam aptas a
realizao de afazeres com habilidades parecida com o desempenho humano e a carncia das
pessoas se comunicarem com computadores por meio de linguagens naturais. (REIS;
ALBUQUERQUE; CASTRO, 2013).
Para Reis, Albuquerque e Castro (2013), o reconhecimento de padres no uma
tarefa difcil para os seres humanos e para os animais, porm um grande desafio para a
tecnologia atual.
A utilizao das tcnicas de reconhecimento de padres vem sendo aplicada em
diferentes reas, das quais podemos citar o reconhecimento da fala, reconhecimento da
escrita, processamento de linguagem natural, reconhecimento e orientao automtica de
alvos, diagnsticos mdicos, classificao de doenas, controladores de veculos, deteces
criminais, agricultura, sistemas domsticos entre outros. (REIS; ALBUQUERQUE;
CASTRO, 2013).
2.3. Teoria das Cores
Para a interpretao dos dados da imagem a ser processada, utiliza-se as informaes cores
RGB de cada pixel, estes dados passam por um processo de converso de bases numricas at
poderem ser utilizados na rede neural.
De acordo com Teoria das Cores (2013), o estudo conhecido como Teoria das cores
coloca que a cor que visualizamos nos objetos um fenmeno fsico, relacionado diretamente
a existncia da luz, ou seja, caso no existisse a luz, no existiriam tampouco as cores. Isaac
Newton foi o pioneiro nos estudos da relao das cores com a luz solar, ele fez isto com o uso
de um prisma, quando dissociou a luz solar nas cores do arco-ris utilizando o prisma.
Significados (2013) coloca que "Teoria das Cores so os estudos e experimentos
relacionados com a associao entre a luz e a natureza das cores".
De acordo com Rio Grande do Sul (2013), a teoria de cores no espao RGB, red,
green e blue que representam o vermelho, verde e azul respectivamente de Thomas Young
(1773-1829), e foi baseada no princpio de que uma vasta gama de cores podem ser
obtidaspela projeo da luz branca atravs dos filtros vermelho, verde e azul ou pela
sobreposio destas cores na cor projetada.
2.4. Framework Annef
O framework ANNeF foi desenvolvido na UNISINOS - Universidade do Vale do Rio dos
Sinos, na cidade de So Leopoldo no estado do Rio Grande do Sul por Joo Ricardo

Bittencourt entre 1999 e 2001 em uma bolsa de iniciao cientfica CNPQ, orientado pelo
professor doutor Prof. Dr. Fernando Osrio, o acrnimo ANNeF significa Artificial Neural
Networks Framework. Este mecanismo implementa uma rede neural artificial
backpropagation e a partir dele pode ser criado novas redes neurais. Tambm pode ser
utilizada a rede neural base para configurar treinamentos e por consequncia anlises pela
rede neural.
2. PROCEDIMENTOS METODOLGICOS
Para a elaborao deste prottipo, utiliza-se a linguagem de programao Java, juntando com
a lgica do algoritmo de backpropagation. J na parte do prottipo que se destina ao
reconhecimento de padres em imagens, onde realizado a simulao das redes neurais,
utilizado o frameworkANNeF (Artificial Neural Networks Framework).
A abordagem deste estudo dedutiva e os procedimentos so comparativos e
funcionalistas. Existem duas formas de coleta de dados que so utilizadas neste projeto, que
so a entrevista com profissionais da rea de soja e a obteno de imagens de folhas das
plantas de soja.
Para a coleta de imagens utilizado o meio digital de buscas, as imagens so retiradas
de diferentes sites, no perodo compreendido entre 01/09/2013 e 18/11/2013.
As entrevistas ocorrem principalmente atravs do uso de correio eletrnico, onde
possuem a caracterstica no estruturada.
Este trabalho se caracteriza, quanto aos fins como exploratrio, descritivo,
metodolgico e aplicado, quanto aos meios classifica-se como de campo, bibliogrfico e
documental.
3. ANLISE DOS DADOS
Nesta parte do trabalho, ser apresentado como foi o desenvolvimento do trabalho realizado,
dividido em etapas subsequentes, conforme apresentado na figura 1 que segue.
Figura 1- Fluxograma de funcionamento do trabalho

Fonte: (DO AUTOR, 2013)

3.1. Etapa 1 Coleta de Imagens


Existia o planejamento e a vontade de que algumas imagens deveriam ser coletadas a campo,
contudo isto no foi possvel devido ao fato de que nesta poca do ano apenas o estado do
Paran est com as lavouras de soja plantadas, e ainda, estas lavouras esto com as plantas
pequenas. O estado de Santa Catarina inicia o plantio em meados de novembro e o estado do
Rio Grande do Sul inicia o plantio de soja somente no final do ms de novembro.
BERTAGNOLLI (2013).
Conhecendo o impeditivo natural da no utilizao de fotos coletadas em lavouras,
partiu-se para a coleta de imagens via internet, com pesquisas em sites e pginas de rgos e
entidades que tem relao com o cultivo de soja. Cabe aqui citar que, apesar de as imagens
serem oriundas da internet, elas representam avidamente a situao de uma lavoura real,
assumindo igualdade qualitativa em relao a imagens coletadas de lavouras.
3.2. Etapa 2 Processamento das Imagens
A fase de processamento das imagens a que demandou maior fatia de tempo para ser
efetuada e tem como nico objetivo gerar a entrada de dados para a rede neural artificial, a
execuo desta etapa passou por vrias sub-etapas. A seguir apresentada a execuo do
processamento de imagens segundo a ordem cronolgica de execuo que ocorreu.
No princpio, partiu-se da ideia de que a folha de soja possui subdivises, como visto
na reviso da literatura. Considerando estas pequenas partes, comearam os estudos para
conseguir identificar as bordas da folha e de suas divises internas, para ver se depois de
identificadas as bordas seria possvel gerar a entrada para a rede neural.
A identificao das bordas foi possvel ser realizada, utilizando o filtro de Canny1, que
um algoritmo simples de ser usado, basta informar a imagem e o algoritmo gera como sada
uma imagem processada, com os rudos da figura diminudos e as bordas evidenciadas.
Com as bordas reconhecidas, era vista a estrutura da folha destacada, porm chegou-se
a convico de que no seria possvel a identificao da ferrugem a partir do processamento
da imagem com o filtro de Canny, pois este algoritmo deixava a imagem inteira com uma
nica cor, alterando apenas a tonalidade nos diferentes pontos da imagem. Como a ferrugem
possui diferentes coloraes em seus estgios de infeco e como as imagens podem ter
1

Filtro de Canny um algoritmo criado por JhonnCanny que permite identificar as


bordas de uma imagem, bem como realar os traos e diminuir os rudos da figura.

diferentes tonalidades de acordo com a luminosidade da foto, este algoritmo no garantiria a


informao necessria, desta forma foi inutilizado o filtro de Canny neste trabalho.
Neste ponto j era sabido que atravs das bordas no seria possvel identificar se a
imagem apresentava ou no ferrugem asitica, partiu-se ento para a anlise das cores da
imagem da folha.
Como foi optado por trabalhar com a linguagem de programao Java, neste momento
havia duas opes conhecidas para se trabalhar com as imagens, sendo elas a classe
BufferedReader e a classe JaiImage. Tomou-se a deciso de trabalhar com a classe JaiImage
por motivo de os recursos e mtodos desta classes serem especficos para o trabalho com
imagens, diferentemente do BufferedReader, que utilizado para vrios os tipos de leitura de
dados no Java.
Definido as tecnologias que seriam utilizadas, iniciou-se o processamento montando
um algoritmo que identificasse qual a posio do mouse sobre a imagem, isso , as
coordenadas X e Y do cursor do mouse e quais so os valores do espao RGB do pixel que o
mouse est sobrepondo. Para exibir estas informaes foi montada uma tela bsica, apenas
com a imagem onde o mouse poderia ser movimentado sobre a mesma e no rodap da tela
exibido as coordenadas do cursor do mouse e os valores RGB do pixel em que o mouse est
sobrepondo.
Tendo esta tela montada, passou-se a analisar os valores que cada pixel possua. A
partir deste momento a estratgia foi de montar um vetor em um arquivo de texto tendo por
base a matriz da imagem, ou seja, considerar os pixels de largura e os pixels de altura da
imagem para gerar um vetor e colocar este vetor em um arquivo para que servisse de entrada
para a rede neural. O problema que neste ponto, os valores dos pixels eram imprprios para
a entrada da rede neural, pois era conhecido apenas o RGB do pixel e este composto por trs
valores tornando deste modo impossvel de utilizar a informao dos pixels para entrada da
rede neural.
Iniciou-se a tentativa de classificar as cores da imagem por faixas a partir dos valores
RGB. As faixas deixariam a matriz da imagem muito mais simples, pois a informao seria
reduzida a um valor inteiro, onde seriam tratadas as tonalidades, em outras palavras, todos os
tons de verde da imagem teriam valor 1 (um), os tons de amarelo teriam valor 2 (dois), os tons
de marrom teriam valor 3 (trs) e assim por diante, classificar-se-iam neste ponto as cores por
faixas.
Analisando a ideia de separar em faixas as cores da matriz, acreditava-se ter a soluo
para gerar a entrada da rede neural, porm as tentativas e os estudos mostraram que no seria

simples. No foi encontrada maneira de classificar as tonalidades das imagens com base nos
valores RGB dos pixels.
Continuando as pesquisas, descobriu-se que possvel converter um valor RGB para
um valor hexadecimal, o que poderia facilitar a separao de faixas de cores. Foi
desenvolvida uma lgica de converso de RGB para hexadecimal neste algoritmo.
Este mtodo permite extrair o valor hexadecimal de cada pixel. Partiu-se ento para a
separao destes valores em faixas de tonalidades de cores, porm mais uma vez sem sucesso.
A complexidade de se trabalhar com nmeros desta base ainda elevada na linguagem de
programao escolhida e este fator originou mais uma converso.
Utilizando a converso para a base decimal no Java, foi criado um mtodo para
realizar esta ao, de converter um valor hexadecimal em decimal.
Este mtodo foi desenvolvido dentro do algoritmo com o objetivo de capturar os
valores da cor do pixel em base decimal, para desta forma conseguir separar as cores em
faixas dentro da matriz da imagem.
Os valores de base hexadecimal e de base decimal foram adicionados ao lado dos
valores RGB no rodap do prottipo.
Neste ponto a identificao das faixas ficaria facilitada, pois o trabalho seria com
valores inteiros de base decimal, contudo ainda no foi possvel a identificao das faixas de
tonalidades de cores.
Ficou provado que a separao das faixas de valores que identificaria a tonalidade de
cada cor no funcionaria no momento em que submeteu-se a imagem de um spectrum ao
algoritmo.
Pde-se concluir que quando os valores so passados para a base decimal, as faixas de
cores no condizem com a sequencia ordinria dos nmeros, ou seja, se o menor valor da cor
vermelha possui valor decimal de 5 (cinco) e o maior valor de cor vermelha um valor decimal
de 200 (duzentos), podem existir, por exemplo, valores da cor amarela que ficam entre 100
(cem) e 120 (cento e vinte). A partir desta constatao concluiu-se que a separao das faixas
de cores por tonalidade estaria totalmente fora de cogitao para a resoluo deste problema.
Desta forma, concludo que a separao de faixas no seria possvel, decidiu-se por
montar um vetor em um arquivo de texto a partir da matriz da imagem, apenas convertendo o
valor RGB de cada pixel para hexadecimal e de hexadecimal para a base decimal. Neste
momento foi constitudo um algoritmo que l uma imagem, interpreta e gera uma sada que
pode ser utilizada como entrada da rede neural.

O framework que foi utilizado necessita de treinamento para a sua rede neural, esta
regra gera um novo requisito,cada imagem processada gera um vetor de dados em um arquivo
de texto, este arquivo de texto, por caracterstica do framework, salvo com extenso exp.
Nesta etapa do trabalho, cada imagem gerou seu vetor de dados em dois arquivos, sendo um
individual para anlise e outro, um arquivo geral, para ser utilizado no treinamento da rede
neural.Outra regra do ANNeF que no arquivo de treinos da rede neural, cada linha da
entrada da rede deve ser sucedida de um valor que a sada esperada para aquele conjunto de
entrada, por isso cada imagem gravada em uma linha e cada linha acrescida de 0 (zero) ou
1 (um), sendo zero as imagens sem ferrugem e um as imagens com ferrugem asitica. Os
valores escolhidos para a sada esperada so originados da utilizao da funo assimtrica,
que produz resultados sempre entre 0 (zero) e 1 (um), por isso, quanto mais perto do 1 (um),
maior a chance de existir ferrugem na folha e em contra partida, quanto mais perto do 0
(zero), maior a chance da folha ser sadia em relao ao patgeno em questo. Para explicar
melhor, a figura 2 mostra como fica o arquivo exp de treinos, o qual possui os valores de
cada pixel em sequencia.
Figura 2 - Arquivo "exp" de treino da rede neural

Fonte: (DO AUTOR, 2014)

Para facilitar o processamento das imagens, foi adicionado um boto na tela, com o
intuito de iniciar o processamento da figura no momento desejado.
Neste momento foi iniciada a prxima fase, que o treinamento da rede neural, porm
notou-se que ainda restavam ajustes a serem feitos no processamento das imagens.

O problema que foi encontrado foi quanto ao tamanho da imagem em pixels, pois no
framework deve ser configurado o tamanho da entrada, contudo, existia um arquivo geral para
treinamento da rede neural, porem neste arquivo cada linha corresponde a uma imagem e cada
imagem possui um tamanho diferente, portanto foi desenvolvida uma lgica dentro do
algoritmo para redimensionar o tamanho da imagem para 200 (duzentos) pixels de altura e
250 (duzentos e cinquenta) pixels de largura. Seguindo a padronizao, foi definido a
utilizao apenas de imagens com formato jpg. O tamanho fixo foi definido com base na
observao das imagens coletadas, este tamanho permite uma boa resoluo para a imagem da
folha.
Posteriormente optou-se por redimensionar todas as imagens tambm em seu tamanho
real, utilizando o software livre de nome GIMP. Agora o processamento das imagens est
completo, gerando corretamente a entrada para a rede neural, fato que faz com que mais esta
etapa esteja concluda.
3.3. Etapa 3 Treinamento da Rede Neural
Na etapa de treinamento da rede neural, foi onde ouve o maior desgaste por parte da pesquisa,
pois todos os treinamentos apresentam resultado melhor ou pior de acordo com as
parametrizaes de topologia e parametrizaes de configurao. O fator agravante que o
manual do frameworkANNeF do ano de 2001 e o repositrio onde se encontravam os
cdigos fontes no est mais acessvel, fator este que tornou o treino da rede neural um tanto
mais complexo devido ao manual utilizado no deixar claramente especificado quando alterar
qual propriedade para quais casos. Todas as parametrizaes utilizadas foram sendo
constitudas a partir da anlise dos resultados de cada caso de teste pelo autor. Foi tentado um
contato com o criador do framework, porm sem retorno.
Conforme elencado na reviso bibliogrfica, existem vrias funes que podem ser
utilizadas na rede neural. Com base no objetivo, que somente dizer se a folha tem ou no
ferrugem asitica, decidiu-se utilizar a funo sigmoide assimtrica, representada nas
parametrizaes pelo valor AsymmetricSigmoidFunction. Esta funo resulta em valores
entre 0 (zero) e 1 (um) na sada da rede neural, sendo folha com ferrugem os valores que se
aproximam do 1 (um) e folhas sem ferrugem quando o resultado se aproxima de 0 (zero).
Quanto as parametrizaes, existem dois arquivos para serem configurados quando do
treinamento da rede neural, sendo eles a topologia e a configurao.
No arquivo de parametrizao de topologia, as principais propriedades que foram
alteradas a cada teste so: layers (camadas), hiddenX (nmero de neurnios na camada X),

Treino igual ao
teste

1
1
1
1

0
0
0
0

Sim
No
No
No

Erro 100%
Memria
Memria
Sim

% Pico de
memria

Sada esperada
SEMF

% Acerto no
teste

% Acerto no
treino

08
100,0
100,0
15
60,0
0,0
16
60,0
40,0
37
100,0
100,0
Fonte: (DO AUTOR, 2013)

% Pico de
Processamento

Sada esperada
COMF

00:39
01:00
01:40
07:44

Tabela 1 - Qualificaes de um treino da rede neural

Executa em
produo

Tempo em
minutos

Identificao do
treino

seed (fator de ajuste de pesos) e maxweight (peso mximo atribudo nas ligaes entre
neurnios). Os demais atributos no foram alterados, ou seja, permaneceram idnticos desde o
incio dos treinamentos, so eles: neuralnet (modelo de rede neural), inputs (neurnios na
entrada da rede), outputs (neurnios na sada da rede), hiddenfunction (funo para clculo
dentre as camadas intermedirias) e outfunction (funo para clculo da camada de sada).
No arquivo de parametrizao de configuraes, as principais propriedades que foram
alteradas a cada teste so: thereshold (margem de erro aceitvel no clculo), epsilon (fator de
correo para ajustes internos da rede), epochs (quantidade de pocas do treino) e peek
(nmero de tempos dentro de cada subdiviso da poca). Os demais atributos no foram
alterados, ou seja, permaneceram idnticos desde o incio dos treinamentos, so eles: prefix
(prefixo do nome dos arquivos a serem gerados pelo treino), learning (forma de
aprendizagem), conter (forma de contagem de erros), momentum (tempo mximo de
aprendizagem), train (nome do arquivo de entrada para treino da rede) e test (nome do
arquivo para teste da rede).
Foram realizados um total de 40 (quarenta) diferentes configuraes de rede para
treino, enumeradas ordinariamente a partir do 1 (um). Todos os treinos foram realizados em
uma mquina com processador intel core I7 de quatro ncleos com 6 GB de memria RAM.
Na tabela 1esto qualificados alguns dos treinosrealizadose os atributos a serem considerados
para validao dos mesmos.

14
31
38
96

19,1
26,0
33,0
59,5

Durante os treinamentos, nem todos os casos resultaram em um sucesso parcial,


apenas algumas parametrizaes puderam ser executadas nos casos de verificao real. Dentre
as parametrizaes executadas para verificao real, ocorreu o caso do treinamento com
identificador 08 (treino08) que mostrou bom desempenho nos treinos e nos testes com a rede
neural, porm, quando posto em produo se mostrou totalmente ineficaz para descobrir a
ferrugem nas folhas de soja. J os casos dos treinamentos 15 (treino15) e 16 (treino16),

apresentaram resultados viveis nos treinos e testes da rede neural, contudo, quando da
tentativa de execut-los na real verificao ambos causavam estouro de memria da mquina
virtual Java, com a mensagem Java heapspace!, mostrando-se desta forma descartveis.
Os demais casos que antecedem o treinamento 36 (treino36) e que puderam ser
executados para verificao real apresentaram desempenho relativamente bom, porm, as
imagens sofreram substituies e estes tiveram que ser descartados, pois em virtude da
substituio das imagens o arquivo geral de entrada da rede neural tambm sofreu
substituio.
O conjunto de parametrizaes que apresentou melhor desempenho tanto nos treinos e
testes, como em verificaes reais foi o treinamento com identificador 37 (treino37). Este
caso apresentou a totalidade de acertos possveis nos treinos e nos testes automticos da rede
neural. Nas verificaes reais, foram submetidas todas as imagens processadas, formando um
total de 57 imagens, sendo que estas parametrizaes fizeram com que a rede neural
apresentasse erro de identificao em 10 (dez) casos, o que forma um erro de 17,54%
(dezessete inteiros e cinquenta e quatro dcimos por cento), restando desta forma, um acerto
mdio de 82,46% (oitenta e dois inteiros e quarenta e seis dcimos por cento).
Na ilustrao apresentada na figura 3, podemos visualizar de forma grfica o avano
obtido nos treinamentos desde o incio desta etapa at considerarmos o prottipo apto a ser
apresentado.
Figura 3 - Grfico representando a evoluo no aprendizado da rede neural

Fonte: (DO AUTOR, 2013)

No incio dos trabalhos, existia a dvida quanto aos recursos computacionais


necessrios para se trabalhar com as imagens. Realmente, os recursos computacionais
apresentaram valores elevados, contudo, todos os casos testados obtiveram um nvel aceitvel
de consumo de processamento e memria. possvel analisar o consumo dos recursos de

processador e de memria a partir da figura 4, onde exibido um grfico comparativo do


consumo dos dois recursos citados. Este grfico demonstra que de acordo com a configurao
e topologia da rede neural utilizada, o processamento e a memria utilizada podem aumentar.
Figura 4 - Grfico comparando o consumo de processamento e memria

Fonte: (DO AUTOR, 2013)

3.4. Etapa 4 Classificao das Imagens


A etapa de classificao das imagens a que encerra o trabalho desenvolvido e
principalmente valida os treinamentos realizados e descritos na etapa anterior. Esta etapa
somente comeou a ser trabalhada aps obtido resultados considerveis nos treinamentos.
Para as imagens serem classificadas, so utilizados os arquivos gerados pelo
framework na fase de treinamento da rede neural, sendo eles, o arquivo de predies2 e o
arquivo de pesos3. Alm destes dois arquivos, esta etapa utiliza como entrada da rede neural o
arquivo do vetor da imagem, montado segundo descrio da fase de processamento de
imagens.
A classificao de imagens utiliza o mesmo mecanismo de classes que o treinamento
utiliza, porm a entrada de ambos difere. Para o treinamento, como dito anteriormente, todas
as linhas da entrada do arquivo so sucedidas por um valor, que a sada esperada com
2

Arquivo de predies gerado pela execuo da classe BackproSimulator, contm os


valores que posteriormente sero utilizados na classificao da imagem a ser verificada. O
arquivo de predies possui formato prd.
Arquivo de pesos (weights) possui extenso wts e armazena apenas trs colunas de
informao, contudo, torna-se um arquivo bastante extenso dependendo do tamanho da
entrada e das parametrizaes da rede neural. Assim como os arquivos res e prd, este
arquivo tambm gerado pela execuo da classe BackproSimulator, ele armazena a ligao
entre todos os neurnios das diferentes camadas e os pesos de ligao entre eles. Este arquivo
utilizado posteriormente quando da classificao de imagens pela classe BackpropPredict.
3

aquelas parametrizaes para aquele caso, j na etapa de classificao das imagens, este
arquivo deve conter apenas dados de uma imagem, a qual deseja-se classificar, estes dados
devem ser os nicos contidos no arquivo, sem acrscimo de valores ao final da linha.
As parametrizaes de topologia e de configuraes da rede neural no momento da
classificao das imagens devem ser as mesmas utilizadas no treinamento que obteve o
melhor resultado e que por sua vez, tambm gerou os arquivos de pesos e de predies que a
rede se utilizar neste momento.
O funcionamento desta etapa bastante simples, o mesmo consiste em executar o
algoritmo de backpropagation com as mesmas parametrizaes utilizadas na fase anterior, de
treinamento da rede neural, para uma entrada especfica.
No princpio, quando das primeiras execues da classificao das imagens, utilizavase a indicao de quais arquivos utilizar fixos no cdigo fonte, porm, em cada nova imagem
analisada, deveria ser alterado o nome do arquivo nos diferentes pontos em que existe a
referncia.
Com as primeiras execues do algoritmo de backpropagation, foi possvel perceber
que o frameworkANNeF demorava demasiadamente para processar uma imagem, pois o
tempo de execuo ficava sempre por volta dos 35 (trinta e cinco) minutos para cada folha
processada. Depois de identificado que o problema da demora era apenas em um mtodo, foi
iniciado a busca de uma forma de aprimoramento para o mtodo.
O mtodo responsvel pela lentido no processamento executava dois loops
aninhados, sendo um while dentro de um for. Percebeu-se que a execuo somente sairia do
loop interno aps encontrar neurnios correspondentes, contudo, a cada novo loop externo a
busca interna comeava do incio da estrutura novamente, causando a demora em demasia.
Analisando a lgica que o framework ANNeF implementa, foi possvel montar uma
lgica para aprimorar este mtodo e com isso obter resultados mais satisfatrios na questo
tempo de processamento de imagem. Conhecendo as estruturas de dados, optou-se por utilizar
uma estrutura que implemente a classe map, colocando a identificao do neurnio na chave e
o peso no valor do objeto. Desta forma continuaram existindo dois loops, porm ambos so
for e no esto mais aninhados.
Com estas melhorias, o tempo de execuo passou de 35 (trinta e cinco) minutos para
uma mdia que fica entre 8 (oito) e 16 (dezesseis) segundos, conforme a quantidade de
neurnios existentes.
Posteriormente, aps ter concludo a etapa de treinamento da rede neural, foi
desenvolvido o prottipo proposto no projeto deste trabalho, onde o usurio pode selecionar a

imagem em tempo de execuo, tendo a opo de process-la e de analisa-la com apenas um


clique. A imagem da tela do prottipo mostrada a seguir, na figura 5, nesta imagem pode ser
visto o resultado da anlise de uma folha de soja com ferrugem asitica.
Figura 5 - Tela do prottipo funcional mostrando analise de folha com ferrugem

Fonte: (DO AUTOR, 2013)

Para melhor exemplificar o prottipo final de software, abaixo a figura 6 demonstra o


resulta do de uma anlise de uma folha de soja sem ferrugem asitica.
Figura 6 - Tela do prottipo funcional mostrando analise de folha sem ferrugem

Fonte: (DO AUTOR, 2013)

Nesta tela buscou-se a construo de maneira que ficasse simples e fcil de ser
utilizada. O boto com descrio Carregar imagem abre uma janela para pesquisa de
imagens em um diretrio pr-definido, porm permite a navegao em qualquer diretrio do
computador ou da rede. A partir desta janela aberta, o usurio pode escolher qual imagem ir
processar e classificar.
Logo abaixo do boto de carregar imagem, existe um componente para exibir a
imagem que o usurio escolheu para o prottipo analisar. Este componente, ao iniciar o
sistema carrega uma imagem default que foi escolhida pelo autor para definir a inteligncia
artificial. Esta imagem serve apenas para no abrir o prottipo e o mesmo apresentar uma tela
inicial com uma parte em branco.
Ao lado direito do boto de carregar imagem, existe outro boto com a descrio
Processar imagem, este boto tem a finalidade de iniciar o processamento da imagem, gerar
o vetor da imagem, coloca-lo em um arquivo de texto e posteriormente iniciar o
processamento dos dados pela a rede neural, utilizando este arquivo gerado como entrada.
Durante o procedimento de processamento e anlise da imagem, as informaes do
andamento do processo so mostradas em um componente que fica logo abaixo do boto de
processar imagem, estas informaes tem por finalidade deixar o usurio informado
respectivamente a qual passo o prottipo est executando.
O resultado do processamento exibido no final da tela em uma mensagem de texto.
Todas as cinquenta e sete imagens do trabalho que foram processadas demoraram entre 51
(cinquenta e um) e67 (sessenta e sete) segundos para concluir a anlise da folha submetida.
4. CONCLUSO
Em se tratando do prottipo de software, este foi definido como apto para utilizao na
verificao de folhas de soja com base no treinamento nmero 37 (trinta e sete), o qual
apresentou o desempenho com maior viabilidade que os demais e se comportou de maneira
suficientemente adequada nos demais testes.
Considerando o prottipo pronto e funcional, com a rede neural treinada, foram
utilizadas 57 (cinquenta e sete) imagens, sendo 38 (trinta e oito) imagens de folhas de soja
com ferrugem e 19 (dezenove) imagens de folhas de soja sem ferrugem.
O presente trabalho evidenciou uma oportunidade de continuao dos estudos acerca
do tema proposto, este fator possibilita a ideia de continuao do mesmo. Esta continuao

teria objetivos principalmente metodolgicos e cientficos, contudo tambm representa uma


tima oportunidade de mercado.
Quanto a questo de identificao de mecanismos de reconhecimento de imagens para
fornecer dados para a rede neural, foi possvel observar que a estratgia utilizada nesta
experincia, de interpretar pixel a pixel de cada imagem, lendo os valores de RGB e
convertendo-os para hexadecimal e posteriormente para decimal pode ser considerada vlida,
pois atendeu a demanda de gerao de entrada para a rede neural.
Tratando da questo de reconhecimento das imagens e preparao dos dados para a
rede neural, os mtodos construdos neste trabalho atendem a demanda, contudo podem ser
melhorados. No caso da imagem, transformou-se sua estrutura de matriz de pixels em um
vetor de valores inteiros, porm passou-se o vetor gerado da imagem diretamente para a rede
neural, sendo que existe a possibilidade de melhorias futuras utilizando tcnicas e algoritmos
de compactao de dados, para reduzir o tamanho e a complexidade do vetor da imagem. Esta
medida possivelmente impactaria no tempo de execuo atual e na porcentagem de acertos,
acreditamos que estes dois parmetros ficariam ligeiramente melhorados.
Analisando a questo evidenciada no projeto deste trabalho, se seria possvel
identificar a ferrugem asitica em todos os estgios de infeco, pode-se concluir que sim, no
s possvel como o prottipo montado consegue realizar esta verificao, basta treinar a rede
neural com imagens de infeces em diferentes estgios evolutivos que posteriormente
possvel identificar o patgeno.
Quanto a questo de como detectar a presena da doena na soja utilizando redes
neurais, este trabalho confirma que analisando a imagem e gerando dados para atender a
demanda de entrada da rede neural, depois treinando uma rede neural de topologia
backpropagation possvel a deteco da doena. A particularidade de como fazer isto, est
na separao de etapas claras e bem definidas, as quais uma complementa a outra em
favorecimento de um nico objetivo, o de reconhecer a infeco de ferrugem asitica na soja
utilizando reconhecimento de imagens e redes neurais.

REFERNCIAS
AGROMUNDO COMUNICAES E CONSULTORIA LTDA. (Brasil). Agromundo: Unir
pra produzir mais e melhor. Disponvel em: <http://www.agromundo.com.br/wpcontent/uploads/2010/03/ferrugem_asiatica.jpg>. Acesso em: 25 maio 2013.
AZEVEDO, Lus Antnio Siqueira de; JULIATTI, Fernando Cezar; BARRETO, Modesto.
Resistncia de gentipos de soja Phakopsorapachyrhizi. Disponvel em:
<http://www.scielo.br/scielo.php>. Acesso em: 01 jul. 2013.
BITTENCOURT, Guilherme. Inteligncia Artificial: Ferramentas e Teorias. Florianpolis Sc: Editora da Ufsc, 1998. 362 p.
BITTENCOURT, Joo Ricardo. Artificial Neural Networks Framework: Guia do
Programador. 2001. 39 f. Dissertao (Mestrado) - Curso de Computao Aplicada,
Departamento de Centro de Cincias Exatas e Tecnolgicas, Universidade do Vale do Rio do
Sinos, So Leopoldo - Rs, 2001.
BRASIL. Embrapa. Paulo Fernando Bertagnolli. Sistemas de Produo: Indicaes Tcnicas
para a Cultura de Soja no Rio Grande do Sul e em Santa Catarina 2004/2005. Passo Fundo Rs: Embrapa, 2004. 172 p.
BRASIL. Governo do Estado de Goias. Agrodefesa. Disponvel em:
<http://www.agrodefesa.go.gov.br/images/stories/7_licitacao.jpg>. Acesso em: 31 maio 2013.
CASSOL, Cidinei Luiz. Auxlio TCC. [mensagem pessoal] Mensagem recebida por:
<claudine.seixas@embrapa.br>. em: 15 abr. 2013.
EMBRAPA
(Brasil).
Embrapa
Instrumentao.
Disponvel
em:
<http://www.cnpdia.embrapa.br/labimagem/img/afsoft2.jpg>. Acesso em: 25 maio 2013.
EMBRAPA (Brasil). Embrapa: Informao Tecnolgica. Disponvel em:
<http://www.sct.embrapa.br/dctv/2003/img/FerrugemAsiatica.jpg>. Acesso em: 25 maio
2013.
EMBRAPA (Brasil). Tecnologias de Produo de Soja Regio Central do Brasil 2004:
Doena
e
Medidas
de
Controle
.
Disponvel
em:
<http://www.cnpso.embrapa.br/producaosoja/doenca.htm>. Acesso em: 25 maio 2013.
FERNANDES, Anita Maria da Rocha. Inteligencia Artificial: Noes Gerais. 3. ed.
Florianpolis - Sc: Visualbooks, 2008. 160 p.
FEUP (Portugal). Faculdade de Engenharia da Universidade do Porto. Disponvel em:
<http://sigarra.up.pt/feup/pt/web_page.inicial>. Acesso em: 07 jun. 2013.
REIS, Caimi Franco; ALBUQUERQUE, Marcelo Portes de; CASTRO, Srgio Borges de.
Introduo ao reconhecimento de padres utilizando redes neurais. Disponvel em:
<http://funk.on.br/>. Acesso em: 01 jul. 2013.
RIO GRANDE DO SUL. CEPSRM - CENTRO ESTADUAL DE PESQUISAS EM
SENSORIAMENTO REMOTO E METEOROLOGIA.Formao das cores. Disponvel em:
<http://www.ufrgs.br/engcart/PDASR/formcor.html>. Acesso em: 09 nov. 2013.

TEORIA
DAS
CORES.
Teoria
das
cores.
<http://www.teoriadascores.com.br>. Acesso em: 09 nov. 2013.

Disponvel

em:

VALIN, Allan. Inteligncia Artificial: econhecimento de padres. Disponvel em:


<http://www.tecmundo.com.br>. Acesso em: 01 jun. 2013.

Вам также может понравиться