EXTRAÇÃO DE FACES DE TELHADOS DE EDIFÍCIOS UTILIZANDO DADOS DE VARREDURA A LASER Extraction of building roof faces using LASER scanning data Michelle Sayuri Yano 1 Aluir Porfírio Dal Poz 2 1 Universidade Estadual Paulista Júlio de Mesquita Filho Faculdade de Ciências e Tecnologia Programa de Pós-Graduação em Ciências Cartográficas michelle.yano@gmail.com 2 Universidade Estadual Paulista Júlio de Mesquita Filho Faculdade de Ciências e Tecnologia Departamento de Cartografia aluir@fct.unesp.br RESUMO Este trabalho propõe uma metodologia para a identificação das faces de telhados de edifícios presentes em dados de varredura a LASER, tendo como base o método RANSAC (RANdom SAmple Consensus). O método RANSAC baseia-se no uso de uma quantidade mínima de dados para a determinação inicial de um modelo hipotético (nesse caso, o plano) para posterior extensão do conjunto inicial de dados com base em uma análise de consistência, até obter o agrupamento de uma quantidade adequada de dados que garanta a realização apropriada do modelo hipotético. Para evitar a busca simultânea de segmentos de planos de telhados em toda a nuvem de pontos LASER, diminuir significativamente o esforço computacional e evitar a junção de segmentos de edifícios diferentes mas acidentalmente coplanares, primeiramente foi realizado um pré-processamento da nuvem de pontos a fim de separar e obter somente os pontos pertencentes às regiões de edificação. Uma vez obtidas as regiões de edificação, o método RANSAC foi utilizado para detectar conjuntos de pontos coplanares pertencentes a cada face de telhado presente nessas regiões e, assim, identificar cada plano do telhado. A metodologia proposta apresenta resultados satisfatórios, uma vez que identificou e agrupou corretamente cada ponto coplanar presente nas amostras de telhados, extraindo assim, cada face de telhado separadamente. Palavras chaves: Dados de Varredura a LASER, Segmentação de Planos, Telhado de Edifícios, RANSAC. ABSTRACT This work proposes a methodology for the identification of the building roof faces present in LASER scanning data, based on RANSAC (RANdom SAmple Consensus) method. The RANSAC method is based on the use of a minimum amount of data for an initial determination of a hypothetical model (in this case the plan) for further extension of the initial data set based on a consistency analysis, to group an adequate amount of data which ensure the appropriate hypothetical model realization. To avoid the simultaneous search of roof face segments throughout the LASER point cloud, to decrease significantly the computational effort and avoid the merge of different building segments accidentally coplanar, firstly, a point cloud preprocessing was performed in order to separate and acquire only the building region points. Once acquired the building regions, the RANSAC method was used to detect sets of coplanar points belonging to each roof face in these regions and, thus, identify each roof face. The proposed method presents satisfactory results, once identified and grouped correctly each coplanar point present in the roof samples, extracting singly each roof face. Keywords: LASER Scanning Data, Plans Segmentation, Building Roof, RANSAC. 1
1. INTRODUÇÃO Com os avanços tecnológicos da Fotogrametria, a comunidade científica vem demonstrando grande interesse nas áreas de extração e reconstrução de objetos, tais como edificações, uma vez que esses processos podem auxiliar na atualização de um Sistema de Informações Geográficas (SIG) voltado para o planejamento urbano, gerenciamento de tráfego, monitoramento ambiental etc. Essas informações, quando disponibilizadas num SIG, ajudam na tomada de decisões e podem fornecer, por exemplo, dados sobre expansão territorial, cadastro de imóveis urbanos, atualização de mapas entre outras (GALVANIN, 2007). Até meados da década de 1990, os dados disponíveis para a extração e reconstrução de edificações eram as imagens aéreas de alta resolução. No entanto, no final dessa mesma década, novas fontes de dados passaram a serem utilizadas, destacando-se se os dados de varredura a LASER. Os métodos que usam exclusivamente dados de varredura a LASER podem envolver, desde operações de detecção e delineamento do contorno de edificações (GALVANIN, 2007), até tarefas mais complexas de reconstrução do telhado (VOSSELMAN et al., 2004; AWWAD et al., 2010) ou do modelo tridimensional completo da edificação (MASS e VOSSELMAN, 1999). O principal foco deste trabalho é a extração de planos representando as faces de telhado, tendo por base o critério RANSAC (RANdom SAmple Consensus) (FISCHLER e BOLLES, 1981). Este método é conceitualmente simples, robusto e bastante flexível (SCHNABEL et al., 2007). Baseia-se em modelos hipotéticos previamente fornecidos para detectar os objetos correspondentes, tais como: planos, esferas, cilindros e cones. Nesse trabalho, tendo por base uma nuvem de pontos estruturada na forma TIN (Triangular Irregular Network), o método RANSAC será utilizado para identificar conjuntos de pontos coplanares pertencentes às faces de telhados. No entanto, para evitar a busca simultânea por segmentos de planos de telhado em toda nuvem de pontos LASER, é proposta uma etapa de préa fim de obter amostras contendo apenas pontos pertencentes à edificações. Esse procedimento possibilita a análise separada de cada edificação, trazendo potencialmente os seguintes benefícios: diminui significativamente o esforço computacional; e evita a junção de segmentos de edifícios diferentes mas processamento da nuvem de pontos acidentalmente coplanares. 2. METODOLOGIA 2.1. Pré-processamento da nuvem de pontos LASER Como dados de entrada para a realização da metodologia proposta tem-se várias amostras de nuvem de pontos LASER extraídas da nuvem de pontos original da cidade de Presidente Prudente/SP. As amostras escolhidas são referentes a pequenas áreas contendo uma edificação, como mostra o exemplo da Figura 1. O trabalho com essas pequenas amostras visa evitar a busca simultânea de segmentos de planos de telhados em toda a nuvem de pontos LASER, diminuir significativamente o esforço computacional e evitar a junção de segmentos de edifícios diferentes, mas acidentalmente coplanares. Fig. 1 Exemplo de área escolhida como amostra. Ainda visando evitar os obstáculos apresentados anteriormente, a etapa de pré-processamento dos dados LASER tem como objetivo a obtenção de nuvens de pontos contendo somente os pontos pertencentes às edificações. Para isso o MDSn é utilizado para identificar os pontos referentes às regiões altas (edificação e vegetação), e a partir da classificação dessas regiões altas, através da análise de planaridade e rugosidade, os pontos pertencentes às edificações são obtidos. A seguir são descritos os processos envolvidos na etapa de pré-processamento. 2.1.1. Geração do Modelo Digital de Superfície normalizado (MDSn) A primeira etapa do pré-processamento processamento consiste na geração do Modelo Digital de Superfície normalizado (MDSn), o qual pode ser obtido através da subtração do Modelo Digital de Terreno (MDT) do Modelo Digital de Superfície (MDS). A propriedade do MDSn de representar no plano os objetos acima da superfície do terreno facilita as etapas seguintes de obtenção das regiões de edificação. O aplicativo LAStools,, da Rapidlasso, é utilizado nesta etapa para a obtenção dos modelos digitais de elevação. Esse aplicativo é composto por diversas ferramentas de visualização e processamento de dados LASER tais como classificação, filtragem, triangulação, obtenção de contornos, reamostragem, recorte e poligonização de nuvem de 1
pontos LASER. Para se iniciar a obtenção do MDSn, a ferramenta LASground é aplicada à nuvem de pontos LASER. Essa ferramenta gera uma malha irregular a partir nuvem de pontos de entrada, que pode ser considerada como sendo o MDS da região e, a partir disso, classifica os pontos em terreno e não-terreno. Essa ferramenta possui quatro parâmetros que podem ser alterados conforme o tipo de região: - Step: parâmetro medido em metros e deve ser alterado conforme o tipo de região. Este parâmetro aumenta conforme aumenta o número de objetos altos na região; quanto maior for o valor do step (passo), menor a chance de um edifício ou árvore ser considerado como ponto do terreno. - Spike: parâmetro medido em metros, responsável por remover picos acima e abaixo do valor estabelecido. - Offset: parâmetro medido em metros, responsável por aceitar como pontos do terreno aqueles que possuírem altura até o valor estabelecido. - Stddev: parâmetro medido em centímetros, que irá considerar um desvio padrão de determinado valor como ponto de terreno para áreas planas. Os dados resultantes são compostos pelas coordenadas X, Y, Z e a classificação de cada ponto, onde os pontos de terreno recebem o valor 2 e os pontos não-terreno recebem o valor 1. A próxima etapa consiste em aplicar a ferramenta LASheight para calcular a altura de cada ponto LASER acima da superfície do terreno. Essa ferramenta filtra os pontos classificados como terreno pelo LASground, gera o MDT da região através de uma rede irregular de triângulos (TIN Triangular Irregular Network) formado por esses pontos de terreno, e calcula a elevação de cada ponto não-terreno em relação a esse TIN. A opção replace_z disponibilizada por essa ferramenta permite que as altitudes dos pontos sejam substituídas pelas alturas normalizadas calculadas, assim, os dados resultantes são compostos pelas coordenadas X, Y e as alturas normalizadas de cada ponto. O resultado é considerado o MDSn da região, uma vez que apresenta os pontos de terreno com alturas iguais à zero, e os pontos não-terreno com alturas iguais às suas próprias alturas em relação ao terreno, alturas normalizadas. 2.1.2. Obtenção das regiões de edificação Esta etapa tem como objetivo identificar e separar as regiões de edificação a partir da classificação dos pontos LASER através da ferramenta LASclassify do software LAStools. Essa ferramenta exige que os pontos de terreno já tenham sido identificados pelo LASground e que a altura normalizada de cada ponto já tenha sido calculada pelo LASheight. Essencialmente, a ferramenta procura classificar as regiões altas em edificação ou vegetação, através da análise da altura, planaridade, e rugosidade de uma vizinhança. Para isso, a ferramenta possibilita a mudança de três parâmetros: - Ground offset: referente à altura mínima que um ponto deve ter para ser considerado não terreno. - Building planarity: limiar de planaridade para verificar se a vizinhança em análise é plana. Vizinhanças com valor de planaridade abaixo desse limiar serão consideradas planas. - Forest ruggedness: limiar de rugosidade para verificar se a vizinhança em análise é vegetação. Vizinhanças com valor de rugosidade acima desse limiar serão consideradas vegetação. Os dados resultantes são compostos pelas coordenadas X, Y, Z e a classificação de cada ponto, conforme especificado a seguir: 1 pontos desclassificados 2 pontos de terreno 3 pontos de vegetação 6 pontos de edificação 9 pontos de água O LAStools permite salvar os pontos separadamente segundo sua classificação, o que possibilita a obtenção da nuvem de pontos somente das regiões de edificação para o desenvolvimento do restante do trabalho. 2.2. Extração das faces de telhados a partir do método RANSAC A extração das faces de telhados das edificações obtidas na etapa de pré-processamento é realizada a partir da implementação do método RANSAC adaptado para o caso da feição plano. Sendo assim, as etapas do algoritmo RANSAC ficam da seguinte forma: 1) Seja o modelo hipotético (MH) Plano dado pela equação ++=, que requer n = 3 observações para ser realizado e o conjunto P de todas as observações (nuvem de pontos LASER), tal que #P n. 2) Selecionar randomicamente um subconjunto S1 com 3 pontos e realizar o MH determinando os três parâmetros do plano (A, B, C) formado por esses 3 pontos. Cada ponto fornece uma equação, assim, a determinação dos parâmetros é realizada através da solução de um sistema linear de 3 equações e 3 incógnitas, a partir de algum método numérico de solução de sistemas lineares. 3) Usar o MHr para determinar o conjunto consenso S1*, tal que S1* contenha os pontos consistentes com MHr. Dois parâmetros são analisados para determinar se um ponto é consistente ou não com o MHr: 1 Limiar de distância: a distância d entre o ponto e o MHr deve ser menor que um dado limiar. 2
2 Limiar angular: o ângulo θ entre vetor normal do ponto e o vetor normal ao MHr deve ser menor que um dado limiar. 4) Se #S1* for maior que um limiar t,, usar S1* para restabelecer um novo modelo hipotético (MHr*); ao contrário, se #S1* for menor que o limiar t,, selecionar um novo subconjunto S2, tal que #S2 = n,, e repetir o processo acima. Em caso de sucesso, eliminar o subconjunto consensual #S1* de P e repetir o processo acima até que não seja possível achar um novo plano na região; caso contrário, encerrar porque nenhum plano foi encontrado na região. 3. RESULTADOS E ANÁLISE Os dados utilizados neste trabalho foram nuvens de pontos LASER da cidade de Presidente Prudente/SP, com densidade média de 8 pontos/m 2. No total foram utilizadas 3 amostras de nuvem de pontos LASER contendo apenas uma edificação, que no decorrer deste trabalho serão identificados pelo nome Edifício Teste n. A Figura 2 apresenta as imagens das áreas das amostras utilizadas. Edifício Teste 1 Edifício Teste 2 Edifício Teste 3 Fig. 2 Imagens das áreas das amostras utilizadas no trabalho. A seguir serão apresentados os resultados obtidos em cada etapa da metodologia proposta. 3.1. Geração do MDSn A geração do MDSn foi realizada utilizando-se o aplicativo LAStools,, através das ferramentas LASground e LASheight. O primeiro passo foi identificar os pontos pertencentes ao terreno utilizando a ferramenta LASground. Como apresentado na Seção 2.1.1, essa ferramenta exige que quatro parâmetros sejam especificados. Para a escolha do parâmetro step, o LASground fornece quatro opções de tipos de região, podendo ser: floresta ou colinas, cidades pequenas ou planícies, cidades grandes ou galpões ou metrópoles ; além disso fornece também a opção customizado. O valor do parâmetro step deve aumentar conforme o número de objetos altos na região, pois quanto maior o seu valor, menor a chance de edificações serem consideradas pontos de terreno. Sendo assim, pelo fato das amostras escolhidas possuírem poucos objetos altos, escolheu-se a opção floresta ou colinas, que utiliza o valor de 5 m como step.. Para os demais parâmetros foram utilizados os valores padrão do programa, sendo: spike = 1 m, stddev = 10 cm, offset = 0,05 m. Os pontos identificados como pertencentes ao terreno recebem o identificador 2 e podem ser separados dos demais pontos, os quais recebem o identificador 1. A Figura 3 apresenta em marrom os pontos identificados como terreno em cada amostra. Edifício Teste 1 Edifício Teste 2 Edifício Teste 3 Fig. 3 Pontos identificados como terreno. 3
A etapa seguinte consistiu em utilizar a ferramenta LASheight, a qual exige que os pontos de terreno já tenham sido identificados pela ferramenta LASground, pois ela utiliza esses pontos de terreno para calcular a elevação de cada ponto não-terreno em relação ao terreno. Assim, os pontos de terreno recebem valores de altura iguais a zero e os pontos elevados recebem valores de altura iguais as suas próprias elevações em relação ao terreno. A opção replace_z do LASheight foi utilizada para substituir as altitudes dos pontos pelas alturas normalizadas calculadas, obtendo um arquivo de saída com o MDSn das amostras. O resultado é uma nuvem de pontos com coordenadas X, Y e alturas normalizadas. 3.2. Obtenção das regiões de edificação Após identificar os pontos de terreno através da ferramenta LASground e calcular as alturas normalizadas de cada ponto através da ferramenta LASheight, a ferramenta LASclassify foi aplicada com o objetivo de classificar os pontos altos e obter as regiões de edificação a partir dessa classificação. Em todas as amostras foram utilizados os mesmos valores para os três parâmetros que precisam ser especificados no LASclassify, sendo eles: - Ground offset: 2m - Building planarity: 0,1 m - Forest ruggedness: 0,4 m A Figura 4 apresenta as nuvens de pontos referentes às edificações obtidas. Edifício Teste 1 Edifício Teste 2 Edifício Teste 3 Fig. 4 Pontos classificados como edificação. 3.3. Implementação do método RANSAC para a extração de planos de telhados Obtidas as nuvens de pontos referentes às regiões de edificação, a próxima etapa consistiu em extrair os planos dos telhados dessas edificações através da implementação do método RANSAC no software Matlab, a fim de identificar os conjuntos de pontos coplanares. Como dito anteriormente, os parâmetros (A, B, C) do plano formado pelos 3 pontos aleatórios podem ser estimados a partir da solução de um sistema linear com 3 equações e 3 incógnitas. Para tanto, foi utilizado o método de Decomposição LU para resolução do sistema linear. O limiar angular, limiar de distância e limiar t necessários no método RANSAC implementado foram determinados empiricamente e são apresentados na Tabela 1. O valor 200 foi utilizado como o número máximo de tentativas até considerar que não existam mais planos eencerrar o processo. TABELA 1 LIMIARES UTILIZADOS PARA CADA AMOSTRA. Limiar de Limiar Limiar t distância angular Edifício Teste 1 número_pontos*0.3 0.2 m 12 Edifício Teste 2 número_pontos*0.25 0.2 m 8 Edifício Teste 3 número_pontos*0.25 0.2 m 9 A Figura 5 apresenta os resultados do método proposto para a extração das faces dos telhados de edificações. Nas amostras cada cor corresponde a cada diferente conjunto de pontos coplanares identificados. 4
Edifício Teste 1 Edifício Teste 2 Edifício Teste 3 Fig. 5 Resultados da extração das faces de telhados pelo método proposto. Pelos resultados apresentados na Figura 5, nota-se que o método proposto extraiu com sucesso os planos dos telhados das edificações. Em alguns casos, como mostra o exemplo da Figura 6, os pontos de cumeeiras não foram detectados. Isso ocorreu porque o vetor normal nesses pontos não segue o padrão regular de pontos de telhado. Para o cálculo do vetor normal de cada ponto, gera-se um TIN da nuvem de pontos e calcula-se o vetor normal de cada triângulo. O vetor normal de um dado ponto é então obtido a partir da média dos vetores normais dos triângulos adjacentes a esse ponto. Dessa forma, o vetor normal em pontos de cumeeiras, os quais compartilham triângulos de dois planos diferentes, possui a orientação média entre esses dois planos. Assim, dependendo do limiar angular utilizado, esses pontos não serão considerados pertencentes a nenhum desses planos. Na Figura 6 o Edifício Teste 2 é utilizado como exemplo para apresentar o resultado da extração onde os pontos de cumeeiras não foram detectados. A Figura 6(a) apresenta a imagem aérea da edificação, a Figura 6(b) mostra a nuvem de pontos amostrada sobre essa edificação, e a Figura 6(c) apresenta o resultado da extração das faces do telhado obtida pelo método proposto, onde os pontos de cumeeiras não foram detectados. (a) (b) (c) Fig. 6 Exemplo de amostra em que os pontos de cumeeira não foram detectados. (a) Imagem aérea da edificação. (b) Nuvem de pontos referente à edificação. (c) Resultado obtido pelo método proposto, onde os pontos de cumeeiras não foram detectados. A partir dos testes para a escolha dos limiares, observou-se que dependendo dos valores dos limiares utilizados, o resultado da extração pode ser mais fragmentada. Este problema pode ser resolvido com uma etapa de pósproximidade e orientação dos fragmentos, a fim de detectar e conectar processamento baseada naanálise da fragmentos 5
planares referentes a um mesmo plano para obter uma extração mais completa. A Figura 7 apresenta um exemplo de extração fragmentada do Edifício Teste 1. 4. CONSIDERAÇÕES FINAIS Fig. 7 Extração fragmentada do Edifício Teste 1. Neste trabalho foi apresentada uma metodologia baseada no método RANSAC para a extração de faces de telhados de edificações presentes em dados de varredura a LASER. Nos três experimentos realizados o método proposto apresentou bom desempenho, extraindo com sucesso cada plano dos telhados das edificações. No entanto, em alguns casos, os pontos pertencentes às cumeeiras não foram detectados. Isso ocorreu, possivelmente, devido ao processo de análise do vetor normal dos pontos realizado durante a etapa dedeterminação dos pontos consistentes. Durante os testes para a escolha dos limiares, observou-se que dependendo do valor de limiar escolhido, o resultado da extração dos planos pode ser mais fragmentada. Isso pode ser resolvido com uma etapa de refinamento da extração envolvendo a análise de proximidade e orientação dos fragmentos, a fim de detectar e conectar fragmentos planares referentes a um mesmo plano para obter uma extração mais completa. AGRADECIMENTOS Fundação de Amparo à Pesquisa do Estado de São Paulo FAPESP (Processo 2013/16452-8). Coordenação de Aperfeiçoamento de Pessoal de Nível Superior CAPES. REFERÊNCIAS BIBLIOGRÁFICAS AWWAD, T. M.; ZHU, Q.; DU, Z.; ZHANG, Y. An improved segmentation approach for planar surfaces from unconstructed 3D point clouds. Photogrammetric Record, vol. 25, pp. 5-23, 2010. FISCHLER, M.; BOLLES, R. Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography. Communications of the ACM, v. 24, p. 381-395, 1981. GALVANIN, E. A. S. Extração automática de contornos de telhados de edifícios em um modelo digital de elevação, utilizando inferência Bayesiana e campos aleatórios de Markov. Tese (doutorado em Ciências Cartográficas) Faculdade de Ciências e Tecnologia, Universidade Estadual Paulista, Presidente Prudente, 2007. MAAS, H. G.; VOSSELMAN, G. Two algorithms for extracting building models from raw LASER altimetry data. ISPRS Journal of Photogrammetry and Remote Sensing, vol. 54, pp. 153-163, 1999. SCHNABEL, R.; WAHL, R.; KLEIN, R. Efficient RANSAC for point-cloud shape detection. Computer Graphics Forum, pp. 214-226, 2007. VOSSELMAN, G.; GORTE, B. G. H.; SITHOLE, G.; RABBANI, T. Recognising structure in LASER scanning point clouds. International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. v. 36, 2004. 6