Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Kevin Stortz
Título: Biblioteca para reconstrução de relevos
 
Introdução:
RODUÇÃO Segundo PENA (2017, p. 1, grifo do autor) “O relevo é a parte superficial da litosfera (camada sólida da Terra). É onde as transformações geológicas se expressam mais nitidamente, sendo também o local de habitação do ser humano e da maior parte dos animais terrestres.” Tem-se então que os relevos são as formas físicas da superfície terrestre e podem ser divididas em: montanhas, planaltos, planícies e depressões (PENA, 2017). Existem dois métodos que podem ser utilizados para representar a altura de relevos em mapas: Carta Hipsométrica e Curvas de Nível (MENDONÇA, 2007). Cartas Hipsométricas são utilizadas para representação de relevos em mapas de pequena escala e grandes áreas, utilizando cores para representação de diferentes altitudes. Enquanto as Curvas de Nível são utilizadas em mapas de grande escala, separando as alturas dos relevos por linhas entre intervalos fixos (MENDONÇA, 2007). A Universidade Regional de Blumenau, desenvolve um projeto que consiste em exibir a Carta Hipsométrica e as Curvas de Nível sobre um relevo moldado com areia. O projeto faz utilização de uma aplicação desenvolvida pela universidade da Califórnia em Davis que através do Kinect consegue realizar o processo de detecção e reconstrução do relevo em tempo real. Possibilitando assim a visualização das cartas sobre a areia conforme o cenário é alterado (BOHN, 2017). Tendo então a dependência da biblioteca desenvolvida pela universidade da Califórnia e a utilização do Kinect para reconhecimento da profundidade. Sendo assim, poderia ser utilizada duas câmeras para realizar o processo de reconstrução 3D e visualizar as cartas da mesma forma como é feito atualmente, removendo ainda a dependência da biblioteca externa e o equipamento Kinect. Tendo a necessidade de ter uma aplicação em tempo real para mapear as alterações no relevo nas imagens da Carta Hipsométrica e Curvas de Nível na disponibilização de um dataset para plataformas como o Unity. Segundo Zaaijer (2013, p. 32), a aplicação deve manter uma taxa de 30 a 60 quadros por segundo (Frames Per Second - FPS) para ser considerada em tempo real. Sendo assim, a biblioteca deve utilizar processamento paralelo para realizar os cálculos necessários na reconstrução 3D. Sobre o processamento paralelo, Fernandes (2017a) diz que se tem a necessidade de utilizar o processamento disponível pela unidade de processamento gráfico (Graphics Programming Unit - GPU) no processo de triangulação da imagem, que tem seu desenvolvimento facilitado através da Application Programming Interface (API) CUDA, para comunicação com a GPU. Para a reconstrução do ambiente em um modelo 3D. Segundo Fernandes (2005, p. 6), a extração de informações tridimensionais, a partir de imagens, tem sido um assunto amplamente estudado no ramo de Visão Computacional (VC). Geralmente essa extração utiliza o projetor para apresentar imagens, e uma câmera para captura do estado atual do ambiente. Dentre alguns conceitos da VC que podem ser aplicados, conforme estudo apresentado por Fernandes (2005, p. 10), a técnica de reconstrução por triangulação ativa provavelmente é o método mais antigo e amplamente estudado para detecção de profundidade, utilizando a Geometria Epipolar para a reconstrução 3D (HARTLEY; ZISSERMAN, 2004, p. 239). Para que seja possível realizar a reconstrução 3D do ambiente é necessário realizar a calibração e configuração das câmeras e do ambiente estéreo (ZHANG, 2000, p. 2). O ambiente estéreo consiste na utilização de duas câmeras observando o mesmo ambiente, a fim de realizar a triangulação entre os objetos observados (THE MATHWORKS, 2017). Segundo Moreno e Taubin (2012, p. 1, tradução nossa) “Um par projetor e câmera podem trabalhar como se fosse um ambiente estéreo”, sendo que, ainda segundo Moreno e Taubin (2012, p. 1, tradução nossa) “Neste sistema o projetor é identificado como uma câmera inversa”. Segundo Hartley e Zisserman (2004, p. 153, tradução nossa) “Uma câmera é um mapeamento entre o mundo 3D (objeto espacial) e uma image 2D”. Tendo a necessidade realizar a etapa de calibração para a definição da matriz das câmeras, que definem a rotação e translação necessária para correlacionar um ponto 3D na imagem 2D (HARTLEY; ZISSERMAN, 2004, p. 152). Tendo então a Geometria Epipolar como forma de representação da geometria de mapeamento entre duas câmeras, sendo que a matriz fundamental encapsula a geometria intrínseca, possibilitando realizar a correlação entre dado pixel da primeira câmera com o correlato na linha epipolar da segunda câmera (HARTLEY; ZISSERMAN, 2004, p. 239). Um mapa de disparidade pode ser gerado para validar a correlação dos pixels. O mapa que consiste em verificar a distância euclidiana entre os pixels correlacionados. Normalizando a distância entre 0 e 255 a fim de gerar uma imagem em escala de cinza, que apresenta a validação visual da profundidade (FERNANDES, 2017d). Segundo Hartley e Zisserman (2004, p. 310, tradução nossa) “É assumido que existem erros na medição das coordenadas dos pontos”, ainda segundo Hartley e Zisserman (2004, p. 310, tradução nossa) “Com base nessas circunstâncias a triangulação gulosa por projeção inversa de raios dos pontos medidos falhará, pois, os raios geralmente não terão intersecção. Sendo necessário estimar uma melhor solução para o ponto no espaço 3D.” Sendo assim, antes de realizar a triangulação, torna-se necessário realizar a correção da geometria para ter os pontos que se interseccionarão tornando possível gerar um modelo 3D. Conforme apresentado, é desenvolvida uma biblioteca que fará a detecção e reconstrução de relevos por meio da Geometria Epipolar e possibilita a utilização de programação paralela na GPU para otimização de cálculos em imagens. Como resultado será visualizada a calibração do ambiente estéreo, bem como a correlação dos pixels com as linhas epipolares e a exibição do mapa de disparidade da correlação dos pixels.