PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO …laplima/.../1sem2008/regtomate.pdf ·...
Transcript of PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO …laplima/.../1sem2008/regtomate.pdf ·...
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA
CURSO DE ENGENHARIA DE COMPUTAÇÃO
MARCOS FELIPE MOLLICA
SISTEMA DE INSPEÇÃO DE QUALIDADE EM TOMATES RELATÓRIO TÉCNICO FINAL
Documento apresentado ao curso de Graduação em Engenharia de Computação, da Pontifícia Universidade Católica do Paraná, referente ao 1° Bimestre da disciplina de Projeto Final II. Orientador: Prof. Dr. Jacques Facon
CURITIBA 2008
1. RESUMO
O presente trabalho tem como objetivo principal a inspeção de qualidade em tomates
através de um sistema capaz de identificar regiões de superfície danificadas ou suspeitas,
utilizando para isso técnicas de processamento e análise de imagens.
A técnica utilizada para a inspeção baseia-se no processo de segmentação de imagens.
A segmentação de imagens permite que se obtenha um conjunto de "primitivas" ou segmentos
significativos que contém a informação semântica relativa à imagem. A grande dificuldade da
segmentação reside no fato de não se conhecer de antemão o número e o tipo de estruturas
que se encontram na imagem. Essas estruturas são identificadas a partir da geometria, forma,
topologia, textura, cor ou brilho sendo escolhidas aquelas que possibilitam a melhor
identificação. [Facon-2007]
A etapa de segmentação de imagens é presente em qualquer projeto de processamento
de imagens onde se deve decidir da existência, da localização e dos tipos de estruturas
procuradas. Pela grande variedade de "primitivas" ou segmentos significativos que contém as
informações semânticas, e pelas inumeráveis aplicações, a etapa de segmentação talvez seja
um dos maiores desafios da área de processamento e análise de imagens. [Facon-2007]
Neste projeto, a inspeção de qualidade em tomates será feita por uma abordagem que
emprega um conjunto de técnicas envolvendo conceitos de filtragem e segmentação. O
sistema irá mapear as regiões consideradas duvidosas, suspeitas. A análise dessas regiões
levará em consideração cada pixel individualmente e sua vizinhança.
3
2. INTRODUÇÃO
Atualmente o Brasil é um dos maiores produtores de tomate do mundo, com uma
produtividade média de aproximadamente 70 toneladas por hectare, e o Paraná contribui com
uma parcela significativa, sendo responsável por 5% dessa produção.
Infelizmente o problema do desperdício também assola o cultivo do tomate, causando
prejuízos gigantescos. O uso de embalagens irregulares, excesso de manuseio e transporte
inadequado ocasionam um desperdício anual de R$ 4 bilhões para toda a cadeia produtiva de
frutas, legumes e verduras.
Da colheita à comercialização, o volume desperdiçado seria suficiente para alimentar
32 milhões de pessoas, o que, segundo cálculos do IBGE (Instituto Brasileiro de Geografia e
Estatística), acabaria com a fome no país.
Atualmente a maior parte da colheita do tomate é feita de forma mecanizada, com
equipamentos que são capazes de cortar rente ao solo. Essas máquinas têm, em média, a
capacidade para colher cerca de 15 toneladas por hora. Por um lado a máquina traz um
aumento de agilidade da colheita, por outro lado, reduz a qualidade da produção, por causar
mais danos aos frutos e resultar em maior acúmulo de impurezas junto ao produto colhido,
quando comparado à colheita manual.
Tabela 1: Defeitos apresentados pelos frutos do tomate destinados ao processamento.
Defeitos Descrição Graves
Verde Tomate imaturo que apresente mais de 50% de sua superfície verde.
Bichado ou brocado Tomate com presença de larvas ou seus efeitos (furados).
Mofado Tomate apodrecido, devido à ação de fungos.
Rachado Tomate com rachadura profunda (lóculo visível), não cicatrizada, expondo os tecidos internos, com perda de líquido.
Desintegrado Tomate ou fragmentos em decomposição, devido à excessiva compressão ou ação
4
dos agentes microbiológicos.
Pequeno Tomate com diâmetro horizontal menor ou igual a 15 mm.
Com fundo preto Tomate com podridão apical.
Gerais
Queimado Tomate com escaldadura provocada pela ação do sol.
Descolorido Tomate com a coloração amarela (fisiológico), que jamais atinge o ponto ideal de maturação.
Com rachadura superficial Tomate com fenda na película ou atingindo a polpa, mas sem perda de liquido.
Lesionados
Tomate com ferimentos ou depressões devidos à ação de granizo ou outras causas mecânicas, porém sem contaminação microbiológica.
Murcho Tomate sem turgência, enrugado e flácido.
Com coração preto Tomate com necrose na ponta ou na placenta.
Com pedúnculo Tomate com o pedúnculo aderido.
Fonte: Portaria n.º 278 do Ministério da Agricultura, Pecuária e do Abastecimento. [Embrapa-2007]
O transporte também pode causar danos à estrutura física do tomate. Em muitas
regiões o carregamento é feito a granel, que facilita a descarga nas fábricas, reduzindo o gasto
com mão-de-obra. Entretanto, esse meio de transporte resulta numa redução da qualidade da
matéria prima, já que o grande volume de tomates acaba gerando amassados que facilitam a
contaminação por fungos e bactérias.
Além do desperdício que ocorre durante o processo de colheita e transporte, o tomate
também sofre com a ação de fungos e bactérias que atacam as plantações.
A qualidade do tomate é de extrema importância e deve ter prioridade no processo de
comercialização, e algumas características são essenciais para distinguir um tomate impróprio
de um tomate próprio para o comércio. O tomate deve apresentar coloração vermelho-intenso,
5
uniforme, fisiologicamente desenvolvida, maduro, limpo, com textura da polpa firme e
avermelhada, livre de danos mecânicos e fisiológicos, de pragas e doenças.
Tabela 2: Classificação do tomate para processamento industrial.
Tipo Exigência mínima de frutos bons (%)
Tolerância máxima de defeitos graves (%)
Prêmio ou desconto sobre o peso (%)
Especial 50 0 a 10 +10 Standard 40 10 a 20 0
Utilizável I 40 20 a 25 -5 Utilizável II 40 25 a 30 -10 Utilizável III 40 30 a 35 -20 Utilizável IV 40 35 a 40 -30
Fonte: Portaria n.º 278 do Ministério da Agricultura, Pecuária e do Abastecimento. [Embrapa-2007]
A portaria nº 278, de 30 de novembro de 1988, do Ministério da Agricultura, da
Pecuária e do Abastecimento define tolerâncias de presença de frutos com defeitos (Tabelas 1
e 2). O que não impede que se faça necessária a inspeção de qualidade conforme as condições
de comércio.
Essa inspeção, a princípio, pode não parecer complexa do ponto de vista humano, já
que as pessoas estão acostumadas a identificarem de forma conceitual o que é uma fruta
estragada. No entanto a automatização do processo requer um pouco mais de cuidado, já que
o computador não “aprendeu” o conceito do que é bom ou ruim, do que é um fungo ou
característica natural, etc.
Do ponto de visto genérico, a área de processamento e análise de imagens tem como
meta reproduzir a capacidade humana de processar e interpretar imensas quantidades de
informações visuais. Para atingir essa meta, é extremamente importante desenvolver soluções
computacionais automatizáveis de maneira a adequar a imagem à aplicação.
As etapas de um processamento genérico de imagens são compostas das seguintes
fases: [Facon-2007]
6
Figura 1: Etapas do Processamento de Imagens.
A primeira etapa é a aquisição. Ela consiste em capturar imagens que possam ser
usadas posteriormente no processo.
O pré-processamento é a segunda etapa, que tem como objetivo remover das imagens
fundos ruidosos, rabiscos e outras informações irrelevantes para o trabalho em questão. Essa
etapa é considerada de baixo nível, onde os dados de entrada são os pixels da imagem original
e os dados de saída representam propriedades da imagem, na forma de valores numéricos
associados a cada pixel.
Após o pré-processamento é feita a segmentação da imagem, etapa principal no
processamento de imagens. Considerada etapa de nível médio, este conjunto de valores
produz como resultado uma lista de características.
A interpretação representa a etapa final do processo. Nessa etapa é feita a distinção
entre uma região duvidosa e as demais regiões do tomate. O processamento de alto nível
produz, a partir das características encontradas na fase anterior, uma interpretação do
conteúdo de cada uma delas.
Ao longo do documento serão apresentados maiores detalhes sobre o projeto que tem
como objetivo produzir uma solução automatizada, de baixo custo, veloz e confiável para a
triagem do tomate, evitando a comercialização de frutos estragados.
Este documento está estruturado em: Detalhamento do Projeto, Cronograma,
Procedimentos de Teste e Validação, Análise de Riscos, Conclusão e Referências
Bibliográficas.
Na seção Detalhamento do Projeto, serão apresentados o esqueleto do projeto em
forma de diagrama de blocos. Cada bloco será detalhado utilizando uma abordagem
estruturada, utilizando DFD, que será complementado pela especificação do código através do
pseudo-código dos processos primitivos.
Na seção seguinte, será revisado o cronograma do projeto.
7
Na seção Procedimentos de Testes e Validação do Projeto, serão apresentados os
testes realizados para garantir o correto funcionamento do sistema desenvolvido em situações
adversas bem como os procedimentos de validação e os resultados obtidos com os testes
realizados.
Na seção Análise de Riscos serão revisados os riscos do projeto, e os impactos que
acarretarão no mesmo.
Por fim, será apresentada na seção Conclusão, uma análise sobre o desenvolvimento
do projeto e os resultados alcançados, seguida pela seção de Referências Bibliográficas, onde
estarão listadas todas as referências utilizadas neste trabalho.
8
3. DETALHAMENTO DO PROJETO
Nesta etapa do trabalho o sistema proposto será visto primeiramente de uma forma
geral e posteriormente detalhado em módulos funcionais, permitindo que se obtenha o
entendimento de como o sistema irá operar para cumprir o objetivo para o qual foi projetado.
3.3. VISÃO GERAL
O sistema proposto é constituído de dois módulos principais: um de tratamento da imagem e outro responsável por localizar as imperfeições, ou seja, as regiões danificadas do tomate.
O modelo proposto é ilustrado pelo diagrama de blocos abaixo.
Figura 2: Diagrama de blocos do sistema.
Inicialmente para que seja possível dar procedimento às etapas de análise e
processamento da imagem, é necessário remover o fundo da imagem, ou seja, deixar apenas a
região que de fato interessa para a análise: o tomate.
A aquisição da imagem irá ocorrer através de fotografias coloridas de tomates, com
uma resolução de 300dpi, geradas por uma máquina digital. As imagens adquiridas irão
permanecer armazenadas em um diretório, onde o usuário poderá selecionar a imagem que
deseja analisar.
Após a exclusão do fundo, a imagem obtida deve ser convertida do formato RGB (
originalmente utilizado em imagens obtidas a partir de câmeras de captura de imagem) para o
formato HSI, que é um formato muito utilizado nesse tipo de aplicação.
9
O sistema se encarregará então de fazer a conversão RGB/HSI, separando assim a
imagem em canais de Matiz, Saturação e Intensidade. O sistema HSI é mais estável que o
RGB, pois, ao alterar um nível de cor os demais não são alterados, pois a alteração é feita na
matiz, que é a cor bruta.
Após a conversão em HSI, será adotado o canal H para que identificar as regiões com
excesso de luz que podem vir a causar má interpretação nas etapas futuras.
Esta etapa deverá ocorrer juntamente com a etapa de Detecção de Regiões Suspeitas,
que irá localizar todas as regiões onde existe grande possibilidade de se encontrar
imperfeições.
Com as regiões suspeitas e as regiões de brilho excessivo localizadas é possível fazer a
análise e gerar um relatório sobre a condição do tomate.
Após a conversão em HSI, será escolhido o canal que oferece maior facilidade para a
análise, e então será dado início ao pré-processamento, onde será aprimorado o contraste e se
necessário o ajuste do brilho.
Todo esse processo será detalhado nas seções seguintes, permitindo uma melhor
compreensão do sistema proposto.
3.4. MODELO AMBIENTAL
O Modelo Ambiental modela a parte exterior ao sistema, ou seja, as interfaces entre o
sistema e o resto do universo (entradas e saídas relacionadas ao sistema). Para representar o
Modelo Ambiental foram utilizadas as ferramentas Diagrama de Contexto e Lista de Eventos,
apresentadas nas seções seguintes.
Com o desenvolvimento deste modelo, será possível uma visão macro do que o
Sistema de Inspeção de Qualidade poderá fazer, ou seja, poderão ser visualizadas tanto as
entradas do sistema bem como as suas saídas.
3.4.1. Diagrama de Contexto
O Diagrama de Contexto do Sistema de Inspeção de Qualidade representa as entidades externas, bem como o fluxo de dados entre elas e o sistema em questão, conforme mostrado pela Figura 3.
10
Figura 3: Diagrama de contexto do sistema proposto.
O Diagrama de Contexto é constituído por três tipos de objetos:
• Um único processo denominado “Macro Processo”;
• Fluxo de dados;
• Entidades Externas.
O Macro Processo é um conjunto coerente de operações que visa um determinado
resultado. O Fluxo de dados é um pacote de informação em movimento, e a Entidade Externa
representa um ente fora do âmbito de estudo, receptora e/ou produtora de informação de/para
o sistema em análise.
3.4.2. Lista de Eventos
A Lista de Eventos é uma relação de estímulos que ocorrem no mundo exterior e
implicam em uma resposta do sistema, ou seja, um acontecimento externo ao ambiente do
sistema, considerado como entrada, que irá fazer com que ações sejam tomadas para garantir
um resultado na saída.
O Estímulo é um ativador de uma função. É a forma como o evento age sobre o
sistema. É a conseqüência do fato de ter ocorrido um evento externo. É a chegada de um
estímulo que indica que o evento ocorreu e isso faz com que o sistema então ative uma função
pré-determinada para produzir a resposta esperada.
A resposta é o resultado gerado pelo sistema devido à ocorrência de um evento. Uma
resposta é sempre o resultado da execução de alguma função interna no sistema como
conseqüência do reconhecimento pelo sistema de que um evento ocorreu, podendo ser:
• Um fluxo de dados saindo do sistema para uma entidade externa;
11
• Uma mudança de estado em algum depósito de dados (inclusão, exclusão ou
modificação de algum registro de um arquivo);
• Um fluxo de controle saindo de uma função para ativar outra função.
Abaixo se encontra a Lista de Eventos do Sistema de Inspeção de Qualidade.
Tabela 3: Lista de eventos do sistema proposto.
Nº. do Evento
Nome do Evento Estímulo Ação Resposta Tipo
1 Usuário utiliza o sistema
Analisa_Imagem Inspecionar - Relatório_Análise
- msg_Sistema F
3.5. MODELO COMPORTAMENTAL
O Modelo Comportamental modela o sistema internamente, ou seja, como ele deve
reagir aos eventos externos. Foram utilizadas para a modelagem as ferramentas: DFD
Individual de Resposta aos Eventos, DFD Detalhado de Resposta aos Eventos, Dicionário de
Dados, Diagrama de Transição de Estados e Especificação dos Processos, representadas nas
seções a seguir.
3.5.1. DFD Individual de Resposta aos Eventos
O DFD é uma representação onde a parte funcional de cada evento é exposta como um processo que se relaciona com os fluxos apresentados na lista de eventos.
O sistema proposto apresenta apenas um único evento que desencadeia o processo de
inspeção de qualidade.
Figura 4: DFD individual do Sistema de Inpeção de Qualidade em Tomates.
12
Como observado pela Figura 4, o estímulo Analisa_Imagem dá inicio às atividades
fazendo com que o sistema receba do depósito de dados Imagens uma imagem em sua forma
original, ou seja, em formato de cor RGB.
O sistema após realizar as tarefas apropriadas responde ao Usuário com uma
mensagem positiva ou negativa sobre o processo de identificação de regiões duvidosas
juntamente com um relatório sobre a operação realizada.
3.5.2. DFD Detalhado de Resposta aos Eventos
O DFD detalhado tem como função especificar os processos que ainda não se
encontram em sua forma primitiva na representação da Figura 4.
Desse modo o DFD do único evento do Sistema de Inspeção de Qualidade em
Tomates, pode ser subdividido em quatro etapas elementares, como demonstrado pela figura
abaixo.
1.1
Remover
Fundo
1.2
Converter
HSI
1.4
Detectar
Regiões
Suspeitas
1.5
Subtrair1.6
Interpretar
Usuário
Analisa_Imagem
Imagens
Img_RGB
Img_semFundo
reg_Brilho
Relatório_Análise
1.3
Encontrar
Brilho
Img_semFundo
canal_H
reg_Suspeitas
res_Subtração
Figura 5: DFD detalhado do evento único do sistema.
13
Cada etapa desempenha uma função específica, onde cada evento primitivo é
responsável por uma parte do processo de identificação de regiões consideradas duvidosas do
tomate.
Inicialmente o Usuário lança um estímulo ao sistema que recebe como entrada uma
imagem do repositório de imagens, chamado Imagens. Para dar procedimento à análise é
necessário que seja removido o fundo, para que suas informações não interfiram nos demais
processos.
Como a imagem a ser analisada está em seu formato de cor original, RGB, a etapa
Converter HSI se encarrega da conversão para o formato HSI, que está mais relacionado à
forma como o olho humano percebe as cores. No entanto, antes de conversão em HSI ocorrer,
é necessário que o fundo da imagem seja removido deixando somente a região de interesse,
que é o tomate.
A etapa Encontrar o Brilho se encarrega de aplicar técnicas de limiarização no canal
H, que traz informações valiosas sobre as regiões onde ocorre brilho excessivo.
O resultado obtido será então enviado à fase de Subtração. Nessa faze não será feita
uma subtração propriamente dita, mas sim uma série de operações envolvendo também o
resultado obtido na etapa Detectar Regiões Suspeitas. Essas operações visam eliminar a
região de brilho da imagem resultante que contém as regiões suspeitas, garantindo assim que
para as etapas seguintes seja enviada uma imagem apenas com as regiões de interesse.
Finalmente a etapa Interpretar se encarregará de avaliar se o tomate é próprio ou não
para a comercialização, emitindo um relatório ao Usuário com essas informações.
Caso alguma das etapas não consiga ser completada ou, ocorrer algum erro durante o
processo, o Usuário será alertado através de mensagens informativas emitidas por cada etapa.
Todos os algoritmos para a realização das tarefas de conversão, pré-processamento e
segmentação serão implementados utilizando a linguagem de programação C/C++.
3.5.3. Diagrama de Transição de Estados (DTE)
Essa seção modela o comportamento de objetos que possuem vários estados e as
transições entre esses estados. Neste caso, apresentam-se as transições efetuadas pelo sistema
a partir do momento em que o Usuário inicia o processo de inspeção até o término do
processo.
14
Figura 6: DTE do processo de inspeção do tomate.
3.5.4. Especificação de Processos
As especificações dos processos primitivos foram feitas utilizando pseudocódigo,
cujas funções são apresentadas pela Tabela 4.
Tabela 4: Instruções usadas para especificar os pseudocódigos e suas respectivas descrições.
Instrução Descrição INICIO Indica o início de um procedimento.
FIM Indica o fim de um procedimento.
SE condição ENTÃO Indica um procedimento que só poderá ser executado caso uma condição seja verdadeira.
SENÃO Indica um procedimento que só poderá ser executado se a condição da instrução SE for falsa.
FIM SE Indica o fim de um procedimento iniciado com uma instrução SE ou SENÃO.
ENCERRA Força o término da função.
15
EXIBIR mensagem Mensagem a ser mostrada para o usuário.
CRIAR(variável) Declara uma variável a ser instanciada pelo uso do operador “=”.
RETORNA variável Retorna ao escopo original o ponteiro para o conteúdo da variável.
� Evento 1.1: Remover Fundo
Inicialmente é removido o fundo da imagem, já que essa é de fato uma região sem
importância no contexto.
INICIO img_segmentada = RemoveFundo( img_pre_proc ) SE( Verifica( img_segmentada ) ) ENTAO msg_Sistema( "Ocorreu um erro durante a remoção do fundo" ) ENCERRA SENAO RETORNA img_semFundo FIM_SE FIM
� Evento 1.2: Converter HSI
O Evento 1.2 tem por objetivo converter a imagem que inicialmente se encontra no
formato de cor RGB para o formato HSI
INICIO CRIAR( resposta ) SE !( VERIFICA_RGB( img_RGB ) ) ENTAO msg_Sistema( "Imagem não é RGB!" ) ENCERRAR FIM_SE SE !( VERIFICA_RES( img_RGB ) ) ENTAO msg_Sistema( "Resolução inferior a 300dpi" ) EXIBIR( "Continuar assim mesmo?" ) SE ( resposta = false ) ENTAO ENCERRA SENAO SE !( CONV_HSI( img_RGB, img_HSI ) ) ENTAO msg_Sistema( "Erro na conversão!" ) ENCERRA SENAO canal_H = SeparaCanais( img_HSI ) RETORNA canal_H FIM_SE
16
FIM_SE FIM_SE FIM
Como pode ser observado pelo pseudocódigo do evento 1.2, antes dar início à
conversão do padrão cor, são realizados testes para verificar se a imagem está inicialmente no
formato RGB e se apresenta uma resolução de 300dpi, que é a resolução adequada para
garantir que pequenos detalhes sejam analisados.
No término desse evento é devolvida ao sistema a imagem contendo apenas o canal H.
� Evento 1.3: Encontrar Brilho
Essa etapa tem a função de binarizar o canal H a fim de segmentar as regiões de brilho
excessivo na imagem.
INICIO CRIAR( reg_Brilho ) reg_Brilho = Binarizar( canal_H ) RETORNA reg_Brilho FIM
� Evento 1.4: Detectar Regiões Suspeitas
Nesta etapa serão localizadas as regiões suspeitas do tomate através de técnicas de
detecção de bordas.
INICIO img = CINZA( img_semFundo ) reg_Suspeitas = detectarBordas( img ) SE( Verifica( reg_Suspeitas ) ) ENTAO msg_Sistema( "Ocorreu um erro na detecção de bordas" ) ENCERRA FIM_SE RETORNA reg_Suspeitas FIM
Após a detecção de bordas é feita uma verificação na imagem para certificar de que a
imagem resultante é passível de análise, ou seja, caso a imagem não apresente nenhuma
região que possa ser analisada. Caso a imagem resultante seja totalmente branca ou totalmente
preta, o processo é abortado retornando uma mensagem de alerta ao Usuário.
17
� Evento 1.5: Subtrair
Com os resultados obtidos nas etapas 1.3 e 1.4 pode-se observar que a região de brilho
excessivo também é parte das regiões ditas suspeitas. Faz-se necessário a remoção dessas
regiões para que as mesmas não venham a interferir nos processos seguintes.
INICIO
reg_Subtracao = eliminarBrilho( reg_Suspeitas, reg_Brilho ) SE( Verifica( reg_Subtrcao ) ) ENTAO msg_Sistema( "Não foi possível realizar a operação de subtração" ) ENCERRA FIM_SE RETORNA reg_Subtracao FIM
� Evento 1.6: Interpretar
Por fim temos o evento responsável por interpretar e retornar ao Usuário um parecer
sobre a característica do tomate, se ele é próprio ou impróprio para o comércio.
INICIO CRIAR( qualidade ) qualidade = AnaliseFinal( reg_Subtracao ) Relatório_Análise = Relatorio( qualidade ) RETORNA Relatório_Análise FIM
O processo de interpretação da imagem e da qualificação do tomate é feita de forma
genérica pela função qualidade, pois, a forma como essa análise será feita ainda depende de
uma série de fatores que serão estudados ao longo do projeto. No momento é possível
especificar que a função irá identificar se o tomate pode ou não ser comercializado e após,
será gerado um relatório para o Usuário.
18
4. TESTES REALISADOS E RESULTADOS OBTIDOS
O objetivo dos procedimentos de teste é verificar se o sistema está operando conforme planejado e principalmente validar os resultados fornecidos por ele.
Para isso serão empregadas duas técnicas de teste de software: Testes Caixa Preta, do ponto de vista do usuário e Testes Caixa Branca, do ponto de vista do sistema.
4.3. TESTES CAIXA BRANCA
O teste caixa branca é também conhecido como teste estrutural, que avalia o comportamento interno do sistema, trabalhando diretamente sobre o código fonte, por isso é dito como um teste feito do ponto de vista do sistema.
Serão avaliadas as saídas de cada processo especificado na seção 3.5.4 deste documento.
Tabela 5: Teste 01 - Conversão HSI.
Teste 01 – Conversão em HSI
Objetivo: Verificar se o sistema responde a uma imagem não RGB na entrada do módulo de conversão em HSI
Procedimento: Aplicar na entrada do módulo de conversão uma imagem em formato de cor não RGB.
Resultado Esperado: Uma mensagem de erro do sistema informando sobre o formato errado de cor.
Validação: O sistema é validado de forma positiva se conseguir informar o usuário de que a imagem não está no formato de cor apropriado.
Tabela 6: Teste 02 - Segmentação.
Teste 02 – Segmentação
Objetivo: Verificar se a saída do processo de segmentação gera uma imagem de caráter relevante.
Procedimento: Aplicar na entrada do módulo de segmentação uma imagem nas condições apropriadas e verificar a saída.
Resultado Esperado: O sistema deve informar ao usuário que a imagem não tem sentido
19
no contexto, sendo de uma cor única.
Validação: A validação positiva é feita se o sistema for capaz de informar ao usuário que o resultado não tem sentido no contexto.
4.4. TESTES CAIXA PRETA
Nesta técnica o sistema é tratado como se fosse uma caixa preta, não se sabe como o sistema opera internamente. Esse tipo de teste é dito como sendo do ponto de vista do usuário, pois o sistema é estimulado com uma entrada. A partir do resultado obtido na saída é que se pode dizer se o funcionamento do sistema é satisfatório ou não.
Tabela 7: Teste 03 – Verificação da qualidade da imagem.
Teste 03 – Verificação da qualidade da imagem
Objetivo: Atestar a qualidade da imagem para utilização no processo de reconhecimento.
Procedimento: Formar um repositório de imagens de tomates utilizando uma câmera digital.
Resultado Esperado: As imagens obtidas devem ser de qualidade satisfatória para que possam ser utilizadas no processo de reconhecimento de regiões duvidosas.
Validação: A validação da qualidade da imagem será feita de forma visual pelo desenvolvedor, inserindo a imagem no sistema e verificando a saída.
Tabela 8: Teste 04 – Identificação de regiões duvidosas em locais diferentes do tomate.
Teste 04 – Identificação de regiões duvidosas em locais diferentes do tomate
Objetivo: Verificar se o sistema é capaz de identificar regiões duvidosas em diferentes locais do tomate.
Procedimento: Serão aplicados na entrada do sistema diferentes arquivos de imagens.
Resultado Esperado: Na saída, o sistema deverá identificar as regiões danificadas de forma correta.
20
Validação: A validação do funcionamento será feita de forma visual pelo desenvolvedor, comparando o resultado obtido com a real condição do tomate.
21
5. PLANO DE TESTES E RESULTADOS
O objetivo dessa sessão é demonstrar os testes realizados durante a elaboração do
protótipo, testes que trouxeram alguns resultados interessantes.
Figura 7: Diagrama de blocos do sistema.
5.1. REMOÇÃO DO FUNDO A partir de uma imagem colorida de tamanho 640x480 pixels e resolução de 300dpi,
buscou-se remover o fundo da imagem, deixando apenas o tomate propriamente dito. Essa
operação é importante, pois as informações contidas no fundo da imagem podem influenciar
nas etapas seguintes do processo de identificação das regiões lesionadas do tomate.
Para executar tal operação de remoção do fundo da imagem é necessário empregar
técnicas de limiarização.
O princípio da limiarização consiste em separar o primeiro plano do fundo. O objetivo
da limiarização é marcar os pixels que pertencem às verdadeiras regiões de primeiro plano
com valor simples (ON) e as regiões de fundo (segundo plano) com uma intensidade diferente
(OFF). E assim gerar o que se chama de imagem binária que é uma imagem preto-branca
apresentando somente duas classes, o primeiro plano de cor preta sobre o fundo de cor branca,
ou o contrário. [Facon-2007]
22
Figura 8: Imagem do tomate sem o fundo e seu respectivo histograma.
O primeiro passo é verificar o histograma da imagem, como mostrado pela Figura 11,
pois através dele podemos ver a distribuição dos pixels em uma escala de 0 à 255 em nível de
cinza e avaliar qual é a melhor técnica de limiarização a ser utilizada.
No caso do primeiro plano ser bem diferenciado em ralação ao fundo, o histograma
apresentará distintamente duas classes na forma de dois picos separados por um "vale".
[Facon-2007]
Apesar de o histograma ser razoavelmente bimodal, nenhuma técnica de limiarização
global fornece um resultado com nível de excelência desejado. A região do tomate obtida não
é segmentada com a sua verdadeira geometria, como pode ser observado na Figura 11(a).
Após ser verificado que a teoria não se aplica nesta etapa do projeto, e após a
realização de vários testes, concluiu-se que a Limiarização Local de Bernsen se mostrou
capaz de resolver essa exceção à regra, permitindo a preservação da geometria do tomate.
23
Figura 9: Limiarização Global (a); Limiarização Local de Bernsen (b).
A obtenção do tomate limpo por dentro é obtida pela técnica de Reconstrução Binária.
O processo de reconstrução é como água, que vai derramar e se espalhar. A reconstrução
funciona com a fase preta da imagem. Para que a reconstrução funcione como desejado,
precisa de um início. Esta imagem de início é gerada por uma imagem de borda, que contém
os limites da imagem pretos (espessura de 2 pixels) e o resto branco.
Ao iniciar o processo de reconstrução, tudo que estiver em contato com esta borda
preta vai ser pintado de preto, porém o anel branco ao redor do tomate vai fazer o papel de
dique e não vai permitir a reconstrução se propagar. Ao término do processo o fundo da
imagem permanece igual, mas o tomate fica totalmente branco, sem ruído algum no seu
interior.
Figura 10: Resultado da técnica de Reconstrução Binária.
24
Após ter obtido uma imagem com a região do tomate limpo por dentro, foi aplicada a
técnica de filtragem por Fechamento Morfológico Binário, utilizando o elemento estruturante
Rhombus com 4 iterações.
Assim foi obtida uma imagem chamada de “máscara” onde, a partir dela, foi
recuperada a imagem original adotando o seguinte critério: todos os pixels correspondentes à
área branca serão mantidos na imagem colorida original, e todos os pixels correspondentes à
área preta permanecerão pretos na imagem colorida original.
Dessa forma foi possível isolar apenas o tomate, desconsiderando o fundo da imagem.
Figura 11: Imagem original sem o fundo (a); máscara obtida através da técnica de Fechamento (b).
5.1.1. Resultados obtidos
Com a utilização das técnicas de processamento de imagens mencionadas no item 5.1,
foram obtidos resultados expressivos. Esse procedimento foi aplicado em uma base e imagens
contendo um total de 88 imagens.
Inicialmente a técnica de Limiarização de Bernsen se mostrou eficaz, porém não
atingiu a totalidade da base de imagens. Na tentativa de atingir 100% da base, foram alterados
os parâmetros da Limiarização de Bernsen e em seguida aplicada uma técnica conhecida
como Erosão.
Dessa maneira foi possível estender o sucesso na remoção do fundo para
aproximadamente 83%.
Os resultados obtidos são apresentados no ANEXO A.
25
Em 16% das imagens o resultado não foi o desejável. Pequenas partes do tomate
acabaram sendo removidas junto com o fundo. Em um pouco mais de 1% das 88 imagens o
procedimento definitivamente não mostrou resultados satisfatórios.
5.2. CONVERSÃO PARA HSI
A conversão do modelo de cores RGB para o modelo HSI é feita recuperando as
informações R, G e B de cada pixel e aplicando as formulações matemáticas abaixo.
Onde min(r,g,b) representa o menor valor entre R, G e B.
Separando-se os canais H (hue, matiz), S (saturation, saturação) e I (intensity,
intensidade) é possível observar características interessantes, como por exemplo, a
identificação das regiões de brilho, visualizada através do canal H.
Figura 12: Identificação da região de brilho através do canal H.
26
5.2.1. Resultados obtidos
A conversão entre os modelos de cores se mostrou eficiente em 100% das imagens do
repositório, permitindo separar os canais que são de interesse para as demais etapas.
Utilizando-se as técnicas de Limiarização de Otsu-Yan, foi possível delimitar as áreas
correspondentes aos reflexos.
Figura 13: Canal H (a); Regiões de reflexo definidas (b).
5.3. SEGMENTAÇÃO
A etapa de segmentação busca a dita Região de Interesse, ROI. Essa região pode ser
encontrada utilizando-se técnicas de limiarização.
Inicialmente a imagem, cujo fundo foi removido na etapa inicial do processo, é
convertida em níveis de cinza para facilitar a limiarização, e a partir desse ponto dá-se início a
uma seqüência operações que levam à identificação das possíveis regiões lesionadas do
tomate.
27
Figura 14: Imagem original sem o fundo (a); Regiões suspeitas (b); Regiões de brilho excessivo (c).
A seqüência utilizada para se conseguir os resultados mostrados pela Figura 14(b) é
mostrada a seguir:
(1) Detecção de borda, utilizando o algoritmo de Prewitt (2) Inversão da imagem obtida em (1) (3) Limiarização Local de Bernsen, com contraste 25 e janela 15 da imagem obtida em
(2) (4) Limiarização Global de Otsu da imagem inicial em nível de cinza (5) Operação OR entre a imagem obtida em (4) e a imagem obtida em (3) (6) Técnica de Reconstrução Binária aplicada à imagem obtida em (5) (7) Operação XOR entre o resultado obtido em (5) e a imagem obtida em (6)
28
5.3.1. Resultados obtidos
Inicialmente esta seqüência de operações trouxe resultados bastante interessantes para a localização das regiões suspeitas de estarem danificadas. As técnicas utilizadas foram eficazes em identificar todas as regiões suspeitas. Foram aplicadas as técnicas de Abertura e Fechamento Morfológico Binário para delimitar as regiões pretendidas nessa etapa do processo.
Figura 15: Regiões suspeitas - Prewitt (a); Regiões suspeitas delimitadas (b).
5.4. IMPERFEIÇÕES
Essa etapa visa determinar quais são as regiões que efetivamente estão danificadas.
Basicamente o processo consiste em fazer uma espécie de subtração entre a imagem que compreende as regiões suspeitas e a imagem que compreende os reflexos. Como ambas as imagens são binárias então a operação foi realizada da seguinte maneira:
O pixel de coordenada x,y na imagem que contém os reflexos foi analisado. Caso a cor correspondente desse pixel fosse branca, ou seja, existe reflexo, então o pixel correspondente na imagem resultante seria preto, ou seja, não está danificado. Sendo preta a cor do pixel, ou seja, não existe reflexo, o pixel correspondente na imagem que contém as regiões suspeitas seria analisado. Sendo da cor branca, ou seja, existe região danificada, então o a cor do pixel correspondente na imagem resultante seria branco, indicando o machucado. Do contrário o pixel deveria ser da cor preta.
29
Figura 16: Processo de identificação da região danificada do tomate.
5.4.1. Resultados obtidos
Como pode ser observado na Figura 16: Processo de identificação da região danificada do
tomate., as regiões machucadas foram identificas, removendo-se a região de brilho excessivo
no tomate. Como mencionado na etapa de Conversão para HSI, através do canal H no modelo
de cor HSI é possível encontrar a região referente ao brilho, e eliminá-la da avaliação sem
comprometer os resultados.
30
Figura 17: Tomate original e as regiões com machucados.
A Figura 17: Tomate original e as regiões com machucados. ilustra as regiões identificadas
como defeituosas. É importante observar que as regiões correspondentes ao reflexo não foram
marcadas como regiões defeituosas, o que demonstra a eficiência dos processos utilizados.
31
6. CONCLUSÃO
Como apresentado no presente trabalho, o processo de análise de imagens é bem
delicado e envolve uma série de fatores que podem levar ao sucesso ou fracasso do projeto.
Uma vez estudados, implementados e devidamente testados e validados, os módulos
que compõem o sistema oferecem o resultado desejado: a identificação das regiões
danificadas do tomate, permitindo que o mesmo possa ser qualificado como próprio ou
impróprio para o comércio.
Uma das principais dificuldades encontradas foi o desenvolvimento do projeto por
somente 1 pessoa, sem a existência de uma equipe. Mesmo tendo o escopo ajustado para se
enquadrar dentro do cronograma acadêmico e para a realização por parte de apenas 1 aluno,
acabou exigindo maior esforço, principalmente nas etapas de pesquisa dos algoritmos a serem
utilizados e nos testes para verificar a eficiência dos mesmos.
Visualizando o projeto como sendo uma etapa de um sistema maior, o presente
trabalho representa o núcleo de um sistema de inspeção de qualidade de tomates. A idéia geral
é depositar os tomates em uma esteira e através de imagens captadas por câmeras analisar as
características do tomate e tomar uma decisão. Essa decisão acarretará no descarte ou
aproveitamento do tomate.
Apesar das dificuldades encontradas para o cumprimento do cronograma o autor desse
projeto conseguiu cumprir todas as metas propostas. Um passo muito grande foi dado em
direção à implantação do sistema de inspeção de tomates na indústria.
Em projetos futuros, pode ser dada continuidade a esse projeto, com melhorias nas
etapas de localização de regiões suspeitas, onde um problema bastante complexo foi
encontrado: saber identificar a região de sustentação do tomate. Essa região, pelas técnicas
aplicadas, acaba sendo confundida com regiões suspeitas de defeito. É necessária uma
dedicação exclusiva para tratar desse ponto.
Outro fator que deve ser aprimorado em trabalhos futuros é a etapa de remoção de
fundo. Nos resultados obtidos com os testes efetuados, 16% das imagens apresentaram
pequenas partes do tomate que acabaram sendo removidas junto com o fundo. Esse fato não
garante que a totalidade da área do tomate seja analisada.
32
A aplicação de técnicas de processamento de imagens permite a criação de sistemas
sofisticados e robustos para diversas aplicações. O presente trabalho mostra a utilização
dessas técnicas em um ambiente comercial, relacionado à agroindústria. Um mercado forte no
país e também no estado do Paraná que está cada vez mais se modernizando e investindo em
automatização e qualificação de seus processos.
O Sistema de Inspeção de Qualidade em Tomates é um sistema de baixo custo, veloz e
confiável de triagem de tomates possibilitando a não comercialização de produtos
danificados.
33
REFERÊNCIAS
[Facon-2007] Facon, J – Processamento e Análise de Imagens – Curso em Mestrado em Informática Aplicada, PUCPR – 2007, p 128 [BRITTO-1996] BRITTO JR., A.S., Segmentação Por Cor Utilizando a Transformada de Karhunen-Loève. Curitiba, Dissertação (Mestrado), Pós-Graduação em Engenharia Elétrica e Informática Industrial, Centro de Federal de Educação Tecnológica do Paraná, 1996. [REBESCO-2007] REBESCO, Elaine. Os vilões do desperdício. Revista Eco 21. Disponível em: <http://www.eco21.com.br/textos/textos.asp?ID=959> Acesso em: 4 set. 2007 às 15:56. [Embrapa-2007] CULTIVO DE TOMATE PARA INDUSTRIALIZAÇÃO. In: Embrapa Hortaliças. Disponível em: <http://sistemasdeproducao.cnptia.embrapa.br/FontesHTML/Tomate/TomateIndustrial/colheita.htm> Acesso em: 4 set. 2007 às 14:36. [INFORMÁTICA NUMA BOA-2007] ENTENDENDO IMAGENS E CORES. In: Informática numa boa. Disponível em: < http://www.numaboa.com.br/informatica/java/cores.php> Acesso em: 13 set. 2007 às 22:14. [UNISINOS-2007] QUADTREE. In: Unisinos. Disponível em: http://www.inf.unisinos.br/~ari/estrut/quad/Quadtree.htm Acesso em: 13 set. 2007 às 20:37. [MARTINEZ-2005] MARTINEZ-USÓ, Adolfo, PLA, Filiberto, GARCIA-SEVILLA, Pedro, Multispectral Image Segmentation for Fruit Quality Estimation. Espanha, Dpto. Lenguajes y Sistemas Informáticos, Jaume I University, 2005. [SIMÕES-2001] SIMÕES, Alexandre da Silva, COSTA, Anna Helena Reali, ANDRADE, Marco Túlio Carvalho de, Utilizando Um Classificador Fuzzy para a Seleção Visual de Laranjas. São Paulo, Depto. de Engenharia de Computação e Sistemas Digitais, Escola Politécnica da Universidade de São Paulo, 2001. [UNAY-2006] UNAY, Devrim, Multispectral Image Processing And Pattern Recognition Techniques For Quality Inspection Of Apple Fruits. França, Dissertação (Doutorado), Philosophy in applied science, 2006.
34
ANEXOS
35
ANEXO A – Teste com imagens de tomates – Remoção do fundo
36
37