Your SlideShare is downloading. ×
UNIVERSIDADE TIRADENTES




           RAFAEL OLIVEIRA VASCONCELOS




    Elaboração de uma Solução para Automatização do...
RAFAEL OLIVEIRA VASCONCELOS




    Elaboração de uma Solução para Automatização do
Georreferenciamento de Objetos a Parti...
RAFAEL OLIVEIRA VASCONCELOS




Elaboração de uma Solução para Automatização do Georreferenciamento de

            Objeto...
RESUMO




As aplicações que tratam de georreferenciamento estão ganhando cada vez mais espaço e

importância. Por outro l...
ABSTRACT




The applications that address geocoding are gaining more and more space and importance.

Moreover, the curren...
LISTA DE QUADROS

Quadro 1. Pixel codificado no espaço de cores RGB com 24 bits de profundidade .............. 37
Quadro 2...
Índice de figuras

Figura 1. Parâmetros do Datum ............................................................................
Figura 33. Polígono com configuração 1-0 .......................................................................... 65
Fig...
SUMÁRIO



1 INTRODUÇÃO .....................................................................................................
3.4 Inteligência Artificial .................................................................................................
1 INTRODUÇÃO



           A tecnologia do geoprocessamento tem grande potencial para auxiliar na

solução de problemas ca...
3. Transportar os funcionários para as áreas onde os objetos serão

                 georreferenciados;

            4. Co...
Apesar da extensa revisão bibliográfica realizada, não foi encontrado

nenhum trabalho com o mesmo fim, que é de propor um...
   Investigar métodos de georreferenciamento de objetos;

               Elaborar um método para georreferenciamento de ...
2 GEOPROCESSAMENTO



           A opinião de Câmara, et al. (2001) a cerca do geoprocessamento é que:




               ...
Se onde é importante para o seu negócio, então geoprocessamento é sua

                         ferramenta de trabalho. Se...
Um conceito importante quando se trata de localização geográfica é o datum

planimétrico. Resumidamente, o datum é “uma su...
2.1.1 Sistemas de coordenadas



           Na matemática, um sistema de coordenadas é um sistema utilizado para

represen...
Tanto o meridiano de Greenwich quanto o paralelo do Equador são

considerados os marcos iniciais no sistema de coordenadas...
Existem outros sistemas de coordenadas não citados neste trabalho, cujo

estudo detalhado foge do escopo desta monografia ...
Figura 4. Projeção plana

                               Fonte: (Curso Objetivo, [s.d])




                       Figura ...
2.2 Sistema de Informação Geográfica



           Segundo Câmara, et al. (2001), “o problema fundamental da Ciência da

G...
algumas funcionalidades que estão presentes na maioria dos SIGs, as quais podem ser

divididas em:

                Entra...
outras, de tal forma que o último ponto da última linha seja igual ao primeiro ponto da

primeira linha.

            Para...
A estrutura matricial pode representar uma grade regular ou matriz temática. Na

grade regular, cada elemento está associa...
   Admitir a entrada de dados por meio de teclado e/ou mouse, permitindo

                ao usuário inserir informações ...
Figura 8. Processamento de consultas espaciais

                    Fonte: (Jr., et al., 2005) adaptado de (Gaede, et al.,...
O SIG deve fornecer uma interface para permitir, de maneira fácil, intuitiva

e rápida, que o usuário possa recuperar todo...
2.2.5 Produção cartográfica e exibição de resultados



           Após a fase da análise de dados, o SIG deve retornar al...
cartográfica. Barbosa (1997) explica que o georreferenciamento descreve um objeto do

mundo real em termos de sua posição ...
A Figura 10 ilustra exemplos de pertinência, vizinhança e distância. Em (a)

é exposto a relação “B pertence à A”, em (b) ...
para o georreferenciamento de objetos a partir do reconhecimento de padrões na

imagens.




2.4 Considerações Finais



 ...
Na área de processamento digital de imagens de sensoriamento remoto, a

segmentação pode ser definida, segundo Moik (1980)...
A redução da quantidade de informação na imagem é um ponto chave para a

extração de informação. Reduzir a quantidade de i...
Figura 12. Decomposição de imagem no modelo de cor CMYK

                                  Fonte: (Wikipedia, 2009)




  ...
Figura 13. Espaço de cores HSV visualizado como um cone

                                  Fonte: (Microsoft, [s.d])




 ...
Cada espaço de cores tem vantagens e desvantagens para cada situação, o

que pode influenciar na segmentação da imagem. A ...
consideradas cores iguais em codificações de menor profundidade. Este efeito pode ser

visto nas Figuras 15, 16, 17, 18 e ...
Figura 16. Imagem com 16 bits de profundidade




             As imagens das Figuras 15 e 16 são bastante semelhantes par...
Entre as Figuras 16 e 17 (16 e 8 bits, respectivamente) já existe uma

homogeneização relevante nas cores.




           ...
Figura 19. Imagem com 1 bit de profundidade



            O Quadro 3 mostra o tamanho das imagens das Figuras 15 a 19 e a...
(média harmônica entre a taxa de detecção e a precisão) de 3,05% até 58,95% utilizando

o espaço de cores YCbCr. O Quadro ...
A textura é outro fator importante no processo de segmentação de imagens,

haja vista que tons acinzentados podem estar pr...
O Quadro 5 mostra a influência da textura na segmentação de imagem. Na

detecção de céu azul realizada por Cardoso (2009),...
objetivo é construir sistemas que apresentem comportamento inteligente e

                        desempenhem tarefas com ...
assim, quando existe um problema a ser solucionado, o sistema verifica se existe algum

problema simular que já tenha sido...
O cérebro humano é caracterizado pela grande quantidade de elementos

processadores – neurônios – interligados a vários ou...
A unidade básica da rede neural natural, e também artificial, é o neurônio.

Ele é responsável por realizar o processament...
O processamento de informação no neurônio inicia-se com o recebimento

dos impulsos gerados pelos neurônios vizinhos, que ...
neurotransmissores e neurorreceptores. Os neurotransmissores estão presentes nas

terminações nervosas dos axônios e os ne...
Analisando o neurônio artificial, é possível identificar os dendritos, corpo

celular e axônio. As entradas do neurônio ar...
As MLPs têm 3 tipos de camadas: entrada, oculta e saída. Os neurônios da

camada de entrada recebem sinais do exterior, os...
Sobre o ajuste dos pesos, Haykin (1999) explica que:




                         [...] é realizado passo a passo, iterati...
Na detecção de descontinuidades, mudanças bruscas nos tons de cinza da

imagem são assinaladas pelos algoritmos. Esta técn...
pertencentes à região A e pixels com intensidade maior ou igual a 127 como

pertencentes à região B.

            Uma técn...
3.6 Considerações Finais



             Este capítulo abordou temas introdutórios a cerca da segmentação de

imagens, int...
4.1 Visão Geral



           A Figura 26 contempla a visão geral do método proposto.




                         Figura ...
4.2 Segmentador Neural Baseado em Informação de Textura e

Cor



            Os trabalhos de Gonzalez, et al. (2000) e Sa...
Figura 27. Visão geral do segmentador neural baseado em informação de textura e cor

                                     ...
Figura 28. Segmentador baseado na informação de cor executada para detecção de asfalto



            A medida-F abaixo da...
Figura 29. Diferentes tipos de materiais



           Analisando a cor e textura dos materiais e a medida-F, chegou-se a
...
imagem de entrada, esta fase aceita 2 parâmetros: número de pixels a ser pulado e limite

da distância entre os pixels.

 ...
polígono e as linhas em amarelo são as arestas. O polígono foi gerado com os

parâmetros número de pixels a ser pulado igu...
Figura 32. Polígono com configuração 15-7



            A Figura 32 mostra o polígono gerado a partir da mesma imagem

se...
Figura 33. Polígono com configuração 1-0



           As Figuras 30, 31, 32 e 33 foram obtidas a partir de uma imagem de
...
Figura 34. Polígono gerado a partir de imagem obtida do segmentador neural



            O método procura um pixel de cor...
geração dos polígonos só pode ser aplicado a imagens segmentadas de maneira bem

controlada.




4.3 Segmentador Baseado n...
Figura 35. Resultado da segmentação baseada no crescimento de regiões



           A Figura 35 exibe o resultado do segme...
O método além de segmentar a imagem, devolve as coordenadas X e Y mais

externas dos pixels adicionados na fila. Estes val...
Figura 37. Polígono gerado com orientação horizontal



             Caso seja utilizada a orientação horizontal ou automá...
Figura 38. Polígono gerado com orientação vertical



           Com as extremidades da região segmentada e a orientação d...
4.4 Georreferenciamento de Ruas e Avenidas



            A última fase, mas não menos importante, é o georreferenciamento...
Apesar da classe CoordinateConversion realizar a conversão de UTM para

coordenadas geográficas, ela utiliza o datum plani...
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens
Upcoming SlideShare
Loading in...5
×

Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens

2,845

Published on

As aplicações que tratam de georreferenciamento estão ganhando cada vez mais espaço e importância. Por outro lado, o processo atual para georreferenciamento de objetos é usualmente executado de forma manual, haja vista a escassez de ferramentas disponíveis. Este processo é bastante oneroso, demorado e relativamente mecânico quando executado por pessoas. Assim, é relevante a adoção de um processo capaz de acrescer o grau de automatização no processo de georreferenciamento de objetos e que possibilite maior velocidade e segurança, bem como redução nos custos associados à entrada de tais dados nos Sistemas de Informação Geográfica (SIGs). Para realizar o trabalho proposto de automatização no processo de georreferenciamento, foram utilizadas técnicas de computação visual, inteligência artificial e geoprocessamento, mais especificamente nas áreas de segmentação de imagens, redes neurais artificiais e sistemas de coordenadas, permitindo processar e georreferenciar imagens de tomada aérea. O trabalho elaborou uma solução para o problema do georreferenciamento de ruas e avenidas, automatizando esta tarefa que é usualmente executada por agentes dotados de aparelhos GPS (Global Positioning System). Uma avaliação experimental envolvendo o georreferenciamento de ruas e avenidas foi realizada, e a aplicação desenvolvida com a implementação do método proposto apresentou bons resultados em todas as fases do método.
---
The applications that address geocoding are gaining more and more space and importance. Moreover, the current process for georeferencing of objects is usually performed manually, given the scarcity of available tools. This process is very costly, time consuming and relatively mechanical when performed by people. Therefore, it is important to adopt a process that will accrue to the degree of automation in the process of georeferencing of objects and that allows greater speed and security as well as reduction in costs associated with the entry of such data in Geographic Information Systems (GIS). To perform the proposed work of automation in the process of georeferencing techniques were used for visual computing, artificial intelligence and geoprocess, specifically in the areas of image segmentation, artificial neural networks and coordinate systems, allowing process and georeference aerial images taken. The work has developed a solution to the problem of georeferencing of streets and avenues, automating this task is usually performed by agents with GPS (Global Positioning System) devices. An experimental evaluation involving the geocoding of streets and avenues was performed, and the application developed with the implementation of the proposed method showed good results in all phases of this method.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,845
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
116
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens"

  1. 1. UNIVERSIDADE TIRADENTES RAFAEL OLIVEIRA VASCONCELOS Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens Aracaju 2010
  2. 2. RAFAEL OLIVEIRA VASCONCELOS Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens Monografia apresentada à Universidade Tiradentes como um dos pré-requisitos à obtenção do título de Bacharel em Ciência da Computação. ORIENTADOR: FÁBIO SOARES SILVA CO-ORIENTADOR: FERNANDO HENRIQUE BEZERRA CARDOSO Aracaju 2010
  3. 3. RAFAEL OLIVEIRA VASCONCELOS Elaboração de uma Solução para Automatização do Georreferenciamento de Objetos a Partir do Reconhecimento de Imagens Monografia apresentada ao Curso de Ciência da Computação da Universidade Tiradentes como um dos pré-requisitos à obtenção do título de Bacharel em Ciência da Computação. Aprovada em 12/06/2010. Banca Examinadora ____________________________________________ Fábio Soares Silva Universidade Tiradentes ___________________________________________ Fernando Henrique Bezerra Cardoso Universidade Tiradentes ___________________________________________ Robert Anderson Nogueira de Oliveira Universidade Tiradentes
  4. 4. RESUMO As aplicações que tratam de georreferenciamento estão ganhando cada vez mais espaço e importância. Por outro lado, o processo atual para georreferenciamento de objetos é usualmente executado de forma manual, haja vista a escassez de ferramentas disponíveis. Este processo é bastante oneroso, demorado e relativamente mecânico quando executado por pessoas. Assim, é relevante a adoção de um processo capaz de acrescer o grau de automatização no processo de georreferenciamento de objetos e que possibilite maior velocidade e segurança, bem como redução nos custos associados à entrada de tais dados nos Sistemas de Informação Geográfica (SIGs). Para realizar o trabalho proposto de automatização no processo de georreferenciamento, foram utilizadas técnicas de computação visual, inteligência artificial e geoprocessamento, mais especificamente nas áreas de segmentação de imagens, redes neurais artificiais e sistemas de coordenadas, permitindo processar e georreferenciar imagens de tomada aérea. O trabalho elaborou uma solução para o problema do georreferenciamento de ruas e avenidas, automatizando esta tarefa que é usualmente executada por agentes dotados de aparelhos GPS (Global Positioning System). Uma avaliação experimental envolvendo o georreferenciamento de ruas e avenidas foi realizada, e a aplicação desenvolvida com a implementação do método proposto apresentou bons resultados em todas as fases do método. PALAVRAS-CHAVE: Geoprocessamento; Georreferenciamento; Segmentação de imagem
  5. 5. ABSTRACT The applications that address geocoding are gaining more and more space and importance. Moreover, the current process for georeferencing of objects is usually performed manually, given the scarcity of available tools. This process is very costly, time consuming and relatively mechanical when performed by people. Therefore, it is important to adopt a process that will accrue to the degree of automation in the process of georeferencing of objects and that allows greater speed and security as well as reduction in costs associated with the entry of such data in Geographic Information Systems (GIS). To perform the proposed work of automation in the process of georeferencing techniques were used for visual computing, artificial intelligence and geoprocess, specifically in the areas of image segmentation, artificial neural networks and coordinate systems, allowing process and georeference aerial images taken. The work has developed a solution to the problem of georeferencing of streets and avenues, automating this task is usually performed by agents with GPS (Global Positioning System) devices. An experimental evaluation involving the geocoding of streets and avenues was performed, and the application developed with the implementation of the proposed method showed good results in all phases of this method. KEYWORDS: Geoprocess; Georeferencing; Image segmentation
  6. 6. LISTA DE QUADROS Quadro 1. Pixel codificado no espaço de cores RGB com 24 bits de profundidade .............. 37 Quadro 2. Quantidade de cores representadas por profundidade .......................................... 38 Quadro 3. Efeito da redução da profundidade de cores no tamanho do arquivo ................... 41 Quadro 4. Influência da profundidade de cor na detecção de pele humana em fotografias ... 42 Quadro 5. Influência da textura na detecção de materiais .................................................... 43 Quadro 6. Comparação entre computação tradicional e neural ............................................ 47 Quadro 7. Determinação do melhor espaço de cores para segmentação de asfalto ............... 77 Quadro 8. Determinação do melhor tamanho de janela para segmentação de asfalto (HSL, 8 bits por canal) ...................................................................................................................... 78 Quadro 9. Resultados do segmentador baseado no crescimento de regiões na detecção de asfalto .................................................................................................................................. 79 Quadro 10. Resultado da geração dos polígonos ................................................................. 82 Quadro 11. Erro estimado no georreferenciamento das ruas e avenidas ............................... 86 Quadro 12. Resumo dos resultados na imagem ................................................................... 88
  7. 7. Índice de figuras Figura 1. Parâmetros do Datum ........................................................................................... 17 Figura 2. Sistema de coordenadas geográficas ..................................................................... 18 Figura 3. Sistema de coordenadas planas ............................................................................. 19 Figura 4. Projeção plana ...................................................................................................... 21 Figura 5. Projeção cônica equivalente de Albers ................................................................. 21 Figura 6. Exemplo de representação vetorial em duas dimensões ........................................ 23 Figura 7. Mapa representado com resoluções diferentes ...................................................... 24 Figura 8. Processamento de consultas espaciais ................................................................... 27 Figura 9. Exemplo de SIG com informações plotadas no mapa ........................................... 29 Figura 10. Exemplos de relacionamentos espaciais.............................................................. 30 Figura 11. Exemplo de imagem segmentada........................................................................ 33 Figura 12. Decomposição de imagem no modelo de cor CMYK ......................................... 35 Figura 13. Espaço de cores HSV visualizado como um cone ............................................... 36 Figura 14. Espaço de cores RGB visualizado como um cubo............................................... 36 Figura 15. Imagem com 24 bits de profundidade ................................................................. 38 Figura 16. Imagem com 16 bits de profundidade ................................................................. 39 Figura 17. Imagem com 8 bits de profundidade ................................................................... 39 Figura 18. Imagem com 4 bits de profundidade ................................................................... 40 Figura 19. Imagem com 1 bit de profundidade .................................................................... 41 Figura 20. Comparação visual entre diferentes texturas ....................................................... 43 Figura 21. Representação de um neurônio biológico ........................................................... 48 Figura 22. Representação de uma sinapse ............................................................................ 49 Figura 23. Neurônio artificial .............................................................................................. 50 Figura 24. Rede neural artificial do tipo MLP ..................................................................... 51 Figura 25. Paradigma de aprendizado supervisionado ......................................................... 52 Figura 26. Visão geral do método proposto ......................................................................... 57 Figura 27. Visão geral do segmentador neural baseado em informação de textura e cor ....... 59 Figura 28. Segmentador baseado na informação de cor executada para detecção de asfalto . 60 Figura 29. Diferentes tipos de materiais .............................................................................. 61 Figura 30. Polígono gerado com configuração 19-1............................................................. 62 Figura 31. Polígono 19-1 com área destacada ...................................................................... 63 Figura 32. Polígono com configuração 15-7 ........................................................................ 64
  8. 8. Figura 33. Polígono com configuração 1-0 .......................................................................... 65 Figura 34. Polígono gerado a partir de imagem obtida do segmentador neural ..................... 66 Figura 35. Resultado da segmentação baseada no crescimento de regiões............................ 68 Figura 36. Segmentação realizada com semente (265, 755) e limiar 10 ............................... 68 Figura 37. Polígono gerado com orientação horizontal ........................................................ 70 Figura 38. Polígono gerado com orientação vertical ............................................................ 71 Figura 39. Exemplo de imagem do conjunto de treinamento para detecção de asfalto, com sua respectiva segmentação manual ............................................................................................ 76 Figura 40. Melhor caso obtido da aplicação do segmentador neural para detecção de asfalto (asfalto em branco e demais regiões em preto) ..................................................................... 78 Figura 41. Pior caso obtido da aplicação do segmentador neural para detecção de asfalto (asfalto em branco e demais regiões em preto) ..................................................................... 79 Figura 42. Melhor caso do segmentador baseado no crescimento de regiões na detecção de asfalto com limiar 40 (asfalto em vermelho) ......................................................................... 80 Figura 43. Pior caso do segmentador baseado no crescimento de regiões na detecção de asfalto com limiar 30 (asfalto em vermelho) ......................................................................... 80 Figura 44. Melhor caso da geração do polígono (área de interesse em vermelho) ................ 83 Figura 45. Pior caso da geração do polígono (área de interesse em vermelho) ..................... 84 Figura 46. Falhas em destaque da segmentação da imagem e geração do polígono .............. 85 Figura 47. Resultado do georreferenciamento de uma avenida ............................................ 87
  9. 9. SUMÁRIO 1 INTRODUÇÃO ............................................................................................................... 11 1.1 Descrição do Problema ............................................................................................... 11 1.2 Motivação .................................................................................................................. 12 1.3 Objetivos .................................................................................................................... 13 1.4 Organização do Trabalho ............................................................................................ 14 2 GEOPROCESSAMENTO .............................................................................................. 15 2.1 Cartografia ................................................................................................................. 16 2.1.1 Sistemas de coordenadas...................................................................................... 18 2.1.2 Projeções cartográficas ........................................................................................ 20 2.2 Sistema de Informação Geográfica ............................................................................. 22 2.2.1 Representação computacional de dados geográficos............................................. 23 2.2.2 Entrada de dados ................................................................................................. 25 2.2.3 Gerenciamento e recuperação de informação ....................................................... 26 2.2.4 Manipulação e análise de dados ........................................................................... 28 2.2.5 Produção cartográfica e exibição de resultados .................................................... 29 2.3 Georreferenciamento .................................................................................................. 29 2.3.1 Métodos de georreferenciamento ......................................................................... 31 2.4 Considerações Finais .................................................................................................. 32 3 SEGMENTAÇÃO DE IMAGEM.................................................................................. 32 3.1 Espaço de Cores ......................................................................................................... 34 3.2 Profundidade de Cor ................................................................................................... 37 3.3 Textura ....................................................................................................................... 42
  10. 10. 3.4 Inteligência Artificial ................................................................................................. 44 3.4.2 Redes neurais artificiais ....................................................................................... 46 3.5 Técnicas de Segmentação de Imagem ......................................................................... 53 3.6 Considerações Finais .................................................................................................. 56 4 MÉTODO PROPOSTO .................................................................................................. 56 4.1 Visão Geral ................................................................................................................ 57 4.2 Segmentador Neural Baseado em Informação de Textura e Cor .................................. 58 4.2.1 Geração de polígonos a partir de imagens segmentadas ....................................... 61 4.3 Segmentador Baseado no Crescimento de Regiões ..................................................... 67 4.3.1 Geração de polígonos a partir de imagens segmentadas ....................................... 69 4.4 Georreferenciamento de Ruas e Avenidas ................................................................... 72 4.5 Detalhes da Implementação do Protótipo .................................................................... 73 4.6 Considerações Finais .................................................................................................. 74 5 AVALIAÇÃO EXPERIMENTAL ................................................................................. 75 5.1 Detecção de Ruas e Avenidas em Ortofotos ................................................................ 75 5.1.1 Segmentador neural ............................................................................................. 76 5.1.2 Segmentador baseado no crescimento de regiões ................................................. 79 5.1.3 Resultados obtidos ............................................................................................... 81 5.2 Resultado Obtido da Geração de Polígonos ................................................................ 82 5.2.1 Resultado a partir do segmentador baseado no crescimento de regiões ................. 82 5.3 Resultado do Georreferenciamento de Ruas e Avenidas ............................................. 85 5.4 Considerações Finais .................................................................................................. 88 6 CONCLUSÃO ................................................................................................................. 89 REFERÊNCIAS ................................................................................................................. 92
  11. 11. 1 INTRODUÇÃO A tecnologia do geoprocessamento tem grande potencial para auxiliar na solução de problemas causados pela insuficiência de informações. Entretanto, seu uso efetivo ainda está longe de ser concretizado, principalmente porque o levantamento e análise eficientes das informações dependem da quantidade e qualidade dos dados georreferenciados disponíveis. Neste contexto, as aplicações que tratam de georreferenciamento estão ganhando cada vez mais espaço e importância. Por outro lado, o processo atual para georreferenciamento de objetos é usualmente executado de forma manual, haja vista a escassez de ferramentas disponíveis. Pelo exposto, é relevante a adoção de um processo capaz de acrescer o grau de automatização no processo de georreferenciamento de objetos, facilitando assim a construção de novas aplicações na área de geoprocessamento. 1.1 Descrição do Problema Os métodos atuais de georreferenciamento ainda apresentam baixo nível de automatização, sendo necessário usar agentes para realizar a localização geoespacial dos objetos. Normalmente, este processo envolve as seguintes etapas: 1. Aquisição de aparelhos GPS (Global Positioning System); 2. Contratação de funcionários; 11
  12. 12. 3. Transportar os funcionários para as áreas onde os objetos serão georreferenciados; 4. Com uso dos aparelhos GPS, os funcionários fazem a localização geográfica dos objetos; 5. Os funcionários são transportados de volta à empresa; 6. Os dados coletados são transferidos para o SIG (Sistema de Informação Geográfica). É notório que o método atual de georreferenciamento é executado com pouco, ou nenhum nível de automação. Apenas as etapas 4 e 6 podem possuir algum tipo de automatização. Deste modo, o georreferenciamento se torna um empecilho para a construção de Sistemas de Informação Geográfica, pois este processo pode ser consideravelmente custoso a depender da região e quantidade de objetos a serem georreferenciados. 1.2 Motivação O georreferenciamento de objetos é uma tarefa essencial para a construção de SIGs, haja vista que sem a presença de dados localizados geograficamente, não há sentido a construção de SIGs. Outro fator é que por esta tarefa ser executada usualmente de forma manual e não ser o objetivo final da maioria das aplicações que manipulam dados geoespaciais, utiliza recursos humanos que podem ser melhor aplicados na resolução do problema central, caso exista uma maior automatização do georreferenciamento. 12
  13. 13. Apesar da extensa revisão bibliográfica realizada, não foi encontrado nenhum trabalho com o mesmo fim, que é de propor um método para o georreferenciamento de objetos a partir do reconhecimento de imagens. Deste modo, a principal motivação para a realização desta monografia foi facilitar o georreferenciamento de objetos em SIGs, para assim permitir aplicar esta nova tecnologia em cenários que, da forma tradicional, teriam uma relação custo/benefício proibitiva. Além disto, Cardoso (2009) explica que há um aumento na probabilidade de sucesso, haja vista que os recursos são utilizados de maneira mais produtiva, atacando o problema central. 1.3 Objetivos O objetivo geral desta monografia é elaborar uma solução – na forma de software – para a automatização do georreferenciamento de ruas e avenidas em SIGs a partir do reconhecimento de imagens e que tenha métricas de avaliação aceitáveis a partir de um conjunto de imagens rotuladas manualmente. Os objetivos específicos do trabalho são:  Investigar técnicas de computação visual para segmentação de imagens;  Investigar técnicas de inteligência artificial, mais especificamente, as redes neurais em processos de segmentação de imagens;  Avaliar vantagens e desvantagens da segmentação com base em computação visual e inteligência artificial; 13
  14. 14.  Investigar métodos de georreferenciamento de objetos;  Elaborar um método para georreferenciamento de objetos baseado no reconhecimento de padrões de imagens;  Desenvolver um componente de software capaz de implementar o método sugerido;  Validar a eficácia do processo em situações reais. 1.4 Organização do Trabalho Para uma melhor descrição do trabalho, este documento foi organizado em mais 5 capítulos. O Capítulo 2 apresenta um panorama geral sobre geoprocessamento com a finalidade de fundamentar os conceitos utilizados na resolução do problema estudado. Em seguida, o Capítulo 3 aborda os temas relacionados a área de segmentação de imagem, portanto, traz fundamentos a respeito do tema, bem como as técnicas utilizadas na literatura para realizar detecção de materiais. No Capítulo 4, o método proposto por este trabalho é descrito minuciosamente. O Capítulo 5 é dedicado a descrição dos resultados obtidos na avaliação experimental realizada através de um estudo de caso. Por fim, o Capítulo 6 relata as conclusões que foram obtidas no trabalho e apresenta propostas de trabalhos futuros para agregar valor ao tema estudado. 14
  15. 15. 2 GEOPROCESSAMENTO A opinião de Câmara, et al. (2001) a cerca do geoprocessamento é que: Em um país de dimensão continental como o Brasil, com uma grande carência de informações adequadas para a tomada de decisões sobre os problemas urbanos, rurais e ambientais, o geoprocessamento apresenta um enorme potencial, principalmente se baseado em tecnologias de custo relativamente baixo, em que o conhecimento seja adquirido localmente (Câmara, et al., 2001). De acordo com Andrade, et al. (2007), o progresso na área de Tecnologia da Informação possibilita ao gestor, tomadas de decisão com um elevado grau de precisão, ajudando-o a visualizar onde e de que forma ele pode atuar para sanar ou, pelo menos, reduzir os problemas identificados. De outra maneira, o gestor teria que consultar históricos municipais, relatórios, gráficos e banco de dados pouco eficientes. Dessa forma, com a adição de dados específicos de representação territorial, tais como informações relativas a setores censitários, imagens de satélite, fotos aéreas e base de dados geográficos previamente produzidos por empresas especializadas, torna-se possível classificar, de forma prática, problemas mais graves apresentados por um município, tais como: a falta de infraestrutura básica, crescimento urbano desordenado e zonas de risco para construção de edificações. Portanto, 15
  16. 16. Se onde é importante para o seu negócio, então geoprocessamento é sua ferramenta de trabalho. Sempre que onde aparece dentre as questões e problemas que precisam ser resolvidos por um sistema informatizado, haverá uma oportunidade para considerar a adoção de um Sistema de Informação Geográfica (SIG) (Câmara, et al., 2001). Em diversas áreas, tais como saúde, segurança e transporte, é de extrema importância saber onde há maior incidência de determinada doença, onde o plano de segurança pública não está produzindo os resultados esperados ou onde existe o maior congestionamento na cidade. Tais perguntas revelam a necessidade e importância da adoção de um Sistema de Informação Geográfica (SIG) como ferramenta de apoio à tomada de decisão pelos gestores públicos. 2.1 Cartografia Cartografia, que em grego significa escrita de mapa, é a ciência que estuda os mapas. Ela está intimamente ligada ao geoprocessamento, pois a cartografia se relaciona com um modelo de representação para os processos que ocorrem no espaço geográfico. Já o geoprocessamento é a área que se utiliza de técnicas computacionais e matemáticas para manipular os processos que ocorrem no espaço geográfico, explicam Câmara, et al. (2001). A localização geográfica de um objeto só pode ser determinada quando existe algum outro ponto de referência, seja ele outro objeto conhecido ou um sistema de coordenadas. 16
  17. 17. Um conceito importante quando se trata de localização geográfica é o datum planimétrico. Resumidamente, o datum é “uma superfície de referência elipsoidal posicionada com respeito a uma certa região. Sobre esta superfície realizam-se as medições geodésicas que dão vida à rede geodésica planimétrica da região” (Câmara, et al., 2001). Em síntese, o datum planimétrico, Figura 1, é um modelo matemático utilizado para representar a superfície terrestre. Ele é determinado por 2 parâmetros para definir o elipsóide de referência e 3 para definir o vetor de translação entre o centro da Terra real e o do elipsóide. Figura 1. Parâmetros do Datum Fonte: (Google, 2010) Pelo exposto, não existe uma posição absoluta para localizar um objeto na superfície terrestre, visto que a posição sempre será relativa ao datum – ponto de referência – escolhido. 17
  18. 18. 2.1.1 Sistemas de coordenadas Na matemática, um sistema de coordenadas é um sistema utilizado para representar um ponto no espaço. Utilizando esta descrição para a geografia, o sistema de coordenadas é indispensável para expressar a posição geográfica de um ponto. O sistema de coordenadas mais antigo e conhecido é o sistema de coordenadas geográficas, Figura 2. Neste sistema, existem 2 linhas imaginárias que dividem a Terra em 4 quadrantes. Estas linhas são o meridiano de Greenwich e paralelo do Equador. Figura 2. Sistema de coordenadas geográficas Fonte: Adaptado de (Amarante, 2008) Meridiano é uma linha imaginária vertical, de forma que o meridiano de Greenwich divide a Terra em leste e oeste. Já o paralelo é a linha imaginária horizontal, de tal maneira que o paralelo do Equador divide a Terra em norte e sul. 18
  19. 19. Tanto o meridiano de Greenwich quanto o paralelo do Equador são considerados os marcos iniciais no sistema de coordenadas geográficas. Os meridianos assumem valores entre 180º e -180º, respectivamente leste e oeste, e os paralelos entre 90º e -90º, respectivamente norte e sul. Para localizar um objeto na superfície terrestre utilizando o sistema de coordenadas geográficas, é necessário saber sua latitude e longitude. Latitude está relacionada à distância angular entre o objeto e o meridiano de Greenwich e longitude está relacionada à distância angular entre o objeto e o paralelo do Equador. Outro sistema bastante utilizado é o sistema de coordenadas planas, também conhecido como sistema de coordenadas cartesianas, cuja representação pode ser vista na Figura 3. Neste sistema, são utilizados 2 números reais para expressar a posição do ponto nos eixos X – horizontal – e Y – vertical. Figura 3. Sistema de coordenadas planas Fonte: (Geoprocessamento para Linux, 2010) 19
  20. 20. Existem outros sistemas de coordenadas não citados neste trabalho, cujo estudo detalhado foge do escopo desta monografia e pode ser realizado em Câmara, et al. (2001). 2.1.2 Projeções cartográficas As projeções cartográficas surgiram devido ao problema da deformação gerada ao tentar representar a superfície terrestre em um plano. A projeção cartográfica está relacionada com a forma que o mapa será exibido. A produção de um mapa é uma tarefa que: [...] requer um método que estabeleça uma relação entre os pontos da superfície da Terra e seus correspondentes no plano de projeção do mapa. Para obter essa correspondência, utilizam-se os sistemas de projeções cartográficas (Câmara, et al., 2001). As projeções podem ser classificadas de acordo com suas propriedades de deformação em conforme, equivalente ou equidistante. Projeções conformes mantêm os ângulos e as formas de pequenos objetos, porém deforma as áreas dos demais objetos. Projeções equivalentes mantêm as áreas, porém alteram os ângulos. Já as projeções equidistantes alteram os ângulos e as áreas. A classificação relacionada ao tipo de superfície empregada pode ser dividida em planas ou azimutais, cilíndricas, cônicas e poliédricas. 20
  21. 21. Figura 4. Projeção plana Fonte: (Curso Objetivo, [s.d]) Figura 5. Projeção cônica equivalente de Albers Fonte: (Google, 2010) Para uma melhor compreensão dos conceitos, as Figuras 4 e 5 ilustram, respectivamente, exemplos de projeções plana e cônica. 21
  22. 22. 2.2 Sistema de Informação Geográfica Segundo Câmara, et al. (2001), “o problema fundamental da Ciência da Geoinformação é o estudo e a implementação de diferentes formas de representação computacional do espaço geográfico”. Sistema de Informação Geográfica (SIG), ou Geographic Information Systems (GIS), é um sistema que manipula dados geográficos, isto é, realiza o tratamento computacional de dados geoespaciais e recupera informações não apenas com base em suas características alfanuméricas, mas também através de sua localização espacial. Barbosa (1997) descreve um SIG como uma ferramenta automática e computadorizada para manipulação de informações geográficas. As principais características de um SIG são:  Armazenar e integrar informações espaciais provenientes de dados censitários, de GPS, de imagens de satélite, de cadastros urbanos e rurais;  Disponibilizar recursos para análise e combinação das informações armazenadas, além de permitir a consulta, recuperação e visualização do conteúdo da base de dados geográfica. Portanto, a diferença mais marcante entre um SIG e um sistema de informação convencional “é sua capacidade de armazenar tanto os atributos descritivos como as geometrias dos diferentes tipos de dados geográficos” (Câmara, et al., 2001). Como qualquer outro sistema, cada SIG possui suas funcionalidades particulares, pois cada um foi construído para solucionar problemas específicos, tendo assim maior robustez para tratar alguns problemas. Porém, é possível citar e agrupar 22
  23. 23. algumas funcionalidades que estão presentes na maioria dos SIGs, as quais podem ser divididas em:  Entrada de dados;  Gerenciamento e recuperação de informação;  Manipulação e análise de dados;  Produção cartográfica e exibição de resultados. 2.2.1 Representação computacional de dados geográficos Os dados geoespaciais podem ser representados por 2 estruturas de dados: vetorial ou matricial. As estruturas vetoriais, Figura 6, armazenam as fronteiras das entidades geográficas, utilizando pontos, linhas e polígonos. Figura 6. Exemplo de representação vetorial em duas dimensões Fonte: (Câmara, 2005) Um ponto é um par ordenado (x, y) que além das coordenadas, podem armazenar atributos descritivos não espaciais. Uma linha é um conjunto de pontos conectados, e de modo análogo ao ponto, pode armazenar atributos. Um polígono é a região ou área fechada do plano limitada por mais de 2 linhas conectadas umas as 23
  24. 24. outras, de tal forma que o último ponto da última linha seja igual ao primeiro ponto da primeira linha. Para Câmara, et al. (2001), na representação matricial o espaço é representado como uma matriz P(m, n) composto de m colunas e n linhas, onde cada célula possui um número de linha, um número de coluna e um valor correspondente ao atributo estudado, sendo que cada célula é individualmente acessada pelas suas coordenadas. Para utilizar esta representação, o espaço deve ser tratado como uma superfície plana. Figura 7. Mapa representado com resoluções diferentes Fonte: (Câmara, et al., 2001) A Figura 7 mostra como um mesmo mapa pode ser representado utilizando diferentes resoluções. A resolução do mapa do lado esquerdo é 4 vezes menor e assim, o espaço necessário para armazenar esta matriz é também 4 vezes menor. Entretanto, a precisão dos dados coletados será 4 vezes maior no mapa do lado direito. 24
  25. 25. A estrutura matricial pode representar uma grade regular ou matriz temática. Na grade regular, cada elemento está associado a um valor numérico. Já na matriz temática, cada elemento é um código que representa um fenômeno, como 1 = caatinga e 2 = mata atlântica. O espaço celular é uma estrutura que pode armazenar diversos atributos. Com a possibilidade de utilizar uma única matriz para representar vários atributos, é possível economizar espaço de armazenamento e facilitar o manuseio dos dados. 2.2.2 Entrada de dados De nada adianta ter um sistema se não é possível inserir novos dados. O que difere um SIG de sistemas convencionais é que aquele pode manipular dados como imagens, vetores, dados geográficos e também dados comuns aos sistemas tradicionais. A entrada de dados, por demandar muito tempo e ser bastante sensível a erros, deve ser o mais automatizado possível. Mesmo existindo algoritmos para solucionar tais erros, esta solução é lenta e falível. Imagine um SIG que deve mapear todos os rios de uma determinada região. Caso este trabalho seja feito de formal manual, haverá uma grande probabilidade de existirem erros na hora da inserção dos dados, além do custo para manter uma equipe realizando a tarefa de geolocalizar o curso dos rios. Com um procedimento automatizado, seria muito mais rápido, barato e seguro realizar o mapeamento. As funcionalidades de entrada de dados comumente encontradas nos SIGs são: 25
  26. 26.  Admitir a entrada de dados por meio de teclado e/ou mouse, permitindo ao usuário inserir informações alfanuméricas (descritivas), coordenadas geográficas e pontos no formato vetorial, possibilitando a criação de polígonos e retas no mapa;  Analisar a consistência dos polígonos para evitar erros, tais como o não fechamento da área ou sobreposição de polígonos;  Realizar procedimentos de correção sobre os dados inseridos, verificando vértices desnecessários. 2.2.3 Gerenciamento e recuperação de informação Qualquer sistema que utiliza um SGBD (Sistema Gerenciador de Banco de Dados) precisa realizar o gerenciamento da base de dados, não sendo diferente nos Sistema de Informação Geográfica. Além das tradicionais tarefas associadas aos SGBDs, tais como controlar o acesso concorrente, manter a consistência da base de dados, proteger o acesso não autorizado e garantir a recuperação e tolerância a falhas, um SGBD para uso em SIGs deve ser capaz de garantir a integridade entre os dados alfanuméricos tradicionais e os dados geográficos. Uma questão importante no acesso da informação é garantir a recuperação de modo eficiente, através de recursos de indexação dos dados o que, em se tratando de SIG, precisa realizar também a indexação espacial por meio de técnicas como B-Tree, R-Tree, Quad-Tree, GiST e HASH, por exemplo. 26
  27. 27. Figura 8. Processamento de consultas espaciais Fonte: (Jr., et al., 2005) adaptado de (Gaede, et al., 1997) A Figura 8 elucida como é realizado o processamento de consultas espaciais. O índice espacial, tal como o índice tradicional, possui representações simplificadas dos objetos, o que reduz drasticamente o tamanho do índice e, por consequência, aumenta o desempenho da consulta. Comumente, o processamento da consulta é dividido em filtragem e refinamento. Na filtragem, é utilizado o índice espacial com intuito de restringir rapidamente os possíveis candidatos. Estes passam por testes geométricos através de algoritmos computacionalmente complexos e custosos, que são aplicados a geometria dos candidatos selecionados. Apesar do nível de desenvolvimento tecnológico dos SGBDs atuais, muitos SIGs ainda utilizam arquivos no formato texto como fonte de dados, o que acarreta uma série de problemas e aumenta a complexidade de desenvolvimento do SIG, pois muitos dos recursos disponibilizados pelos SGBDs serão implementados no próprio SIG. 27
  28. 28. O SIG deve fornecer uma interface para permitir, de maneira fácil, intuitiva e rápida, que o usuário possa recuperar todos os dados de que precisa. 2.2.4 Manipulação e análise de dados A forma de analisar e manipular os dados varia de um SIG para outro, seja pela diferença na implementação ou diferença do tipo de dado que é trabalhado. Como supracitado, cada SIG é concebido para resolver um problema específico e, por isso, tem um modo único de manipular e analisar os dados, sendo esta uma característica essencial. Com o uso cada vez maior de imagens de alta resolução obtidas por satélites, os SIGs da área de processamento digital de imagens precisam equalizar a imagem pela análise do histograma, realizar segmentação de imagem, transformação entre espaços de cores, entre outras técnicas que podem ser empregas em imagens digitais. SIGs que se encaixam nesta categoria são aqueles responsáveis por analisarem fotos em busca de ocorrências ou padrões que denotem uma característica ou evento específico, tais como focos de incêndio e desmatamento ilegal. A análise dos dados para extração de informação pode ser realizada no momento da entrada dos dados, em rotinas de background ou no momento da realização de uma consulta. Cabe a cada desenvolvedor analisar qual a melhor estratégia para o SIG que será concebido. 28
  29. 29. 2.2.5 Produção cartográfica e exibição de resultados Após a fase da análise de dados, o SIG deve retornar algum resultado ao usuário, que vai da finalidade do SIG e da necessidade do usuário. Alguns SIGs são capazes de gerar mapas com legenda, imprimir através de dispositivos diversos para a confecção de mapas com alta qualidade, gerar relatórios, plotar mapas, entre outros. A grande maioria dos SIGs encontrados exibem seus resultados em mapas plotados na tela do usuário, como mostrado na Figura 9. Figura 9. Exemplo de SIG com informações plotadas no mapa 2.3 Georreferenciamento O georreferenciamento, imprescindível para a construção de SIGs, é a técnica que localiza um objeto na superfície terrestre e o representa em uma projeção 29
  30. 30. cartográfica. Barbosa (1997) explica que o georreferenciamento descreve um objeto do mundo real em termos de sua posição em relação a um sistema de coordenadas conhecidas (localização geográfica) e de suas relações espaciais com outros objetos como pertinência, vizinhança e distância (relacionamentos espaciais). Figura 10. Exemplos de relacionamentos espaciais Fonte: Adaptado de (Oliveira, 2009) 30
  31. 31. A Figura 10 ilustra exemplos de pertinência, vizinhança e distância. Em (a) é exposto a relação “B pertence à A”, em (b) “A é vizinho à B” e em (c) “A está a uma distância D de B”. 2.3.1 Métodos de georreferenciamento As aplicações que tratam de georreferenciamento estão ganhando cada vez mais espaço e importância. Por outro lado, o processo atual para georreferenciamento de objetos (ruas, rios, florestas, etc) é usualmente executado de forma manual, haja vista a escassez de ferramentas disponíveis. Este processo é bastante oneroso, demorado e relativamente mecânico quando executado por pessoas. Métodos atuais, como os propostos por Vieira, et al. (2008) e Folador, et al. (2008), ainda apresentam baixo nível de automação no processo de georreferenciamento dos objetos, sendo necessário usar um agente em campo dotado de um aparelho GPS (Global Positioning System) para coletar a posição geográfica dos vértices do polígono, delimitando assim a área do objeto a ser georreferenciado. Por serem os métodos atuais bastante onerosos, demorados e com baixo grau de automatização, a proposta deste trabalho é criar um método capaz de acrescer o grau de automatização no processo de georreferenciamento de objetos e que possibilite maior velocidade e segurança, bem como redução nos custos associados à entrada de tais dados nos SIGs. Apesar da extensa revisão bibliográfica realizada, não foi encontrado nenhum trabalho com a finalidade de automatizar o processo, permitindo um método 31
  32. 32. para o georreferenciamento de objetos a partir do reconhecimento de padrões na imagens. 2.4 Considerações Finais Embora o tema deste trabalho seja pouco explorado na literatura acadêmica, a revisão bibliográfica pôde prover informações bastante importantes acerca de tópicos relevantes para a obtenção de um método automatizado para o georreferenciamento de objetos a partir de imagens. No que tange o georreferenciamento, foi possível determinar que os métodos atuais possuem baixo grau de automatização e utilizam agentes que fazem o processo do georreferenciamento, o que torna relevante propor um método baseado no reconhecimento de imagens. 3 SEGMENTAÇÃO DE IMAGEM Sobre segmentação de imagem, Saldanha, et al. (2009) explicam que: Um dos grandes desafios na área de processamento de imagens digitais é a extração rápida de informações a partir das imagens para a realização de análise. Uma questão fundamental na extração é a simplificação da imagem, reduzindo as informações a regiões homogêneas, permitindo uma representação mais adequada. Essa tarefa consiste o problema da segmentação (Saldanha, et al., 2009). 32
  33. 33. Na área de processamento digital de imagens de sensoriamento remoto, a segmentação pode ser definida, segundo Moik (1980), como uma análise que trata da definição de objetos geográficos ou regiões em imagens. Na análise de imagens, a primeira etapa geralmente é a segmentação da imagem, que tem como função extrair informação da imagem digital. A segmentação divide a imagem em partes ou objetos, reduzindo assim a quantidade de informação na imagem, como ilustrado na Figura 11. Figura 11. Exemplo de imagem segmentada Fonte: (Cardoso, 2009) A segmentação realizada na Figura 11 desejava separar o céu azul dos demais materiais presentes na imagem. Neste contexto, a região de cor preta significa que no processo de segmentação, o material foi identificado como não sendo céu azul. Em contrapartida, a região marcada com a cor branca significa que o material foi identificado como céu azul. 33
  34. 34. A redução da quantidade de informação na imagem é um ponto chave para a extração de informação. Reduzir a quantidade de informação na imagem em regiões aproximadamente homogêneas permite uma análise mais eficaz. Por tal motivo, o sucesso da extração das informações está intrinsecamente ligado à qualidade do tratamento realizado, sendo a segmentação uma das etapas. Os autores Gonzalez, et al. (2000) e Saldanha, et al. (2009) comentam que o desenvolvimento de algoritmos com a finalidade de automatizar o processo de segmentação de imagem é um das tarefas mais complexas na área de processamento de imagens. Yong, et al. (2004) esclarecem que para alcançar um resultado aceitável, o algoritmo deve ser dotado de heurísticas que abranjam tanto informação semântica, como conhecimento a priori sobre as imagens que estão sendo processadas. 3.1 Espaço de Cores O espaço de cores é “uma especificação de um sistema de coordenadas tridimensionais e um subespaço dentro deste sistema onde cada cor é representada por um único ponto” (Gonzalez, et al., 2000). Nem todo espaço de cores é tridimensional, como é o caso do CMYK – Cyan, Magenta, Yellow and Key Black –, Figura 12, que é formado por Ciano, Magenta, Amarelo e Preto. 34
  35. 35. Figura 12. Decomposição de imagem no modelo de cor CMYK Fonte: (Wikipedia, 2009) Um modelo – ou espaço – de cor foi criado com a finalidade de padronizar e facilitar a especificação das cores, deste modo, a notação 0, 0, 0 em RGB – Red (Vermelho), Green (Verde), Blue (Azul) – é entendida como a cor preta. Sabe-se que as cores podem ser modeladas em canais, e especificamente no espaço de cores HSV, estes canais são matiz, saturação e valor, como ilustrado na Figura 13. Existem diversos modelos de cores, alguns deles são:  RGB – Red, Green, Blue (Vermelho, Verde, Azul);  Grayscale (Escala de cinza);  HLS – Hue, Lightness, Saturation (Matiz, Luminosidade, Saturação);  HSV – Hue, Saturation, Value (Matiz, Saturação, Valor);  YCbCr – Luminance, Chrominance Blue, Chrominance Red (Luminância, Crominância de azul, Crominância de Vermelho). 35
  36. 36. Figura 13. Espaço de cores HSV visualizado como um cone Fonte: (Microsoft, [s.d]) O espaço de cores mais utilizado é o RGB, amplamente utilizado em monitores com tubos de raios catódicos – televisões e monitores tradicionais – e foi baseado na visão humana, que possui cones sensíveis as luzes vermelha, azul e verde. O modelo RGB pode ser visualizado como um cubo com as 3 cores primárias que misturadas dão origem a uma diversidade de cores, como ilustrado na Figura 14. Figura 14. Espaço de cores RGB visualizado como um cubo Fonte: (Microsoft, [s.d]) 36
  37. 37. Cada espaço de cores tem vantagens e desvantagens para cada situação, o que pode influenciar na segmentação da imagem. A depender das características da imagem, é de grande valia realizar uma transformação no espaço de cores para assim, garantir um melhor resultado na segmentação. 3.2 Profundidade de Cor Além do espaço de cores, outro conceito importante para a segmentação de imagens é a profundidade de cor. Cada canal, independente do espaço de cores utilizado, pode ser codificado utilizando uma quantidade N de bits. Tendo como exemplo uma imagem de 24 bits no espaço de cores RGB, cada pixel será composto pelos canais vermelho, verde e azul. Um pixel qualquer poderia ser representado da seguinte maneira: R G B 10010111 11110101 01001010 Quadro 1. Pixel codificado no espaço de cores RGB com 24 bits de profundidade O modelo de cor RGB, Quadro 1, normalmente utiliza 24 bits para codificação das cores, 8 bits para cada canal. É notório que uma quantidade maior de bits poderá representar mais cores – e assim mais informações existirão na –, como mostrado no Quadro 2. Cardoso (2009) explica que a redução da profundidade de cor tende a homogeneizar as cores, visto que cores semelhantes em 8 bits serão 37
  38. 38. consideradas cores iguais em codificações de menor profundidade. Este efeito pode ser visto nas Figuras 15, 16, 17, 18 e 19. Profundidade de cor Número de cores representadas 1 2 2 4 4 16 8 256 16 65.536 24 16.777.216 Quadro 2. Quantidade de cores representadas por profundidade A Figura 15 é a imagem original obtida da câmera digital com profundidade de 24 bits. Figura 15. Imagem com 24 bits de profundidade 38
  39. 39. Figura 16. Imagem com 16 bits de profundidade As imagens das Figuras 15 e 16 são bastante semelhantes para o olho humano. A codificação de 24 para 16 bits não resulta em uma perda considerável de qualidade. Figura 17. Imagem com 8 bits de profundidade 39
  40. 40. Entre as Figuras 16 e 17 (16 e 8 bits, respectivamente) já existe uma homogeneização relevante nas cores. Figura 18. Imagem com 4 bits de profundidade Com apenas 4 bits na imagem, Figura 18, fica difícil representar as cores, haja vista a pequena quantidade de cores possíveis de se representar. Por fim, a Figura 19 mostra a imagem com apenas 1 bit de profundidade, sendo possível representar apenas as cores branca e preta. 40
  41. 41. Figura 19. Imagem com 1 bit de profundidade O Quadro 3 mostra o tamanho das imagens das Figuras 15 a 19 e a perda de informação quando comparada com a imagem da Figura 15, codificada com 24 bits de profundidade. Profundidade de Quantidade de Tamanho do arquivo sem Perda de cores cores compressão informação (%) 24 16.777.216 746 KB --- 16 65.536 498 KB 33,24% 8 256 251 KB 66,35% 4 16 125 KB 83,24% 1 2 31,3 KB 95,80% Quadro 3. Efeito da redução da profundidade de cores no tamanho do arquivo Assim como o espaço de cores, a profundidade de cores também tem influência no resultado da segmentação da imagem. Na detecção de pele humana em fotografias realizada no trabalho de Cardoso (2009), houve uma variação da Medida-F 41
  42. 42. (média harmônica entre a taxa de detecção e a precisão) de 3,05% até 58,95% utilizando o espaço de cores YCbCr. O Quadro 4 detalha o resultado obtido. Profundidade de Cor Medida-F (Fm) 1 bit por canal (2 níveis) 3,05% 2 bits por canal (4 níveis) 1,52% 3 bits por canal (8 níveis) 44,87% 4 bits por canal (16 níveis) 52,60% 5 bits por canal (32 níveis) 57,42% 6 bits por canal (64 níveis) 58,95% 7 bits por canal (128 níveis) 58,11% 8 bits por canal (256 níveis) 57,02% Quadro 4. Influência da profundidade de cor na detecção de pele humana em fotografias Fonte: Adaptado de (Cardoso, 2009) O resultado do Quadro 4 mostra que uma maior quantidade de bits por canal não aumenta a Medida-F na detecção de pele humana e comprova a influência da profundidade de cores no resultado da segmentação. 3.3 Textura Cada pesquisador define textura de forma diferente, dependendo da aplicação específica em que é utilizada. Tuceryan, et al. (1999) definem textura como “a function of the spatial variation in pixel intensities” e pode ser entendido como uma função de variação espacial de intensidades de pixels. O autor Cardoso (2009) explica que textura é um padrão homogêneo resultante da presença de pequenas variações de uma intensidade de cor que caracterizam certos tipos de materiais. 42
  43. 43. A textura é outro fator importante no processo de segmentação de imagens, haja vista que tons acinzentados podem estar presentes em asfalto e telhados, por exemplo. Um segmentador que leva em consideração apenas a cor pode ser ludibriado mais facilmente que outro segmentador que analisa também a textura. Figura 20. Comparação visual entre diferentes texturas Fonte: (Cardoso, 2009) A Figura 20 ilustra um exemplo de tons de verde com textura de grama e sem textura. O reconhecimento de textura pela visão um humana é um processo relativamente fácil, porém o mesmo não se aplica para os computadores, pois estes devem executar técnicas computacionais implexas e custosas. Segmentador com informação de Segmentador com informação de textura Material cor (Medida-F) e cor (Medida-F) Grama 96,76% 95,85% Céu azul 78,42% 96,18% Quadro 5. Influência da textura na detecção de materiais Fonte: Adaptado de (Cardoso, 2009) 43
  44. 44. O Quadro 5 mostra a influência da textura na segmentação de imagem. Na detecção de céu azul realizada por Cardoso (2009), houve um aumento na medida-F, porém na detecção de grama houve uma diminuição desta medida. A utilização da textura para realização da segmentação de imagens deve ser avaliada em cada caso específico para verificar qual o melhor método para detecção do material estudado. 3.4 Inteligência Artificial Existem várias definições para Inteligência Artificial – IA. Cada autor segue uma linha diferente de pensamento. Para Haugeland (1985), IA é o esforço para fazer os computadores pensarem utilizando-se a mente, no sentido literal e total. A definição de Araribóia (1988) para IA é “um campo que usa técnicas de programação que procuram, por intermédio de máquinas, resolver problemas do mesmo modo que um ser humano os resolveria”. Kurzweil (1990) entende que máquinas que executam funções que exigem inteligência quando executadas por pessoas é uma forma de IA. No trabalho de Charniak, et al. (1985), é explicado que inteligência artificial é “o estudo das faculdades mentais pelo uso de modelos computacionais”. Dentre as várias definições, destaca-se a explicação dada por Nikolopoulos (1997). O autor diz que a IA: [...] é um campo de estudos multidisciplinar, originado da computação, da engenharia, da psicologia, da matemática e da cibernética, cujo principal 44
  45. 45. objetivo é construir sistemas que apresentem comportamento inteligente e desempenhem tarefas com um grau de competência equivalente ou superior ao grau com que um especialista humano as desempenharia (Nikolopoulos, 1997). A IA possui 2 paradigmas principais: simbolista e conexionista. Na IA simbolista, os processos inteligentes são simulados a partir da lógica booleana. Já a IA conexionista diz que a inteligência artificial verdadeira deve simular o processo da inteligência natural, pois existem problemas que são impossíveis de serem deduzidos em algoritmos, não tendo assim uma solução computável. Existem algumas técnicas para a resolução de problemas utilizando inteligência artificial. Algumas destas técnicas são: buscas, sistemas baseados em regras, raciocínio baseado em casos e lógica fuzzy. A busca é uma técnica utilizada quando não há uma abordagem direta nem uma estrutura que possibilite outras técnicas serem usadas. A partir de todas as possíveis soluções, o agente irá percorrer uma a uma até uma solução satisfatória seja encontrada. Sistemas baseadas em regras são aqueles, como o próprio nome sugere, sistemas baseados em regras do tipo “Se... Então...”. Estes sistemas são muito utilizados, pois dão origem aos sistemas especialistas. Um sistema especialista é um software que tem a capacidade de aconselhar ou encontrar soluções para problemas de uma área específica. A técnica do raciocínio baseado em casos tem por objetivo utilizar a experiência adquirida com problemas passados para resolver problemas futuros. Sistemas que utilizam esta técnica armazenam problemas e suas respectivas soluções, 45
  46. 46. assim, quando existe um problema a ser solucionado, o sistema verifica se existe algum problema simular que já tenha sido resolvido e caso exista em sua base de dados, aplica a solução ao problema atual. A lógica fuzzy é baseada na lógica booleana, onde uma premissa ou é falsa ou verdadeira, sendo representada pelos números 0 ou 1. Na lógica fuzzy, uma premissa pode variar de 0 a 1, adicionando assim a característica da probabilidade. Esta lógica permite expressar o conhecimento e as soluções de modo semelhante à linguagem natural e por isto é utilizada nas redes neurais artificiais. 3.4.2 Redes neurais artificiais Haykin (1999) explica que: O cérebro é um computador (sistema de processamento de informação) altamente complexo, não-linear e paralelo. Ele tem a capacidade de organizar seus constituintes estruturais, conhecidos por neurônios, de forma a realizar certos processamentos [...] muito mais rapidamente que o mais rápido computador digital hoje existente (Haykin, 1999). A rede neural artificial – RNA – é um modelo computacional que tem inspiração na rede neural natural, ou seja, a RNA tenta reproduzir o funcionamento do cérebro humano. Como o conhecimento acerca do funcionamento do cérebro humano é ainda bastante limitado, as RNAs são um modelo grosseiro de representação da rede neural humana. 46
  47. 47. O cérebro humano é caracterizado pela grande quantidade de elementos processadores – neurônios – interligados a vários outros neurônios. Estes neurônios são responsáveis pelo processamento paralelamente distribuído. Para Haykin (1999), as RNAs assemelham-se ao cérebro humano por 2 motivos:  O conhecimento é adquirido através de um processo de aprendizagem;  Os pesos sinápticos, ou forças de conexão entre neurônios, são responsáveis por armazenar o conhecimento adquirido. O poder computacional das RNAs, na ótica de Haykin (1999), se dá por 2 motivos: a estrutura paralelamente distribuída e a habilidade de aprender – generalizar. Estas características dão à rede neural artificial a capacidade de resolver problemas complexos que são atualmente intratáveis. Parâmetro Computação tradicional Computação neural Sinal Digital Analógico Dados Completos e Estruturados Incompletos e nebulosos Programas Dependentes de instruções Formulam métodos de processamento de maneira independente Processamento Matemático e lógico Sinais ponderados Resultados Previsíveis Geralmente imprevisíveis Memória Separada do processamento Geralmente memória e processamento estão combinados Controle de Centralizado Distribuído processos Quadro 6. Comparação entre computação tradicional e neural Fonte: Adaptado de (Cardoso, 2009) O Quadro 6 exibe as principais diferenças entre a computação tradicional e neural. 47
  48. 48. A unidade básica da rede neural natural, e também artificial, é o neurônio. Ele é responsável por realizar o processamento dos sinais. Esta unidade básica recebe impulsos de outros neurônios, combina e processa as entradas e envia um sinal. Figura 21. Representação de um neurônio biológico Fonte: Adaptado de (University of Texas, 2006) Como não é o foco deste trabalho a biologia do neurônio, Figura 21, ele será dividido em 3 partes distintas: dendritos, corpo celular e axônio. Os dendritos são responsáveis por receberem os impulsos nervosos – sinais elétricos – dos outros neurônios. É no corpo celular onde ocorre o processamento dos impulsos recebidos pelos dendritos, dando origem a um novo impulso. Este impulso, processado pelo soma, passa pelo axônio e é transmitido por meio das terminações do axônio para os neurônios vizinhos. 48
  49. 49. O processamento de informação no neurônio inicia-se com o recebimento dos impulsos gerados pelos neurônios vizinhos, que segundo Barreto (2002), chega a aproximadamente 1.000 neurônios. Estes sinais são enviados ao corpo celular – soma – que realiza o processamento e gera um novo sinal elétrico que é dependente dos sinais recebidos e do próprio limiar do corpo celular. O sinal processado passa pelo axônio até chegar às suas terminações, onde ocorrem as sinapses. Figura 22. Representação de uma sinapse Fonte: Adaptado de (Ballone, 2006) A sinapse, ilustrada na Figura 22, é uma espécie de conexão entre os neurônios que possibilita a transmissão do sinal elétrico do axônio de um neurônio para o dendrito do seu vizinho. A terminação do axônio não toca o dendrito do neurônio vizinho, a transmissão é possível graças à presença de substâncias chamadas 49
  50. 50. neurotransmissores e neurorreceptores. Os neurotransmissores estão presentes nas terminações nervosas dos axônios e os neurorreceptores nos dendritos. A reação química entre neurotransmissores e neurorreceptores possibilita a transmissão do impulso entre os neurônios vizinhos. A quantidade de neurotransmissores depende da eficiência da sinapse e da intensidade do impulso nervoso do neurônio gerador, explica Cardoso (2009), fazendo com que o sinal transmitido seja mais ou menos intenso. Figura 23. Neurônio artificial Fonte: Adaptado de (Schamel, 2007) Para simular o funcionamento do neurônio biológico, foi criado o neurônio artificial, ilustrado na Figura 23, que é utilizado na rede neural artificial. O neurônio artificial é análogo ao neurônio natural, pois recebe sinais através das suas entradas, calcula o somatório dos produtos das entradas com seus respectivos pesos, o somatório passa por uma função de ativação não linear que resulta em um sinal de saída. Existe ainda uma entrada com valor fixo 1, denominada bias, onde seu peso serve para o ajuste da saída. 50
  51. 51. Analisando o neurônio artificial, é possível identificar os dendritos, corpo celular e axônio. As entradas do neurônio artificial equivalem aos dendritos, o somatório das entradas e a função de ativação equivalem ao corpo celular e a saída tem a função do axônio. Ainda é possível comparar o peso das entradas com as força de cada sinapse. O uso do neurônio artificial permite criar a RNA de forma semelhante à rede neural humana. O modelo mais empregado para problemas de classificação de padrões é a da rede neural artificial Perceptron de Múltiplas Camadas (MLP – Multilayer Perceptron), que pode ser vista na Figura 24. Figura 24. Rede neural artificial do tipo MLP Fonte: Adaptado de (Cardoso, 2009) 51
  52. 52. As MLPs têm 3 tipos de camadas: entrada, oculta e saída. Os neurônios da camada de entrada recebem sinais do exterior, os das camadas ocultas realizam o processamento da RNA MLP e os da camada de saída devolvem os sinais para o exterior. A quantidade de camadas ocultas e de neurônios em cada uma destas camadas é variável. Redes neurais MLP utilizam o paradigma de aprendizado supervisionado, ilustrado na Figura 25. Neste paradigma, o professor indica de forma explicita se as respostas dadas pela RNA estão corretas ou não. Para cada vetor de entradas apresentado a rede, é gerada uma resposta que é analisada pelo professor e caso a resposta esteja errado, o supervisor informa a saída correta. Comparando-se a resposta da rede com a do professor, é possível computar o sinal de erro, definido como a diferença entre a resposta do professor e da rede. Figura 25. Paradigma de aprendizado supervisionado Fonte: (Cardoso, 2009) adaptado de (Haykin, 1999) 52
  53. 53. Sobre o ajuste dos pesos, Haykin (1999) explica que: [...] é realizado passo a passo, iterativamente, com o objetivo de fazer a rede neural emular o professor [...] Desta forma, o conhecimento do ambiente disponível ao professor é transferido para a rede neural através de treinamento, da forma mais completa possível” (Haykin, 1999). Quando a quantidade de iterações atinge um determinado limiar ou o erro médio quadrático é computacionalmente aceitável, o processo de treinamento é finalizado. Dentre os vários algoritmos de treinamento existentes – são exemplos: aprendizado Hebbiano, regra delta, retropropagação e algoritmos genéticos –, o mais utilizado é o de retropropagação, ou backpropagation. No algoritmo backpropagation, os ajustes dos pesos são realizados da camada de saída para a de entrada, ou seja, de trás para frente. Para um estudo mais aprofundado, recomenda-se a leitura de Barreto (2002), Cardoso (2009) e Haykin (1999). 3.5 Técnicas de Segmentação de Imagem As técnicas de segmentação de imagem baseadas em computação visual podem ser classificadas de maneira macro em: detecção de descontinuidades e similaridade entre regiões e limiarização. 53
  54. 54. Na detecção de descontinuidades, mudanças bruscas nos tons de cinza da imagem são assinaladas pelos algoritmos. Esta técnica pode ser utilizada para detectar pontos, linhas e bordas. Saldanha, et al. (2009) comentam que a grande maioria dos algoritmos utiliza a convolução, aplicando máscaras para detectarem descontinuidades na imagem. Como na detecção de descontinuidade, principalmente na detecção de linhas e bordas, apresentam falhas devido ao ruído e quebras na fronteira, posteriormente são utilizados algoritmos para ligação e composição das fronteiras, explanam Cardoso (2009), Gonzalez, et al. (2000), Saldanha, et al. (2009) e Venturieri (1996). Diferentemente da detecção de descontinuidade que buscava mudanças bruscas nos pixels, a detecção de similaridade entre regiões “tem como fundamento a observação do interior dos objetos e não as fronteiras que os delimitam” (Saldanha, et al., 2009). Os autores Saldanha, et al. (2009) elucidam ainda que este tipo de detecção “parte da idealização que os pixels que compõe um objeto têm propriedades similares enquanto que pixels de objetos distintos têm propriedades distintas”. Cardoso (2009) esclarece em seu trabalho que este tipo de detecção utiliza algoritmos de crescimento de região, como o floodfill,para separar a imagem em regiões de cor similar, além disto, a divisão e fusão de regiões são técnicas que podem sem empregadas para aprimorar a segmentação. Para Gonzalez, et al. (2000), a limiarização de imagens é uma das abordagens mais importantes para a segmentação. Como o nome sugere, a limiarização utiliza limiares, ou seja, limites para identificar a qual região um pixel pertence. A limiarização pode utilizar 1 ou mais limites para classificação dos pixels em regiões. Um exemplo simples é classificar pixels com intensidade menor que 127 como 54
  55. 55. pertencentes à região A e pixels com intensidade maior ou igual a 127 como pertencentes à região B. Uma técnica mais atual é utilização de redes neurais artificiais para segmentação de imagem. As RNAs, após a aquisição de conhecimento, podem resolver problemas computacionalmente complexos, como é o caso da segmentação de imagens. Muitos estudos estão sendo feitos nos últimos anos na referida área, com destaque para o método desenvolvido por (Cardoso, 2009). Em seu trabalho, Cardoso (2009) propôs um método que utilizando uma RNA do tipo MLP, foi capaz de segmentar tipos diferentes de materiais em imagens digitais, sendo necessário para isso realizar o treinamento da rede. Por utilizar uma rede neural artificial, não é preciso desenvolver um algoritmo específico para cada tipo de material que se deseje detectar. Deste modo, é possível criar um segmentar genérico de materiais, viabilizando a construção de uma solução para o georreferenciamento de objetos, foco do presente trabalho. Para utilizar o método desenvolvido por Cardoso (2009), é necessário ter um conjunto de imagens segmentadas manualmente para a aquisição de conhecimento, bem como para validação e medição das respostas fornecidas pela RNA. Nos experimentos realizados pelo autor, o segmentador atingiu Medida-F de 97,11%, 51,01% e 92,84% na segmentação de grama, pele humana e céu azul, respectivamente. Um estudo mais aprofundado a respeito das técnicas de segmentação de imagem pode ser realizado com a leitura de Cardoso (2009), Gonzalez, et al. (2000), Saldanha, et al. (2009) e Venturieri (1996). 55
  56. 56. 3.6 Considerações Finais Este capítulo abordou temas introdutórios a cerca da segmentação de imagens, inteligência artificial e redes neurais artificiais, como também fez uma breve explanação sobre as principais técnicas utilizadas na segmentação de imagem. A segmentação é um tema bastante conhecido e com grande quantidade de estudos realizados, apesar disso, esta área tem bastante potencial para o desenvolvimento de novas técnicas, como exemplo, o estudo e emprego de redes neurais artificiais. No que tange as técnicas de segmentação de imagens, destaca-se o método proposto por Cardoso (2009) que foi capaz de segmentar diferentes materiais em imagens de maneira automatizada utilizando uma rede neural artificial do tipo MLP. 4 MÉTODO PROPOSTO Este capítulo apresenta o método proposto para automatização do georreferenciamento de objetos a partir de ortofotos – imagens de tomada aérea na qual é possível calcular a posição geográfica de qualquer ponto. Inicialmente é fornecida uma visão geral das principais fases do método proposto, prosseguindo com o detalhamento de cada uma delas e por fim a implementação do protótipo de software. 56
  57. 57. 4.1 Visão Geral A Figura 26 contempla a visão geral do método proposto. Figura 26. Visão geral do método proposto O método pode ser dividido em 3 fases principais: 1. Segmentação da imagem: nesta fase é realizada a detecção do material desejado na imagem; 2. Geração do polígono: utilizando como insumo a imagem segmentada na fase anterior, é gerado o polígono correspondente a região segmentada; 3. Georreferenciamento do polígono: utilizando como insumo o polígono gerado na fase anterior, é realizado o georreferenciamento do polígono da imagem. Vale ressaltar que a fase da geração do polígono utiliza como insumo o resultado da fase anterior, ou seja, quanto melhor for o resultado da segmentação da imagem, melhor também será o da fase seguinte. 57
  58. 58. 4.2 Segmentador Neural Baseado em Informação de Textura e Cor Os trabalhos de Gonzalez, et al. (2000) e Saldanha, et al. (2009) explicam que o desenvolvimento de algoritmos com a finalidade de automatizar o processo de segmentação de imagem é uma das tarefas mais complexas na área de processamento de imagens, além disto, Yong, et al. (2004) esclarecem que para alcançar um resultado aceitável, o algoritmo deve ser dotado de heurísticas que abranjam tanto informação semântica, como conhecimento a priori sobre as imagens que estão sendo processadas. Baseado na informação de Yong, et al. (2004), conclui-se que para segmentar imagens de maneira satisfatória, é preciso desenvolver um algoritmo específico para cada tipo de material que será manipulado. Como este trabalho teve a pretensão de elaborar uma solução para automatização do georreferenciamento de objetos, isto é, detectar variados tipos de materiais, tornar-se-ia inviável utilizar um método de segmentação de imagem baseado em técnicas tradicionais de computação visual. É sabido que uma forma de passar conhecimento para um programa de computador é utilizando as redes neurais artificiais, por isto inicialmente optou-se pelo método proposto por Cardoso (2009) para a segmentação das ortofotos. Este método foi capaz de segmentar com alta precisão diferentes tipos de materiais em imagens de maneira automatizada, utilizando para isto uma rede neural artificial do tipo MLP. 58
  59. 59. Figura 27. Visão geral do segmentador neural baseado em informação de textura e cor Fonte: (Cardoso, 2009) A visão geral do segmentador, ilustrada na Figura 27, e a ideia macro do seu funcionamento são simples. Resumidamente, é apresentada uma base de treinamento para a rede MLP, gera-se então o segmentador baseado em informação de cor, posteriormente gera-se o segmentador baseado em informação de textura e cor e por fim é feita a expansão das regiões fornecidas na etapa anterior. De maneira simplória, o software treina a rede neural artificial mediante as imagens de treinamento. No processo de treinamento é preciso informar parâmetros como quantidade de neurônios da camada oculta, tamanho da janela a ser utilizada na imagem, espaço de cores, profundidade da imagem e quantidade de épocas. Concluída esta etapa, é possível fornecer uma imagem para que a rede neural faça a segmentação de maneira automatizada. A etapa de treinamento foi realizada diversas vezes com as mais variadas configurações a fim de obter um melhor segmentar baseado em informação de cor. Percebeu-se que o resultado deste segmentador na segmentação de asfalto não teria grande êxito, visto que a medida-F do segmentador estava baixa. 59
  60. 60. Figura 28. Segmentador baseado na informação de cor executada para detecção de asfalto A medida-F abaixo das expectativas pode ser explicada por 2 principais motivos: semelhança de textura e cor do asfalto com outros materiais e não uniformidade das características do asfalto. Em Aracaju, como também em demais cidades no Brasil, o asfalto não possui uma cor e textura semelhantes. É comum encontrar asfalto com coloração bem escura – próximo ao preto –, e bem clara – próximo ao branco. Uma justificativa para este fenômeno é o tempo de vida do asfalto. Tendo assim tons que variam do branco ao preto, a cor e textura do asfalto em muitos casos foram semelhantes a alguns tipos de telhados, dificultando assim a detecção do asfalto nas imagens. A Figura 29 ilustra os problemas citados. Percebe-se que a cor do asfalto (f) é bastante diferente dos demais e que as texturas de (c) e (e) não se assemelham com as texturas de (a) e (f). A identificação do asfalto sem informação semântica do restante da imagem é um desafio até mesmo para os humanos, tornando-se muito mais complexa quando executada por um sistema computacional. 60
  61. 61. Figura 29. Diferentes tipos de materiais Analisando a cor e textura dos materiais e a medida-F, chegou-se a conclusão que o segmentador neural não alcançaria a precisão desejada e por tal motivo, não foi dado prosseguimento na obtenção dos demais segmentadores. Como o resultado da segmentação não foi satisfatório, houve a necessidade da utilização de um novo método de segmentação de imagens, abordado no tópico 4.3. 4.2.1 Geração de polígonos a partir de imagens segmentadas A segunda etapa recebe como entrada a imagem obtida do segmentador neural e tem por finalidade gerar o polígono da região segmentada na imagem. Além da 61
  62. 62. imagem de entrada, esta fase aceita 2 parâmetros: número de pixels a ser pulado e limite da distância entre os pixels. O número de pixels a ser pulado informa quantos pixels serão ignorados na busca por um pixel vizinho. O parâmetro referente ao limite da distância entre os pixels informa o maior valor aceito na diferença entre a distância das coordenadas X e Y dos pixels 1 e 2 e pixels 1 e 3. Este limite permite ajustar a sensibilidade do método, onde um menor limite ocasionará uma tolerância menor na mudança de direção dos pixels e, por conseguinte maior quantidade de pontos para formar o polígono. Figura 30. Polígono gerado com configuração 19-1 A Figura 30 mostra uma imagem segmentada, onde a região branca representa asfalto e a região preta não asfalto. Os pontos em vermelho são os vértices do 62
  63. 63. polígono e as linhas em amarelo são as arestas. O polígono foi gerado com os parâmetros número de pixels a ser pulado igual a 19 e limite da distância entre os pixels igual a 1. Figura 31. Polígono 19-1 com área destacada Na Figura 31, a área do polígono foi preenchida em azul para mostrar a precisão do algoritmo. As pequenas regiões em branco representam as áreas que não foram marcadas como pertencentes ao polígono por causa da configuração escolhida. Quanto menor o limite da distância e os pixels pulados, menor será a área branca e maior será a precisão do polígono. 63
  64. 64. Figura 32. Polígono com configuração 15-7 A Figura 32 mostra o polígono gerado a partir da mesma imagem segmentada, porém com configuração 15-7. As regiões em branco erroneamente não pertencem ao polígono, enquanto as regiões verdes incorretamente pertencem ao polígono. O polígono gerado na Figura 33 ilustra a maior precisão que o método permite. Percebe-se que não existem as regiões brancas ou verdes, visto que todos os pixels foram analisados e não foi tolerada mudança de direção dos pixels. 64
  65. 65. Figura 33. Polígono com configuração 1-0 As Figuras 30, 31, 32 e 33 foram obtidas a partir de uma imagem de treinamento apresentada ao segmentador neural. É notório que o método para geração dos polígonos é válido e proporciona alta precisão, entretanto é sensível a imagens segmentadas incorretamente. A Figura 34 exemplifica a sensibilidade do método a imagens segmentadas incorretamente. De maneira proposital, foi apresentada como entrada a mesma ortofoto, porém obtida do segmentador neural. A sensibilidade é justificada pela forma de funcionamento do método que gera o polígono. 65
  66. 66. Figura 34. Polígono gerado a partir de imagem obtida do segmentador neural O método procura um pixel de cor preta que faz fronteira com um pixel de cor branca, ou seja, um pixel pertencente à fronteira entre não asfalto e asfalto. Com o primeiro pixel aceito pelo critério de busca, o método obtém o pixel vizinho não visitado também pertencente ao mesmo critério. Quando não é encontrado nenhum pixel vizinho não visitado que atenda ao critério, é feita uma varredura na imagem procurando por algum pixel não visitado e que atenda ao critério. Este processo é realizado, visto que as calçadas das ruas não são conectadas, deste modo, é preciso realizar uma busca na imagem para localizar novos pontos de interesse. O resultado visto na Figura 34 corrobora a afirmação de que o segmentador neural não funcionou como esperado na detecção de asfalto, bem como o método para 66
  67. 67. geração dos polígonos só pode ser aplicado a imagens segmentadas de maneira bem controlada. 4.3 Segmentador Baseado no Crescimento de Regiões Não surtindo o efeito desejado na segmentação das imagens, optou-se por implementar o algoritmo floodfill, que é um método de segmentação de imagens baseado no crescimento de regiões. O floodfill busca por similaridades na imagem a partir de uma semente, ou seja, pixel de referência. O algoritmo implementado recebe como parâmetros a semente e um limiar. A segmentação é iniciada pela semente e a comparação da similaridade entre os pixels utiliza como referência a semente. Para cada pixel não visitado adjacente a semente, é verificado se cada canal do espaço cores RGB sofre uma variação aceitável pelo limiar informado, sendo a variação menor ou igual ao limiar, o vizinho é adicionado na fila. Este processo se repete até não haver mais pixels na fila. Os pixels adjacentes são adicionados na fila em sentido horário, de tal modo que o segmentador realiza o crescimento da região em espiral. 67
  68. 68. Figura 35. Resultado da segmentação baseada no crescimento de regiões A Figura 35 exibe o resultado do segmentador com semente (265, 755) e limiar 40. A Figura 36 ilustra a mudança de comportamento na segmentação quando o limiar é reduzido de 40 para 10 e a semente é mantida. Figura 36. Segmentação realizada com semente (265, 755) e limiar 10 68
  69. 69. O método além de segmentar a imagem, devolve as coordenadas X e Y mais externas dos pixels adicionados na fila. Estes valores são utilizados na etapa seguinte da geração do polígono. O segmentador que utiliza o algoritmo floodfill mostrou-se mais eficaz – para os objetivos deste trabalho – que o segmentador neural na detecção de asfalto. 4.3.1 Geração de polígonos a partir de imagens segmentadas A fase da geração de polígonos a partir do segmentador baseado no crescimento de regiões tem seu funcionamento bastante diferente da geração de polígonos discutido no tópico 4.2.1. A geração de polígonos atual recebe 5 parâmetros: 1 parâmetro para informar a orientação da rua e 4 com informações sobre as extremidades das coordenadas X e Y. A orientação da rua pode ser horizontal, vertical ou ainda automática. Os parâmetros das extremidades das coordenadas X e Y são utilizados para ajudar na geração do polígono, informando o X mais a esquerda e direita e o Y superior e inferior dos pixels segmentados. Estes parâmetros são obtidos da fase anterior e dizem respeito aos pixels que fazem parte da região expandida. Quando a orientação da rua é informada como automática, o método verifica qual a rua de maior extensão, entretanto nem sempre esta pode ser a região que se deseja georreferenciar. As Figuras 37 e 38 legitimam a importância deste parâmetro para a geração do polígono. 69
  70. 70. Figura 37. Polígono gerado com orientação horizontal Caso seja utilizada a orientação horizontal ou automática na Figura 37, o método irá criar o polígono da rua que está na horizontal. Neste caso específico, a orientação automática detecta que a rua é horizontal, haja vista que a rua vertical na imagem possui menor extensão que a rua na horizontal. Em casos como os das Figuras 37 e 38, é importante informar ao método qual a orientação que se deseja utilizar para gerar o polígono que representa a rua de interesse. 70
  71. 71. Figura 38. Polígono gerado com orientação vertical Com as extremidades da região segmentada e a orientação da rua, o método procura os lados da rua e deste modo é possível gerar um polígono que a represente, mesmo que a segmentação detecte mais de uma rua ou avenida, como no caso das Figuras 37 e 38, na qual apenas a rua ou a avenida foram representadas no polígono. Apesar deste método ser menos sensível que o método que gera o polígono a partir do segmentador neural, vale ressaltar que quanto melhor for a segmentação da imagem, melhor será o resultado do polígono gerado. A utilização de uma boa semente e limiar adequado resulta em um melhor resultado na fase da segmentação da imagem. 71
  72. 72. 4.4 Georreferenciamento de Ruas e Avenidas A última fase, mas não menos importante, é o georreferenciamento do polígono que representa uma rua ou avenida. É nesta fase que o polígono desenhado na imagem é georreferenciado, possibilitando sua visualização em SIGs. Para tornar possível a obtenção da posição geográfica de um ponto (X, Y) na imagem é um ponto geoespacial, se faz necessário possuir algumas informações a cerca da ortofoto. Estas informações são: escala dos eixos X e Y, rotação dos eixos X e Y e posição do pixel superior esquerdo da imagem em uma projeção. Com conhecimento destas informações é possível localizar qualquer pixel da imagem na superfície terrestre. As ortofotos obtidas da Secretaria Municipal de Planejamento de Aracaju possuem as informações na projeção cartográfica UTM – Universal Transverse Mercator – e datum planimétrico SAD-69 (South American Datum). Com o polígono gerado na segunda fase do método, é feito o georreferenciamento dos vértices do objeto geométrico. Cada vértice nada mais é que um ponto (X, Y) posicionado na imagem. Partindo do vértice, é calculada sua localização geográfica com base nas informações da ortofoto. A localização é calculada na projeção UTM e datum planimétrico SAD-69. Para facilitar a manipulação dos dados, é realizada uma conversão do sistema de coordenadas planas para o sistema de coordenadas geográficas, o que possibilita trabalhar com a latitude e longitude do ponto. A conversão do sistema de coordenadas foi realizada com uso da classe CoordinateConversion desenvolvida por Salkosuo (2007). 72
  73. 73. Apesar da classe CoordinateConversion realizar a conversão de UTM para coordenadas geográficas, ela utiliza o datum planimétrico WGS-84 (World Geodetic System), entretanto as informações das ortofotos estão em SAD-69. Por tal motivo, a classe CoordinateConversion foi adaptada para trabalhar com o datum SAD-69. Realizada a conversão, o polígono é representado no formato WKT – Well- Known Text –. Deste ponto em diante, todos os softwares que aderem ao padrão WKT, que é regulamentado pela organização Open Geospatial Consortium (OGC), são aptos a manipular o polígono. 4.5 Detalhes da Implementação do Protótipo Com exceção do segmentador neural, desenvolvido por Cardoso (2009) e implementado na linguagem de programação C++, todos os módulos do protótipo foram desenvolvidos em Java. A adoção desta linguagem é justificada por ser orientada a objetos, o que o que facilita importantes aspectos no âmbito da engenharia de software (reusabilidade, extensibilidade, manutenibilidade, entre outros), possuir boas IDEs – Integrated Development Environments – que facilitam o desenvolvimento, ser padrão de mercado e ser executada nos mais diversos sistemas operacionais. Além disto, o projeto OL4JSF – OpenLayers For JSF –, desenvolvido por Vasconcelos, et al. (2010), foi implementado na linguagem Java seguindo o padrão JSF – JavaServer Faces –. O OL4JSF é um conjunto de componentes JSF que facilita o desenvolvimento de SIGs Web. Os testes realizadas para compor a avaliação experimental foram executados em um computador equipado com processador Intel Core2 Quad com 2,4 GHz – Giga 73

×