Você está na página 1de 37

Programa de P

os-Graduac
ao em Ci
encia da Computac
ao
Vis
ao Computacional

o de
Tratamento, Extrac
a
Caractersticas e
o da Base de
Classificac
a
Dados LeafDB

Leandro Aparecido Passos J


unior

Prof. Dr. Alexandre Lus Magalhaes Levada


Departamento de Computacao, Universidade Federal de Sao Carlos

11 de junho de 2015

Lista de Figuras
2.1

2.2
2.3

2.4
2.5

3.1
3.2
3.3
3.4
4.1
4.2
4.3
4.4
5.1

Codigo utilizado para carregar imagens e converte-las para


imagens em tons de cinza. Note que o procedimento e executado apenas para a classe circinatum, e deve ser repetido para
as demais classes. . . . . . . . . . . . . . . . . . . . . . . . .
Chamada ao filtro mediano, para borramento de imagens. . .
Aplicacao do filtro mediano. Em (a) podemos ver a imagem
em tons de cinza. (b) e (c) apresentam a filtragem com matriz
de discos de tamanho 5 e 10, respectivamente. . . . . . . . .
Chamada ao algoritmo Canny, para deteccao de bordas. . . .
Aplicacao do filtro Canny. Em (a) podemos ver a imagem em
tons de cinza. (b) e (c) apresentam a filtragem com =1.0 e
=3.0, respectivamente. . . . . . . . . . . . . . . . . . . . .
Adicionando rudo Gaussiano a` imagem. . . . . . . . . . . .
Em (a) podemos ver a imagem em tons de cinza, e em (b) a
imagem com adicao de rudo Gaussiano. . . . . . . . . . . .
Adicionando rudo Gaussiano a` imagem. . . . . . . . . . . .
Imagem original, com adicao de rudo Gaussiano e restaurada
pelo Filtro de Wiener em (a), (b) e (c), respectivamente. . .

.
.

8
9

. 10
. 10

. 10
. 11
. 12
. 12
. 13

Script utilizado para gerar o histograma. . . . . . . . . . . . .


Imagem e histograma em (a), e os mesmos equalizados em (b).
Codigo utilizado para binarizacao por Limiar de Otsu . . . . .
(a) e (b) apresentam as imagens original e binarizada, respectivamente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15
15
16
16

Contorno parametrico da imagem atraves do metodo Marching


Squares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.2

Imagem binarizada em (a). Extracao do contorno da imagem


em (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

6.1
6.2

Transformada Eixo Medial. . . . . . . . . . . . . . . . . . . . . 19


Imagem binarizada (a), esqueleto (b), Transformada Medial
do eixo em nveis de cinza (c) e exemplo com limiar = 50 (d). 20

7.1

Reconstrucao da forma atraves do esqueleto em conjunto com


a Transformada Distancia. . . . . . . . . . . . . . . . . . . . . 22
Nas imagens (a) e (b) podemos ver o esqueleto da imagem e
sua reconstrucao, respectivamente, sem filtrar qualquer detalhe (limiar = 0). Similarmente, (b) e (e) mostram os resultados
com um limiar = 10, e (c) e (f) com limiar = 50. . . . . . . . 23

7.2

8.1
8.2
8.3
9.1

Pontos de curvatura chave. Note que necessita diversos


parametros, que influenciam na escolha desses pontos. . . . . . 24
Pontos chaves da curvatura para uma imagem da classe Circinatum, Garryana e Kelloggii em (a), (b) e (c), respectivamente. 25
Implementacao de Equacao 8.1 para extracao da curvatura local. 26
Exemplo de folhas Circinatum, Garryana e Kelloggii em (a),
(b) e (c), respectivamente. . . . . . . . . . . . . . . . . . . . . 28

10.1 Grade de busca dos melhores parametros. . . . . . . . . . . . . 31


A.1 Colecao de imagens da classe Circinatum utilizadas nos experimentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
A.2 Colecao de imagens da classe Garryana utilizadas nos experimentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
A.3 Colecao de imagens da classe Kelloggii utilizadas nos experimentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Sum
ario
1 Introduc
ao
1.1 Ferramentas utilizadas no trabalho . . . . . . . . . . . . . . .

6
7

2 Leitura e filtragem de imagens por convoluc


ao
2.1 Leitura e conversao para escala de cinza . . . . . . . . . . .
2.2 Filtros passa-baixas e passa-altas . . . . . . . . . . . . . . .
2.2.1 Filtro Passa-Baixas: Filtro Mediano para borramento
da imagem . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Filtro Passa-altas: Algoritmo Canny para deteccao de
bordas . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.

8
8
9

3 Rudo Gaussiano e o Filtro de Wiener


11
3.1 Adicionando ruido Gaussiano a uma imagem . . . . . . . . . . 11
3.2 Removendo ruido Gaussiano com o filtro de Wiener . . . . . . 12
4 Histograma e Limiarizac
ao de Otsu
14
4.1 Histograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1.1 Binarizacao pelo Limiar de Otsu . . . . . . . . . . . . . 14
5 Extrac
ao param
etrica do contorno: M archingSquares

17

6 Esqueletizac
ao: Medial Axis Transform

19

7 Reconstruc
ao de imagem utilizando Transformada do Eixo
Medial e Mapa Dist
ancia
21
8 Curvatura
24
8.1 CENSURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8.2 Curvatura Local . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4

9 Caractersticas
27
9.1 Seleccao das amostras . . . . . . . . . . . . . . . . . . . . . . 27
9.2 Seleccao das Caracteristicas . . . . . . . . . . . . . . . . . . . 27
10 Classificac
ao
10.1 Metodologia . . . . . . . .
10.1.1 Base de dados . . .
10.1.2 Classificador SVM
10.2 Experimentos . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

11 Conclus
oes
A Amostras selecionadas para a
A.1 Circinatum . . . . . . . . .
A.2 Garryana . . . . . . . . . .
A.3 Kelloggii . . . . . . . . . . .

29
29
29
30
30
32

base
. . .
. . .
. . .

de
. .
. .
. .

dados
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

33
33
33
33

Captulo 1
Introdu
c
ao
Durante o curso de visao computacional, aprendemos diversas tecnicas para
tratamento de imagens, extracao de formas e caractersticas e classificacao
de dados. Este trabalho visa sintetizar o conte
udo aprendido em um exemplo
pratico onde temos uma base de dados com imagens de folhas, e desejamos
reconhece-las e classifica-las fazendo uso das tecnicas aprendidas. Um pouco
mais detalhadamente, o objetivo desse trabalho e seguir os seguintes passos:
Leitura e filtragem de imagens por convolucao (com mascaras de filtros
passa baixas para borramento e passa altas para detectar bordas no
domnio do espaco)
Filtragem adaptativa de imagens (filtro de Wiener adaptativo para
remocao de rudo Gaussiano): adicionar rudo gaussiano na imagem
e depois filtrar
Geracao do histograma das imagens e binarizacao com o algoritmo de
Otsu
Extracao parametrica do contorno das imagens (capturar a forma dos
objetos)
Esqueletizacao (Medial Axis Transform) das formas (extrair esqueleto
das imagens)
Reconstrucao nao linear de objetos atraves da Transformada Distancia
e do esqueleto

Calculo da curvatura local para cada ponto do objeto (funcao que associa a cada ponto do contorno um valor de curvatura)
Calculo de descritores de formas: curvatura media (media da curvatura para todos os pontos), area, comprimento de arco, tamanho do
esqueleto, etc.
Classificacao dos padroes com uma tecnica supervisionada vista no
curso (MAP, KNN, NMC, SVM)
Avaliacao do desempenho atraves da matriz de confusao (taxa de acerto
ou erro)

1.1

Ferramentas utilizadas no trabalho

A maioria dos scripts desse trabalho foram desenvolvidos na linguagem


Python, usando um conjunto de ferramentas desenvolvidos para Processamento de Imagens [1], Aprendizado de Maquinas [2], plotagem de dados
[3], entre outras ferramentas u
teis para processos de Visao Computacional.
Todas essas ferramentas podem ser instaladas simultaneamentes
atraves da distribuicao Anaconda, disponvel para download pelo link
http://continuum.io/downloads.
Alem das ferramentas em python, foi utilizada uma funcao da biblioteca
LibOPF [4], disponvel em http://www.ic.unicamp.br/ afalcao/libopf/, para
dividir e normalizar o conjunto de dados.
Nos captulos a seguir, cada um desses passos serao abordados, apresentando os codigos - escritos em Python - e metodos utilizados. Em seguida
serao apresentados os resultados obtidos na classificacao, atraves do algoritmo SVM, e finalmente uma conclusao do trabalho.

Captulo 2
Leitura e filtragem de imagens
por convolu
c
ao
Esse captulo apresenta uma breve descricao do procedimento adotado para
leitura das imagens e a filtragem por convolucao, utilizando-se de mascaras
de filtros passa baixas para borramento e passa altas para detectar bordas
no domnio do espaco. O processo utilizado e apresentado a seguir:

2.1

Leitura e convers
ao para escala de cinza

Para carregar as imagens e converte-las para tons de cinza, foram usadas as


ferramentas io e color da biblioteca scikit-image, respectivamente. O codigo
e apresentado a seguir [1]:

Figura 2.1: Codigo utilizado para carregar imagens e converte-las para imagens em tons de cinza. Note que o procedimento e executado apenas para a
classe circinatum, e deve ser repetido para as demais classes.

2.2

Filtros passa-baixas e passa-altas

Os filtros sao transformacoes aplicadas na imagem utilizados como um tratamento previo. Os filtros passa baixa borram a imagem, suavizando suas
bordas, a fim de que detalhes pequenos sejam mais suaves e menos sensveis.
Ja os filtros passa alta destacam os pontos onde o contraste e alto, evidenciando assim o contorno ou bordas das imagens.

2.2.1

Filtro Passa-Baixas: Filtro Mediano para borramento da imagem

Para exemplificar a filtragem de passa-baixas, foi utilizado o filtro mediano [1].

Figura 2.2: Chamada ao filtro mediano, para borramento de imagens.


O resultado pode ser visto na Figura 2.3. Note que o algoritmo requer
como parametro uma matriz binaria, onde os 1s formam um disco central.
Para criar essa matriz, foi utilizada a funcao disk.

2.2.2

Filtro Passa-altas: Algoritmo Canny para detec


c
ao de bordas

Para a filtragem passa-altas foi utilizado o algoritmo Canny. Sua chamada


em Python foi executada da seguinte maneira [1]:
O resultado pode ser visto na Figura 2.5.
A proxima secao aborda o metodo empregado para Filtragem adaptativa
das imagens

(a)

(b)

(c)

Figura 2.3: Aplicacao do filtro mediano. Em (a) podemos ver a imagem


em tons de cinza. (b) e (c) apresentam a filtragem com matriz de discos de
tamanho 5 e 10, respectivamente.

Figura 2.4: Chamada ao algoritmo Canny, para deteccao de bordas.

(a)

(b)

(c)

Figura 2.5: Aplicacao do filtro Canny. Em (a) podemos ver a imagem em


tons de cinza. (b) e (c) apresentam a filtragem com =1.0 e =3.0, respectivamente.

Captulo 3
Rudo Gaussiano e o Filtro de
Wiener
Neste captulo sera apresentado o problema de rudo Gaussiano e sua remocao
atraves do filtro de Wiener. Para isso, iremos adicionar um rudo Gaussiano
em uma imagem e em seguida a trataremos com o filtro de Wiener.

3.1

Adicionando ruido Gaussiano a uma imagem

Para adicionar ruido Gaussiano em uma imagem, utilizarem a funcao random noise, disponvel no Scikit-Image [1]:

Figura 3.1: Adicionando rudo Gaussiano a` imagem.


O resultado pode ser visto na Figura 3.2.

11

(a)

(b)

Figura 3.2: Em (a) podemos ver a imagem em tons de cinza, e em (b) a


imagem com adicao de rudo Gaussiano.

3.2

Removendo ruido Gaussiano com o filtro


de Wiener

Para restauracao da imagem, perturbada com um rudo Gaussiano, utilizaremos a deconvolucao Wiener-Hunt. Note que sao necessarios dois parametros:
PSF - Point Spread Function: Uma matriz quadrada onde todos os
valores sao iguais a 1 e representa o impulso de resposta.
Balance: parametro de regularizacao que mantem equilbrio entre restauracao e rudo.

Figura 3.3: Adicionando rudo Gaussiano a` imagem.

Na Figura 3.4 podemos observar a imagem original, a mesma imagem


com adicao de rudo Gaussiano e em seguida a imagem restaurada pelo filtro
de Wiener.

(a)

(b)

(c)

Figura 3.4: Imagem original, com adicao de rudo Gaussiano e restaurada


pelo Filtro de Wiener em (a), (b) e (c), respectivamente.
Na proxima secao, abordaremos o metodo utilizado para geracao do histograma e binarizacao da imagem utilizando o metodo de Otsu.

Captulo 4
Histograma e Limiariza
c
ao de
Otsu
Neste captulo sera apresentado o conceito de histograma e um algoritmo de
segmentacao, ou binarizacao para o caso de duas classes, denominado Limiar
de Otsu.

4.1

Histograma

O histograma e uma ferramenta que permite identificar a distribuicao da


intesidade dos pixels pela imagem. Redistribuindo esses pixels, podemos
fazer a equalizacao do histograma, a qual e uma tecnica muito u
til para
aumentar o contraste da imagem.
Na Figura 4.2 podemos observar o histograma da imagem, e como ela
passa a ser apos a equalizacao do histograma:

4.1.1

Binariza
c
ao pelo Limiar de Otsu

O algoritmo de Otsu procura por vales no histograma da imagem e posiciona


seu limiar de modo que o espalhamento intra-classe seja mnimo. O script
apresentado na Figura 4.3 apresenta o codigo utilizado para sua execucao,
utilizando ferramentas do Sckit-Image [1].
O resultado obtido pela binarizacao pode ser visto na Figura 4.4.
A seguir, utilizaremos

14

Figura 4.1: Script utilizado para gerar o histograma.

0.0

0.2

0.4
0.6
Intensidade do Pixel

(a)

0.8

1.0

0.0

0.2

0.4
0.6
Intensidade do Pixel

0.8

1.0

(b)

Figura 4.2: Imagem e histograma em (a), e os mesmos equalizados em (b).

Figura 4.3: Codigo utilizado para binarizacao por Limiar de Otsu

(a)

(b)

Figura 4.4: (a) e (b) apresentam as imagens original e binarizada, respectivamente.

Captulo 5
Extra
c
ao param
etrica do
contorno: M archingSquares
Para a extracao parametrica do contorno, utilizaremos o metodo
M archingSquares. O script utilizado pode ser visto na Figura 5.1.

Figura 5.1: Contorno parametrico da imagem atraves do metodo Marching


Squares.
Podemos visualizar o resultado atraves da Figura 5.2.

17

(a)

(b)

Figura 5.2: Imagem binarizada em (a). Extracao do contorno da imagem em


(b).

Captulo 6
Esqueletiza
c
ao: Medial Axis
Transform
Neste captulo, faremos a esqueletizacao da imagem, ou mais precisamente,
faremos a transformada do eixo medial.
O Eixo medial representa a hierarquia das partes que compoem a forma.
Define um conjunto dos pontos do objeto pelos centros dos circulos que sao
bitangentes ao contorno da forma e encontram-se totalmente dentro delas.

Figura 6.1: Transformada Eixo Medial.


importante lembrar que para gerar o esqueleto da imagem, devemos
E
estabelecer um limiar na Transformada Medial. Esse limiar vai definir a
quantidade de detalhes do esqueleto
A Figura 6.2 apresenta a esqueletizacao e a Transformada:
A seguir, utilizaremos o a Transformada Medial do eixo em conjunto com
o mapa distancia para reconstrucao da forma da imagem.

19

(a)

(b)
180
160
140
120
100
80
60
40
20
0

(c)

(d)

Figura 6.2: Imagem binarizada (a), esqueleto (b), Transformada Medial do


eixo em nveis de cinza (c) e exemplo com limiar = 50 (d).

Captulo 7
Reconstru
c
ao de imagem
utilizando Transformada do
Eixo Medial e Mapa Dist
ancia
Neste captulo, utilizaremos a da Transformada do Eixo medial, vista no
captulo anterior, em conjunto com a Transformada Distancia para reconstruir a imagem.
A ideia e pegar a distancia, obtida atraves da Transformada Distancia,
em cada ponto do esqueleto e pintar um circulo em volta com raio igual a
essa distancia. O algoritmo para essa tarefa e apresentado na Figura 7.1:
No exemplo apresentado na Figura 7.2, podemos observar a importancia
do limiar nesse processo, quanto a preservacao de detalhes. Uma observacao
interessante e que, se aumentarmos gradativamente o limiar, e animarmos a
sequencia de imagens de sada, conseguimos um efeito de derretimento.

21

Figura 7.1: Reconstrucao da forma atraves do esqueleto em conjunto com a


Transformada Distancia.

(a)

(b)

(c)

(d)

(e)

(f)

Figura 7.2: Nas imagens (a) e (b) podemos ver o esqueleto da imagem e
sua reconstrucao, respectivamente, sem filtrar qualquer detalhe (limiar = 0).
Similarmente, (b) e (e) mostram os resultados com um limiar = 10, e (c) e
(f) com limiar = 50.

Captulo 8
Curvatura
Abordaremos a seguir dois metodos utilizados para extracao de caractersticas da curvatura da imagem: CENSURE, que encontra os pontos de
curvatura mais representativos de cada imagem, e o calculo da curvatura
local, que calcula a curvatura em cada ponto da imagem.

8.1

CENSURE

CENSURE e uma algoritmo de extracao de pontos chave de curvatura na


imagem, disponibilizado pelo Scikit-Image [1]. Sua chamada pode ser feita
como demonstrada na Figura 8.1.

Figura 8.1: Pontos de curvatura chave. Note que necessita diversos


parametros, que influenciam na escolha desses pontos.
O resultado obtido pelo CENSURE com os parametros selecionados e
24

apresentado na Figura 8.2.

(a)

(b)

(c)

Figura 8.2: Pontos chaves da curvatura para uma imagem da classe Circinatum, Garryana e Kelloggii em (a), (b) e (c), respectivamente.

8.2

Curvatura Local

A partir da extracao parametrica do contorno, apresentada no Captulo 5,


calculamos a curvatura local K(t) a partir da seguinte equacao:
K(t) =

2(c1 b2 c2 b1 )
(c21 + c22 )3/2

(8.1)

onde os coeficientes sao:


b1 = 1/12[(xt2 + xt+2 ) + 2(xt1 + xt+1 ) 6xt ]

(8.2)

b2 = 1/12[(yt2 + yt+2 ) + 2(yt1 + yt+1 ) 6yt ]

(8.3)

c1 = 1/12[(xt+2 xt2 ) + 4(xt+1 xt1 )]

(8.4)

c2 = 1/12[(yt+2 yt2 ) + 4(yt+1 yt1 )]

(8.5)

Na Figura 8.3 podemos observar a implementacao da Equacao 8.1 em


python:

Figura 8.3: Implementacao de Equacao 8.1 para extracao da curvatura local.

Captulo 9
Caractersticas
Neste captulo, abordaremos a selecao das amostras e de suas caractersticas,
para, no captulo seguinte, utilizarmos dessas caracteristicas quando abordarmos a etepa de classificacao.

9.1

Selecc
ao das amostras

Foram selecionadas as trinta primeiras amostras de tres das classes de imagens de folhas fornecidas, sendo elas Circinatum, Garryana e Kelloggii. A
Figura 9.1 apresenta um exemplar de cada uma delas.

9.2

Selecc
ao das Caracteristicas

Foram selecionadas quatro caracteristicas para o projeto, sendo elas:


Area: Apos a binarizacao, apresentada na Secao 4.1.1, e computada a
soma da area da imagem, ou seja, os pixels brancos.
Tamanho do Esqueleto: A partir da extracao do esqueleto, apresentada
no Captulo 6, foi executada a soma de todos os pixels que fazem parte
do esqueleto.
Comprimento de arco: Soma de todos os pixels que pertencem ao contorno da imagem, apresentado no Captulo 5.

27

(a)

(b)

(c)

Figura 9.1: Exemplo de folhas Circinatum, Garryana e Kelloggii em (a), (b)


e (c), respectivamente.
Curvatura media: Apos a extracao do contorno da imagem, apresentado no Captulo 5, foi extrada a curvatura de cada ponto da imagem,
atraves da Equacao 8.1, e entao calculada a media desses valores.

Captulo 10
Classifica
c
ao
O captulo de Classificacao sera dividido em duas partes, sendo que na primeira trataremos da metodologia, e na segunda, dos experimentos.

10.1

Metodologia

Aqui descreveremos a metodologia empregada na organizacao e divisao da


base de dados, bem como a utilizada na classificacao

10.1.1

Base de dados

Apos a extracao das caractersticas, a base de dados foi dividida, utilizando


a funcao opf split da LibOPF [4], em um conjunto de treinamento, validacao
e testes, e o valor das caractersticas foi normalizado.
Essa divisao foi feita atraves de uma escolha empirica dos valores, atribuindo um valor de 50% das amostras para treinamento, 20% para validacao
e 30% para testes, onde cada uma destas etapas e responsavel por:
Treinamento: Treinar o classificador com os parametros selecionados
com a base de treinamento;
Validacao: Encontrar o melhor conjunto de parametros para a etapa
de treinamento;
Testes: Classificar as amostras do conjunto de teste com o classificador
treinado com os melhores parametros encontrados na etapa de validacao
e avaliar seu desempenho;
29

10.1.2

Classificador SVM

O Scikit-Learn disponibiliza diversas implementacoes do SVM,


sendo algumas delas para classificacao, uma para regressao e
ate mesmo uma para deteccao de anomalias.
A implementacao
utilizada nesse trabalho e a SVC, disponivel em http://scikitlearn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC.
A etapa de classificacao sera dividida em duas etapas, sendo que a primeira e a de validacao e a segunda e a de testes. Na etapa de validacao sera
executada uma busca pseudo-exaustiva na procura dos melhores parametros
para o classificador. Na etapa de testes, usaremos o melhor conjunto de
parametros encontrados na etapa de validacao para classificar o conjunto de
testes. Note que utilizaremos um kernel rbf, e os parametros a serem estimados serao C, que controla o termo de erro e Gamma, que controla o
coeficiente do kernel. Os demais parametros utilizados serao os parametros
padrao do scikit.

10.2

Experimentos

Na etapa de validacao, variamos o paramtro C no intervalo [0.1,5.0] de 0.5


em 0.5 e o parametro Gamma no intervalo [0.0, 5.0] de 0.5 em 0.5. Na
Figura 10.1 podemos observar as regioes onde encontramos o melhor conjunto
de parametros
A partir da validacao, selecionamos para os testes os parametros Gamma
= 0.0 e C = 1.5, por estarem na regiao de maior valor. A taxa de acertos
encontrada nos testes foi de 0.86, e a matriz de confusao pode ser vista na
Tabela 10.2.
Classes
Circinatum
Garryana
Kelloggii

Circinatum

Garryana

Kelloggii

9
0
1

0
10
2

1
0
7

Tabela 10.1: Matriz de confusao.


A partir da matriz de confusao, podemos observar que as classes Circinatum e Kelloggii sao mais parecidas entre si do que a classe Garryana, o que

5
0.872
0.832

0.792
3

0.752
0.712

0.672
0.632

0.592
0

0.552

Figura 10.1: Grade de busca dos melhores parametros.


pode-se perceber apenas olhando para as imagens.

Captulo 11
Conclus
oes
Neste trabalho foram apresentadas algumas das tecnicas aprendidas no curso
de visao computacional, as quais envolvem de precessamento de imagens,
extracao de caractersticas baseadas no formato do objeto, e a classificacao
dos dados. A partir delas pudemos extrair caracteristicas representativas
e classificar os dados com uma taxa de 86% de acertos, provando que as
tecnicas sao muito eficientes, e alem disso, demonstrando quais classes sao
mais parecidas, atraves de uma matriz de confusao.

32

Ap
endice A
Amostras selecionadas para a
base de dados
A.1

Circinatum

A Figura A.1 apresenta as amostras da classe Circinatum utilizadas no experimento:

A.2

Garryana

A Figura A.2 apresenta as amostras da classe Garryana utilizadas no experimento:

A.3

Kelloggii

A Figura A.3 apresenta as amostras da classe Kelloggii utilizadas no experimento:

33

Figura A.1: Colecao de imagens da classe Circinatum utilizadas nos experimentos.

Figura A.2: Colecao de imagens da classe Garryana utilizadas nos experimentos.

Figura A.3: Colecao de imagens da classe Kelloggii utilizadas nos experimentos.

Refer
encias Bibliogr
aficas
[1] Scikit image developers. Scikit-Image User Guide. Available at http:
//scikit-image.org/docs/dev/user_guide.html.
[2] Scikitlearn developers. Scikit-Learn User Guide. Available at http://
scikit-learn.org/dev/user_guide.html.
[3] J. D. Hunter. Matplotlib: A 2d graphics environment. Computing In
Science & Engineering, 9(3):9095, 2007.

[4] JoAo
Paulo Papa, Celso Tetsuo Nagase Suzuki, and Alexandre Xavier Falc ao. LibOPF: A library for the design of optimum-path forest classifiers, 2014. Software version 2.1 available at http://www.ic.unicamp.
br/~afalcao/LibOPF.

37

Você também pode gostar