KR102664699B1 - 항공 라이다를 이용한 건물 모델링 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

항공 라이다를 이용한 건물 모델링 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102664699B1
KR102664699B1 KR1020230095432A KR20230095432A KR102664699B1 KR 102664699 B1 KR102664699 B1 KR 102664699B1 KR 1020230095432 A KR1020230095432 A KR 1020230095432A KR 20230095432 A KR20230095432 A KR 20230095432A KR 102664699 B1 KR102664699 B1 KR 102664699B1
Authority
KR
South Korea
Prior art keywords
point cloud
building
point
lidar
ground
Prior art date
Application number
KR1020230095432A
Other languages
English (en)
Inventor
김재승
신은택
Original Assignee
주식회사 모빌테크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 모빌테크 filed Critical 주식회사 모빌테크
Priority to KR1020230095432A priority Critical patent/KR102664699B1/ko
Application granted granted Critical
Publication of KR102664699B1 publication Critical patent/KR102664699B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 항공 라이다로부터 획득된 항공 점군 데이터를 기초로 건물의 루프에 해당되는 점군을 획득하여 건물을 모델링하기 위한, 항공 라이다를 이용한 건물 모델링 방법을 제안한다. 상기 방법은 데이터 생성 장치가, 비행 장치에 장착된 라이다(lidar)로부터 획득된 항공 점군(point cloud) 데이터에서 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리하는 단계, 상기 데이터 생성 장치가, 상기 비지면에 해당되는 점군 중 건물의 루프(roof)에 해당되는 점군을 분류하는 단계 및 상기 데이터 생성 장치가, 상기 분류된 점군을 기초로 건물을 모델링하는 단계를 포함할 수 있다. 본 발명은 산업통상자원부/한국산업기술평가관리원의 지원(과제번호-20022003/사업명-자동차산업기술개발사업/과제명-종횡방향 연동기반 산업용 자율주행 및 안정성 확보기술 개발)으로 개발된 기술이다.

Description

항공 라이다를 이용한 건물 모델링 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for building modeling aerial lidar, and computer program recorded on record-medium for executing method therefor}
본 발명은 건물 모델링에 관한 것이다. 보다 상세하게는, 항공 라이다로부터 획득된 항공 점군 데이터를 기초로 건물의 루프(roof)에 해당되는 점군을 획득하여 건물을 모델링하기 위한, 항공 라이다를 이용한 건물 모델링 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
차량의 자율주행(automatic driving)은 차량 스스로 판단하여 주행할 수 있는 시스템을 의미한다. 이와 같은, 자율주행은 시스템이 주행에 관여하는 정도와 운전차가 차량을 제어하는 정도에 따라 비자동화부터 완전 자동화까지 점진적인 단계로 구분될 수 있다. 일반적으로, 자율주행의 단계는 국제자동차기술자협회(SAE(Society of Automotive Engineers) International)에서 분류한 6단계의 레벨로 구분된다. 국제자동차기술자협회가 분류한 6단계에 따르면, 레벨 0단계는 비자동화, 레벨 1단계는 운전자 보조, 레벨 2단계는 부분 자동화, 레벨 3단계는 조건부 자동화, 레벨 4단계는 고도 자동화, 그리고 레벨 5단계는 완전 자동화 단계이다.
자율주행은 인지(perception), 측위(localization), 경로 계획(path planning) 및 제어(control)의 메커니즘을 통해 수행된다. 그리고, 다양한 기업체들은 자율주행 메커니즘에서 인지 및 경로 계획을 인공지능(AI)을 이용하여 구현하기 위해 개발 중에 있다.
이와 같은, 자율주행을 위해서는 도로에 관한 다양한 정보가 선제적으로 수집되어야 한다. 그러나, 현실적으로 차량의 센서 만을 이용하여 방대한 정보를 실시간 수집하여 분석하는 것은 쉽지 않다. 이에 따라, 자율주행이 현실화되기 위해서는 실제 자율 주행에 필요한 각종 정보를 제공해 줄 수 있는 정밀도로지도가 필수적이다
여기서, 정밀도로지도는 도로와 주변 지형의 정보를 정확도 ±25㎝로 구축한 3차원 전자지도를 말한다. 이러한, 정밀도로지도는 일반적인 전자지도의 정보(길안내를 위해 필요한 노드 정보들과 링크 정보들)에 더하여, 도로의 폭, 도로의 곡률, 도로의 경사도, 차선 정보(점선, 실선, 정지선 등), 면형 정보(횡단보도, 과속방지턱, 갓길 등), 노면 마크 정보, 표지 판 정보, 시설물 정보(신호등, 연석, 맨홀 등) 등과 같은 정밀 정보를 포함하는 지도이다.
이러한, 정밀도로지도를 생성하기 위해서는 이동 지도제작 시스템(Mobile Mapping System, MMS), 항공사진 촬영 정보 등 다양한 관련 자료들이 요구된다.
특히, 이동 지도제작 시스템은 차량에 장착되어 차량의 운행과 함께 도로 주변에 있는 지형지물의 위치측정 및 시각정보를 획득하도록 이루어진다. 즉, MMS는 차체의 위치와 자세정보를 취득하기 위한 GPS(Global Positioning System), 관성 항법 장치(Inertial Navigation System; INS), 관성 측정 장치(Inertial Measurement Unit; IMU), 지형지물의 형상과 정보를 수집하기 위한 카메라, 라이다(Light Detection and Ranging, LiDAR) 및 기타 센서에 의해 수집된 정보들을 기반으로 생성될 수 있다.
그러나, 이동 지도제작 시스템은 GPS 정보를 기초로 위치 정보를 획득하기 때문에, 골목길과 같은 GPS 신호 감도가 낮은 지역에서는 정확성이 떨어지는 문제점이 있었다.
이에 따라, 최근에는 정밀도로지도를 보다 높은 정확도로 생성하기 위한 다양한 연구가 진행되고 있다.
본 발명은 산업통상자원부/한국산업기술평가관리원의 지원(과제번호-20022003/사업명-자동차산업기술개발사업/과제명-종횡방향 연동기반 산업용 자율주행 및 안정성 확보기술 개발)으로 개발된 기술이다.
대한민국 공개특허공보 제10-2017-0007102호, '3차원 지도 생성 및 표시 장치 및 방법', (2017.01.18. 공개)
본 발명의 일 목적은 항공 라이다로부터 획득된 항공 점군 데이터를 기초로 건물의 루프에 해당되는 점군을 획득하여 건물을 모델링하기 위한, 항공 라이다를 이용한 건물 모델링 방법을 제공하는 것이다.
본 발명의 다른 목적은 항공 라이다로부터 획득된 항공 점군 데이터를 기초로 건물의 루프에 해당되는 점군을 획득하여 건물을 모델링하기 위한, 항공 라이다를 이용한 건물 모델링 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 항공 라이다로부터 획득된 항공 점군 데이터를 기초로 건물의 루프에 해당되는 점군을 획득하여 건물을 모델링하기 위한, 항공 라이다를 이용한 건물 모델링 방법을 제안한다. 상기 방법은 데이터 생성 장치가, 비행 장치에 장착된 라이다(lidar)로부터 획득된 항공 점군(point cloud) 데이터에서 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리하는 단계, 상기 데이터 생성 장치가, 상기 비지면에 해당되는 점군 중 건물의 루프(roof)에 해당되는 점군을 분류하는 단계 및 상기 데이터 생성 장치가, 상기 분류된 점군을 기초로 건물을 모델링하는 단계를 포함할 수 있다.
구체적으로, 상기 점군을 분리하는 단계는 상기 항공 점군 데이터를 사전 설정된 크기로 복셀화(voxelization)하고, 복셀 안에 있는 점들 중 중심점과 가장 가까운 점을 제외한 나머지 점을 삭제하여 균일 표본(uniform sample)을 획득하는 것을 특징으로 한다.
상기 점군을 분리하는 단계는 상기 획득한 균일 표본을 평균 점간 거리보다 작게 그리드(grid)로 나누어 각 점에 행과 열의 인덱스(index)를 생성하고, 상기 그리드 내에 점이 없는 경우 보간법을 이용하여 격자의 높이 값을 설정하고, 사전 설정된 크기의 윈도우를 이용하여 열림 연산을 수행하고, 높이 임계 값을 기준으로 상기 열림 연산을 수행하기 전과 후를 비교하여 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리하는 것을 특징으로 한다.
상기 점군을 분리하는 단계는 상기 분리된 비지면에 해당되는 점군을 옥트리(octree)를 기반으로 분할하여 점군을 복원시키는 것을 특징으로 한다.
상기 점군을 분류하는 단계는 상기 라이다의 하나의 펄스(pulse)로부터 반사되는 반사 신호의 개수를 기초로 상기 비지면에 해당되는 점군 중 건물의 루프에 해당되는 점군 및 나무에 해당되는 점군을 분류하는 것을 특징으로 한다.
상기 점군을 분류하는 단계는 상기 라이다의 하나의 펄스(pulse)로부터 반사되는 반사 신호의 개수가 사전 설정된 값을 초과하는 경우 나무로 식별하는 것을 특징으로 한다.
상기 점군을 분류하는 단계는 상기 라이다의 하나의 펄스(pulse)로부터 반사되는 반사 신호 중 신호의 세기가 사전 설정된 값보다 작은 반사 신호에 해당되는 점을 삭제하는 것을 특징으로 한다.
상기 점군을 분류하는 단계는 상기 비지면에 해당되는 점군의 밀집도(density)를 기초로 클러스터링(clustering)을 수행하여 아웃라이너(outlier)를 제거하고, 상기 클러스터링 수행된 점군의 지면으로부터 높이 값을 기준으로 필터링하여 건물의 루프(roof)에 해당되는 점군을 분류하는 것을 특징으로 한다.
상기 모델링 하는 단계는 상기 분류된 점군의 분포를 기초로 상기 루프의 엣지(edge)를 추정하고, 상기 추정된 엣지를 기준으로 상기 분류된 점군의 외곽점을 피팅(fitting)하는 것을 특징으로 한다.
상기 모델링 하는 단계는 상기 분류된 점군에 포함된 각 점의 이웃점을 이용해 공분산 행렬(covariance matrix)을 구하고, 상기 공분산 행렬에 대한 주성분 분석(PCA, Principal Component Analysis)을 통해 고유 벡터(eigen vector)를 구하고, 상기 고유 벡터 사이의 각도가 임계 값 내에 포함되어 있는 두개의 고유 벡터를 상기 루프의 엣지로 추정하는 것을 특징으로 한다.
상기 모델링 하는 단계는 상기 분류된 점군의 베이직 프리미티브(basic primitive)를 검출하고, 상기 검출된 베이직 프리미티브에 따라 상기 분류된 점군을 루프로 모델링하는 것을 특징으로 한다.
상기 모델링 하는 단계는 상기 라이다와 함께 설치된 카메라에 의해 촬영된 적어도 하나의 이미지의 위치 정보 및 카메라의 방향 정보를 기초로 상기 적어도 하나의 이미지를 상기 모델링 된 루프에 텍스쳐 매핑(texture mapping)하는 것을 특징으로 한다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 상기 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory), 송수신기(transceiver) 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가, 비행 장치에 장착된 라이다(lidar)로부터 획득된 항공 점군(point cloud) 데이터에서 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리하는 단계, 상기 프로세서가, 상기 비지면에 해당되는 점군 중 건물의 루프(roof)에 해당되는 점군을 분류하는 단계 및 상기 프로세서가, 상기 분류된 점군을 기초로 건물을 모델링하는 단계; 를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예들에 따르면, 항공 점군 데이터를 이용하여 분류된 건물의 루프(roof)를 기준으로 건물을 모델링 함으로써, 항공 점군 데이터를 이용하여 적은 연산량으로 높은 정확도의 3차원 지도를 생성할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 데이터 생성 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 생성 장치의 논리적 구성도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 생성 장치의 하드웨어 구성도이다.
도 4는 본 발명의 일 실시예에 따른 건물 모델링 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 지도 갱신 방법을 설명하기 위한 순서도이다.
도 6 내지 도 16은 본 발명의 일 실시예에 따른 건물 모델링 방법을 설명하기 위한 예시도이다.
도 17 및 도 18은 본 발명의 일 실시예에 따른 지도 갱신 방법을 설명하기 위한 예시도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
한편, 이동 지도제작 시스템은 차량에 장착되어 차량의 운행과 함께 도로 주변에 있는 지형지물의 위치측정 및 시각정보를 획득하도록 이루어진다. 즉, MMS는 차체의 위치와 자세정보를 취득하기 위한 GPS(Global Positioning System), 관성 항법 장치(Inertial Navigation System; INS), 관성 측정 장치(Inertial Measurement Unit; IMU), 지형지물의 형상과 정보를 수집하기 위한 카메라, 라이다(Light Detection and Ranging, LiDAR) 및 기타 센서에 의해 수집된 정보들을 기반으로 생성될 수 있다.
그러나, 이동 지도제작 시스템은 GPS 정보를 기초로 위치 정보를 획득하기 때문에, 골목길과 같은 GPS 신호 감도가 낮은 지역에서는 정확성이 떨어지는 문제점이 있었다.
이에 따라, 최근에는 정밀도로지도를 보다 높은 정확도로 생성하기 위한 연구가 진행되고 있다.
이러한 한계를 극복하고자, 본 발명은 항공 라이다로부터 획득된 항공 점군 데이터를 이용하여 건물을 모델링할 수 있고, GPS 정보를 기초로 생성된 정밀도로지도에서 GPS 신호 감도가 낮은 영역에 대하여, 타 센서로부터 획득된 데이터를 이용하여 지도를 갱신할 수 있는 다양한 수단들을 제안하고자 한다.
도 1은 본 발명의 일 실시예에 따른 데이터 생성 시스템의 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 데이터 생성 시스템(400)은 데이터 수집 장치(100), 데이터 생성 장치(200) 및 데이터 가공 장치(300)를 포함하여 구성될 수 있다.
이와 같은, 일 실시예에 따른 데이터 생성 시스템(400)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 데이터 수집 장치(100)는 지도 생성 및 학습 데이터 생성에 필요한 데이터를 수집할 수 있다.
데이터 수집 장치(100)는 라이다(lidar), 카메라(camera), 레이더(radar), 관성 측정장치(IMU, Inertial, Measurement Unit) 및 GPS(Global Positioning System) 중 하나 이상을 포함하여 구성될 수 있다. 하지만, 이에 한정된 것은 아니고, 데이터 수집 장치(100)는 도로정밀지도를 생성하기 위하여 다양한 정보를 센싱 할 수 있는 센서들이 적용될 수 있다.
즉, 데이터 수집 장치(100)는 라이다로부터 점군 데이터를 획득할 수 있으며, 카메라로부터 촬영된 이미지를 획득할 수 있다. 또한, 데이터 수집 장치(100)는 관성 측정장치, GPS 등으로부터 위치 및 포즈(pose)와 관련된 정보를 획득할 수 있다.
여기서, 라이다는 차량의 주위로 레이저 펄스를 발사하고 차량 주위에 위치하는 객체들에 의해 반사되어 돌아온 빛을 감지하여, 차량 주위에 대한 3차원 영상에 해당하는 점군 데이터를 생성할 수 있다.
카메라는 라이다를 중심으로 라이다로부터 수집되는 공간의 이미지를 획득할 수 있다. 이러한, 카메라는 컬러(Color) 카메라, 근적외선(NIR, Near InfraRed) 카메라, 단적외선(SWIR, Short Wavelength InfraRed) 카메라 및 장적외선(LWIR, Long WaveLength InfraRed) 카메라 중에서 어느 하나를 포함할 수 있다.
관성 측정장치는 가속도 센서(Acceleration Sensor), 각속도 센서(Gyroscope, 자이로스코프)로 이루어져 있으며, 일부는 지자기 센서(Magnetometer)도 포함할 수 있으며, 데이터 수집 장치(100)의 움직임의 변화에 따른 가속도의 변화를 감지할 수 있다.
GPS는 인공 위성으로부터 송신되는 신호를 받아 삼각측량을 이용하여 데이터 수집 장치(100)의 위치를 측정할 수 있다.
이러한, 데이터 수집 장치(100)는 차량(10) 또는 비행 장치(20)에 설치될 수 있다, 예를 들어, 데이터 수집 장치(100)는 차량(10)의 상부에 설치되어, 주변의 점군 데이터 또는 이미지를 수집하거나, 비행 장치(20)의 하부에 설치되어, 항공에서 지상의 객체에 대한 점군 데이터 또는 이미지를 수집할 수 있다.
또한, 데이터 수집 장치(100)는 수집된 점군 데이터 또는 이미지를 데이터 생성 장치(200)에 전송할 수 있다.
다음 구성으로, 데이터 생성 장치(200)는 데이터 수집 장치(100)로부터 라이다에 의해 획득된 점군 데이터 및 카메라에 의해 촬영된 이미지를 수신할 수 있다.
데이터 생성 장치(200)는 라이다로부터 획득된 점군 데이터 및 카메라를 이용하여 촬영된 이미지를 기초로 도로정밀지도를 생성할 수 있다.
특징적으로, 본 발명의 일 실시예에 따르면, 데이터 생성 장치(200)는 비행 장치에 장착된 라이다(lidar)로부터 획득된 항공 점군(point cloud) 데이터에서 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리하고, 비지면에 해당되는 점군 중 건물의 루프(roof)에 해당되는 점군을 분류할 수 있다. 또한, 데이터 생성 장치(200)는 분류된 점군을 기초로 건물을 모델링할 수 있다.
본 발명의 다른 실시예에 따르면, 데이터 생성 장치(200)는 GPS(GPS, Global Positioning System) 장치에 의해 획득된 위치 정보 및 제1 라이다(lidar)로부터 획득된 제1 점군(point cloud) 데이터를 기초로 생성된 기준맵을 로드(load)하고, 기준맵 상의 경로를 주행하는 차량에 탑재된 제2 라이다로부터 획득된 제2 점군 데이터를 기초로 기준맵을 갱신할 수 있다.
한편, 본 발명의 실시예들에 따른 데이터 생성 장치(200)의 구체적인 구성은 이하 도면을 참조하여 후술하도록 한다.
이와 같은 특징을 가지는, 데이터 생성 장치(200)는 데이터 수집 장치(100), 및 데이터 가공 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 동기화 장치(300)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
다음 구성으로, 데이터 가공 장치(300)는 데이터 생성 장치(200)로부터 생성된 지도를 가공할 수 있다.
예를 들어, 데이터 가공 장치(300)는 데이터 생성 장치(200)로부터 생성된 지도의 시설물 정보를 보정하거나, 생성된 지도에서 노이즈를 제거할 수 있다. 또한, 데이터 가공 장치(300)는 생성된 지도에서 특정 객체를 검출하거나, 데이터에 대한 경량화를 수행할 수 있다.
이와 같은 특징을 가지는, 데이터 가공 장치(300)는 데이터 수집 장치(100), 및 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 동기화 장치(300)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
지금까지 상술한 바와 같은, 데이터 수집 장치(100), 데이터 생성 장치(200) 및 데이터 가공 장치(300)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다.
도 2는 본 발명의 일 실시예에 따른 데이터 생성 장치의 논리적 구성도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 데이터 생성 장치(200)는 통신부(205), 입출력부(210), 건물 모델링부(215), 지도 갱신부(220) 및 저장부(225)를 포함하여 구성될 수 있다.
이와 같은, 데이터 생성 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(205)는 데이터 수집 장치(100) 및 데이터 가공 장치(300)와 데이터를 송수신할 수 있다. 구체적으로, 통신부(205)는 데이터 수집 장치(100)로부터 라이다에 의해 획득된 점군 데이터와 카메라를 통해 촬영된 이미지를 수신할 수 있다.
다음 구성으로, 입출력부(210)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다. 구체적으로, 입출력부(210)는 건물 모델링 및 지도 갱신에 필요한 설정 값들을 입력받을 수 있다. 또한, 입출력부(210)는 생성된 건물 모델 및 지도를 출력할 수 있다.
다음 구성으로, 건물 모델링부(215)는 항공 라이다로부터 획득된 항공 점군 데이터를 기초로 건물의 루프에 해당되는 점군을 획득하여 건물을 모델링할 수 있다.
이를 위해, 건물 모델링부(215)는 비행 장치에 장착된 라이다(lidar)로부터 획득된 항공 점군(point cloud) 데이터에서 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리할 수 있다.
구체적으로, 건물 모델링부(215)는 항공 점군 데이터를 사전 설정된 크기로 복셀화(voxelization)하고, 복셀 안에 있는 점들 중 중심점과 가장 가까운 점을 제외한 나머지 점을 삭제하여 균일 표본(uniform sample)을 획득할 수 있다.
하지만, 이에 한정된 것은 아니고, 건물 모델링부(215)는 항공 점군 데이터에 포함된 각 점의 검색 반경을 지정하고, 검색 반경 내에 최소 포인트 수에 대한 임계 값을 지정할 수 있다. 이후, 건물 모델링부(215)는 각 점의 반경 내에 존재하는 점의 개수가 임계 값보다 작은 경우 해당 점을 제거할 수 있다.
또한, 건물 모델링부(215)는 항공 점군 데이터에 포함된 각 점과 이웃한 점들 간의 거리 평균이 가우시안 분포에 따르는 것으로 가정하고, 사전 설정된 임계 값을 초과하는 점을 제거할 수 있다. 즉, 건물 모델링부(215)는 이웃한 점의 개수 및 표준편차 승수(standard deviation multiplier)를 지정하고, 각 점과 이웃한 점들 사이의 평균 거리를 산출하고, 산출된 평균 거리에 대한 표준 편차가 사전 설정된 임계치를 초과하는 경우 해당 점을 삭제할 수 있다.
이와 같이, 건물 모델링부(215)는 후술할 지면 및 비지면 분리, 루프 분리 및 건물의 모델링에 따른 연산 속도를 향상시키기 위하여, 수집된 항공 점군 데이터를 필터링 할 수 있다.
건물 모델링부(215)는 필터링 된 항공 점군 데이터를 평균 점간 거리보다 작게 그리드(grid)로 나누어 각 점에 행과 열의 인덱스(index)를 생성할 수 있다. 이때, 건물 모델링부(215)는 정의된 그리드 내에 점이 존재하지 않는 경우 보간법을 이용하여 그리드의 높이 값을 설정할 수 있다.
여기서, 보간법은 가장 가까운 점의 높이 값을 이용하여 해당 그리드의 높이 값을 설정할 수 있는 최근린보간법(nearest neighbor interpolation)이 적용될 수 있다.
또한, 건물 모델링부(215)는 사전 설정된 크기의 윈도우를 이용하여 열림(opening) 연산을 수행하고, 높이 임계 값을 기준으로 열림 연산을 수행하기 전과 후를 비교하여 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리할 수 있다. 즉, 건물 모델링부(215)는 임계 값 이상을 가지는 점군을 비지면에 해당되는 점으로 분류할 수 있다. 이때, 건물 모델링부(215)는 사전 설정된 윈도우의 크기 및 반복 횟수를 기준으로 반복 수행할 수 있다.
하지만, 이에 한정된 것은 아니고, 건물 모델링부(215)는 직물 시뮬레이션(cloth simulation) 기술을 적용하여 항공 점군 데이터에서 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리할 수 있다.
죽, 건물 모델링부(215)는 항공 점군 데이터에 포함된 점군을 상하 반전시킨 후 사전 설정된 크기의 그리드(grid)를 적용하여 직물을 구성할 입자 수를 결정할 수 있다. 또한, 건물 모델링부(215)는 항공 점군 데이터에서 가장 큰 높이 값을 이용하여 초기 직물 입자들의 위치를 정의한 후, 각 입자들의 높이 변화가 안정될 때까지 중력과 내력에 의해 하강과 상승을 반복할 수 있다. 이때, 건물 모델링부(215)는 최종 위치에 도달한 직물 표면(surface)까지의 수직 거리가 사전 설정된 값보다 작은 점을 지면점으로 분류할 수 있다.
한편, 상술한 직물 시뮬레이션 기술을 적용한 지면 및 비지면 분리 방법은 연산량이 적기 때문에 빠른 속도로 동작할 수 있으나, 특정 파라미터에서만 제대로 동작하는 문제점이 있다.
반대로, 상술한 열림 연산을 이용한 지면 및 비지면 분리 방법은 데이터에 관계없이 높은 정확도로 지면 및 비지면을 분리할 수 있으나, 윈도우 내에 있는 모든 점들을 반복적으로 계산하기 때문에 연산량이 많아 속도가 느린 문제점이 있다.
이에 따라, 건물 모델링부(215)는 열림 연산을 이용한 지면 및 비지면 분리 방법을 적용하되, 앞서 설명한 바와 같이 항공 점군 데이터에 대한 필터링을 수행할 수 있다.
이후, 건물 모델링부(215)는 분리된 비지면에 해당되는 점군을 옥트리(octree)를 기반으로 분할하여 점군을 복원시킬 수 있다. 즉, 건물 모델링부(215)는 분리된 비지면에 해당되는 점군에 대하여 가로, 세로 및 높이 방향으로 각각 양분하여 8개의 동일한 크기의 공간을 구하고, 작아진 노드에서 동일하게 8개의 크기의 양분을 반복하여 점군을 복원시킬 수 있다.
이를 통해, 건물 모델링부(215)는 높은 정확도를 확보함과 동시에 빠른 속도로 지면 및 비지면을 분리할 수 있다.
다음으로, 건물 모델링부(215)는 분류된 점군을 기초로 건물을 모델링할 수 있다.
구체적으로, 건물 모델링부(215)는 라이다로부터 방사되는 하나의 펄스(pulse)로부터 반사되는 반사 신호의 개수를 기초로 비지면에 해당되는 점군 중 건물의 루프에 해당되는 점군 및 나무에 해당되는 점군을 분류할 수 있다.
즉, 항공 라이다 데이터를 이용하여 건물에 대한 모델링을 수행하기 위해서는 건물에 해당되는 점군을 추출하는 것과 더불어, 나무와 같이 건물에 해당되지 않는 객체를 삭제하는 것이 중요한 요소이다.
이에 따라, 건물 모델링부(215)는 라이다의 하나의 펄스(pulse)로부터 반사되는 반사 신호의 개수가 사전 설정된 값을 초과하는 경우 나무로 식별할 수 있다.
즉, 라이다의 하나의 펄스가 라이다로부터 거리가 멀어짐에 따라 빔 발산(beam divergence)에 의해 반경(radius)이 커지면서, 객체의 종류에 따라 반사되는 반사 신호의 개수가 달라질 수 있다. 예를 들어, 건물은 루프의 형상에 따라 반사 신호가 한개에서 두개가 발생될 수 있다. 반면에, 나무는 펄스가 입사귀를 통과하기 때문에 세개 이상의 반사 신호가 발생될 수 있다.
이에 따라, 건물 모델링부(215)는 라이다의 펄스가 건물의 루프는 통과하지 못하고, 나무는 통과할 수 있다는 특성을 이용하여 반사 신호의 개수를 기초로 나무를 식별하고, 식별된 나무에 해당되는 점군을 삭제할 수 있다.
이때, 건물 모델링부(215)는 라이다의 하나의 펄스(pulse)로부터 반사되는 반사 신호 중 신호의 세기가 사전 설정된 값보다 작은 반사 신호에 해당되는 점을 삭제할 수 있다. 즉, 건물 모델링부(215)는 반사 신호의 세기를 기초로 불필요한 점을 삭제시킬 수 있다.
또한, 건물 모델링부(215)는 비지면에 해당되는 점군의 밀집도(density)를 기초로 클러스터링(clustering)을 수행하여 아웃라이너(outlier)를 제거하고, 상기 클러스터링 수행된 점군의 지면으로부터 높이 값을 기준으로 필터링하여 건물의 루프(roof)에 해당되는 점군을 분류할 수 있다. 즉, 건물 모델링부(215)는 클러스터링 수행된 점군을 식생(vegetation) 및 비식생(non-vehetation)으로 분리하고, 비식생에 해당되는 점군을 높이 값을 기준으로 필터링하여 건물의 루프(roof)에 해당되는 점군을 분류할 수 있다. 여기서, 건물 모델링부(215)는 클러스터링 수행된 점군의 공간 좌표 정보를 기초로 지형의 형태적 특징을 판단하여 식생 및 비식생을 분리할 수 있다.
한편, 상술한 바와 같이 분류된 건물의 루프에 해당되는 점군을 이용하여 건물에 대한 모델링을 수행하게 되면, 후술할 텍스쳐(texture) 과정에서 면의 각도가 일정하지 않기 때문에 오류가 발생될 수 있다.
이에 따라, 건물 모델링부(215)는 분류된 점군의 분포를 기초로 루프의 엣지(edge)를 추정하고, 추정된 엣지를 기준으로 분류된 점군의 외곽점을 피팅(fitting)할 수 있다.
이때, 건물 모델링부(215)는 분류된 점군에 포함된 각 점의 이웃점을 이용해 공분산 행렬(covariance matrix)을 구하고, 공분산 행렬에 대한 주성분 분석(PCA, Principal Component Analysis)을 통해 고유 벡터(eigen vector)를 구하고, 고유 벡터 사이의 각도가 임계 값 내에 포함되어 있는 두개의 고유 벡터를 루프의 엣지로 추정할 수 있다. 즉, 건물 모델링부(215)는 일반적인 건물의 루프 모서리의 각도가 90°라는 점을 이용하여 엣지의 주방향을 탐색하고, 선분(line segment)를 이루는 점들을 클러스터링 할 수 있다.
또한, 건물 모델링부(215)는 분류된 점군의 베이직 프리미티브(basic primitive)를 검출하고, 검출된 베이직 프리미티브에 따라 분류된 점군을 루프로 모델링할 수 있다. 즉, 건물 모델링부(215)는 건물의 루프 형태에 대한 플레인(plane), 실린더(cylinder) 등의 베이직 프리미티브를 검출하여, 루프의 형태를 파악 후 해당 베이직 프리미티브로 루프의 형태를 모델링할 수 있다. 다시 말하면, 건물 모델링부(215)는 기본적인 루프의 형태를 찾아내고, 복잡한 루프의 형태들을 기본적인 루프들의 조합으로 모델링할 수 있다.
이때, 건물 모델링부(215)는 모델링 된 루프 면들을 워터 타이트(watertight)한 모델로 생성하기 위하여 최적화를 진행할 수 있다. 예를 들어, 건물 모델링부(215)는 하기의 수학식으로 표현되는 비용함수(cost function)를 통해 최적화를 진행할 수 있다.
[수학식]
(여기서, X={xi|xi∈{0,1}}는 루프 면에 대한 이진 변수이다(이때 1은 survived를 의미하고, 그렇지 않으면 0이 될 수 있다,))
그리고, 건물 모델링부(215)는 라이다와 함께 설치된 카메라에 의해 촬영된 적어도 하나의 이미지의 위치 정보 및 카메라의 방향 정보를 기초로 적어도 하나의 이미지를 모델링 된 루프에 텍스처 매핑(texture mapping)을 수행할 수 있다. 예를 들어, 건물 모델링부(215)는 UV 매핑(UV mapping)을 통해 텍스처 매핑을 수행할 수 있다.
한편, 하나의 이미지를 이용하여 텍스처 매핑을 수행하는 경우, 루프에 해당되는 부분은 매핑이 잘되지만, 건물의 외벽의 경우 이미지에서 잘 나타나지 않기 때문에 다양한 각도에서의 이미지를 고려해야 한다.
이에 따라, 건물 모델링부(215)는 GPS 정보를 이용하여 카메라의 방향, 카메라의 위치 및 카메라로부터 모델링 대상인 건물까지의 거리를 이용하여 이미지 후보를 추출하고, 추출된 후보 이미지에서 건물의 외벽에 해당되는 영역을 추출하여 텍스처 매핑을 수행할 수 있다.
이때, 건물 모델링부(215)는 추출된 후보 이미지들에 대하여 노멀 벡터(normal vector)를 산출하고, 산출된 노멀 벡터를 기초로 카메라의 방향과 텍스처 매핑을 수행할 면의 방향 및 각도를 이용하여 후보 이미지들 중에서 적합한 이미지를 추출하여 텍스처 매핑을 수행할 수 있다.
다음 구성으로, 지도 갱신부(220)는 GPS 정보를 기초로 생성된 정밀도로지도에서 GPS 신호 감도가 낮은 영역에 대하여, 타 센서로부터 획득된 데이터를 이용하여 지도를 갱신할 수 있다.
즉, 지도 갱신부(220)는 GPS 정보를 기반으로 라이다로부터 획득된 점군 데이터 및 카메라에 의해 촬영된 이미지 중 적어도 하나를 기초로 생성된 기준맵을 사전 저장할 수 있다.
여기서, 기준맵은 GPS 정보를 기반으로 생성되었기 때문에 골목길과 같이 GPS 신호 감도가 낮은 지역에서는 지도가 제대로 생성되지 않거나, 오차가 심한 지도가 생성되는 문제점이 있었다.
이에 따라, 지도 갱신부(220)는 GPS 정보를 이용하지 않는 다른 방식의 지도 생성 방법을 기초로 저장된 기준맵을 갱신할 수 있는 방법을 제시한다.
구체적으로, 지도 갱신부(220)는 GPS(GPS, Global Positioning System) 장치에 의해 획득된 위치 정보 및 제1 라이다(lidar)로부터 획득된 제1 점군(point cloud) 데이터를 기초로 생성된 기준맵을 로드(load)할 수 있다.
예를 들어, 기준맵은 GPS 정보를 기반으로 점군 데이터에 이미지의 색상이 사상 된 점군 지도가 될 수 있다. 하지만, 이에 한정된 것은 아니고, 기준맵은 점군 데이터로만 생성된 점군 지도 또한 해당될 수 있다.
한편, 점군 데이터로 이루어진 기준맵을 모두 로드 할 경우, 로드를 수행하는 데 따른 많은 시간이 소요될 뿐만 아니라, 갱신이 불필요한 부분까지 로드되는 문제점이 발생될 수 있다.
이에 따라, 지도 갱신부(220)는 기준맵을 로드하는 과정에서 기준맵을 사전 설정된 크기의 그리드(grid)로 구획하고, 구획된 그리드 중 선택받은 하나의 그리드에 해당되는 기준맵을 로드할 수 있다.
다음으로, 지도 갱신부(220)는 기준맵 상의 경로를 주행하는 차량에 탑재된 제2 라이다로부터 획득된 제2 점군 데이터를 기초로 기준맵을 갱신할 수 있다. 여기서, 지도 갱신부(220)는 제2 라이다와 함께 설치된 제2 카메라에 의해 촬영된 제2 이미지를 함께 수신할 수 있다.
구체적으로, 지도 갱신부(220)는 기준맵에 포함된 제1 점군 데이터 및 제2 라이다로부터 획득된 제2 점군 데이터에 대한 NDT 매칭(normal distribution transform maching)을 통해 제2 라이다의 위치를 추정할 수 있다.
이때, 지도 갱신부(220)가 위치 추정을 수행하는 과정에서 차량의 주행 경로에 따라 중복되는 영역을 주행하는 경우가 발생될 수 있다. 이 경우, 갱신이 이미 이루어진 영역에 포함된 점군 데이터에 의해 기준맵의 점군 데이터가 소실되기 때문에, 기준이 될 점군이 존재하지 않아 추가로 갱신이 이루어져 맵이 틀어지는 문제점이 발생될 수 있다.
이에 따라, 기준맵 상의 경로를 주행하는 차량은 기준맵 상의 최외곽에 위치한 특정 지점으로부터 기준맵의 최외곽을 따라 이동하여 특정 지점으로 복귀한 후 사전 설정된 경로로 주행할 수 있다. 예를 들어, 차량은 갱신을 위한 영역을 크게 한바퀴 돌고 내부 영역으로 들어가서 점군 데이터를 획득하거나, 갱신을 위한 영역을 크게 한바퀴 돌고 우측 방향에 대해서만 점군 데이터를 획득할 수 있다.
또한, 차량의 위치를 추정하는 과정에서 제2 점군 데이터로 기준맵이 갱신되는 것을 방지하기 위하여, 지도 갱신부(220)는 차량의 위치를 추정하는 과정에서 제1 점군 데이터에 포함된 점군을 픽스(fix)시켜 기준맵에 대한 갱신을 비활성화 시킬 수 있다.
또한, 지도 갱신부(220)는 NDT 매칭을 진행하는 과정에서 복셀(voxel)간의 평균과 공분산의 오차를 합한 값인 일치도 스코어(fitness score)를 이용하여 상기 제1 점군 데이터 및 상기 제2 점군 데이터들 간의 정합도를 판단할 수 있다. 여기서, 일치도 스코어는 NDT 매칭 결과 포즈로 변환된 제2 점군 데이터의 각 점과, 제1 점군 데이터에서 가장 가까운 한 점을 대응시킨 후 그 거리가 일정 값보다 작은 점들의 거리 평균을 의미할 수 있다.
지도 갱신부(220)는 제1 점군 데이터 및 제2 점군 데이터 간의 일치도 스코어가 사전 설정된 값보다 낮은 적어도 하나의 점을 상기 제2 라이다를 통해 획득된 제2 점군 데이터를 기초로 갱신할 수 있다.
구체적으로, 지도 갱신부(220)는 제2 점군 데이터에서 특징점(feature point)를 추출할 수 있다. 예를 들어, 지도 갱신부(220)는 평면(planer point)와 가장 자리점(edge point)를 추출할 수 있다. 여기서, 지도 갱신부(220)는 프로세스를 가속화하기 위하여 제2 점군 데이터를 복셀화(voxelization)할 수 있다. 즉, 지도 갱신부(220)는 3D 공간을 사전 설정된 크기의 복셀(voxel)로 나눈 후, 각 복셀에서 대표점을 선택하여 제2 점군 데이터의 크기를 줄일 수 있다.
또한, 지도 갱신부(220)는 차량이 주행하는 과정에서 현재 프레임을 이전 프레임과 일치시켜 제2 라이다의 포즈를 추정할 수 있다. 즉, 지도 갱신부(220)는 현재 프레임의 특징점과 이전 프레임의 특징점을 매칭시켜 제2 라이다의 포즈를 추정할 수 있다. 여기서, 지도 갱신부(220)는 NDT(Normal Distributions Transform) 또는 ICP(Iterative Closest Point) 알고리즘을 통해 현재 프레임의 특징점과 이전 프레임의 특징점을 매칭시킬 수 있다. 그리고, 지도 갱신부(220)는 추정된 포즈를 기초로 각 지점의 위치 추정하고, 추정된 위치를 기초로 기준맵을 갱신할 수 있다.
한편, 시스템이 공간을 이동하고 환경 모델을 구축함에 따라 생성되는 지도에 반영되는 측정 오류 및 센서 드리프트가 계속 누적되게 된다. 이에 따라, 지도 갱신부(220)는 제2 라이다를 통해 획득된 제2 점군 데이터를 기초로 갱신하되, 루프 폐쇄를 검출(loop closure detection)하여, 누적된 오차를 수정할 수 있다.
또한, 지도 갱신부(220)는 제1 점군 데이터에서 GPS 장치로부터 특정된 위치 정보의 오차를 나타내는 헤딩 표준 편차(heading standard deviation)가 사전 설정된 값보다 낮은 점군을 추출할 수 있다. 여기서, 지도 갱신부(220)는 헤딩 표준 편차가 사전 설정된 값보다 낮은 점군을 제3 라이다로부터 획득된 제3 점군 데이터를 기초로 갱신할 수 있다.
즉, 지도 갱신부(220)는 헤딩 표준 편차가 사전 설정된 값보다 낮은 점군을 갱신이 필요한 점군으로 판단하고, 제3 라이다로부터 획득된 제3 점군 데이터를 기초로 기준맵을 갱신할 수 있다. 여기서, 제3 점군 데이터는 기준맵의 상공을 비행하는 비행 장치에 탑재된 제3 라이다로부터 획득된 항공 점군 데이터가 될 수 있다.
여기서, 지도 갱신부(220)는 상술한 건물 모델링부(215)를 통해 모델링 된 건물을 기준맵 상에 매핑시켜 기준맵을 갱신시킬 수 있다.
정리하면, 지도 갱신부(220)는 기준맵 상의 경로를 이동하는 차량에 설치된 제2 라이다에 의해 획득된 제2 점군 데이터를 기초로 주행 중 제2 라이다의 현재 위치를 실시간 추정할 수 있다. 이때, 지도 갱신부(220)는 위치 추정에 따른 위치 오차율의 임계값을 기준으로 기준맵의 정확도를 판단할 수 있다.
그리고, 지도 갱신부(220)는 위치 오차율을 기초로 갱신이 필요한 점군을 추출하고, 추출된 점군에 대하여 제2 점군 데이터를 기초로 갱신할 수 있다.
여기서, 지도 갱신부(220)는 보다 높은 정확도로 기준맵을 갱신시키기 위해서 GPS 오차율을 기준으로 추가 갱신이 필요한 점군을 식별할 수 있다.
그리고, 지도 갱신부(220)는 추가 갱신이 필요한 점군에 대하여 기준맵의 상공을 비행하는 비행 장치에 탑재된 제3 라이다로부터 획득된 제3 점군 데이터를 기초로 기준맵을 갱신시킬 수 있다.
도 3은 본 발명의 일 실시예에 따른 데이터 생성 장치의 하드웨어 구성도이다.
도 3을 참조하면, 데이터 생성 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다.
프로세서(250)는 메모리(255)에 상주된 소프트웨어(280a)에 따른 명령어를 기초로, 데이터 생성 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 데이터 수집 장치(100) 및 데이터 가공 장치(300)와 데이터를 송수신할 수 있다.
입출력장치(265)는 데이터 생성 장치(200)의 동작에 필요한 데이터를 입력 받고, 생성된 결과 값을 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(275)는 본 발명에 다른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 건물 모델링 방법 및 지도 갱신 방법의 수행에 필요한 정보들을 저장할 수 있다. 특히, 스토리지(275)는 건물 모델링 방법 및 지도 갱신 방법을 수행하기 위한 프로그램을 저장하는 데이터베이스(285)를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 소프트웨어(280a, 280b)는 프로세서(250)가 비행 장치에 장착된 라이다(lidar)로부터 획득된 항공 점군(point cloud) 데이터에서 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리하는 단계, 프로세서(250)가, 비지면에 해당되는 점군 중 건물의 루프(roof)에 해당되는 점군을 분류하는 단계 및 프로세서(250)가, 분류된 점군을 기초로 건물을 모델링하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 소프트웨어(280a, 280b)는 프로세서(250)가 GPS(GPS, Global Positioning System) 장치에 의해 획득된 위치 정보 및 제1 라이다(lidar)로부터 획득된 제1 점군(point cloud) 데이터를 기초로 생성된 기준맵을 로드(load)하는 단계 및 프로세서(250)가, 기준맵 상의 경로를 주행하는 차량에 탑재된 제2 라이다로부터 획득된 제2 점군 데이터를 기초로 기준맵을 갱신하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 도리 수 있다.
보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.
도 3에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 4는 본 발명의 일 실시예에 따른 건물 모델링 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 먼저 S110 단계에서 데이터 생성 장치는 항공 라이다로부터 획득된 항공 점군 데이터를 수신할 수 있다.
다음으로, S120 단계에서 데이터 생성 장치는 S110 단계에서 수신된 항공 점군 데이터에서 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리할 수 있다.
구체적으로, 데이터 생성 장치는 항공 점군 데이터를 사전 설정된 크기로 복셀화(voxelization)하고, 복셀 안에 있는 점들 중 중심점과 가장 가까운 점을 제외한 나머지 점을 삭제하여 균일 표본(uniform sample)을 획득하여 항공 점군 데이터를 필터링할 수 있다.
이후, 데이터 생성 장치는 필터링 된 항공 점군 데이터를 평균 점간 거리보다 작게 그리드(grid)로 나누어 각 점에 행과 열의 인덱스(index)를 생성할 수 있다. 이때, 건물 모델링부(215)는 정의된 그리드 내에 점이 존재하지 않는 경우 보간법을 이용하여 그리드의 높이 값을 설정할 수 있다.
또한, 데이터 생성 장치는 사전 설정된 크기의 윈도우를 이용하여 열림(opening) 연산을 수행하고, 높이 임계 값을 기준으로 열림 연산을 수행하기 전과 후를 비교하여 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리할 수 있다. 즉, 데이터 생성 장치는 임계 값 이상을 가지는 점군을 비지면에 해당되는 점으로 분류할 수 있다. 이때, 데이터 생성 장치는 사전 설정된 윈도우의 크기 및 반복 횟수를 기준으로 반복 수행할 수 있다.
이후, 데이터 생성 장치는 분리된 비지면에 해당되는 점군을 옥트리(octree)를 기반으로 분할하여 점군을 복원시킬 수 있다. 즉, 데이터 생성 장치는 분리된 비지면에 해당되는 점군에 대하여 가로, 세로 및 높이 방향으로 각각 양분하여 8개의 동일한 크기의 공간을 구하고, 작아진 노드에서 동일하게 8개의 크기의 양분을 반복하여 점군을 복원시킬 수 있다.
이를 통해, 데이터 생성 장치는 높은 정확도를 확보함과 동시에 빠른 속도로 지면 및 비지면을 분리할 수 있다.
다음으로, S130 단계에서 데이터 생성 장치는 비지면으로 분류된 점군에서 건물의 루프를 분류할 수 있다.
구체적으로, 데이터 생성 장치는 라이다로부터 방사되는 하나의 펄스(pulse)로부터 반사되는 반사 신호의 개수를 기초로 비지면에 해당되는 점군 중 건물의 루프에 해당되는 점군 및 나무에 해당되는 점군을 분류할 수 있다.
즉, 데이터 생성 장치는 라이다의 하나의 펄스(pulse)로부터 반사되는 반사 신호의 개수가 사전 설정된 값을 초과하는 경우 나무로 식별할 수 있다. 데이터 생성 장치는 라이다의 펄스가 건물의 루프는 통과하지 못하고, 나무는 통과할 수 있다는 특성을 이용하여 반사 신호의 개수를 기초로 나무를 식별하고, 식별된 나무에 해당되는 점군을 삭제할 수 있다.
또한, 데이터 생성 장치는 비지면에 해당되는 점군의 밀집도(density)를 기초로 클러스터링(clustering)을 수행하여 아웃라이너(outlier)를 제거하고, 상기 클러스터링 수행된 점군의 지면으로부터 높이 값을 기준으로 필터링하여 건물의 루프(roof)에 해당되는 점군을 분류할 수 있다. 즉, 데이터 생성 장치는 클러스터링 수행된 점군을 식생(vegetation) 및 비식생(non-vehetation)으로 분리하고, 비식생에 해당되는 점군을 높이 값을 기준으로 필터링하여 건물의 루프(roof)에 해당되는 점군을 분류할 수 있다. 여기서, 데이터 생성 장치는 클러스터링 수행된 점군의 공간 좌표 정보를 기초로 지형의 형태적 특징을 판단하여 식생 및 비식생을 분리할 수 있다.
이후, 데이터 생성 장치는 분류된 점군의 분포를 기초로 루프의 엣지(edge)를 추정하고, 추정된 엣지를 기준으로 분류된 점군의 외곽점을 피팅(fitting)할 수 있다.
이때, 데이터 생성 장치는 분류된 점군에 포함된 각 점의 이웃점을 이용해 공분산 행렬(covariance matrix)을 구하고, 공분산 행렬에 대한 주성분 분석(PCA, Principal Component Analysis)을 통해 고유 벡터(eigen vector)를 구하고, 고유 벡터 사이의 각도가 임계 값 내에 포함되어 있는 두개의 고유 벡터를 루프의 엣지로 추정할 수 있다. 즉, 건물 모델링부(215)는 일반적인 건물의 루프 모서리의 각도가 90°라는 점을 이용하여 엣지의 주방향을 탐색하고, 선분(line segment)를 이루는 점들을 클러스터링 할 수 있다.
또한, 데이터 생성 장치는 분류된 점군의 베이직 프리미티브(basic primitive)를 검출하고, 검출된 베이직 프리미티브에 따라 분류된 점군을 루프로 모델링할 수 있다. 즉, 데이터 생성 장치는 건물의 루프 형태에 대한 플레인(plane), 실린더(cylinder) 등의 베이직 프리미티브를 검출하여, 루프의 형태를 파악 후 해당 베이직 프리미티브로 루프의 형태를 모델링할 수 있다.
이때, 데이터 생성 장치는 모델링 된 루프 면들을 워터 타이트(watertight)한 모델로 생성하기 위하여 최적화를 진행할 수 있다.
그리고, S140 단계에서 데이터 생성 장치는 라이다와 함께 설치된 카메라에 의해 촬영된 적어도 하나의 이미지의 위치 정보 및 카메라의 방향 정보를 기초로 적어도 하나의 이미지를 모델링 된 루프에 텍스처 매핑(texture mapping)을 수행할 수 있다.
도 5는 본 발명의 일 실시예에 따른 지도 갱신 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 먼저 S210 단계에서 데이터 생성 장치는 GPS(GPS, Global Positioning System) 장치에 의해 획득된 위치 정보 및 제1 라이다(lidar)로부터 획득된 제1 점군(point cloud) 데이터를 기초로 생성된 기준맵을 로드(load)할 수 있다.
여기서, 데이터 생성 장치는 기준맵을 로드하는 과정에서 기준맵을 사전 설정된 크기의 그리드(grid)로 구획하고, 구획된 그리드 중 선택받은 하나의 그리드에 해당되는 기준맵을 로드할 수 있다.
다음으로, S210 단계에서 데이터 생성 장치는 기준맵에 포함된 제1 점군 데이터 및 제2 라이다로부터 획득된 제2 점군 데이터에 대한 NDT 매칭(normal distribution transform maching)을 통해 제2 라이다의 위치를 추정할 수 있다.
이때, 데이터 생성 장치는 차량의 위치를 추정하는 과정에서 제1 점군 데이터에 포함된 점군을 픽스(fix)시켜 기준맵에 대한 갱신을 비활성화 시킬 수 있다.
그리고, S230 단계에서 데이터 생성 장치는 제2 점군 데이터를 기초로 기준맵을 갱신할 수 있다.
구체적으로, 데이터 생성 장치는 NDT 매칭을 진행하는 과정에서 복셀(voxel)간의 평균과 공분산의 오차를 합한 값인 일치도 스코어(fitness score)를 이용하여 상기 제1 점군 데이터 및 상기 제2 점군 데이터들 간의 정합도를 판단할 수 있다.
데이터 생성 장치는 제1 점군 데이터 및 제2 점군 데이터 간의 일치도 스코어가 사전 설정된 값보다 낮은 적어도 하나의 점을 상기 제2 라이다를 통해 획득된 제2 점군 데이터를 기초로 갱신할 수 있다.
이때, 데이터 생성 장치는 제2 라이다를 통해 획득된 제2 점군 데이터를 기초로 갱신하되, 루프 폐쇄를 검출(loop closure detection)하여 누적된 오차를 수정할 수 있다.
또한, 데이터 생성 장치는 제1 점군 데이터에서 GPS 장치로부터 특정된 위치 정보의 오차를 나타내는 헤딩 표준 편차(heading standard deviation)가 사전 설정된 값보다 낮은 점군을 추출할 수 있다.
그리고, 데이터 생성 장치는 헤딩 표준 편차가 사전 설정된 값보다 낮은 점군을 제3 라이다로부터 획득된 제3 점군 데이터를 기초로 갱신할 수 있다.
즉, 데이터 생성 장치는 헤딩 표준 편차가 사전 설정된 값보다 낮은 점군을 갱신이 필요한 점군으로 판단하고, 제3 라이다로부터 획득된 제3 점군 데이터를 기초로 기준맵을 갱신할 수 있다.
여기서, 제3 점군 데이터는 기준맵의 상공을 비행하는 비행 장치에 탑재된 제3 라이다로부터 획득된 항공 점군 데이터가 될 수 있다.
도 6 내지 도 16은 본 발명의 일 실시예에 따른 건물 모델링 방법을 설명하기 위한 예시도이다.
구체적으로, 도 6은 항공 라이다를 통해 획득한 항공 점군 데이터를 나타낸 예시도이고, 도 7은 도 6의 항공 점군 데이터에 샘플링을 적용한 상태를 나타낸 예시도이다.
데이터 생성 장치는 도 6에 도시된 항공 점군 데이터에 0.5m의 폭을 갖는 복셀에 포함된 점군을 중심점과 가장 가까운 점으로 근사시켜 도 7에 도시된 바와 같은 항공 점군 데이터를 생성할 수 있다.
이후, 도 8에 도시된 바와 같이, 데이터 생성 장치는 사전 설정된 크기의 윈도우를 이용하여 열림(opening) 연산을 수행하고, 높이 임계 값을 기준으로 열림 연산을 수행하기 전과 후를 비교하여 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리할 수 있다.
이후, 도 9에 도시된 바와 같이, 데이터 생성 장치는 이후, 분리된 비지면에 해당되는 점군을 옥트리(octree)를 기반으로 분할하여 점군을 복원시킬 수 있다.
한편, 도 10은 도 6의 원본 항공 데이터에 샘플링을 적용하지 않고, 지면을 분리한 상태를 나타낸 예시도이다.
도 9 및 도 10을 참조하면, 본 발명의 일 실시예에 따라 항공 점군 데이터를 샘플링하고 지면을 분리한 후 복원을 수행한 데이터와, 원본 항공 데이터에 샘플링을 적용하지 않고 지면을 분리한 데이터를 비교한 결과, 95% 이상 동일함을 확인하였다. 또한, 원본 항공 데이터에 샘플링을 적용하지 않고 지면을 분리한 데이터는 작업 시간이 1800s 소요된 반면에, 본 발명의 일 실시예에 따라 항공 점군 데이터를 샘플링하고 지면을 분리한 후 복원을 수행한 데이터는 작업 시간이 15s로 120배 정도 향상된 것을 확인할 수 있었다.
한편, 도 11은 라이다로부터 방사되는 하나의 펄스(pulse)에 대하여 나무로부터 반사되는 반사 신호를 나타낸 예시도이다.
도 11에 도시된 바와 같이, 데이터 생성 장치는 라이다로부터 방사되는 하나의 펄스로부터 반사되는 반사 신호의 개수를 기초로 비지면에 해당되는 점군 중 건물의 루프에 해당되는 점군 및 나무에 해당되는 점군을 분류할 수 있다.
즉, 라이다의 하나의 펄스가 라이다로부터 거리가 멀어짐에 따라 빔 발산에 의해 반경이 커지면서, 객체의 종류에 따라 반사되는 반사 신호의 개수가 달라질 수 있다. 예를 들어, 건물은 루프의 형상에 따라 반사 신호가 한개에서 두개가 발생될 수 있다. 반면에, 나무는 펄스가 입사귀를 통과하기 때문에 세개 이상의 반사 신호가 발생될 수 있다.
이에 따라, 데이터 생성 장치는 라이다의 하나의 펄스(pulse)로부터 반사되는 반사 신호의 개수가 사전 설정된 값을 초과하는 경우 나무로 식별할 수 있다.
한편, 도 12는 건물의 루프를 분리하기 전 상태를 나타낸 예시도이고, 도 13은 건물의 루프를 분리한 후 상태를 나타낸 예시도이다.
도 12 및 도 13에 도시된 바와 같이 데이터 생성 장치는 비지면에 해당되는 점군의 밀집도를 기초로 클러스터링을 수행하여 아웃라이너를 제거하고, 상기 클러스터링 수행된 점군의 지면으로부터 높이 값을 기준으로 필터링하여 건물의 루프(a)에 해당되는 점군을 분류할 수 있다. 즉, 데이터 생성 장치는 클러스터링 수행된 점군을 식생 및 비식생으로 분리하고, 비식생에 해당되는 점군을 높이 값을 기준으로 필터링하여 건물의 루프(a)에 해당되는 점군을 분류한 후 건물의 루프(a)를 제외한 나머지 점군을 삭제시킬 수 있다.
한편, 도 14는 분류된 건물의 루프에 해당되는 점군을 피팅하는 과정을 나타낸 예시도이다.
(a)에 도시된 바와 같이, 분류된 건물의 루프에 해당되는 점군을 이용하여 건물에 대한 모델링을 수행하게 되면, 텍스쳐 과정에서 면의 각도가 일정하지 않기 때문에 오류가 발생될 수 있다.
이에 따라, (b)에 도시된 바와 같이, 데이터 생성 장치는 분류된 점군의 분포를 기초로 루프의 엣지(edge)를 추정하고, 추정된 엣지를 기준으로 분류된 점군의 외곽점을 피팅할 수 있다.
이때, 데이터 생성 장치는 분류된 점군에 포함된 각 점의 이웃점을 이용해 공분산 행렬을 구하고, 공분산 행렬에 대한 주성분 분석을 통해 고유 벡터를 구하고, 고유 벡터 사이의 각도가 임계 값 내에 포함되어 있는 두개의 고유 벡터를 루프의 엣지로 추정할 수 있다. 즉, 데이터 생성 장치는 일반적인 건물의 루프 모서리의 각도가 90°라는 점을 이용하여 엣지의 주방향을 탐색하고, 선분를 이루는 점들을 클러스터링 할 수 있다.
한편, 도 15에 도시된 바와 같이, 데이터 생성 장치는 분류된 점군의 베이직 프리미티브를 검출하고, 검출된 베이직 프리미티브에 따라 분류된 점군을 루프로 모델링할 수 있다.
여기서, 베이직 프리미티브는 건물의 루프(a)에서 프로그램에 의해 개별적인 실체로 그려지고 저장, 조작될 수 있는 선, 원, 곡선, 다각형 등과 같은 그래픽 디자인을 창작하는 데 필요한 요소(b)를 의미할 수 있다.
또한, 도 16에 도시된 바와 같이, 데이터 생성 장치는 추출된 후보 이미지들에 대하여 노멀 벡터(b)를 산출하고, 산출된 노멀 벡터(b)를 기초로 카메라의 방향(a)과 텍스처 매핑을 수행할 면의 방향 및 각도를 이용하여 후보 이미지들 중에서 적합한 이미지를 추출하여 텍스처 매핑을 수행할 수 있다.
도 17 및 도 18은 본 발명의 일 실시예에 따른 지도 갱신 방법을 설명하기 위한 예시도이다.
구체적으로, 도 17은 본 발명의 일 실시예에 따른 지도 갱신 방법을 적용하기 전 기준맵의 특정 영역을 나타낸 예시도이고, 도 18은 본 발명의 일 실시예에 따른 지도 갱신 방법을 적용한 상태를 나타낸 예시도이다.
도 17에 도시된 바와 같이, 기준맵은 GPS 정보를 기반으로 생성되었기 때문에 골목길과 같이 GPS 신호 감도가 낮은 영역(a)에서는 지도가 제대로 생성되지 않거나, 오차가 심한 지도가 생성되는 문제점이 있었다.
이에 따라, 데이터 생성 장치는 기준맵 상의 경로를 이동하는 차량에 설치된 제2 라이다에 의해 획득된 제2 점군 데이터를 기초로 주행 중 제2 라이다의 현재 위치를 실시간 추정할 수 있다. 이때, 데이터 생성 장치는 위치 추정에 따른 위치 오차율의 임계값을 기준으로 기준맵의 정확도를 판단할 수 있다.
그리고, 데이터 생성 장치는 위치 오차율을 기초로 갱신이 필요한 점군을 추출하고, 추출된 점군에 대하여 제2 점군 데이터를 기초로 갱신할 수 있다.
여기서, 데이터 생성 장치는 보다 높은 정확도로 기준맵을 갱신시키기 위해서 GPS 오차율을 기준으로 추가 갱신이 필요한 점군을 식별할 수 있다.
그리고, 데이터 생성 장치는 추가 갱신이 필요한 점군에 대하여 기준맵의 상공을 비행하는 비행 장치에 탑재된 제3 라이다로부터 획득된 제3 점군 데이터를 기초로 기준맵을 갱신시킬 수 있다.
이를 통해, 도 18에 도시된 바와 같이, 데이터 생성 장치는 GPS 정보를 기초로 생성된 정밀도로지도에서 GPS 신호 감도가 낮은 영역에 대하여, 타 센서로부터 획득된 데이터를 이용하여 지도를 갱신함으로써, 지도 상의 음영 지역을 효과적으로 개선할 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100 : 데이터 수집 장치 200 : 데이터 생성 장치
300 : 데이터 가공 장치
205 : 통신부 210 : 입출력부
215 : 건물 모델링부 220 : 지도 갱신부
225 : 저장부

Claims (10)

  1. 데이터 생성 장치가, 비행 장치에 장착된 라이다(lidar)로부터 획득된 항공 점군(point cloud) 데이터에서 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리하는 단계;
    상기 데이터 생성 장치가, 상기 비지면에 해당되는 점군 중 건물의 루프(roof)에 해당되는 점군을 분류하는 단계; 및
    상기 데이터 생성 장치가, 상기 분류된 점군을 기초로 건물을 모델링하는 단계; 를 포함하는 것을 특징으로 하고,
    상기 모델링 하는 단계는
    상기 분류된 점군의 분포를 기초로 상기 루프의 엣지(edge)를 추정하고, 상기 추정된 엣지를 기준으로 상기 분류된 점군의 외곽점을 피팅(fitting)하는 것을 특징으로 하며,
    상기 모델링 하는 단계는
    상기 분류된 점군에 포함된 각 점의 이웃점을 이용해 공분산 행렬(covariance matrix)을 구하고, 상기 공분산 행렬에 대한 주성분 분석(PCA, Principal Component Analysis)을 통해 고유 벡터(eigen vector)를 구하고, 상기 고유 벡터 사이의 각도가 임계 값 내에 포함되어 있는 두개의 고유 벡터를 상기 루프의 엣지로 추정하는 것을 특징으로 하고,
    상기 모델링 하는 단계는
    상기 분류된 점군의 베이직 프리미티브(basic primitive)를 검출하고, 상기 검출된 베이직 프리미티브에 따라 상기 분류된 점군을 루프로 모델링하는 것을 특징으로 하며,
    상기 모델링 하는 단계는
    상기 라이다와 함께 설치된 카메라에 의해 촬영된 적어도 하나의 이미지의 위치 정보 및 카메라의 방향 정보를 기초로 상기 적어도 하나의 이미지를 상기 모델링 된 루프에 텍스쳐 매핑(texture mapping)하는 것을 특징으로 하는, 항공 라이다를 이용한 건물 모델링 방법.
  2. 제1 항에 있어서, 상기 점군을 분리하는 단계는
    상기 항공 점군 데이터를 사전 설정된 크기로 복셀화(voxelization)하고, 복셀 안에 있는 점들 중 중심점과 가장 가까운 점을 제외한 나머지 점을 삭제하여 균일 표본(uniform sample)을 획득하는 것을 특징으로 하는, 항공 라이다를 이용한 건물 모델링 방법.
  3. 제2 항에 있어서, 상기 점군을 분리하는 단계는
    상기 획득한 균일 표본을 평균 점간 거리보다 작게 그리드(grid)로 나누어 각 점에 행과 열의 인덱스(index)를 생성하고, 상기 그리드 내에 점이 없는 경우 보간법을 이용하여 격자의 높이 값을 설정하고, 사전 설정된 크기의 윈도우를 이용하여 열림 연산을 수행하고, 높이 임계 값을 기준으로 상기 열림 연산을 수행하기 전과 후를 비교하여 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리하는 것을 특징으로 하는, 항공 라이다를 이용한 건물 모델링 방법.
  4. 제3 항에 있어서, 상기 점군을 분리하는 단계는
    상기 분리된 비지면에 해당되는 점군을 옥트리(octree)를 기반으로 분할하여 점군을 복원시키는 것을 특징으로 하는, 항공 라이다를 이용한 건물 모델링 방법.
  5. 제1 항에 있어서, 상기 점군을 분류하는 단계는
    상기 라이다의 하나의 펄스(pulse)로부터 반사되는 반사 신호의 개수를 기초로 상기 비지면에 해당되는 점군 중 건물의 루프에 해당되는 점군 및 나무에 해당되는 점군을 분류하는 것을 특징으로 하는, 항공 라이다를 이용한 건물 모델링 방법.
  6. 제5 항에 있어서, 상기 점군을 분류하는 단계는
    상기 라이다의 하나의 펄스(pulse)로부터 반사되는 반사 신호의 개수가 사전 설정된 값을 초과하는 경우 나무로 식별하는 것을 특징으로 하는, 항공 라이다를 이용한 건물 모델링 방법.
  7. 제1 항에 있어서, 상기 점군을 분류하는 단계는
    상기 라이다의 하나의 펄스(pulse)로부터 반사되는 반사 신호 중 신호의 세기가 사전 설정된 값보다 작은 반사 신호에 해당되는 점을 삭제하는 것을 특징으로 하는, 항공 라이다를 이용한 건물 모델링 방법.
  8. 제1 항에 있어서, 상기 점군을 분류하는 단계는
    상기 비지면에 해당되는 점군의 밀집도(density)를 기초로 클러스터링(clustering)을 수행하여 아웃라이너(outlier)를 제거하고, 상기 클러스터링 수행된 점군의 지면으로부터 높이 값을 기준으로 필터링하여 건물의 루프(roof)에 해당되는 점군을 분류하는 것을 특징으로 하는, 항공 라이다를 이용한 건물 모델링 방법.
  9. 제1 항에 있어서, 상기 모델링 하는 단계는
    모델링 된 루프 면들을 워터 타이트(watertight)한 모델로 생성하기 위하여 하기의 수학식으로 표현되는 비용함수(cost function)를 통해 최적화를 진행하는 것을 특징으로 하는, 항공 라이다를 이용한 건물 모델링 방법.
    [수학식]

    (여기서, X={xi|xi∈{0,1}}는 루프 면에 대한 이진 변수이다(이때 1은 survived를 의미하고, 그렇지 않으면 0이 될 수 있다,))
  10. 메모리(memory);
    송수신기(transceiver); 및
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
    상기 프로세서가, 비행 장치에 장착된 라이다(lidar)로부터 획득된 항공 점군(point cloud) 데이터에서 지면에 해당되는 점군 및 비지면에 해당되는 점군을 분리하는 단계;
    상기 프로세서가, 상기 비지면에 해당되는 점군 중 건물의 루프(roof)에 해당되는 점군을 분류하는 단계; 및
    상기 프로세서가, 상기 분류된 점군을 기초로 건물을 모델링하는 단계; 를 포함하여 실행시키되,
    상기 모델링 하는 단계는
    상기 분류된 점군의 분포를 기초로 상기 루프의 엣지(edge)를 추정하고, 상기 추정된 엣지를 기준으로 상기 분류된 점군의 외곽점을 피팅(fitting)하는 것을 특징으로 하며,
    상기 모델링 하는 단계는
    상기 분류된 점군에 포함된 각 점의 이웃점을 이용해 공분산 행렬(covariance matrix)을 구하고, 상기 공분산 행렬에 대한 주성분 분석(PCA, Principal Component Analysis)을 통해 고유 벡터(eigen vector)를 구하고, 상기 고유 벡터 사이의 각도가 임계 값 내에 포함되어 있는 두개의 고유 벡터를 상기 루프의 엣지로 추정하는 것을 특징으로 하고,
    상기 모델링 하는 단계는
    상기 분류된 점군의 베이직 프리미티브(basic primitive)를 검출하고, 상기 검출된 베이직 프리미티브에 따라 상기 분류된 점군을 루프로 모델링하는 것을 특징으로 하며,
    상기 모델링 하는 단계는
    상기 라이다와 함께 설치된 카메라에 의해 촬영된 적어도 하나의 이미지의 위치 정보 및 카메라의 방향 정보를 기초로 상기 적어도 하나의 이미지를 상기 모델링 된 루프에 텍스쳐 매핑(texture mapping)하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
KR1020230095432A 2023-07-21 2023-07-21 항공 라이다를 이용한 건물 모델링 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 KR102664699B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230095432A KR102664699B1 (ko) 2023-07-21 2023-07-21 항공 라이다를 이용한 건물 모델링 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230095432A KR102664699B1 (ko) 2023-07-21 2023-07-21 항공 라이다를 이용한 건물 모델링 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102664699B1 true KR102664699B1 (ko) 2024-05-10

Family

ID=91072090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230095432A KR102664699B1 (ko) 2023-07-21 2023-07-21 항공 라이다를 이용한 건물 모델링 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102664699B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101421128B1 (ko) * 2014-04-30 2014-07-22 국방과학연구소 레이저 레이더 기반의 3차원 원시 데이터를 이용한 건물 영역 추출 방법
KR20170007102A (ko) 2015-07-08 2017-01-18 고려대학교 산학협력단 3차원 지도 생성 및 표시 장치 및 방법
KR20170126740A (ko) * 2016-05-10 2017-11-20 서울대학교산학협력단 물체 탐지 장치 및 방법
JP6534296B2 (ja) * 2015-05-19 2019-06-26 株式会社パスコ 3次元モデル生成装置、3次元モデル生成方法、及びプログラム
KR20220162487A (ko) * 2021-06-01 2022-12-08 국방과학연구소 수치건물지면모델 생성 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101421128B1 (ko) * 2014-04-30 2014-07-22 국방과학연구소 레이저 레이더 기반의 3차원 원시 데이터를 이용한 건물 영역 추출 방법
JP6534296B2 (ja) * 2015-05-19 2019-06-26 株式会社パスコ 3次元モデル生成装置、3次元モデル生成方法、及びプログラム
KR20170007102A (ko) 2015-07-08 2017-01-18 고려대학교 산학협력단 3차원 지도 생성 및 표시 장치 및 방법
KR20170126740A (ko) * 2016-05-10 2017-11-20 서울대학교산학협력단 물체 탐지 장치 및 방법
KR20220162487A (ko) * 2021-06-01 2022-12-08 국방과학연구소 수치건물지면모델 생성 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Fayez et al., Automatic Filtering of Lidar Building Point Cloud in Case of Trees Associated to Building Roof, Remote Sensing, 17 January 2022* *

Similar Documents

Publication Publication Date Title
CN109061703B (zh) 用于定位的方法、装置、设备和计算机可读存储介质
CN110988912B (zh) 自动驾驶车辆的道路目标与距离检测方法、系统、装置
CN105667518B (zh) 车道检测的方法及装置
CN114419152B (zh) 一种基于多维度点云特征的目标检测与跟踪方法及系统
CN113485441A (zh) 结合无人机高精度定位和视觉跟踪技术的配网巡检方法
EP3707466A1 (en) Method of computer vision based localisation and navigation and system for performing the same
JP2019527832A (ja) 正確な位置特定およびマッピングのためのシステムおよび方法
CN109584294A (zh) 一种基于激光点云的路面点云提取方法和装置
CN110674705A (zh) 基于多线激光雷达的小型障碍物检测方法及装置
US20220163346A1 (en) Method and apparatus for generating a map for autonomous driving and recognizing location
Aguiar et al. Localization and mapping on agriculture based on point-feature extraction and semiplanes segmentation from 3D LiDAR data
Jiangui et al. A method for main road extraction from airborne LiDAR data in urban area
US20240144594A1 (en) Method for create map using aviation lidar and computer program recorded on record-medium for executing method therefor
KR102664699B1 (ko) 항공 라이다를 이용한 건물 모델링 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102616435B1 (ko) 지도 갱신 방법 및 이를 실행하기 위하여 기록매체에기록된 컴퓨터 프로그램
Soleimani et al. A disaster invariant feature for localization
CN115565072A (zh) 一种道路垃圾识别和定位方法、装置、电子设备及介质
CN113227713A (zh) 生成用于定位的环境模型的方法和系统
Huang et al. Ground filtering algorithm for mobile LIDAR using order and neighborhood point information
KR102675140B1 (ko) 텍스트 인식을 통한 시설물 관리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102626574B1 (ko) 카메라 및 라이다의 캘리브레이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102540636B1 (ko) 방향 정보를 포함한 지도 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102675138B1 (ko) 복수개의 라이다들의 캘리브레이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102616437B1 (ko) 라이다 및 관성측정장치의 캘리브레이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102618951B1 (ko) 시각적 매핑 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Legal Events

Date Code Title Description
GRNT Written decision to grant