Académique Documents
Professionnel Documents
Culture Documents
0402007
Jaguariúna
2007
Fátima Aparecida Tagliaferro
0402007
Jaguariúna
2007
TAGLIAFERRO, Fátima Aparecida Tagliaferro. Técnicas de reconhecimento
___________________________________
Prof. Ms. Peter Jandl Junior –
FAJ – Orientador
__________________________________
Prof. Ms. Christiane Novo Barbato –
FAJ
____________________________________
Prof. Ms. Ricardo Menezes Salgado –
FAJ
Dedico este trabalho a Deus e a minha família.
AGRADECIMENTOS
Em primeiro lugar agradeço a Deus por tudo porque sem ele, com certeza, eu não
estaria aqui e pela minha família que sempre esteve presente.
Agradeço também aos meus professores, pela dedicação e empenho, e em especial
ao meu orientador Prof. Ms. Peter Jandl Junior, que me ensinou a buscar soluções para o
meu projeto.
Aos funcionários da FAJ que sempre realizaram um excelente trabalho, em principal às
funcionárias da biblioteca e do Núcleo de Estágios.
Pela compreensão, ajuda e amizade: a turminha do Núcleo de Informática do Hospital
das Clínicas da Unicamp; ao Prof. Ricardo Menezes Salgado da Faculdade de Jaguariúna; e
ao Prof. Konradin Metze, coordenador do Grupo de Patologia Analítica Celular da Unicamp.
Como não poderia deixar de ser, agradeço também aos meus colegas de classe, aos
que partiram para novos horizontes e aos que hoje estão aqui partilhando da mesma vitória:
Elis C. M. Garavelli, José Antonio Garavelli e Luciani Vilas Boas.
Para evoluirmos e colhermos bons frutos é preciso descobrir uma fórmula balanceada
que permita desorganizar organizando. Ousando desorganizar nossos pensamentos, nós
nos tornamos capazes de formular novos pensamentos e assim, evoluímos e adquirimos
sabedoria, uma sabedoria afogada em informações e aflorada de dúvidas, uma sabedoria
que gera medo, mas que, com um pouco de imaginação, transforma-se em bons frutos.
No entanto, para que seja dado o primeiro passo rumo ao desconhecido, é necessário
um grande sonho, um sonho grande o suficiente que nos leve a superar os desafios
impostos no caminho, e amigos.
Não sei se consegui adquirir sabedoria, mas com toda certeza descobri muitas coisas
novas, das quais espero colher bons frutos no futuro.
Imagination is more important than knowledge.
Albert Einsten
TAGLIAFERRO, Fátima Aparecida. Técnicas de reconhecimento automatizado de
padrões baseados em imagens digitais. 2007. Monografia (Bacharelado em Ciência da
Computação) – Curso de Ciência da Computação da Faculdade de Jaguariúna, Jaguariúna.
RESUMO
ABSTRACT
The recognition of patterns has applications in many domains, allowing a data identification
in a more efficient way than by human vision, because it can eliminate or reduce the
mistakes caused by tiredness or fadigue for example. The area is divided in: computer
vision; data processing; computer graphics; and image processing. This also involves: way
of acquisition of the image; identification of structures; quantification; visualization and
comprehension. This work intended to study the techniques of recognition of digital images
and hold the implementation of the algorithms applied to the problem of identification and
counting of blood cells. The chosen method consists of a bibliographic research, study
of techniques of recognition, coding and testing of the chosen algorithms and analysis of
results. The previous classification of images determines the adequate algorithms to the
recognition. Softwares as the Scion Image were used to the recognition and counting of
specific blood cells in digital images as bitmap. The given image is pre-processed for
removal of its fund and undergoes additional changes to accommodate it to the recognition.
The desired cells are analyzed through their minimum and maximum sizes making their
counting possible.
LISTA DE FIGURAS......................................................................................................... 10
LISTA DE TABELAS......................................................................................................... 11
1 INTRODUÇÃO ............................................................................................................... 12
1.1 Metodologia................................................................................................................ 13
2 CONCEITO DE IMAGEM............................................................................................... 14
2.1 Visão Computacional................................................................................................ 15
2.2 Questões do processamento visual........................................................................ 17
2.3 Imagem Digital........................................................................................................... 19
3 ALGORITMOS................................................................................................................ 22
4 RECONHECIMENTO E INTERPRETAÇÃO.................................................................. 24
4.1 Métodos de decisão................................................................................................... 26
4.2 Classificador de distância mínima / distância Euclidiana..................................... 27
4.3 Classificador Bayesiano........................................................................................... 27
4.4 Filtros.......................................................................................................................... 28
4.5 Segmentação da imagem.......................................................................................... 29
5 TECNOLOGIA DE SOFTWARE.................................................................................... 30
5.1 Matlab.......................................................................................................................... 30
5.2 Scion Image................................................................................................................ 32
6 TESTES.......................................................................................................................... 33
6.1 Matlab.......................................................................................................................... 34
6.1.1 Pseudo-código........................................................................................................ 36
6.2 Scion Image................................................................................................................ 37
6.2.1 Pseudo-código........................................................................................................ 39
7 RESULTADOS............................................................................................................... 40
8 REFERÊNCIAS BIBLIOGRÁFICAS.............................................................................. 41
9 ASSINATURAS.............................................................................................................. 44
LISTA DE FIGURAS
Figura 1 - Rel. dos trabalhos pub. em congressos pelo Grupo Vision - USP.............. 12
Figura 2 - Velha Moça.................................................................................................. 13
Figura 3 - Macro-áreas da imagem digital.................................................................... 14
Figura 4 - Processo e elementos da visão computacional........................................... 15
Figura 5 - Fatos explícitos em imagens....................................................................... 17
Figura 6 - Diagrama de agulhas................................................................................... 17
Figura 7 - Generalização de volumes.......................................................................... 17
Representação numérica de uma imagem ampliada de 10 x 10 com 256
Figura 8 - 19
tons de cinza................................................................................................
Figura 9 - Vetor de componentes de imagens coloridas (RGB)................................... 19
Figura 10 - Relação entre comprimento e velocidade de onda...................................... 20
Figura 11 - Espectros de luz.......................................................................................... 20
Figura 12 - Espectro eletromagnético............................................................................ 20
Figura 13 - Nível alto de dificuldade no reconhecimento de imagem............................ 25
Figura 14 - Representação por cadeias......................................................................... 25
Figura 15 - Fronteira das classes usando o classificador bayesiano............................. 28
Figura 16 - Macro Threshold do Software Scion Image................................................. 29
Figura 17 - Tela de abertura do programa Matlab......................................................... 30
Figura 18 - Uso de matrizes no Matlab.......................................................................... 31
Figura 19 - Janela do Software SDC Morphology Toolbox for Matlab........................... 31
Figura 20 - Tela de abertura do programa Scion Image................................................ 32
Figura 21 - Elementos figurados do sangue.................................................................. 33
Figura 22 - Macro utilizada no Matlab............................................................................ 36
Figura 23 - Macro utilizada no Scion Image................................................................... 38
LISTA DE TABELAS
1 INTRODUÇÃO
1.1 Metodologia
O objetivo deste trabalho foi fazer um estudo das técnicas usadas no reconhecimento
de imagens, além de um estudo de algoritmos de reconhecimento de imagens e a
implementação na contagem e identificação de células sangüíneas. Como em geral, as
soluções do campo de processamento de imagens requerem um extenso trabalho
experimental envolvendo simulações e teste, para a implementação dos algoritmos foram
utilizados os softwares Scion Image e Matlab.
No trabalho foram realizadas pesquisas bibliográficas, através de livros, revistas e
sites especializados, além de discussões com profissionais da área.
14
2 CONCEITO DE IMAGEM
Durante a vida, tudo o que é sentido, ouvido e visto é relacionado a padrões já pré-
estabelecidos, os recursos ópticos são os responsáveis por fazer o registro e a ampliação
destas sensações. O primeiro grande passo da humanidade para a evolução do registro
visual foi à descoberta da fotografia e, graças aos computadores, é possível transformar os
dados contidos nas imagens em informações quantificadas, expressando assim cor, brilho,
estrutura etc.
Os olhos humanos funcionam como se fossem câmeras fotográficas perfeitas, sendo
que em cada olho têm-se em torno de 125 milhões de receptores visuais, no entanto, as
ilusões de ótica demonstram que a visão compete por atenção do cérebro. (Pinker, 2007;
Menezes, 2007). O mecanismo de funcionamento dos olhos é composto de uma abertura
para passagem de luz, de uma lente e um anteparo, onde a imagem é recebida e registrada,
e é utilizado para a formação dos conceitos das macro-áreas da imagem digital.
As macro-áreas que trabalham com o conceito de imagem digital podem ser
representadas de acordo com a Figura 3. Dentro do processo de visão computacional, um
marco da computação gráfica com o conceito de visão computacional é o filme Matrix1,
originado da coleção de contos Animatrix, o filme faz uma fusão entre a computação gráfica
e o tradicional anime japonês. Para Albuquerque (2007), as áreas de processamento de
imagens e de computação gráfica apesar de serem vistas como totalmente opostas, tem
técnicas complementares, senão iguais.
PROCESSAMENTO DE DADOS
SÍMBOLOS
VISÃO COMPUTAÇÃO
COMPUTACIONAL GRÁFICA
IMAGENS
PROCESSAMENTO DE IMAGENS
1
The Matrix; E.U.A.;1999; Mistura de ação e ficção científica. Direção: Larry e Andy Wachowshi.
15
A visão computacional pode ser entendida, desta forma, como uma multidão de
técnicas usadas para adquirir, processar, analisar e entender dados extremamente
complexos. Seguindo a regra de que é mais simples comparar sistemas sobre o ponto de
vista biológico, podem ser destacados alguns pontos comuns entre os sistemas de visão
biológico e o computacional, além de compará-los através de sua função (Tabela 1)(Jähne,
2000):
• Campo de radiação: usando a radiação é possível observar uma cena ou objeto;
16
REFERÊNCIA TAREFA
Posição e distância;
Tamanho e área;
Geometria 2D e 3D. Profundidade e metrologia 3D;
Formatos 2D;
Formatos 3D.
Reflexão;
Cor;
Radiometria. Temperatura;
Fluorescência;
Espectro.
Movimento 2D;
Movimento.
Movimento 3D.
Contornos e linhas;
Ondas e escalas;
Estrutura espacial e textura.
Orientação local;
Texturas.
Segmentação;
Identificação de objetos;
Tarefas de alto nível.
Classificação de objetos;
Modelo e base de conhecimento.
Tabela 2 - Classificação das tarefas para sistemas de visão de computadores (Jähne, 2000).
19
Uma imagem digital pode ser definida, geralmente, como uma função f(x,y), onde o
valor nas coordenadas x e y correspondem ao brilho (radiância) da imagem nos pontos da
coordenada (Gonzales and Woods, 1992 apud Silva, 2005). A imagem digital corresponde à
representação numérica do objeto, é uma função quantificada e amostrada, sendo a sua
menor unidade denominada de pixel (picture element). Na Figura 8, é possível visualizar a
representação de uma imagem com 256 tons de cinza.
Figura 8 – Repres. de uma imagem ampliada de 10x10 com 256 tons de cinza (Silva, 2005).
As cores são sensações da luz que incide nos olhos. Analisando a luz como uma
onda, pode-se relacionar o seu comprimento λ , com a sua freqüência f e a sua velocidade
v , através de v = λf , de acordo com a Figura 10 (Gattass, 2002).
De acordo com o comprimento da onda (Figura 11) e o seu espectro é possível obter
uma sensação de cor diferente.
A imagem a qual se quer representar em uma função, pode seguir diferentes formas
(INCOR-HC, 2007) e segundo a maioria dos estudos (Müller, Dalmolin e Araki, 1999), é
feita, principalmente, através do reconhecimento de padrões em imagens em tom de cinza e
falsa-cor. Dentre as formas de representação tem-se:
• Função contínua:
f(x,y)
f:Rn =>Rp
• Função discreta:
f(i,j)
f:Z+n => Z+p
• Pixel (picture element):
f(i,j)
• Voxel (volume element):
f(i,j,k)
• Spel (space element):
f(i,j,...n)
• Representação matricial:
F[i][j]
22
3 ALGORITMOS
A evolução dos algoritmos para visão de computadores foi por muito tempo
negligenciada e os resultados, por esse motivo, apresentavam muitos erros. O que causou
esta situação foi por um lado, certamente, a dificuldade de tratar os problemas e por outro, o
fato da comunidade ignorar tal problema. Os três maiores critérios para análise da
performance destes algoritmos são segundo (Jähne, 2000):
O estudo dos algoritmos pode ser dividido, de acordo com estes critérios (Jähne,
2000), em:
4 RECONHECIMENTO E INTERPRETAÇÃO
Uma classe de padrões pode ser representada através de um valor médio ou por um
vetor protótipo, de acordo com Gonzaga (2007).
1
mj =
Nj
∑ x j = 1, 2, ..., M
x∈wj
De acordo com Gonzaga (2007), para resolver um problema que envolve duas classes
de padrões governados por densidades gaussianas, com médias m1 e m2 e desvios padrões
σ 1e σ 2 , pode-se resolver da seguinte forma:
28
1 (x − m j )2
exp − P(wj) j = 1,2
2πσ j 2σ 2j
4.4 Filtros
2
Método de Gauss – é um método que consiste na aplicação de operações elementares à matriz aumentada no
sistema, chegando-se assim a uma matriz escalonada, neste caso ele produz um efeito de desfocagem.
29
5 TECNOLOGIA DE SOFTWARE
5.1 Matlab
Matlab (Figura 17) é um sistema interativo de matrizes (Figura 18) que pode ser usado
tanto para o ensino de matemática fundamental quanto para cálculos complexos de
engenharia. O nome é uma abreviação de MATrix LABoratory, e foi originalmente
desenvolvido, com a intenção de facilitar o acesso a matrizes, para os projetos LINPACK
(Linear System Package) e EISPACK (Eigen System Package). Hoje, o Matlab incorpora as
bibliotecas LAPACK (Linear Álgebra Package) e BLAS (Basic Linear Álgebra Subprograms)
(Gonzalez, Woods e Eddins, 2004).
O Matlab consegue executar uma seqüência de ações através de arquivos chamados
de “M-files”, que possuem a extensão “*.m”. Os M-files são de 2 tipos, os “scripts files”, que
são uma seqüência normal de passos do Matlab e os “function files”, que são funções
criadas para necessidades específicas (Gonzalez, Woods e Eddins, 2004).
3
A densiometria foi descrita como ciência graças a Pierre Bouguer (1729) e Johann Heindrich Lambert (1760)
que descreveram o processo de radiação (ou luz) (Andrade, 2000).
33
6 TESTES
GLÓBULOS BRANCOS
PLAQUETAS
GLÓBULOS VERMELHOS
Figura 21 – Células sangüíneas com hemácias, glóbulos brancos e plaquetas (Borja, 2007).
34
6.1 Matlab
O Matlab reconhece vários tipos de extensões de imagens porém, para o estudo das
técnicas de reconhecimento de imagens, os testes foram realizados com a imagem na
escala de tons cinza e com a extensão bitmap (“*.bmp”). O Matlab é um software completo e
permite a manipulação de matrizes de forma relativamente fácil. Permite fazer interfaces
com linguagens de programação “C” e “Java” por exemplo, de forma a tornar o processo de
reconhecimento de imagens o mais automatizado possível. Na Tabela 3, é possível
visualizar a seqüência de testes realizados no software Matlab.
Threshold da imagem.
Histograma da imagem.
Na Figura 22, é exibido o arquivo utilizado para gerar a rotina realizada na Tabela 3, a
rotina criada foi executada através de um ícone na área de trabalho mapeado para
“C:\MATLAB701\bin\win32\MATLAB.exe -nojvm -r celsang”. Foram feitas as etapas de
limpeza de ruídos, detecção de borda e Threshold, além de exibir o histograma para análise
da imagem. Com o software Matlab é possível conseguir mais liberdade na programação,
porém é necessário um conhecimento anterior do software e de suas funcionalidades.
No início do código é executada uma função que faz o tratamento da imagem para a
escala de cor cinza. Para a limpeza de ruídos da imagem é utilizado um filtro gaussiano e é
utilizada a função threshold. É feita a verificação da imagem para identificar se ela esta em
formato binário ou não, após essa rotina a imagem binária é salva, no entanto a visualização
do código binário só seria possível com a implementação de um programa que fizesse a
conversão do arquivo “*.m” para um arquivo “*.txt” .
É utilizada a função edge para detecção de contornos e novamente a função threshold
para alterar o fundo da imagem. A imagem é plotada para visualização.
36
6.1.1 Pseudo-código
1. Início do programa
2. Ler imagem
3. Se imagem ≠ escala de cinza então
Converte imagem para escala de cinza
Armazena imagem em uma função “y”
Senão
Armazena imagem em uma função “y”
4. Aplicar filtro na imagem
5. Aplicar função threshold na imagem
6. Se imagem ≠ binário
Converte imagem para binário
Salva imagem binária
Senão
Salva imagem binária
7. Aplicar função edge na imagem
8. Plotar resultado na tela
Na Figura 23, é exibida a macro criada para gerar a rotina que fará o reconhecimento
das células de acordo com a densidade.
No início do código, são declaradas as variáveis “min” e “max" que serão utilizadas na
busca de acordo com o tamanho do componente da imagem (o tamanho é dado em pixels),
também são zerados os contadores para evitar erros. Após isso, é criada no código uma
“matriz gaussiana” que servirá para a aplicação do filtro na matriz da imagem. Com a
finalidade de diminuir a área de análise da imagem é utilizada a função “Auto Threshold” e é
gerada uma imagem binária. Para a aplicação da função “Cross”, que determinará a
densiometria dos componentes, é chamada a função “TraceEdges” que traça os contornos
da imagem. A função “Cross” percorre de um ponto da borda até o outro para fazer o cálculo
da área para fazer a densiometria. São exibidas as telas de diálogo para entrada dos
valores mínimo e máximo das partículas que serão analisadas, além disso são definidos
alguns parâmetros que não estão inclusos na função “default” da função “AnalyzerParticles”.
O resultado é exibido na tela através da imagem.
Durante os testes, foi observado que na contagem das hemácias, devido à
sobreposição das mesmas e a qualidade da imagem (tonalidade), estas eram consideradas
uma única célula, sendo assim, como a análise foi feita através da densiometria, estas
apareceram na contagem de glóbulos brancos ao invés de aparecerem na de glóbulos
vermelhos.
6.2.1 Pseudo-código
1. Início do programa
2. Declarar variáveis “mínimo” e “máximo”
3. Zerar contador
4. Ler imagem
5. Criar matriz de ruído
6. Aplicar filtro na imagem utilizando a matriz de ruído
7. Aplicar função threshold
8. Gerar imagem binária
9. Aplicar função edge na imagem
10. Carregar valores padrão para a função
11. Aplicar função de análise nas partículas
12. Plotar resultado na tela
40
7 RESULTADOS
8 REFERÊNCIAS BIBLIOGRÁFICAS
ANGELO, Michele Fulvia apud MORAES, Aline. Software pioneiro acessível via internet
permite análise mais detalhada de mamografias. Agência USP de Notícias.
USP. Reportagens 26/04/2007. Ano XXII nº 797. Disponível em: <
http://noticias.usp.br/acontece/obterNoticia?acesso=n&imprimir=s&print=s&cod
ntc=15949&codnucjrn=1>. Acesso em: 16 de maio de 2007.
BONVENTI JÚNIOR, Waldemar; COSTA, Anna Helena Reali. Classificação por
agrupamento nebuloso de padrões de cores em imagens. Departamento
de Engenharia de Computação e Sistemas Digitais, Escola Politécnica da
Universidade de São Paulo, São Paulo. Disponível em:
<http://www.lti.pcs.usp.br/publicacoes/BonventiCosta02-WORKCOMP.pdf>.
Acesso em: 27 de fevereiro de 2007.
BORJA, Fernando. Histologia. Centro de Saúde & Tecnologia Rural, Universidade
Federal de Campina Grande, Campus de Patos, Patos – P.B.. Disponível em: <
http://www.cstr.ufcg.edu.br/histologia/atlas_sangue_linfa.htm>. Acesso em: 05
de outubro de 2007.
CCS USP. Variedades – Ilusão de Ótica. Espaço Aberto. Coordenadoria de
Comunicação Social. Universidade de São Paulo. Ano IV – nº32.
janeiro/fevereiro de 1999. Disponível em: <
http://www.ccs.usp.br/espacoaberto/fevereiro99/variedades.html >. Acesso em:
08 de outubro de 2007.
CESAR JR, Roberto M. Imagens Digitais. Computer Vision Research Group at São
Paulo. Departamento de Ciência da Computação. Instituto de Matemática e
Estatística. Universidade de São Paulo. Disponível em:
<http://www.vision.ime.usp.br/~cesar/talks/mac420/imagensDigitais.pdf>.
Acesso em: 01 de abril de 2007.
42
<http://www.incor.usp.br/spdweb/cursos/downloads/ptc5750_introd_coracao200
6.pdf>. Acesso em: 01 de abril de 2007.
JÄHNE, Bernd. Computer Vision and Applications – A guide for students and
practitioners, Introduction, Academic Press, San Diego, CA, USA, 2000.
JUNQUEIRA, Luiz C.; CARNEIRO, José. Histologia Básica. 9ª Edição. Rio de Janeiro,
R.J..; Editora Guanabara Koogan, 1999.
MENA-CHALCO, Jesús P.; CESAR JR, Roberto Marcondes. ScriptLattes. Incubadora
Fapesp. CNPq. Disponível em: <http://scriptlattes.incubadora.fapesp.br/portal>.
Acesso em: 25 de março de 2007.
MENEZES, Luís Carlos (coord.) et al. Leituras de física. GREF Óptica para ver, fazer e
pensar. Universidade de São Paulo. Junho-1998. Disponível em:
<http://axpfep1.if.usp.br/~gref/optica/optica1.pdf. >. Acesso em: 01 de abril de
2007.
MENEZES, Paulo Fernando Blauth. Linguagens formais e autômatos. Instituto de
Informática da UFRGS. Número 3. 4ª Edição. Editora Sagra Luzzatto, 2000.
METZE, Konradin apud SUGIMOTO, Luiz. Detectando o imperceptível, descrevendo o
indescritível. Sala de Imprensa. Jornal da Unicamp. Universidade Estadual de
Campinas. Edição 278. 28 de fevereiro a 6 de março de 2005. Disponível em: <
http://www.unicamp.br/unicamp/unicamp_hoje/ju/fevereiro2005/ju278pag09.htm
l>. Acesso em: 08 de junho de 2007.
MÜLLER, Sonia Isoldi Marty Gama; DALMOLIN, Quintino; ARAKI, Hideo. Comparação
entre os métodos de máxima verossimilhança, distância mínima e o
método de Fisher para reconhecimento de padrões em imagens coloridas.
Boletim Ciências Geod. de Curitiba, Universidade Federal do Paraná. 1999.
Disponível em:
<http://calvados.c3sl.ufpr.br/ojs2/index.php/bcg/article/viewPDFInterstitial/1496/
1250>. Acesso em: 27 de fevereiro de 2007.
PINKER, Steven. The mystery of consciousness. Time. 12/02/2007. vol. 169 nº7.
SILVA, Renato Ramos da. Reconhecimento de imagens digitais utilizando redes
neurais artificiais. 2005. 51 f. Monografia (Graduação em Ciência da
Computação). Universidade Federal de Lavras, Lavras – MG.
WINSTON, Patrick Henry; Inteligência Artificial, tradução de Carlos Octávio Pavel, Rio
de Janeiro: LTC – Livros Técnicos e Científicos, 1988.
44
9 ASSINATURAS
________________________________ ________________________________
FÁTIMA APARECIDA TAGLIAFERRO PETER JANDL JUNIOR