SlideShare uma empresa Scribd logo
1 de 98
Baixar para ler offline
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
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
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
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
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
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
Í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
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
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
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
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
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
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
   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
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
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
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
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
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
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
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
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
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
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
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
   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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas
Automatização do Georreferenciamento de Ruas

Mais conteúdo relacionado

Semelhante a Automatização do Georreferenciamento de Ruas

Usabilidade da interfaces de dispositivos móveis
Usabilidade da interfaces de dispositivos móveisUsabilidade da interfaces de dispositivos móveis
Usabilidade da interfaces de dispositivos móveismarcelonovo
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Waldir R. Pires Jr
 
Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...
Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...
Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...Francisco Gerson A de Meneses
 
Dissertação google inc act on general strike suzart Attain to cpf 051 812 95...
Dissertação  google inc act on general strike suzart Attain to cpf 051 812 95...Dissertação  google inc act on general strike suzart Attain to cpf 051 812 95...
Dissertação google inc act on general strike suzart Attain to cpf 051 812 95...Sandro Santana
 
Apostila Geoprocessamento Aplicado Geologia
Apostila Geoprocessamento Aplicado GeologiaApostila Geoprocessamento Aplicado Geologia
Apostila Geoprocessamento Aplicado GeologiaLeonardo Vigário
 
Impressora 3D no ensino de Física.pdf
Impressora 3D no ensino de Física.pdfImpressora 3D no ensino de Física.pdf
Impressora 3D no ensino de Física.pdfIgoHenrique1
 
Framework Entities - Dissertação
Framework Entities - DissertaçãoFramework Entities - Dissertação
Framework Entities - DissertaçãoMarcius Brandão
 
Implementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsImplementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsEdward David Moreno
 
tccfinal
tccfinaltccfinal
tccfinalrjunkes
 
Graduação puc - aplicações de padrões de projeto no desenvolvimento de inte...
Graduação   puc - aplicações de padrões de projeto no desenvolvimento de inte...Graduação   puc - aplicações de padrões de projeto no desenvolvimento de inte...
Graduação puc - aplicações de padrões de projeto no desenvolvimento de inte...Wagner Tironi Pinto
 
Apostila_Geop_rrosa.pdf
Apostila_Geop_rrosa.pdfApostila_Geop_rrosa.pdf
Apostila_Geop_rrosa.pdfOseiasSantos32
 
Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)Guilherme Stéfano
 
Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)Guilherme Stéfano
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Waldir R. Pires Jr
 
Mineração de Dados: Conceitos e Aplicações
Mineração de Dados: Conceitos e AplicaçõesMineração de Dados: Conceitos e Aplicações
Mineração de Dados: Conceitos e AplicaçõesBruno Alisson
 
Gps wi fi para ambientes fechados (indoor)
Gps wi fi para ambientes fechados (indoor)Gps wi fi para ambientes fechados (indoor)
Gps wi fi para ambientes fechados (indoor)Ricardo Francoti
 

Semelhante a Automatização do Georreferenciamento de Ruas (20)

Usabilidade da interfaces de dispositivos móveis
Usabilidade da interfaces de dispositivos móveisUsabilidade da interfaces de dispositivos móveis
Usabilidade da interfaces de dispositivos móveis
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014
 
Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...
Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...
Segmentação de imagens de Arte Rupestre utilizando o Sistema de Coordenadas E...
 
Geoprocessamento02 2006
Geoprocessamento02 2006Geoprocessamento02 2006
Geoprocessamento02 2006
 
Dissertação google inc act on general strike suzart Attain to cpf 051 812 95...
Dissertação  google inc act on general strike suzart Attain to cpf 051 812 95...Dissertação  google inc act on general strike suzart Attain to cpf 051 812 95...
Dissertação google inc act on general strike suzart Attain to cpf 051 812 95...
 
Rastreamento
RastreamentoRastreamento
Rastreamento
 
Apostila Geoprocessamento Aplicado Geologia
Apostila Geoprocessamento Aplicado GeologiaApostila Geoprocessamento Aplicado Geologia
Apostila Geoprocessamento Aplicado Geologia
 
Impressora 3D no ensino de Física.pdf
Impressora 3D no ensino de Física.pdfImpressora 3D no ensino de Física.pdf
Impressora 3D no ensino de Física.pdf
 
Monografia - Padrões Web
Monografia - Padrões WebMonografia - Padrões Web
Monografia - Padrões Web
 
2014 Monografia Final
2014 Monografia Final2014 Monografia Final
2014 Monografia Final
 
Framework Entities - Dissertação
Framework Entities - DissertaçãoFramework Entities - Dissertação
Framework Entities - Dissertação
 
Implementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsImplementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufs
 
tccfinal
tccfinaltccfinal
tccfinal
 
Graduação puc - aplicações de padrões de projeto no desenvolvimento de inte...
Graduação   puc - aplicações de padrões de projeto no desenvolvimento de inte...Graduação   puc - aplicações de padrões de projeto no desenvolvimento de inte...
Graduação puc - aplicações de padrões de projeto no desenvolvimento de inte...
 
Apostila_Geop_rrosa.pdf
Apostila_Geop_rrosa.pdfApostila_Geop_rrosa.pdf
Apostila_Geop_rrosa.pdf
 
Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)
 
Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014
 
Mineração de Dados: Conceitos e Aplicações
Mineração de Dados: Conceitos e AplicaçõesMineração de Dados: Conceitos e Aplicações
Mineração de Dados: Conceitos e Aplicações
 
Gps wi fi para ambientes fechados (indoor)
Gps wi fi para ambientes fechados (indoor)Gps wi fi para ambientes fechados (indoor)
Gps wi fi para ambientes fechados (indoor)
 

Automatização do Georreferenciamento de Ruas

  • 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. 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. 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. 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. 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. 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. Í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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. (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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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