Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16...

86
PROJECTO: N o 08 2010 Análise de Imagem: Medição de Área Florestal Universidade da Beira Interior Departamento de Informática Paulo Miguel Jesus Amaral,N o 19265 Licenciatura em Engenharia Informática Orientador do Projecto: Prof. Doutor Hugo Proença Covilhã, Junho de 2010

Transcript of Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16...

Page 1: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

PROJECTO: No 08 2010Análise de Imagem: Medição de Área Florestal

Universidade da Beira InteriorDepartamento de Informática

Paulo Miguel Jesus Amaral, No19265Licenciatura em Engenharia Informática

Orientador do Projecto: Prof. Doutor Hugo Proença

Covilhã, Junho de 2010

Page 2: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem
Page 3: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Agradecimentos

Este relatório é dedicado a todos que contribuíram para a realização desteprojecto. Para todos eles os meus sinceros agradecimentos.

Em primeiro lugar, quero agradecer ao meu orientador, Prof. Doutor HugoProença, pela sua inteira disponibilidade, orientação e por todos os conhecimentostransmitidos, fulcrais para a realização deste projecto.

Ao SOCIA Lab (Soft Computing and Image Analisys Lab) pelas instalações erecursos disponibilizados e em especial agradecer a todos os seus membros pelosseus conselhos e simpatia.

Por último, mas não menos importante os agradecimentos finais vão para aminha família e namorada pelo apoio constante e principalmente pela paciência.

i

Page 4: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem
Page 5: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Resumo

Ao longo deste relatório, realizado no âmbito da disciplina de PROJECTO,pretende-se dar a conhecer as diferentes fases do desenvolvimento do projecto,Análise de Imagem: Medição de Área Florestal, e os métodos utilizados paraatingir a sua conclusão.

O título, Análise de Imagem: Medição de Área Florestal, dá alguma indicaçãodo objectivo final, que tem como intuito assinalar e quantificar as zonas florestaisde uma determinada região, baseado nas respectivas características de textura.

O objecto a identificar, assim como a respectiva extensão territorial é de ex-trema importância para a sociedade dado o inquestionável papel que a florestadesempenha em vários sectores, nomeadamente ambiental, económico, social ecultural.

Assinalar as zonas florestais será um processo de detecção automática do ob-jecto em estudo. Para isso foi criada uma base de dados, analisados métodos paraextracção de características e processamento da imagem, assim como o recurso aclassificadores para se validar a robustez da abordagem implementada.

iii

Page 6: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

iv Resumo

O relatório é constituído por cinco capítulos nos quais se apresenta o trabalhodesenvolvido ao longo do semestre.

O I capítulo, faz uma breve introdução do projecto e apresenta as etapas queforam necessárias para atingir o objectivo final, análise e detecção da textura deárea florestal.

O II capítulo aborda, de uma forma geral, as áreas de estudo essenciais paraser poder obter o resultado pretendido com este projecto.

No III capítulo é apresentada detalhadamente toda a fase de processamentode imagem, aquisição de dados, explica-se os métodos já existentes e que foramaplicados para a extracção de características, assim como todos os métodos desen-volvidos especificamente para este projecto.

No IV capítulo apresenta-se imagens das experiências realizadas e demonstra-se porque foram utilizados determinados métodos, parâmetros e funções de treino.Apresenta-se também imagem dos resultados finais obtidos.

No V capítulo é referente à conclusão do projecto e sugeridas alterações paramelhorar a sua implementação.

Page 7: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Conteúdo

Agradecimentos i

Resumo iii

Conteúdo v

Lista de Figuras ix

Glossário xiii

1 Introdução 1

1.0.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.0.2 Contributos Científicos . . . . . . . . . . . . . . . . . . . . . . 4

2 Área de Acção 7

2.1 Imagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Redes neuronais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Matriz confusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Processamento de imagens 11

3.1 Aquisição de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.2 Pré - Processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2.1 Nível de cinza e HSV . . . . . . . . . . . . . . . . . . . . . . . 13

v

Page 8: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

vi CONTEÚDO

3.2.2 Máscara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.3 Extracção de Caracteristicas . . . . . . . . . . . . . . . . . . . . . . . 15

3.3.1 Extracção de Caracteristicas . . . . . . . . . . . . . . . . . . . 16

3.3.2 Matriz co-ocorrência . . . . . . . . . . . . . . . . . . . . . . . 17

3.3.3 Transformada de Fourier . . . . . . . . . . . . . . . . . . . . 20

3.3.4 Filtro de Gabor . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.4 Análise de componentes principais . . . . . . . . . . . . . . . . . . . 21

3.4.1 Normalização . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.4.2 ACP (Análise de componentes principais) . . . . . . . . . . 22

3.4.3 Segmentação . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.5 Classificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.5.1 Backpropagation . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.5.2 Rede neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.5.3 MatLab ferramentas (toolbox) . . . . . . . . . . . . . . . . . . 25

3.5.4 Teste de reconhecimento . . . . . . . . . . . . . . . . . . . . . 27

3.5.5 Sucesso ou Erro . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.6 Pós-processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4 Experiências 33

4.1 Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2 Primeira Etapa - RNA . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.3 Segunda Etapa - RNA . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.4 Terceira Etapa - RNA . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.4.1 Conclusões - RNA . . . . . . . . . . . . . . . . . . . . . . . . 56

4.5 Reconhecimento e Pós-processamento . . . . . . . . . . . . . . . . . 57

5 Conclusão e trabalhos futuros 59

5.1 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.2 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Page 9: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

CONTEÚDO vii

A Ambiente e Desenvolvimento 61

A.1 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

A.2 Aquisição de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Bibliografia 63

Page 10: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem
Page 11: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Lista de Figuras

1.1 Etapas processamento de imagem. . . . . . . . . . . . . . . . . . . . 5

2.1 Exemplo de uma Rede Neuronal Artificial de 3 camadas com 4entradas e 2 saídas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Matriz confusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Divisão do mapa mundo usando tiles do Google Maps . . . . . . . 12

3.2 Janela Principal do programa GESlicer2 . . . . . . . . . . . . . . . . 12

3.3 Imagens armazenadas pelo GESlicer2 . . . . . . . . . . . . . . . . . 12

3.4 Imagem convertida de RGB para nível de cinza . . . . . . . . . . . . 13

3.5 Imagem HSV, realce para as tonalidades das zonas com árvores . . 14

3.6 Conversão da imagem RGB para HSV . . . . . . . . . . . . . . . . . 14

3.7 Máscara de tamanho 5*5 . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.8 Equações para o cálculo dos sete momentos de HU . . . . . . . . . 17

3.9 Matriz com os graus possíveis para combinações . . . . . . . . . . . 17

3.10 Gráfico de correlação x vizinhança da imagem visualizada na figura7 3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.11 Equação da Transformada Rápida de Fourier . . . . . . . . . . . . . 19

3.12 Transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.13 Representação da aplicação do filtro de Gabor . . . . . . . . . . . . 21

3.14 Gráfico representando a percentagem de importância de cada car-acterística . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

ix

Page 12: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

x LISTA DE FIGURAS

3.15 Imagem contendo duas classes. A preto a área sem interesse, abranco a área florestal . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.16 Arquitectura de redes com aprendizado supervisionado . . . . . . 24

3.17 Resultado usando a rede neuronal após a fase de treino . . . . . . . 27

3.18 Matriz confusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.19 Abertura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.20 Fecho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.21 Remoção de ruido, exemplo 1 . . . . . . . . . . . . . . . . . . . . . . 31

4.1 Workspace e variavél representando as caracteristicas . . . . . . . . 34

4.2 Imagens de teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.3 PCA, normalização min-máx . . . . . . . . . . . . . . . . . . . . . . 38

4.4 PCA, normalização média-variância . . . . . . . . . . . . . . . . . . 38

4.5 Imagem Teste 1, normalização min-máx com 3 características . . . . 39

4.6 Imagem de Teste 1, normalização média-variância com 3 caracterís-ticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.7 Imagem Teste 2, normalização min-max com 3 características . . . . 40

4.8 Imagem de Teste 2, normalização média-variância com 3 caracterís-ticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.9 Imagem Teste 1, normalização min-máx com 9 características . . . . 41

4.10 Imagem de Teste 1, normalização média-variância com 9 caracterís-ticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.11 Imagem Teste 2, normalização min-máx com 9 características . . . . 42

4.12 Imagem de Teste 2, normalização média-variância com 9 caracterís-ticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.13 Taxa de Sucesso vs Número de características . . . . . . . . . . . . . 43

4.14 Performance da imagem Teste 2, 27 primeiras características do PCA 44

4.15 Performance e custo computacional da imagem Teste 2, 27 primeirascaracterísticas do PCA . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características 47

4.17 Imagem de Teste 2 com a função de treino trainlm, 27 características 47

Page 13: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

LISTA DE FIGURAS xi

4.18 Imagem de Teste 1 com a função de treino traingdx . . . . . . . . . 48

4.19 Imagem de Teste 1 com a função de treino trainlm, comparandoperformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.20 Imagem de Teste 1 com a função de treino traingdx . . . . . . . . . 49

4.21 Imagem de teste 2 com a função de treino traingdx . . . . . . . . . . 49

4.22 Imagem de teste 1, neurónios igual ao número de caracteristicasadquiridas no PCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.23 Imagem de teste 2, neurónios igual ao número de caracteristicasadquiridas no PCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.24 Imagem de teste 1, 3 neurónios . . . . . . . . . . . . . . . . . . . . . 51

4.25 Imagem de teste 2, 3 neurónios . . . . . . . . . . . . . . . . . . . . . 51

4.26 Imagem de teste 1, 15 neurónios . . . . . . . . . . . . . . . . . . . . 52

4.27 Imagem de teste 2, 15 neurónios . . . . . . . . . . . . . . . . . . . . 52

4.28 Imagem final Teste 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.29 Matriz confusão Teste 1 (TPR=94,6% e TNR=90,1%) . . . . . . . . . 53

4.30 Imagem final Teste 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.31 Matriz confusão Teste 2 (TPR=97,8% e TNR=81,3%) . . . . . . . . . 54

4.32 Imagem final Teste 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.33 Matriz confusão Teste 3 (TPR=96,6% e TNR=84,4%) . . . . . . . . . 55

4.34 Imagem de Teste 1 antes e depois da filtragem . . . . . . . . . . . . 57

4.35 Imagem de Teste 2 antes e depois da filtragem) . . . . . . . . . . . . 57

4.36 Imagem de Teste 3 antes e depois da filtragem) . . . . . . . . . . . . 57

Page 14: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem
Page 15: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Glossário

Grey Level Co-occurence (GLCM) - Matriz de co-occorência, calcula a proba-bilidade de existência de uma dada diferença entre pixéis.

Rede Neuronal Artificial (RNA) - Classificador para reconhecer padrões decomportamento.

True Negative (TN) - verdadeiros negativos, é o número de pixéis negativosdetectados correctamente.

False Positive (FP) - falsos positivos, é o número de pixéis positivos erradamentedetectadas.

False Negative (FN) - falsos negativos, é o numero de pixéis negativos errada-mente detectadas.

True Positive (TP) - verdadeiros positivos, é o número de pixéis positivos detec-tadas correctamente.

True Negative Rate (TNR) - taxa verdadeiros negativos.

True Positive Rate (TPR) - taxa verdadeiros positivos.

Taxa de sucesso (TS) - taxa da soma de verdadeiros positivos mais verdadeirospositivos.

xiii

Page 16: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem
Page 17: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Capítulo 1

Introdução

A segmentação de imagens tem aplicação em duas grandes áreas: melhoriada informação para própria interpretação humana ou processamento de dadosdas imagens para armazenamento, transmissão e representação para máquinas depercepção autónoma [14].

Este trabalho está englobado na área de Visão Computacional e consiste nodesenvolvimento de um sistema automático de análise e classificação de terrenosflorestais.

Para a realização deste projecto tirou-se partido do Google Earth (construídoa partir de fotografias de satélite, obtidas de fontes diversas), imagens aérease GIS 3D. O objectivo deste projecto centra-se em conseguir, através dos meiosacima mencionados, capturar as imagens e fazer a implementação de um agenteautomático que assinale e quantifique as zonas florestais de uma dada região,tendo em conta as respectivas características de textura.

Análise é a parte do tratamento onde existe uma descrição da informaçãopresente na imagem. Esta parte é chamada de parametrização e é nela que váriasmedidas quantitativas (parâmetros) são utilizadas para descrever diferentes in-formações dentro de uma imagem. As técnicas dedicadas a análise de imagenspodem variar significativamente segundo a sua complexidade e a necessidade emtempo de processamento.

A detecção de objectos tem vindo a ser um problema bastante discutido

1

Page 18: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

2 Introdução

dentro da área de visão computacional. A importância deste problema deve-se sobretudo ao facto de muitas imagens serem geradas diariamente, criando anecessidade de uma classificação e organização dessa base de dados. Além disso, éimprescindível a existência de um mecanismo que possibilite o acesso fácil, rápidoe eficiente a uma imagem específica. A detecção de objectos numa imagem podeser analisada do ponto de vista de um problema de classificação, constituído porduas classes. A classe que representa o objecto que se deseja encontrar e a outraclasse referente ao restante da imagem. Sendo um problema de classificação, umaabordagem utilizada para resolvê-lo é construir um classificador a partir de umgrande número de imagens do objecto a ser encontrado. Essas imagens devemexpor as características essenciais do objecto.

Para se expor as características do objecto a identificar é necessário efectuarum processo de processamento de imagens (extracção de informações de imagens,através de um volumoso armazenamento de dados, objectividade nas imagens ex-traídas, tempo de manipulação e melhorar o resultado para análise ou para utiliza-ção da informação extraída) e um processo de aprendizagem sobre a sua texturarecorrendo à análise estatística e espectral. Embora não se possa ignorar padrõesque estão associados à textura como a cor (característica que é facilmente associadaa áreas florestais), tamanho, forma, e orientação dos elementos do padrão.

O sistema de processamento de imagens desenvolvido para a elaboração desteprojecto pode ser de uma maneira geral dividido nas seguintes etapas:

1. A criação de uma base de dados possibilitou uma grande variedade deimagens em que se pretendia que o objecto de referência se encontra-se emformas variadas e que fosse predominante ou não, a classe a identificar.

2. A fase de processamento de imagem usando o programa MatLab R2009b,dividida em várias etapas.

3. A fase de pré-processamento, conversão e melhoramento da imagem origi-nal.

4. A fase de extracção de características, como o título indica, fez-se a extracçãode características. Procedeu-se à análise da textura através de transformadas

Page 19: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3

e extracção de informação pixel a pixel usando vários algoritmos já existentes,para posterior análise da sua importância.

5. A técnica de Análise de Componentes Principais (PCA) para eliminar aredundância nos dados obtidos pela aplicação na fase de extracção de carac-terísticas.

6. A fase de segmentação, onde foram criadas duas classes: a classe que repre-senta o objecto que se deseja encontrar e o restante da imagem.

7. A fase de uso de um classificador para treinar a aplicação e obter um métodoautomático de detecção da área florestal. O classificador escolhido foi asredes neuronais artificiais.

8. A fase de reconhecimento e interpretação. O resultado obtido pelo PCA éaplicado no classificador, redes neuronais artificiais, para detecção da classeárea florestal.

9. O classificador obteve uma taxa de sucesso, em média, entre 73% e 94%.Nesta fase foram feitos testes para identificar quais os métodos e parâmetrosque correspondiam a um melhor resultado final.

10. Por último, foi implementada uma fase de pós-processamento para melho-rar o resultado final interpretado. Esta fase limita-se a alterar a imagemproduzida pelo analisador automático.

1.0.1 Motivação

A Visão Computacional, com o contributo de redes neuronais e inteligênciaartificial, assemelha-se à visão humana. Partindo de uma ou mais imagens, épossível obter informações e entendê-las, dando suporte a decisões e tomadas deacções, e podendo perfeitamente ajudar a solucionar problemas onde seja teorica-mente imprescindível a avaliação da visão humana.

Page 20: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4 Introdução

As Redes Neuronais Artificiais são utilizadas para os diversos campos dacomputação, como é o caso da visão computacional que apresenta diversas finali-dades, nomeadamente: o reconhecimento de padrões, filtros, navegação de robôs,entre outros.

Quanto ao objecto a identificar, a floresta tem um impacto muito impor-tante não só para as populações como também para o meio ambiente. É atravésdela que a indústria transformadora, com base num recurso natural e renovável,garante a existência de produtos recicláveis proporcionando a criação de empregoe riqueza. É também devido ao elevado número de agentes intervenientes naprodução, transformação e comercialização de produtos florestais que fazem dosector florestal um importante sector exportador. A floresta é igualmente indis-pensável para o equilíbrio dos ecossistemas, fauna e flora, e um local de excelênciapara o lazer. Por toda esta sua importância, a aplicação desenvolvida, na áreade actividade florestal, demonstra um grande potencial, na exploração da áreadisponível para obtenção de recursos, planeamento de operações e combate naocorrência de incêndios.

1.0.2 Contributos Científicos

Na fase de investigação foi necessário compreender o que é a textura, as carac-terísticas de uma imagem, as aplicações de referência na área de Visão Computa-cional, a forma como o MatLab (programa utilizado para a maioria das fases deprocessamento de imagens) interpretava as imagens e quais os métodos existentespara a elaboração de um agente automático e correspondente reconhecimento dascaracterísticas da imagem.

Para Parker [8], a textura é especialmente complicada do ponto de vista davisão computacional, já para Fossyth & Ponci [9], a textura é de fácil reconheci-mento e de difícil definição. Numa imagem, a textura é analisada sob o ponto devista de diferentes segmentos, constituindo sub-imagens. Existe também outrospadrões na textura que não podem ser ignorados, tais como: tamanho, forma,cor, e orientação dos elementos do padrão [8]. As principais abordagens usadasno processamento de imagens para a descrição de textura são: estatística e aespectral[14]. A abordagem estatística considera a distribuição dos tons de cinzae o inter-relacionamento entre eles. As técnicas estruturais por outro lado, lidam

Page 21: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

5

com o arranjo espacial de primitivas estruturais, enquanto a abordagem espec-tral é baseada em propriedades de espectros de frequência, obtidos através detransformadas tais como a Transformada de Fourier.

Para o desenvolvimento de aplicações na área de Visão Computacional o Mat-Lab (MATrix LABoratory) é um programa de referência. Foi criado no início dosanos 1970 por Cleve Moler [7], é mantido e comercializado pela MathWorks. OMatlab permite o desenvolvimento de programas simples e compactos em com-paração com as tradicionais linguagens de programação. Contêm um importanteconjunto de pacotes de funções, organizadas segundo diferentes áreas de cálculocientífico, toolboxes. As toolboxes de processamento de imagem (manipulação deimagens) e redes neuronais (simulação e projecto de redes neuronais) são objectode estudo neste projecto.

O processamento de imagens é uma abordagem frequentemente usada naanálise de imagens digitais. A área de acção onde o método é usualmente utilizadona detecção de faces humanas ou da íris do olho. Para a resolução do projecto estemétodo foi significativamente alterado.

O Processamento de Imagem é, normalmente, definido com as seguintesetapas para se atingir o objectivo inicialmente pretendido:

Figura 1.1: Etapas processamento de imagem.

Page 22: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

6 Introdução

Tendo como objectivo desenvolver um sistema de análise da informação numaimagem, onde cada fase vai exigir métodos para retirar os parâmetros que expri-mam esta informação, torna-se evidente que o processamento de imagens, quandoassociado a sistemas experimentais, é bastante dependente do problema a ser re-solvido. Para aumentar a performance dos resultados apresentados, as exper-iências são elaboradas com características semelhantes, limitando a detecção deoutros objectos de interesse. Assim, os métodos usados no processamento deimagens podem ser considerados rudimentares quando comparados ao complexosistema visual humano, pois são específicos para cada aplicação.

Page 23: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Capítulo 2

Área de Acção

O Processamento de Imagens é uma operação bastante comum em diversasáreas da Informática. Este processo é tradicionalmente implementado através defunções matemáticas que, utilizando algoritmos pré-determinados, transformamuma imagem original numa imagem tratada a partir de equações conhecidas.

No contexto deste projecto, o MATLAB possui uma poderosa toolbox deprocessamento de imagem que faculta o uso de vários tipos de imagem.

2.1 Imagem

É importante salientar que uma imagem não é uma simples janela que mostrauma imagem, ou apenas um arquivo JPEG. A sua principal característica é o seumodo; RGB, HSV e o modo nível de cinza.

O modo mais comum é o RGB, no qual cada ponto da imagem é definidocomo uma composição de três componentes de cor: o vermelho (RED), o verde(GREEN) e o azul (BLUE), sendo combinadas para reproduzir outras cores.

A imagem em nível de cinza possui apenas um canal de cor. Cada pixel deuma imagem em tons de cinza possui um valor de brilho que varia de 0 (preto) a1 (branco). O termo "preto e branco"é muitas vezes utilizado para definir imagens

7

Page 24: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

8 Área de Acção

com tons de cinza, contudo as imagens a "preto e branco"são imagens binárias ecomo tal têm apenas duas cores.

Imagem HSV é formada pelas componentes Hue (Tonalidade), Saturation(Saturação) e Value (Valor). No que se refere à componente Tonalidade verifica otipo de cor, podendo ser vermelho, amarelo ou azul. Relativamente à Saturação,quanto menor for o valor, mais tom de cinza aparecerá na imagem. E, por último,o Valor define o brilho da cor.

2.2 Redes neuronais

As redes neuronais foram desenvolvidas, na década de 40, pelo neurofisiolo-gista Warren McCulloch, do MIT, e pelo matemático Walter Pitts, da Universidadede Illinois, os quais, dentro do espírito cibernético, fizeram uma analogia entrecélulas nervosas vivas e o processo electrónico num trabalho publicado sobre"Neurónios Formais". [10].

Consistem num método de solucionar problemas de inteligência artificial,construindo um sistema composto por circuitos que simulem o cérebro humano,incluindo o seu comportamento, isto é, aprendendo a errar e a fazer descobertas.No entanto, elas são mais que isso, são técnicas computacionais que apresentamum modelo inspirado na estrutura neuronal de organismos inteligentes e queadquirem conhecimento através da experiência.

Num sistema de rede neuronal, a informação pode parecer ter representaçãoredundante, todavia, o facto de se encontrar distribuída por todos os elementos darede significa que, mesmo que uma parte da rede seja destruída, a informação con-tida nesta parte ainda estará presente na rede e poderá ser recuperada. Portanto,a redundância na representação de informações numa rede neuronal, ao contráriode outros sistemas, transforma-se numa vantagem, que torna o sistema tolerantea falhas. Os atributos de uma rede neuronal, tais como: aprender através deexemplos, generalizações redundantes, e tolerância a falhas, proporcionam fortesincentivos para a escolha das redes neuronais.

Page 25: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

2.3 Matriz confusão 9

Figura 2.1: Exemplo de uma Rede Neuronal Artificial de 3 camadas com 4 entradas e 2 saídas

2.3 Matriz confusão

Aplicando a definição de FAWCETT [3] ao objecto de análise neste projectoa identificação e autenticação da área florestal são essencialmente um problemade classificação binária, pois a decisão é uma entre duas classes de identidade:positiva ou negativa. Se esta saída for comparada à saída esperada para uma basede dados de referência, existirão quatro possibilidades de resultado:

1. Saída positiva quando esperada positiva - TP;

2. Saída negativa quando esperada positiva - FN;

3. Saída positiva quando esperada negativa - FP;

4. Saída negativa quando esperada negativa - TN.

Page 26: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

10 Área de Acção

Figura 2.2: Matriz confusão

TPR = TP/P = TP/(TP + FN)TFR = FP/N = FP/(FP + TN)

TS = (TP + TN)/(P + N)TE = 100 − TS

Page 27: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Capítulo 3

Processamento de imagens

3.1 Aquisição de dados

Nesta fase foi necessário criar uma base de dados, recorrendo a uma aplicaçãodesenvolvida em linguagem C# e à documentação da API do Google Maps, paracapturar as imagens da Google Maps.

A aquisição de imagens revelou-se um processo complicado. Apesar deexistirem enumeras aplicações que fazem a captura de imagens, nenhuma serevelou totalmente eficaz. O erro frequentemente detectado produzia no resultadofinal imagens que não encaixavam ou tinham um tamanho de imagem superiorao pretendido, o que levaria a que o utilizador tivesse de fazer o tratamento daimagem para não existirem áreas sem interesse ou repetidas.

Para solucionar o problema recorreu-se ao Google Maps. O Google Mapspermite usar um sistema de tiles (azulejos) que dividem o mapa, procurando ecarregando-os individualmente. [2].

O método implementado para a captura de imagens tira partido dos tiles. Ostiles no Google Maps são numerados de modo a que o azulejo de origem estejasempre no canto superior esquerdo do mapa. Os tiles são indexados usandocoordenadas x, y da origem. Por exemplo, no nível de zoom 2, quando a terra édividida em 16 partes, cada parte pode ser referênciada por um único par x, y.

11

Page 28: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

12 Processamento de imagens

Figura 3.1: Divisão do mapa mundo usando tiles do Google Maps

Na detecção da área florestal existem alguns factores que dificultam a rápidaresolução do problema, designadamente: áreas na imagem com cor semelhanteou a escala com que foi recolhida a imagem.

Para solucionar este problema a base de dados contém imagens a várias escalasdo mesmo objecto a identificar, zonas onde é predominante ou pouco significativoo objecto a identificar e em que fosse possível obter formas e tamanhos diferentesde zonas florestais.

Para capturar a imagem o utilizador terá de inserir o nível de zoom, a quepretende visualizar a imagem, correspondendo à altitude máxima a que as imagensserão visualizadas. O programa implementado em C# fará com que as imagenssejam capturadas a altitudes mais baixas. As coordenadas da área que se pretendevisualizar e posteriormente adquirir informação serão inseridas no modo WGS84 Latitude e Longitude, usada nos ficheiros .kml, Google Earth, e nos sistemascomuns que usam GPS.

Page 29: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.1 Aquisição de dados 13

Figura 3.2: Janela Principal do programa GESlicer2

As imagens serão armazenadas na pasta especificada pelo utilizador e terãoum nome pré-definido pela aplicação. O nome das imagens conterá o zoom a queforam capturadas, a que grupo pertence ou nível do tile e qual a sua posição x/y.A posição x/y é a posição da imagem caso seja pretendido verificar se as imagensencaixam, produzindo a primeira imagem capturada mas a uma altitude maisbaixa.

Figura 3.3: Imagens armazenadas pelo GESlicer2

Na figura 3.3 a imagem 17_2_1_2, corresponde à primeira imagem capturadapelo GESlicer. A imagem tem zoom 17, está no segundo nivel de tile e temcoordenadas x=1, y=2.

Page 30: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

14 Processamento de imagens

3.2 Pré - Processamento

Quanto menos ruídos e menor uso do processador, mais precisão o algoritmo têm [12].

Antes de se dar início a um projecto de visão computacional, para extracçãode informação ou características principais de uma imagem, é frequentementenecessário passar por uma fase de pré-processamento para garantir que o objectivofinal é realizado nas melhores condições. São usadas técnicas para realce deuma região dentro da imagem, fazendo com que a imagem resultante seja maisapropriada para a aplicação do que a imagem original.

3.2.1 Nível de cinza e HSV

Na fase de pré-processamento procedeu-se à conversão das imagens retiradasda base de dados para níveis de cinza e HSV.

Foi feita a conversão para nível de cinza, pois uma imagem em nível de cinzaconverte a imagem truecolor, RGB, eliminando a informação sobre a tonalidadee a saturação, mantendo a luminosidade. São tipicamente compostas com tonsde cinza, variando entre o preto como menor intensidade e o branco como maiorintensidade.

Figura 3.4: Imagem convertida de RGB para nível de cinza

Page 31: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.2 Pré - Processamento 15

A conversão para HSV foi realizada para realçar os pixéis mais importantes,para uma melhor extracção das características. Aumentando o contraste da im-agem em HSV, resulta uma detecção probabilística mais pura. Os pixéis relevantessão destacados, neste caso a área florestal. Com esta área realçada, a detecção dazona a analisar fica mais fácil. O custo computacional é bastante baixo e preciso.

Figura 3.5: Imagem HSV, realce para as tonalidades das zonas com árvores

Figura 3.6: Conversão da imagem RGB para HSV

Page 32: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

16 Processamento de imagens

A imagem mostra-nos vários tipos de áreas susceptíveis de ser analisadas. Aárea florestal aparece bem destacada da área edificada ou das vias de transporte,contudo confunde-se com os campos agrícolas, espaços verdes e até mesmo como rio.

3.2.2 Máscara

O melhoramento da imagem foi feito criando uma moldura da imagem paraposteriormente ser possível aplicar a filtragem para a extracção das características,pixel a pixel.

Os filtros aplicados traduzem-se num mapeamento da imagem a analisar. Énecessária a criação de uma máscara para a produção da imagem de saída.

A máscara criada foi testada com tamanho 5*5 ou 9*9. Aplicando a máscaracom centro na posição (x,y), primeiro pixel da imagem excluindo a moldura, opixel correspondente na imagem é substituído por um valor que considera ospixéis vizinhos e os pesos correspondentes na máscara, continuando a percorrera imagem pixel a pixel armazenando a informação extraída. Os filtros usadoscalculam a média, desvio padrão e mediana. A mediana de um conjunto de pixéisé o valor do pixel da posição central se o número de pixéis for impar e é a médiaentre os dois pixéis nas posições centrais se o número de pixéis for par.

Figura 3.7: Máscara de tamanho 5*5

Page 33: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.3 Extracção de Caracteristicas 17

3.3 Extracção de Caracteristicas

A textura, presente em grande parte das imagens naturais, é fundamental navisão humana e serve como excelente descritor para análise de regiões, contribuiassim na melhoria do processo de segmentação, extracção de informação e inter-pretação. Nas imagens de satélite extraidas do Google Maps, as bandas espectrais,como por exemplo as 3 bandas de imagens RGB, precisam de ser consideradasem conjunto com a textura. Ao contrário de outras características (brilho, cor)a textura não pode ser definida num pixel, mas sim através de uma região ouconjunto de pixeis.

Para ser possível a extracção de características da textura, utilizando a abordagemestatística e espectral, foi implementado o seguinte processo:

• A informação foi extraída de "janelas"da imagem. Janelas quadradas e detamanho 5*5, nas experiências realizadas mais satisfatórias;

• As orlas foram copiadas de acordo com o tamanho da máscara de extracçãode característica (o resultado inteiro da divisão do lado da janela por dois);

• Percorreu-se a imagem pixel por pixel enquanto se calculava a média, medi-ana ou desvio-padrão;

• Armazenou-se a informação numa matriz, fase de pré-processamento, con-tendo a localização do pixel e o número de características por pixel;

• A abordagem estatística baseia-se na análise de imagens e extracção das suascaracterísticas através da relação entre os seus níveis de cinza ou usandomomentos de invariância. Os métodos usados foram os momentos de HU ea co-ocorrência da matriz;

3.3.1 Extracção de Caracteristicas

O que motivou a aplicação dos momentos de HU, para este trabalho, foi ofacto dos resultados obtidos serem independentes da escala, rotação e translação.Apesar de ser uma técnica muito antiga (Ming-Kue Hu apresentou-a em 1962)[5], muitos dos métodos para reconhecimento de padrões em imagens digitais são

Page 34: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

18 Processamento de imagens

elaborados recorrendo a esta técnica. Para os momentos de primeira ordem Huderivou combinações relativas e absolutas de momentos que são independentesda escala, posição e orientação. Para os momentos de segunda e terceira ordem,existem sete momentos de Hu. Sendo estes momentos independentes da escala,rotação e translação, isto é, a informação presente na imagem original será a mesmase esta for rodada, transladada ou se a escala for alterada.

Contudo, usando o MatLab, este método possui uma grande desvantagem: o altocusto computacional.

Figura 3.8: Equações para o cálculo dos sete momentos de HU

3.3.2 Matriz co-ocorrência

As Matrizes de Co-ocorrência - GLCM (Grey Level Co-Ocurrence Matrix)foram primeiramente apresentadas por Haralick et al. (1973) [4]. É possívelescolher quatro graus θ : 0, 45, 90, 135, a partir do pixel central X em relação aosseus oito vizinhos, efectuando a contagem de combinações diferentes de níveisde cinza que ocorrem na imagem a analisar, numa determinada direcção. Paraobtenção das matrizes de co-ocorrência, considera-se a variação da distância edirecção entre pixéis vizinhos, ou seja, consoante a orientação espacial, a GLCMcalcula a probabilidade de existência de uma dada diferença entre dois pixéis.

Page 35: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.3 Extracção de Caracteristicas 19

Figura 3.9: Matriz com os graus possíveis para combinações

Para cada uma das orientações espaciais possíveis entre o pixel e o pixel viz-inho, será criado um elemento na matriz de co-ocorrência de tons de cinza. Otamanho da matriz de co-ocorrência será de t x t, onde t é o número de tonspresentes na imagem original. Uma matriz para cada distância e direcção. Recor-rendo a este processo, serão extraídas medidas da matriz de co-ocorrência, queconstituirão as características a armazenar. Para obter mais informação sobre aimagem, a matriz procurará também valores simétricos com a mesma distânciamas com direcção oposta.

As principais características extraídas, usando este método, são as seguintes:

- A Energia, também conhecida como segundo momento angular, avalia a uni-formidade da textura numa imagem. A fórmula que descreve a energia é:

n−1∑i=0

n−1∑j=0

[P(i, j, δ, θ]2

- A Entropia que mede a desordem presente numa imagem, isto é, o grau dedispersão de níveis de cinza. Fórmula da Antropologia:

Page 36: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

20 Processamento de imagens

n−1∑i=0

n−1∑j=0

P(i, j, d, θ)log2[P(i, j, δ, θ]

- O Contraste, ou variância, mede a presença de transição abrupta de níveis decinza (orlas) na imagem. Fórmula do Contraste:

n−1∑i=0

n−1∑j=0

(i − j)2(P(i, j, δ, θ)

- A homogeneidade local, como o próprio nome sugere, mede a homogeneidadeda imagem. A sua fórmula é a seguinte:

n−1∑i=0

n−1∑j=0

11 + (i − j)2 (P(i, j, δ, θ)

- A Correlação mede a dependência de um nível de cinza em relação aos vizinhos.Fórmula da Correlação:

n−1∑i=0

n−1∑j=0

i j(P(i, j, d, δ) − µ(x)µ(y)

σxσy

Onde µ(x)µ(y), representam as médias nas direcções x e y, respectivamente. Eσ(x)σ(y) representando os desvios-padrão.

Acima estão referenciados e explicados as principais características extraí-das através da matriz de co-ocorrência. Todavia neste projecto não foi utilizada

Page 37: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.3 Extracção de Caracteristicas 21

a função graycoprops() fornecida pelo MatLab, foi implementada uma funçãoGLCM. Esta função faz os cálculos para a obtenção de vinte e duas características.

Criando um gráfico através da análise de uma das características extraídas, acorrelação, é possível saber a relação entre pixéis vizinhos.

Figura 3.10: Gráfico de correlação x vizinhança da imagem visualizada na figura 7 3.4

Este gráfico foi obtido utilizando a matriz de vizinhança [1 0;2 0;3 0;4 0] quecorresponde a uma vizinhança entre 1 e 4 pixéis à esquerda (eixo horizontal),contudo é também feito o simétrico, vizinhança dos pixéis à direita. Para umavizinhança de apenas 1 pixel, podemos ver um valor para a correlação superiora 0,85, valor que vai descendo à medida que a distância entre pixéis aumenta.Próximo de zero, quando a distância entre o pixel analisado e o pixel vizinho éde 4, a correlação chega mesmo a aproximar-se muito de zero. Ou seja, o gráficomostra-nos que existe uma correlação entre os pixéis mais próximos da imagem,mas que a imagem como um todo não é homogénea.

A abordagem Espectral aplica um sinal gerado por um processo estacionáriode média nula e observa a sua saída. Produz relações entre espectros de processos

Page 38: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

22 Processamento de imagens

estacionários. Este método considera explicitamente a existência de perturbaçõese estima o espectro da perturbação na experiência efectuada. Para proceder a estaabordagem foi implementada a Transformada Rápida de Fourier e os Filtros deGabor.

Uma Transformada é uma representação matemática alternativa de uma im-agem. É definida por uma função, que quando aplicada a uma imagem, produza imagem equivalente segundo os critérios da transformada. Para recuperar aimagem recorre-se à transformada inversa.

Figura 3.11: Equação da Transformada Rápida de Fourier

Os filtros têm sido aplicados com sucesso para métodos de processamento deimagens, nomeadamente: o reconhecimento de faces, de assinaturas, identificaçãode impressões digitais. Existem também variados filtros para efectuar filtragemda imagem, melhoramento da imagem, pois as suas representações de frequênciae orientação, são muito semelhantes ao do sistema visual humano.

Page 39: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.3 Extracção de Caracteristicas 23

3.3.3 Transformada de Fourier

Formulada por Jean-Baptiste Joseph Fourier, da Transformada de Fourier re-sulta um gráfico da superfície da sua magnitude, representação de um pico oudepressão central de componentes com frequência zero. Outra forma de visu-alizar a transformada é através da representação logarítmica da sua magnitude,realça os detalhes onde o valor é próximo de zero. Para optimizar a resoluçãoda transformada discreta foi proposto um método eficiente para esse cálculo: aTransformada Rápida de Fourier (COOLEY, TUKEY, 1965) [13]. A TransformadaRápida de Fourier (Fast Fourier Transform - FFT), também chamada algoritmoCooley-Tukey, tem como ideia básica dividir a transformada discreta em trans-formadas menores recursivamente, a fim de diminuir o esforço computacional.Como exemplo apresenta-se uma imagem da base de dados e a respectiva im-agem intensidade. A imagem de saída é característica da textura.

Figura 3.12: Transformada de Fourier

Para se obter este resultado, utilizou-se a função fft2 para o cálculo rápido datransformada de Fourier discreta. Seguidamente usou-se a função fftshift paracentrar no centro do espectro de frequências as componentes de frequência nula.Para obter a imagem final fez-se o cálculo do logaritmo da magnitude.

Page 40: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

24 Processamento de imagens

3.3.4 Filtro de Gabor

Desenvolvido por Dennis Gabor em 1946, consiste num filtro linear definidocomo uma função coseno e/ou seno multiplicado por uma função Gaussiana. Sin-tonizado de forma apropriada remove o ruído e preserva os padrões, fornecendoa informação contida numa orientação particular da imagem. Filtram os ruídos aomesmo tempo em que reconstituem a imagem e também capta as minúcias, umavez que estas podem ser vistas como detalhes. É por estas razões um filtro muitoútil para muitas aplicações que usam imagens naturais. A equação usada nesteprojecto para representar o filtro de Gabor é a seguinte:

G(x, y, θ, f ) = exp([−12 ∗ {(

x′sx′ )

2 + ( y′

sy′ )2}]) ∗ cos(2Π f x′)

x′ = x ∗ cos(θ) + y ∗ sin(θ) y′ = y ∗ cos(θ) − x ∗ sin(θ)

A escolha do filtro ideal revelou-se bastante difícil pois a imagem resultantevaria muito consoante os parâmetros inseridos e de imagem para imagem. Aescolha incorrecta de parâmetros fará com que o filtro seja aplicado de formaincorrecta na imagem. Assim, o filtro foi implementado fazendo várias combi-nações para a frequência e para a orientação. Sendo que os problemas observadosdependiam maioritariamente do valor da orientação.

3.4 Análise de componentes principais

Completa a extracção de características é essencial analisar as informaçõesobtidas e melhorar a forma como se irá tratar a imagem para que a detecção doobjecto de estudo, área florestal, seja realizada obtendo uma percentagem bastantesignificativa de sucesso.

Nesta fase a matriz resultante com as características de cada pixel tem já umnúmero elevado de características (sessenta e seis), sendo normal que a informação

Page 41: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.4 Análise de componentes principais 25

Figura 3.13: Representação da aplicação do filtro de Gabor

presente em cada pixel tenha ordens de grandeza diferentes. Para resolver esteproblema é necessário normalizar a informação adquirida.

Após implementada a normalização procedeu-se à análise das característicasprincipais da matriz. As imagens, após a extracção de várias características, podemapresentar uma substancial redundância entre amostras, sendo necessário que ototal das características possa ser descrito de uma forma mais concisa e algumascaracterísticas, que possam parecer não ter tanta relevância, possam ganhar relevodepois de transformadas.

3.4.1 Normalização

O processo de normalização consiste em uniformizar essa informação paraque o processo de classificação não sofra desvios resultantes de diferentes unidadesde grandeza. Existem dois métodos para realizar a normalização:

- Min-Max: Passagem para intervalo fixo ([0,1]). Ao maior valor observado atribui-se "1", ao menor "0". Os restantes recebem valores de forma linear.

- Média-Variância: Igual média e variância. Calcula-se a média e variância dosvalores observados. Os novos valores são dados pelo valor antigo subtraído damédia e dividido pela variância.

Page 42: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

26 Processamento de imagens

3.4.2 ACP (Análise de componentes principais)

O método de análise de componentes principais (PCA, principal componentanalysis), também conhecido como transformada de Karhunen-Loève (Theodor-idis 2003) [11], é aplicado sobre os dados contidos nos vectores de características.Este método é uma forma de identificar padrões em dados, colocando em evidênciaas suas semelhanças e diferenças. Reduzir a redundância entre os dados captura-dos para cada pixel, além de diminuir o custo computacional, evita a ocorrênciade ambiguidades durante a segmentação. O resultado da aplicação da ACP é umamatriz contendo o mesmo número de características da matriz a analisar, mas comas características colocadas por ordem decrescente de importância. Existem duasformas de escolher as características: recorrendo a um número de característicasque se ache relevante ou a uma percentagem que possa representar com segurançaa área a detectar.

Figura 3.14: Gráfico representando a percentagem de importância de cada característica

O gráfico mostra em percentagens a ordem de importância de cada uma dassessenta e seis características. As características seleccionadas para a fase de treinodependem dos resultados apresentados pela ACP.

Page 43: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.4 Análise de componentes principais 27

3.4.3 Segmentação

A segmentação é o processo de dividir uma imagem em múltiplas classes,com o objectivo de identificar as áreas com ou sem interesse. Permite facilitar aanálise da imagem para posterior detecção de objectos, formas ou, no caso de esteprojecto, detectar a área florestal.

Para se efectuar este processo foram usadas imagens da base de dados. Ben-eficiando dos métodos para detecção de orlas presente no Corel Paint Shop Pro,foram coloridas as áreas de interesse a branco e as restantes a preto, duas classes.Para este projecto apenas a área florestal interessava.

Figura 3.15: Imagem contendo duas classes. A preto a área sem interesse, a branco a área florestal

A imagem acima referida têm duas classes, área florestal (1 0) e área restante (01), é uma imagem binária. Optou-se por este método devido à elevada facilidadede manipulação das imagens binárias, uma vez que a quantidade de dados aanalisar é significativamente reduzida. Elas são usualmente utilizadas para otratamento de informação. Existem diversas técnicas de segmentação de imagens,contudo não existe nenhum método que defina rigorosamente as orlas das áreas a

Page 44: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

28 Processamento de imagens

detectar, nem existe um método único que seja capaz de segmentar todos os tiposde imagem.

3.5 Classificador

Os sistemas biológicos têm a capacidade de aprender uma função, sendo queo método de treino mais comum é feito através de exemplos. O classificador es-colhido para este projecto, rede neuronal artificial baseia-se no mesmo princípio.Padrões de comportamento, compostos por estímulos de entrada e saídas esper-adas, são introduzidos na rede através de um algoritmo de treino. Na fase deaprendizagem, a rede ajusta os pesos entre elementos e aqueles que ponderam asentradas unitárias. Quando o resultado final estiver dentro de uma percentagemde erro aceitável, a fase de aprendizagem estará terminada, tendo a rede adquiridoconhecimento.

Figura 3.16: Arquitectura de redes com aprendizado supervisionado

Existem duas formas de treino nas RNA. Uma que contêm na sua estrutura

Page 45: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.5 Classificador 29

uma espécie de instrutor que confere a aproximidade da rede a uma soluçãoaceitável, adaptando na concepção do treino os pesos entre os neurónios, de modoa obter uma menor diferença entre as saídas desejadas e a obtida. A outra formade se realizar o treino da rede neuronal artificial não possui conhecimentos a prioridas saídas da rede, funciona de modo a distinguir classes de padrões diferentes dosdados apresentados à rede, através de algoritmos de aprendizado baseados geral-mente em conceitos de vizinhança e agrupamento. Neste trabalho foi utilizadoapenas o treino referido inicialmente, implementando o algoritmo de backpropa-gation (algoritmo mais usado para treino de redes neuronais).

3.5.1 Backpropagation

Foi inicialmente criado em 1969 por Bryson e Ho. O seu funcionamentodurante o treino pode se resumir a duas etapas. Na primeira etapa um padrão éusado como camada de entrada da rede, adapta os pesos entre neurónios, camadaa camada, até a camada de saída produzir um resultado. Na segunda etapa, oresultado obtido é comparado com a saída desejada para o padrão escolhido.

O erro é propagado a partir da camada de saída até a camada de entrada, eos pesos das conexões das unidades das camadas internas vão sendo modifica-dos conforme o erro é retro-propagado [1]. Uma vez treinada, a rede produzirárespostas iguais para as mesmas associações de características.

3.5.2 Rede neuronal

O MatLab possui uma poderosa ferramenta para a interpretação e reconheci-mento de uma RNA. Para criar uma RNA utiliza-se a função newff. Os parâmetrospara esta função são: algoritmo de treino, camada de entrada, funções de trans-ferência, camada de saída, número máximo de iterações, número de camadasescondidas e o valor alvo do erro. Para se efectuar o treino da RNA utiliza-se afunção train que tem como parâmetros a rede resultante do passo anterior e asmatrizes de entrada e saída. Para avaliar a performance da RNA é efectuada umasimulação para os diversos caracteres. Assim, para atingir esse objectivo é usadaa função sim, em que o parâmetro de entrada é a rede previamente treinada e amatriz que se pretende simular.

Page 46: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

30 Processamento de imagens

Antes de criar a rede é preciso definir os dados a submeter, tanto para o treinocomo para teste.

• Para criar a estrutura da RNA, começa-se por extrair de uma amostra daimagem a analisar pelo utilizador, uma percentagem de 60% correspondenteà classe a detectar, área florestal, e o restante da amostra para área correspon-dente à outra classe, área sem interesse.

• Mistura-se os dados recolhidos em cada amostra de classe, recorrendo àfunção randperm(), para que o treino seja feito com os dados em posiçõesaleatórias e não com os dados parecidos com um padrão.

• Destes processos resultam duas matrizes. A matriz com as duas classes, queforam sujeitas ao processo de selecção no passo anterior e a matriz com asduas classes mas correspondentes aos pixéis que não vão para treino. Áreaflorestal, classe 1 0. Área sem interesse, classe 0 1.

3.5.3 MatLab ferramentas (toolbox)

No MatLab, utiliza-se a função newff para criar a rede neuronal articial:

• net = newff(PR,[S1 S2 S3],TF1 TF2 TF3,BTF), em que:

• PR - é uma matriz nx2 em que na coluna 1 tem o valor mínimo e na coluna 2tem valor máximo, são o mínimo e o máximo da matriz de entrada;

• S1 - número de nós na camada de entrada

• S2 - número de nós na camada escondidas;

• S3 - número de nós na camada de saída;

• TF1 - função transferência na camada de entrada;

• TF2 - função transferência na camada escondida;

• TF3 - função transferência na camada de saída;

• BTF - função de treino da RNA.

Page 47: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.5 Classificador 31

Nesta fase é definido o número de camadas da rede, o número de neurónios,a saída da rede e o tipo da função de treino.

Uma vez criada a RNA é treinada com a função train. Contudo antes deiniciar esta fase é importante definir o número de iteracções e o objectivo a atingirno treino.

• net=train(net,P,T), em que:

• net - é a estrutura da RNA criada anteriormente;

• P - é a matriz de entrada;

• T - é a matriz de saída.

Após o treino é feita a simulação e obtido o resultado do reconhecimento daárea florestal. Para realizar a simulação recorre-se à função sim:

• rec= sim(net,P);

A RNA em que foram obtidos melhores resultados tinha os seguintes parâmet-ros:

• PR - mínimo e máximo de uma matriz nx2. n é o numero de característicasque resultaram da fase do PCA.

• S1 - n; S2 - n+1; S3 - 2;

• TF1 - tansig; TF2 - tansig; TF3 - purelin;

• BTF - trainlm.

• n - número de características que resultaram da fase do PCA.

• P - matriz nx2 resultante da fase de aprendizagem.

• T - matriz n*2, em que na coluna 2 tem o valor zero e na coluna 1 tem valorum, correspondente á área sem interesse e área florestal respectivamente.

Page 48: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

32 Processamento de imagens

3.5.4 Teste de reconhecimento

Terminada a fase de classificação é necessário utilizar uma imagem da basede dados para a realização do teste de reconhecimento. Esta etapa consiste emsubmeter a imagem ao processo de pré-processamento, extracção de caracteristicase normalização.

Após adquirida a informação sobre a imagem, a matriz resultante é multi-plicada pelo PCA de treino. Ou seja, multiplicada pelo PCA submetido a váriostestes e contendo informação sobre as características mais importantes.

Na fase de reconhecimento da imagem é usada a rede neuronal de treino, redeneuronal que demonstrou uma menor taxa de erro, e procede-se à simulação parase obter a matriz de saída. O resultado final será uma imagem binária contendo abranco a área florestal e a preto a área restante.

Figura 3.17: Resultado usando a rede neuronal após a fase de treino

Page 49: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.5 Classificador 33

3.5.5 Sucesso ou Erro

A matriz de confusão tem sido reconhecida como a mais importante técnicade estimativa da exactidão de produtos de dados [Skidmore & Turner]. [6]

A matriz confusão é da forma n x n, sendo que n representa o número declasses definidas. Neste projecto existem duas classes, área florestal (1 0) e árearestante (0 1). Esta matriz compreende o número de pixéis que foram identificadoscom sucesso e contem também o número de pixéis que obtiveram valores errados.O sucesso na análise da imagem dependerá da taxa de erro resultante desta matriz.

Uma das características mais importantes destas matrizes é o facto de re-sumirem as atribuições erradas (pixéis que não pertencem à classe e foram a elaatribuídos) e os erros de omissão (pixéis que pertencem à classe em questão e nãoforam a ela atribuídos) [Waleska].

Se para uma dada imagem forem obtidos os seguintes valores para a matrizconfusão:

Figura 3.18: Matriz confusão

Page 50: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

34 Processamento de imagens

Pode-se concluir que, para uma amostra de 20000 pixéis, foram obtidos 11199pixéis da classe 1 (correspondente à área florestal) com o valor correcto e 6881pixéis correctos da classe 2 (correspondente a outras áreas).

Obteve-se uma taxa de erro para a classe 1 de 6,68% e uma taxa de erro paraa classe 2 de 14%. A percentagem de pixéis para treino é inferior no caso da classe2 pelo que é normal ter uma taxa de erro superior.

TPR = 93, 32%TFR = 86, 0%TS = 90, 4%TE = 9, 6%

Page 51: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.6 Pós-processamento 35

3.6 Pós-processamento

Na fase de pós-processamento pretende-se tentar corrigir o resultado final daimagem resultante da rede neuronal.

Para proceder ao melhoramento da imagem, que detectou a área florestal,analisou-se duas operações morfológicas: a abertura e o fecho. Estas operaçõessão baseadas na dilatação e na erosão.

Estas operações, erosão e dilatação, fazem respectivamente a adição e remoçãode pixéis na fronteira dos objectos. O número de pixéis removidos ou adicionadosdepende do elemento estruturante e da sua forma.

Obtêm o valor de cada pixel da imagem, resultado aplicando uma regra devizinhança. No caso da dilatação é atribuído o valor máximo da vizinhança, nocaso da erosão o inverso.

A abertura morfológica consiste numa erosão seguida de uma dilatação, us-ando o mesmo elemento estruturante. Pode ser utilizada para remover pequenosobjectos da imagem.

Estas operações seriam realizadas após aplicação do filtro de Sobel para adetecção das orlas. A operação que produziu a melhor imagem final foi a abertura,pois define melhor os limites das áreas florestais. Porém, nenhum destes métodosse mostrou satisfatório. Era notório, em alguns casos, a eliminação de áreasimportantes no caso da erosão, assim como um exagero de área detectada no casoda operação de fecho.

Como nenhum dos métodos se mostrou satisfatório implementou-se um fil-tro estatístico para a remoção do ruido e que preserva melhor as orlas. Com aferramenta ordfilt2 do matlab, é realizada uma filtragem pixel a pixel baseada namedição de estatísticas localizadas na área de abrangência do filtro, retornando aimagem filtrada.

Page 52: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

36 Processamento de imagens

Figura 3.19: Abertura

A abertura corresponde a uma erosão seguida de dilatação, utilizando omesmo elemento estruturante. Pode ser aplicada para eliminar ligações entreobjectos.

Figura 3.20: Fecho

O fecho corresponde a uma dilatação seguida de erosão, utilizando o mesmoelemento estruturante. Pode ser aplicada para restaurar ligações entre objectos.

Page 53: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

3.6 Pós-processamento 37

Figura 3.21: Remoção de ruido, exemplo 1

Page 54: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem
Page 55: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Capítulo 4

Experiências

As experiências realizadas tiveram como objectivo obter o melhor resultadopossível dos métodos estudados e dos algoritmos implementados de forma a ajus-tar a informação adquirida na imagem para o objecto em estudo, a área florestal.Naprimeira etapa pretende-se demonstrar a importância do número de característi-cas, na segunda etapa as experiências foram realizadas com 9 caracteristicas deforma a conseguir variar os parâmetros para treinar a rede neuronal, a terceiraetapa corresponde à fase de melhoramento da imagem.

Assim a matriz resultante da fase de extracção de características terá um for-mato de 66 características por pixel. Estas características resultam das experiênciasseguidamente apresentadas.

Criou-se uma moldura na imagem para se poder aplicar uma máscara e obterinformação consistente. A máscara usada é uma matriz 5*5, uma vez que umamatriz inferior extrairia pouca informação e uma matriz maior teria um custocomputacional elevado. A máscara é aplicada pixel a pixel, armazenando namatriz resultante o valor obtido no ponto central.

4.1 Características

No pré-processamento foram aplicadas as ferramentas (rgb2hsv e rgb2gray)disponíveis no MatLab para fazer a conversão da imagem, adquirida na base de

39

Page 56: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

40 Experiências

dados, para o modo escala de cinza3.4 e HSV3.5.

A extracção de características, dividida em fase de análise da textura estatísticae fase de análise da textura espectral. Na fase estatística foram implementados osmomentos de HU e a matriz de co-ocorrência. Foram calculados 7 momentos , us-ando as equações propostas por Ming-Kue Hu [5] . Para a matriz de co-ocorrênciaoptou-se por usar a função graycomatrix, ferramenta do MatLab. Foi escolhidoo parâmetro OFFSET especificando a distância e percorrendo os valores vizinhosem todos os ângulos. A comparação entre vizinhos foi feita usando o parâmetroSYMMETRIC, aumentando as pesquisas e consequentemente a informação sobreos pixéis vizinhos. Na fase espectral aplicou-se as ferramentas fft e fftshift paraobter o espectro de Fourier e para o filtro de Gabor optou-se por usar vários valorespara o ângulo e frequência. Os valores obtidos variavam muito de imagem paraimagem, não se encontrando parâmetros em que fosse obtido um bom padrão.

A realização de experiências para a rede neuronal artificial foi dividida emtrês etapas. Primeiro era necessário saber a importância das características ex-traídas e quais os métodos necessários para obter uma melhor taxa de sucesso, asegunda etapa, fase de aprendizagem, ter conhecimento de quais os parâmetrosque produziam melhor resultados no treino da rede neuronal e, por fim, a terceiraetapa a realização de testes de validação para reconhecimento da área a detectar,mostrando o resultado final produzido pelo detector automático.

Figura 4.1: Workspace e variavél representando as caracteristicas

Page 57: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.2 Primeira Etapa - RNA 41

4.2 Primeira Etapa - RNA

Após a extracção das características e apesar das inúmeras experiências efec-tuadas, não foi possível eliminar todos os valores NAN. Optou-se por realizar amediana a que pertenciam as caracteristicas com NAN e substituir por o valorencontrado.

Substituídos os valores procedeu-se à normalização da matriz. Foi testada anormalização mínimo-máximo, usando a ferramenta mapminmax, e a normaliza-ção média-variância. Optou-se pela normalização média-variância, já que quandoaplicado o PCA obtia-se um maior número de características para satisfazer a per-centagem pretendida e também uma maior taxa de sucesso. Tendo como opçãoseleccionar uma percentagem de características ou seleccionar um número de car-acterísticas que representa-se a maior parte da informação, a forma de análisedo PCA foi escolhida segundo o mesmo critério da normalização. Verifica-separa uma percentagem de 95% de representação da informação o número totalde características, se o número não for suficiente são escolhidas as 27 primeirascaracterísticas do PCA.

Foram feitos testes contendo 3, 9 e 27 características. Paras as 3 e 9 carac-terísticas realizaram-se testes mudando os parâmetros na criação e teste da redeneuronal. Para as 27 características apenas se adoptou os melhores parâmetros,pois a taxa de sucesso é muito elevada e quando definido um objectivo de perfor-mance este era atingido muito antes das iteracções definidas.

Por exemplo, usando as imagens seguintes:

Figura 4.2: Imagens de teste

Page 58: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

42 Experiências

Com 3 características do PCA obteve-se com a normalização min-max umataxa de sucesso de 86,4% para a imagem de Teste 1 e 86,1% para a imagem deTeste 2. Com a normalização média-variância conseguiu-se uma taxa de sucessode 74,8% para a imagem de Teste 1 e 82,2% para a imagem de Teste 2. 4.5,4.6,4.7,4.8

Com 9 características do PCA obteve-se com a normalização min-max uma taxa desucesso de 92,9% para a imagem de Teste 1 e 92,7% para a imagem de Teste 2. Coma normalização média-variância uma taxa de sucesso de 95,0% para a imagem deTeste 1 e 94,3% para a imagem de Teste 2.4.9,4.10,4.11,4.12

Assim, para uma representação de informação usando 3 caracteríticas os re-sultados apresentam uma taxa de sucesso, após a fase de treino, melhor no casoda normalização min-max. Mas para uma representação de informação usando 9caracteríticas os resultados apresentam uma taxa de sucesso, após a fase de treino,melhor no caso da normalização média-variância. Pode-se assim concluir que anormalização min-max é mais eficaz a reduzir os dados redundantes, obtendomelhores resultados com menos características. Contudo foi escolhida a normal-ização média-variância, pois no geral faz um melhor aproveitamento dos dadosextraidos, obtendo uma taxa de sucesso superior quando é escolhido um númerode características mais significativo.

Na aplicação desenvolvida era sempre pedido uma representação de 95%das características principais em todos os testes, todavia nos testes realizados eraevidente que a taxa de sucesso, no final da fase de treino, dependia fundamen-talmente do número de características. Não existe uma relação entre a taxa derepresentação e a taxa de sucesso, mas sim uma relação entre o número de carac-terísticas necessárias e a taxa de sucesso. O que significa que se uma imagem tiverde ser representada por 3 características e outra por 9, a segunda imagem terá umataxa de sucesso melhor, embora tenham a mesma percentagem de representaçãode informação.

Tendo conhecimento desta relação foi escolhido o método da normalizaçãomédia-variância. Comparando os resultados, para o mesmo número de caracterís-ticas, esta era a que apresentava maior taxa de sucesso. É de salientar que quantomais características eram aproveitadas, maior era a performance da rede neuronalna fase de treino (os resultados serão demonstrados na secção Segunda Etapa -RNA).

Page 59: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.2 Primeira Etapa - RNA 43

Seguidamente são apresentados alguns exemplos para explicar a escolha danormalização média-variância. Esta demonstração passa por estabelecer umarelação entre o número de características principais e a taxa de sucesso obtidaapós o treino da rede, rede com os parâmetros pré-definidos pelo MatLab. Étambém demonstrada a diferença de performance na fase de treino utilizando osdois métodos.

Os parâmetros pré-definidos são:

1. rede com 3 camadas;

2. número de neurónios, igual ao número de características obtidas do PCA;

3. função de treino, trainlm;

4. função transferência na camada de entrada, tansig;

5. função transferência na camada de intermédia, tansig;

6. função transferência na camada de saída, purelin;

7. epochs/iteracções, 1000;

8. taxa de aprendizagem, 0,02;

Page 60: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

44 Experiências

Figura 4.3: PCA, normalização min-máx

Figura 4.4: PCA, normalização média-variância

Page 61: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.2 Primeira Etapa - RNA 45

Figura 4.5: Imagem Teste 1, normalização min-máx com 3 características

Figura 4.6: Imagem de Teste 1, normalização média-variância com 3 características

Page 62: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

46 Experiências

Figura 4.7: Imagem Teste 2, normalização min-max com 3 características

Figura 4.8: Imagem de Teste 2, normalização média-variância com 3 características

Page 63: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.2 Primeira Etapa - RNA 47

Figura 4.9: Imagem Teste 1, normalização min-máx com 9 características

Figura 4.10: Imagem de Teste 1, normalização média-variância com 9 características

Page 64: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

48 Experiências

Figura 4.11: Imagem Teste 2, normalização min-máx com 9 características

Figura 4.12: Imagem de Teste 2, normalização média-variância com 9 características

Page 65: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.2 Primeira Etapa - RNA 49

Figura 4.13: Taxa de Sucesso vs Número de características

A imagem 4.13, demonstra a relação entre o número de características e a taxade sucesso após o treino da rede neuronal artificial.

Estes resulltados foram obtidos com a imagem Teste 2, sendo notória a difer-ença na taxa de sucesso usando 3 ou 9 características. O resultado é igual se asa taxa de importância corresponder a este número de características, como ficouprovado pelos testes anteriores.

Aumentando o número de características, após as 27, continua a existir mel-horia, mas foram definidas como padrão as 27 características para não aumentaro custo computacional e porque a taxa de sucesso com mais de 27 característicassofre apenas um ligeiro aumento.

Page 66: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

50 Experiências

Figura 4.14: Performance da imagem Teste 2, 27 primeiras características do PCA

Figura 4.15: Performance e custo computacional da imagem Teste 2, 27 primeiras característicasdo PCA

Page 67: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.3 Segunda Etapa - RNA 51

4.3 Segunda Etapa - RNA

Antes de criar a rede neuronal artificial foi necessário na fase de aprendizagemdescobrir qual a percentagem de pixéis que seriam necessários para servir deamostra para treino. A amostra será de 20000 pixéis, sendo 60% a classe áreaflorestal e o restante área sem interesse. É importante ter em atenção este valorpois caso a imagem a analisar não possua 12000 pixéis correspondentes à áreaflorestal e 8000 pixéis à classe área sem interesse, não será possível efectuar otreino.

Nesta fase de experiências foram alterados inúmeros parâmetros à rede neu-ronal criada, até obter um resultado que garantisse uma taxa de sucesso elevadana maioria dos casos após a simulação.

Para escolher a melhor função de treino optou-se por fazer testes à rede cri-ada com os parâmetros trainbr (Bayesian regularization), traingdx (Gradient de-scent with momentum and adaptive lr backprop) e trainlm (Levenberg-Marquardtbackpropagation). A função trainbr mostrou ter uma performance muito fraca,decidindo-se realizar os testes com as outras duas. Como se demonstra nas ima-gens seguintes ambas têm vantagens e desvantagens. A função traingdx tem umcusto computacional mais baixo, mas a função trainlm têm uma taxa de sucessosuperior, optando-se por este motivo por criar a rede neuronal artificial usandoesta função.

Usou-se algumas funções como padrão para todas as experiências, as opçõespara as 3 camadas eram a TANSIG, LOGSIG e PURELIN, para a camada deentrada e intermédia foi escolhida a função TANSIG, para a camada de saída afunção PURELIN. A função de performance escolhida foi a mse.

Ficou demonstrado que quanto maior o número de iteracções, maior a taxade sucesso. Contudo o custo computacional passa de uma média 5 minutos com1000 iteracções, para uma média de 50 minutos com 10000 iteracções.

Testando a função de treino traingdx, obteve-se os seguintes resultados:

A função de treino traingdx, para a imagem Teste 1 4.2 obteve uma taxade sucesso de 92,8% (anteriormente, trainlm, 95,0%) após a simulação e para aimagem de Teste 2 4.2 obteve-se uma taxa de sucesso de 93,0% (anteriormente,

Page 68: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

52 Experiências

trainlm, 94,3%). Verificou-se assim, uma diminuição da taxa de sucesso. Optando-se por construir a rede com a função de treino trainlm. É também demonstradoum exemplo para as características definidas como padrão. Para a imagem Teste 2a taxa de sucesso foi de 90,1% com a função trainlm a taxa de sucesso era de 99,2%

Aumentando o número de iteracções obteve-se os seguintes resultados:

A função de treino trainlm com 10000 iteracções/epochs e um número deneurónios intermédios igual aos adquiridos do PCA, para a imagem Teste 1 obteveuma taxa de sucesso de 95,3% após a simulação e para a imagem de Teste 2 obteve-se uma taxa de sucesso de 94,7%. O custo computacional aumentando as iteracçõesé muito elevado.

Variando o número de neurónios na camada intermédia, foram obtidos osseguintes resultados:

A função de treino trainlm, com 3 neurónios na camada intermédia e 10000iterações obteve, para a imagem Teste 1, uma taxa de sucesso de 95,0%. Para aimagem Teste 2, obteve-se uma taxa de sucesso de 94,4%. A função de treinotrainlm, com 15 neurónios na camada intermédia e 10000 iterações obteve, para aimagem Teste 1, uma taxa de sucesso de 95,1%. Para a imagem Teste 2, obteve-seuma taxa de sucesso de 94,5%.

Recordando que para a função de treino trainlm, com número de neuróniosna camada intermédia igual ao número de características obtidas no PCA e 10000iterações obteve-se, para a imagem Teste 1 uma taxa de sucesso de 95,3% e para aimagem Teste 2 obteve-se uma taxa de sucesso de 94,3%.

Conclui-se, com as experiências atrás mencionadas, que a melhor rede temcomo parâmetros a função de treino TRAINLM, que quanto mais afastado donúmero de neurónios presentes na camada de entrada menor é a taxa de sucessoe quanto maior o número de iterações maior é a taxa de sucesso. É de salientartambém a importância do número de características na fase de aprendizagem paramelhorar a performance da rede e o custo computacional inerente ao aumento donúmero de iteracções.

Exemplos que justificam as opções referidas acima:

Page 69: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.3 Segunda Etapa - RNA 53

Figura 4.16: Imagem de Teste 2 com a função de treino traingdx, 27 características

Figura 4.17: Imagem de Teste 2 com a função de treino trainlm, 27 características

Page 70: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

54 Experiências

Figura 4.18: Imagem de Teste 1 com a função de treino traingdx

Figura 4.19: Imagem de Teste 1 com a função de treino trainlm, comparando performance

Page 71: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.3 Segunda Etapa - RNA 55

Figura 4.20: Imagem de Teste 1 com a função de treino traingdx

Figura 4.21: Imagem de teste 2 com a função de treino traingdx

Page 72: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

56 Experiências

Figura 4.22: Imagem de teste 1, neurónios igual ao número de caracteristicas adquiridas no PCA

Figura 4.23: Imagem de teste 2, neurónios igual ao número de caracteristicas adquiridas no PCA

Page 73: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.3 Segunda Etapa - RNA 57

Figura 4.24: Imagem de teste 1, 3 neurónios

Figura 4.25: Imagem de teste 2, 3 neurónios

Page 74: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

58 Experiências

Figura 4.26: Imagem de teste 1, 15 neurónios

Figura 4.27: Imagem de teste 2, 15 neurónios

Page 75: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.4 Terceira Etapa - RNA 59

4.4 Terceira Etapa - RNA

A terceira etapa consistia em submeter uma imagem presente na base de dadose visualizar o resultado final. Apresentam-se aqui exemplos para compreendera imagem resultante do analisador automático. Para melhor compreensão doresultado da matriz de saída, foram elaboradas matrizes de confusão. Após estafase é que se realiza a filtragem estatística para melhoramento da imagem, fase depós-processamento.

Figura 4.28: Imagem final Teste 1

Figura 4.29: Matriz confusão Teste 1 (TPR=94,6% e TNR=90,1%)

Page 76: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

60 Experiências

Figura 4.30: Imagem final Teste 2

Figura 4.31: Matriz confusão Teste 2 (TPR=97,8% e TNR=81,3%)

Page 77: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.4 Terceira Etapa - RNA 61

Figura 4.32: Imagem final Teste 3

Figura 4.33: Matriz confusão Teste 3 (TPR=96,6% e TNR=84,4%)

Page 78: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

62 Experiências

4.4.1 Conclusões - RNA

As experiências realizadas com 9 características permitiram perceber as van-tagens que alguns parâmetros traziam para uma taxa de sucesso maior no fim dafase de teste da rede.

Inicialmente, com a criação de uma rede neuronal artificial com os valorespré-definidos, a imagem Teste 1 tinha uma taxa de sucesso de 95,0%. Com afunção de treino traingdx e distanciando o número de neurónios dos 9 a taxa desucesso diminui, com o aumento da iteracções e usando a função trainlm a taxade sucesso subiu para 95,3%.

A imagem Teste 2 tinha uma taxa de sucesso de 94,3%. Com a função de treinotraingdx e distanciando o número de neurónios dos 9 a taxa de sucesso diminui,com o aumento da iteracções e usando a função trainlm a taxa de sucesso subiupara 94,7%.

Para as experiências com 27 características obteve-se uma taxa de sucesso de90,1% com a função traingdx e de 99,2% usando os parâmetros que se obtinhamelhorias nas experiências anteriores.

Page 79: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

4.5 Reconhecimento e Pós-processamento 63

4.5 Reconhecimento e Pós-processamento

Aplicando-se o filtro estatístico, resulta o seguinte resultado para a remoçãode ruido:

Figura 4.34: Imagem de Teste 1 antes e depois da filtragem

Figura 4.35: Imagem de Teste 2 antes e depois da filtragem)

Page 80: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

64 Experiências

Figura 4.36: Imagem de Teste 3 antes e depois da filtragem)

Page 81: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Capítulo 5

Conclusão e trabalhos futuros

5.1 Conclusão

Tendo como objectivo neste projecto análise e detecção de área florestal foipossível obter valores com uma taxa de sucesso bastante satisfatória, emboradificilmente fosse possível atingir uma taxa de 100%. Foram utilizados muitosdos métodos disponíveis para extracção de características, tendo estes um papelimportantíssimo na análise de componentes principais. Os métodos utilizadospermitiram obter sessenta e seis características por pixel, número de característi-cas razoável face ao custo computacional inerente a cada processo de extracção.Os dados extraídos tiveram de ser normalizados para passar por uma análise doscomponentes principais. Foi criada uma rede neuronal artificial capaz de detectardois tipos de classes: a área florestal e área sem interesse. Estudou-se em detalhea etapa de treino da rede, através do algoritmo back-propagation, onde foramapresentas técnicas para se obter uma maior taxa de sucesso. As redes neuron-ais, como classificador, revelaram-se uma boa escolha pois a toolbox presente noMatLab permite fazer inúmeros testes e contém inúmeras ferramentas para seatingir com sucesso o objectivo pretendido. Para melhor compreender a imagemgerada automaticamente, recorreu-se à análise dos resultados com a matriz con-fusão. Para melhorar o aspecto final optou-se por aplicar na imagem final umfiltro estatístico.

65

Page 82: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

66 Conclusão e trabalhos futuros

5.2 Trabalhos futuros

O MatLab contém muitas ferramentas que facilitam o processamento de im-agens e o treino para obtenção da imagem final, contudo o custo computacionalé enorme. A fase de extracção de características pode demorar cerca de 30 min-utos pelo que não é aconselhável o utilizador esperar tanto tempo para obter aimagem. Por este motivo seria vantajoso realizar este projecto implementando-oem outra linguagem. A criação de uma aplicação que engloba-se todas as fasesdeste projecto seria muito mais vantajoso.

Page 83: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Apêndice A

Ambiente e Desenvolvimento

A.1 Software

O software utilizado para o desenvolvimento do código foi o MatLab, quepermite o desenvolvimento de programas simples e compactos em comparaçãocom as tradicionais linguagens de programação. Contêm um importante conjuntode pacotes de funções, organizadas segundo diferentes áreas de cálculo científico,toolboxes. As toolboxes de processamento de imagem (manipulação de imagens)e redes neurais (simulação e projecto de redes neurais) são objecto de estudo nesteprojecto.

A.2 Aquisição de imagens

Para a aquisição de imagens utilizou-se o programa GESlicer, aplicação desen-volvida em C#. O programa extrai as imagens através da inserção de coordenadasWGS 84, como GPS e Google Earth, e armazena na base de dados em diferentesescalas.

67

Page 84: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem
Page 85: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

Bibliografia

[1] A. CARVALHO. Tutorial introdutório sobre as Redes Neurais Artificiais e suautilização no mercado financeiro. 2000.

[2] GIBSON e ERLE. Google Maps Hacks. O REALLY, 2006.

[3] Fawcett. Roc graphs: Notes and practical considerations for researchers. ROCGraphs: Notes and practical considerations for researchers, 2004.

[4] Haralick. Textural Features for Image Classification. IEEE Transactions on Sys-tems, 1973.

[5] Ming-Kuei Hu. Visual Pattern Recognition by Moment Invariant. Comput. Soc.,1962.

[6] SKIDMORE A. K. and TURNER. Assessing the accuracy of resource inventorymaps. Global Natural Resources Monitoring and Assessments, 1989.

[7] Cleve Moler. Numerical Computing with MATLAB. Society for Industrial andApplied Mathematics.

[8] Parker. Algorithms for Image Processing and Computer Vision. Parker, 1997.

[9] Forsyth& Ponce. Computer Vision: A Modern Approach. Forsyth & Ponce, 2002.

[10] Malcon & Anderson TAFNER. Redes neurais artificiais : Introdução e princí-pios de neurocomputação. Blumenau, 1996.

[11] Theodoridis and Koutroumbas. statistical classifiers for two-class classification.2003.

69

Page 86: Universidade da Beira Interior Departamento de Informáticahugomcp/doc/PauloAmaral.pdf · 4.16 Imagem de Teste 2 com a função de treino traingdx, 27 características47 4.17 Imagem

70 BIBLIOGRAFIA

[12] von Wangenheim. Fast two-step segmentation of natural color scenes using hi-erarchical region-growing and a color-gradient network. IRE Transactions OnInformation Theory, 2006.

[13] Cooley James W. and John W. Tukey. An algorithm for the machine calculationof complex Fourier series. Math. Comput., 1965.

[14] GONZALEZ & WOODS. Digital image processing. GONZALEZ & WOODS,2000, 2000.