KR102514812B1 - 라이다 및 관성 센서를 이용한 벽 기울기 맵 자동 생성을 위한 컴퓨터 시스템 및 그의 방법 - Google Patents

라이다 및 관성 센서를 이용한 벽 기울기 맵 자동 생성을 위한 컴퓨터 시스템 및 그의 방법 Download PDF

Info

Publication number
KR102514812B1
KR102514812B1 KR1020210068819A KR20210068819A KR102514812B1 KR 102514812 B1 KR102514812 B1 KR 102514812B1 KR 1020210068819 A KR1020210068819 A KR 1020210068819A KR 20210068819 A KR20210068819 A KR 20210068819A KR 102514812 B1 KR102514812 B1 KR 102514812B1
Authority
KR
South Korea
Prior art keywords
data map
point cloud
cloud data
walls
map
Prior art date
Application number
KR1020210068819A
Other languages
English (en)
Other versions
KR20220160769A (ko
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 KR1020210068819A priority Critical patent/KR102514812B1/ko
Publication of KR20220160769A publication Critical patent/KR20220160769A/ko
Application granted granted Critical
Publication of KR102514812B1 publication Critical patent/KR102514812B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/02Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses
    • 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/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • 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
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Data Mining & Analysis (AREA)
  • Geometry (AREA)
  • Optics & Photonics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

다양한 실시예들은 라이다 및 관성 센서를 이용한 벽 기울기 맵 자동 생성을 위한 컴퓨터 시스템 및 그의 방법을 제공한다. 다양한 실시예들에 따르면, 컴퓨터 시스템은 라이다 및 관성 센서를 갖고 벽 기울기 맵을 생성하도록 구현되며, 라이다 및 관성 센서를 통해 중력 보정된 점 군 데이터 맵을 생성하고, 점 군 데이터 맵에서 추출되는 벽들의 각각의 기울기를 측정하여, 점 군 데이터 맵에 기울기를 표현하고, 점 군 데이터 맵에서의 고유값들을 비교하여, 점 군 데이터 맵에서 적어도 하나의 비벽 물체를 제거하도록 구성될 수 있다.

Description

라이다 및 관성 센서를 이용한 벽 기울기 맵 자동 생성을 위한 컴퓨터 시스템 및 그의 방법{COMPUTER SYSTEM FOR AUTOMATIC WALL SLANT ANGLE MAP GENERATION USING LIDAR AND INERTIAL SENSOR, AND OPERATING METHOD OF THE SAME}
다양한 실시예들은 라이다(light detection and ranging; LiDAR) 및 관성 센서(inertial sensor)를 이용한 벽 기울기 맵 자동 생성을 위한 컴퓨터 시스템 및 그의 방법에 관한 것이다.
일반적으로, 건물의 기울기는 각 건물에 대해 수평계를 이용하여 수작업으로 측정된다. 그렇기에, 기울기를 측정하고자 하는 건물들의 수가 많을수록, 더 많은 시간과 노동력이 필요하다. 여러 종료의 수평계들이 있으나, 그 중 보편적으로 쓰이며 정확도가 높은 레이저 수평계의 원리는 빛을 쏘고 반사된 빛을 통해 물체를 감지하고, 이를 이용해 기울기를 측정하는 것이다. 라이다 역시 레이저 수평계와 동일한 특성을 지니고 있으며, 레이저 수평계는 하나의 빛을 쏘지만, 라이다는 많게는 128-레이(lay)까지 빛을 쏘며, 각 레이 마다 1024개 내지 2048개의 빛을 쏴서, 한번에 다수의 물체들을 탐지할 수 있다. 이에 따라, 라이다를 이용하여 복수의 건물들의 기울기를 한번에 측정할 수 있는 기술이 개발되고 있다.
하지만, 라이다 만을 이용하여, 건물의 기울기를 측정하는데 두 가지 문제가 있다. 첫번째 문제는, 다수의 빛으로 감지된 물체들은 건물뿐 만 아니라 나무, 차량, 사람 등의 비건물 물체들도 포함하기 때문에, 건물과 비건물 물체들이 분류되어야 한다는 것이다. 두번째 문제는, 기울기는 중력과 관련이 있는데 라이다의 좌표계로 점들이 나오기 때문에, 이를 조정해 주어야 한다는 것이다.
다양한 실시예들은, 라이다 및 관성 센서를 이용한 벽 기울기 맵 자동 생성을 위한 컴퓨터 시스템 및 그의 방법을 제공한다.
다양한 실시예들은 라이다 및 관성 센서를 갖는 컴퓨터 시스템의 벽 기울기 맵을 생성하는 방법을 제공하며, 상기 방법은, 상기 라이다 및 상기 관성 센서를 통해 중력 보정된 점 군 데이터 맵(gravity-corrected point cloud map)을 생성하는 단계, 상기 점 군 데이터 맵에서 추출되는 벽들의 각각의 기울기를 측정하여, 상기 점 군 데이터 맵에 상기 기울기를 표현하는 단계, 및 상기 점 군 데이터 맵에서의 고유값(eigenvalue)들을 비교하여, 상기 점 군 데이터 맵에서 적어도 하나의 비벽 물체를 제거하는 단계를 포함할 수 있다.
다양한 실시예들은 벽 기울기 맵을 생성하기 위한 컴퓨터 시스템을 제공하며, 상기 컴퓨터 시스템은, 메모리, 라이다, 관성 센서, 및 상기 메모리, 상기 라이다 및 상기 관성 센서와 각각 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성되는 프로세서를 포함하고, 상기 프로세서는, 상기 라이다 및 상기 관성 센서를 통해 중력 보정된 점 군 데이터 맵을 생성하고, 상기 점 군 데이터 맵에서 추출되는 벽들의 각각의 기울기를 측정하여, 상기 점 군 데이터 맵에 상기 기울기를 표현하고, 상기 점 군 데이터 맵에서의 고유값들을 비교하여, 상기 점 군 데이터 맵에서 적어도 하나의 비벽 물체를 제거하도록 구성될 수 있다.
다양한 실시예들은 라이다 및 관성 센서를 갖는 컴퓨터 시스템이 벽 기울기 맵을 생성하는 방법을 실행하기 위한 하나 이상의 프로그램들을 저장하기 위한 비-일시적인 컴퓨터-판독 가능 저장 매체를 제공하며, 상기 방법은, 상기 라이다 및 상기 관성 센서를 통해 중력 보정된 점 군 데이터 맵을 생성하는 단계, 상기 점 군 데이터 맵에서 추출되는 벽들의 각각의 기울기를 측정하여, 상기 점 군 데이터 맵에 상기 기울기를 표현하는 단계, 및 상기 점 군 데이터 맵에서의 고유값들을 비교하여, 상기 점 군 데이터 맵에서 적어도 하나의 비벽 물체를 제거하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 컴퓨터 시스템은 라이다와 관성 센서를 이용하여, 벽 기울기 맵을 효율적으로 생성할 수 있다. 구체적으로, 컴퓨터 시스템은 라이다를 통해 획득되는 점 군 데이터를 관성 센서를 통해 측정되는 중력 방향으로 보정하여, 보다 향상된 정확도의 중력 보정된 점 군 데이터 맵을 생성할 수 있다. 그리고, 컴퓨터 시스템은 중력 보정된 점 군 데이터 맵을 활용하여, 비건물 물체, 바꿔 말해 비벽 물체를 효과적으로 제외시킬 수 있다. 이를 통해, 컴퓨터 시스템은 중력 보정된 점 군 데이터 맵 및 중력 방향을 이용하여 실제 벽들의 각각에 대한 기울기를 보다 정확하게 측정하고, 이로써 벽 기울기 맵을 생성할 수 있다. 이러한 방식으로, 컴퓨터 시스템은 많은 수의 건물들에 대해 벽들의 기울기들을 용이하고 빠르게 측정하여, 벽 기울기 맵을 생성할 수 있다.
도 1은 다양한 실시예들에 따른 컴퓨터 시스템의 내부 구성을 도시하는 도면이다.
도 2는 다양한 실시예들에 따른 컴퓨터 시스템의 벽 기울기 맵을 생성하는 동작 흐름을 나타내는 개략도이다.
도 3은 다양한 실시예들에 따른 컴퓨터 시스템의 벽 기울기 맵을 생성하는 알고리즘을 나타내는 개략도이다.
도 4, 도 5a, 도 5b, 도 6, 도 7, 및 도 8은 다양한 실시예들에 따른 컴퓨터 시스템의 벽 기울기 맵을 생성하는 동작을 설명하기 위한 예시도들이다.
도 9는 다양한 실시예들에 따른 컴퓨터 시스템의 동작 방법을 도시하는 순서도이다.
도 10은 도 9의 중력 보정된 점 군 데이터 맵을 생성하는 단계를 구체적으로 도시하는 순서도이다.
도 11은 도 9의 중력 보정된 점 군 데이터 맵에 기울기를 표현하는 단계를 구체적으로 도시하는 순서도이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 설명된다.
도 1은 다양한 실시예들에 따른 컴퓨터 시스템(100)의 내부 구성을 도시하는 블록도이다. 도 2는 다양한 실시예들에 따른 컴퓨터 시스템(100)의 벽 기울기 맵을 생성하는 동작 흐름을 나타내는 개략도이다. 도 3은 다양한 실시예들에 따른 컴퓨터 시스템(100)의 벽 기울기 맵을 생성하는 알고리즘을 나타내는 개략도이다. 도 4, 도 5a, 도 5b, 도 6, 도 7, 및 도 8은 다양한 실시예들에 따른 컴퓨터 시스템(100)의 벽 기울기 맵을 생성하는 동작을 설명하기 위한 예시도들이다.
도 1을 참조하면, 다양한 실시예들에 따른 컴퓨터 시스템(100)은 입력 모듈(110), 출력 모듈(120), 라이다(130), 관성 센서(140), 메모리(150), 또는 프로세서(160) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에서, 컴퓨터 시스템(100)의 구성 요소들 중 적어도 하나가 생략될 수 있으며, 적어도 하나의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서, 컴퓨터 시스템(100)의 구성 요소들 중 적어도 두 개가 하나의 통합된 회로로 구현될 수 있다. 이 때, 컴퓨터 시스템(100)은 적어도 하나의 장치, 예컨대 적어도 하나의 서버(server) 또는 적어도 하나의 전자 장치(electronic device) 중 적어도 하나로 이루어질 수 있다. 예를 들면, 전자 장치는 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, 가전 기기, 의료 기기, 또는 로봇(robot) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에서, 컴퓨터 시스템(100)이 복수의 장치들을 포함하는 경우, 컴퓨터 시스템(100)의 구성 요소들은 장치들 중 하나에 구성되거나, 장치들 중 적어도 두 개에 분산되어 구성될 수 있다.
입력 모듈(110)은 컴퓨터 시스템(100)의 적어도 하나의 구성 요소에 사용될 신호를 입력할 수 있다. 입력 모듈(110)은, 사용자가 컴퓨터 시스템(100)에 직접적으로 신호를 입력하도록 구성되는 입력 장치, 주변의 변화를 감지하여 신호를 발생하도록 구성되는 센서 장치, 또는 외부 기기로부터 신호를 수신하도록 구성되는 수신 장치 중 적어도 하나를 포함할 수 있다. 예를 들면, 입력 장치는 마이크로폰(microphone), 마우스(mouse) 또는 키보드(keyboard) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에서, 입력 장치는 터치를 감지하도록 설정된 터치 회로(touch circuitry) 또는 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로 중 적어도 하나를 포함할 수 있다.
출력 모듈(120)은 컴퓨터 시스템(100)의 외부로 정보를 출력할 수 있다. 출력 모듈(120)은, 정보를 시각적으로 출력하도록 구성되는 표시 장치, 정보를 오디오 신호로 출력할 수 있는 오디오 출력 장치, 또는 정보를 무선으로 송신할 수 있는 송신 장치 중 적어도 하나를 포함할 수 있다. 예를 들면, 표시 장치는 디스플레이, 홀로그램 장치 또는 프로젝터 중 적어도 하나를 포함할 수 있다. 일 예로, 표시 장치는 입력 모듈(110)의 터치 회로 또는 센서 회로 중 적어도 하나와 조립되어, 터치 스크린으로 구현될 수 있다. 예를 들면, 오디오 출력 장치는 스피커 또는 리시버 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 수신 장치와 송신 장치는 통신 모듈로 구현될 수 있다. 통신 모듈은 컴퓨터 시스템(100)에서 외부 기기와 통신을 수행할 수 있다. 통신 모듈은 컴퓨터 시스템(100)와 외부 기기 간 통신 채널을 수립하고, 통신 채널을 통해, 외부 기기와 통신을 수행할 수 있다. 여기서, 외부 기기는 차량, 위성, 기지국, 서버 또는 다른 컴퓨터 시스템 중 적어도 하나를 포함할 수 있다. 통신 모듈은 유선 통신 모듈 또는 무선 통신 모듈 중 적어도 하나를 포함할 수 있다. 유선 통신 모듈은 외부 기기와 유선으로 연결되어, 유선으로 통신할 수 있다. 무선 통신 모듈은 근거리 통신 모듈 또는 원거리 통신 모듈 중 적어도 하나를 포함할 수 있다. 근거리 통신 모듈은 외부 기기와 근거리 통신 방식으로 통신할 수 있다. 예를 들면, 근거리 통신 방식은, 블루투스(Bluetooth), 와이파이 다이렉트(WiFi direct), 또는 적외선 통신(IrDA; infrared data association) 중 적어도 하나를 포함할 수 있다. 원거리 통신 모듈은 외부 기기와 원거리 통신 방식으로 통신할 수 있다. 여기서, 원거리 통신 모듈은 네트워크를 통해 외부 기기와 통신할 수 있다. 예를 들면, 네트워크는 셀룰러 네트워크, 인터넷, 또는 LAN(local area network)이나 WAN(wide area network)과 같은 컴퓨터 네트워크 중 적어도 하나를 포함할 수 있다.
라이다(130)는 3차원 공간에서 물체들을 탐지할 수 있다. 이 때, 라이다(130)는 빛을 발사해서 돌아오는 시간을 기반으로, 주변 환경의 물체들을 탐지할 수 있다. 예를 들면, 라이다(130)는 많게는 128-레이까지 빛을 발사하며, 각 레이 마다 1024개 내지 2048개의 빛을 발사하여, 한번에 다수의 물체들을 탐지할 수 있다. 여기서, 각 물체는 건물 또는 비건물 물체로 구분될 수 있으며, 바꿔 말해 벽 또는 비벽 물체로 구분될 수 있다. 예를 들면, 비벽 물체는 사람, 나무, 차량 등과 같은 벽 이외의 물체를 나타낼 수 있다. 이를 통해, 라이다(130)는 3차원 공간에 대한 점 군 데이터(point cloud data)를 생성하며, 점 군 데이터는 공간 상에서의 각 물체에 대한 3차원 형상을 나타내는 점(point)들로 이루어질 수 있다.
관성 센서(140)는 3차원 공간에서 중력 방향을 측정할 수 있다. 바꿔 말하면, 관성 센서(140)는 3차원 공간에서 물체들에 작용하는 중력 방향을 측정할 수 있다. 여기서, 관성 센서(140)는 관성 측정 장치(inertial measurement unit; IMU)를 포함할 수 있다.
메모리(150)는 컴퓨터 시스템(100)의 적어도 하나의 구성 요소에 의해 사용되는 다양한 데이터를 저장할 수 있다. 예를 들면, 메모리(150)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 하나를 포함할 수 있다. 데이터는 적어도 하나의 프로그램 및 이와 관련된 입력 데이터 또는 출력 데이터를 포함할 수 있다. 프로그램은 메모리(150)에 적어도 하나의 명령을 포함하는 소프트웨어로서 저장될 수 있으며, 운영 체제, 미들 웨어 또는 어플리케이션 중 적어도 하나를 포함할 수 있다.
프로세서(160)는 메모리(150)의 프로그램을 실행하여, 컴퓨터 시스템(100)의 적어도 하나의 구성 요소를 제어할 수 있다. 이를 통해, 프로세서(160)는 데이터 처리 또는 연산을 수행할 수 있다. 이 때, 프로세서(160)는 메모리(150)에 저장된 명령을 실행할 수 있다. 프로세서(160)는, 도 2 및 도 3에 도시된 바와 같이, 벽 기울기 맵(wall slant angle map)을 생성할 수 있다. 구체적으로, 프로세서(160)는 라이다(130) 및 관성 센서(140)를 통해 중력 보정된 점 군 데이터 맵(gravity-corrected point cloud map)을 생성하고, 중력 보정된 점 군 데이터 맵을 기반으로, 벽 기울기 맵을 생성할 수 있다.
프로세서(160)는 라이다(130) 및 관성 센서(140)를 통해 중력 보정된 점 군 데이터 맵(M)을 생성할 수 있다. 이 때, 프로세서(160)는 라이다(130)를 통해 정해진 지역에 대한 점 군 데이터(p)를 수집하면서, 관성 센서(140)를 통해 점 군 데이터(p)에 대응하는 중력 방향(g)을 측정할 수 있다. 그리고, 프로세서(160)는 점 군 데이터(p)에 대해 중력 방향(g)을 보정하여, 중력 보정된 점 군 데이터 맵(M)을 생성할 수 있다. 여기서, 프로세서(160)는 점 군 데이터(p)를 라이다(130)의 좌표계에서 관성 센서(140)의 좌표계로 변환한 다음, 해당 점 군 데이터(p)로부터 중력 보정된 점 군 데이터 맵(M)을 생성할 수 있다. 예를 들면, z-축이 중력 방향(g)에 나란한 축으로 정의될 수 있다(g=[0,0,-1]T). 이를 통해, 도 4에 도시된 바와 같은 중력 보정된 점 군 데이터 맵(M)이 생성될 수 있다.
프로세서(160)는 중력 보정된 점 군 데이터 맵(M)에서 벽(Pk)들을 추출할 수 있다. 이 때, 프로세서(160)는 중력 보정된 점 군 데이터 맵(M)에서 적어도 하나의 점 군(point group)을 기반으로 벽(Pk)들을 추출하면서, 나머지 점들을 제거할 수 있다. 여기서, 나머지 점들은 비건물 물체, 바꿔 말해 비벽 물체로 간주될 수 있다.
구체적으로, 프로세서(160)는 중력 보정된 점 군 데이터 맵(M)을 중력 방향(g)에 수직한 평면(Pproj)에 정사영시킬 수 있다. 예를 들면, z-축이 중력 방향(g)에 나란한 축으로 정의될 때, 프로세서(160)는, 도 5a에 도시된 바와 같이, 중력 보정된 점 군 데이터 맵(M)을 xy-평면(Pproj)에 정사영시킬 수 있다. 이를 통해, 프로세서(160)는 해당 평면(Pproj)에서 임계값(ε) 보다 더 높은 밀도의 적어도 하나의 점 군(point group)을 기반으로, 적어도 하나의 건물(
Figure 112021061631666-pat00001
)을 추출할 수 있다. 예를 들면, 프로세서(160)는, 도 5a에 도시된 바와 같이, 해당 평면을 일정한 사이즈의 복수의 윈도우(window; W)들로 분할하고, 각 윈도우(W) 내 점 군의 밀도를 계산할 수 있다. 그리고, 프로세서(160)는 각 윈도우(W)의 밀도를 임계값(ε)과 비교하여, 윈도우(W)들 중 적어도 하나를 검출하며, 이로써 검출된 윈도우(W)의 점 군으로부터 적어도 하나의 건물(
Figure 112021061631666-pat00002
)이 추출될 수 있다. 여기서, 복수의 건물(
Figure 112021061631666-pat00003
)들이 추출되는 경우, 건물(
Figure 112021061631666-pat00004
)들은 건물(
Figure 112021061631666-pat00005
)들 사이의 간격을 기반으로, 구분될 것이다. 그리고, 프로세서(160)는 적어도 하나의 건물(
Figure 112021061631666-pat00006
)을 추출하면서, 중력 보정된 점 군 데이터 맵(M)에서 나머지 점들을 비건물 물체의 점들로 간주하여, 제거할 수 있다.
이에 따라, 프로세서(160)는 중력 보정된 점 군 데이터 맵(M)에서 건물의 벽(Pk)들을 각각 추출할 수 있다. 예를 들면, 도 5b에 도시된 바와 같이, 중력 보정된 점 군 데이터 맵(M)에서 벽(Pk)들이 추출될 수 있다. 이 때, 프로세서(160)는 적어도 하나의 건물(
Figure 112021061631666-pat00007
)에 해당하는 적어도 하나의 점 군을 클러스터링하여, 복수, 예컨대 k 개의 벽(Pk)들을 추출할 수 있다. 이를 위해, 프로세서(160)는, 예컨대 k-평균 알고리즘(k-means clustering algorithm)을 이용할 수 있다.
프로세서(160)는 중력 방향(g)을 이용하여 벽(Pk)들의 각각의 기울기(θk)를 측정하고, 중력 보정된 점 군 데이터 맵(M)에 벽(Pk)들의 각각의 기울기(θk)를 표현할 수 있다. 이 때, 프로세서(160)는 벽(Pk)들의 각각의 법선을 검출할 수 있다. 여기서, 프로세서(160)는 벽(Pk)들로 추정되는 점들을 이용하여, 벽(Pk)들의 각각을 나타내는 평면 방정식(PR)을 구할 수 있다. 이를 위해, 프로세서(160)는, 예컨대 RANSAC(random sample consensus) 알고리즘을 이용할 수 있다. 그리고, 프로세서(160)는 벽(Pk)들의 각각의 평면 방정식(PR)을 기반으로, 벽(Pk)들의 각각의 법선을 검출할 수 있다. 이를 통해, 프로세서(160)는 법선과 중력 방향(g)에 나란한 축(예컨대, z-축)을 내적하여, 기울기(θk)를 측정할 수 있다. 또한, 프로세서(160)는 중력 보정된 점 군 데이터 맵(M)에 벽(Pk)들의 각각의 기울기(θk)를 표현할 수 있다. 예를 들면, 프로세서(160)는, 도 6에 도시된 바와 같이, 벽(Pk)들의 각각의 기울기(θk)를 상이한 컬러로 표현할 수 있다.
전술된 바와 같이 벽(Pk)들을 추출하더라도, 도 7에 도시된 바와 같이, 중력 보정된 점 군 데이터 맵(M)에 적어도 하나의 비벽 물체가 남아 있을 수 있다. 따라서, 프로세서(160)는 중력 보정된 점 군 데이터 맵(M)에 남아 있는 비벽 물체를 제거할 수 있다. 이 때, 프로세서(160)는 중력 보정된 점 군 데이터 맵(M)에서의 고유값들을 비교하여, 중력 보정된 점 군 데이터 맵(M)에서 비벽 물체를 제거할 수 있다. 여기서, 벽(Pk)들의 각각에 대해, 높이, 너비 및 두께가 정의되고, 두께가 높이 및 너비의 각각에 비해 작은 속성이 있을 수 있다. 그리고, 벽(Pk)들의 고유값들에는, 이러한 속성이 표현될 수 있다. 이러한 이유로, 프로세서(160)는 중력 보정된 점 군 데이터 맵(M)에서의 고유값들을 비교하여, 중력 보정된 점 군 데이터 맵(M)에서 벽(Pk)들과 비벽 물체를 구분할 수 있다. 예를 들면, 프로세서(160)는 벽(Pk)들의 각각을 나타내는 평면 방정식(PR)을 기반으로, 고유값 비율(γ)을 계산할 수 있다. 그리고, 고유값 비율(γ)이 기준값을 초과하는 부분을 실제 벽(Pk)들로 검출하고, 고유값 비율(γ)이 기준값 이하인 부분을 비벽 물체로 검출하며, 이로써 중력 보정된 점 군 데이터 맵(M)에서 비벽 물체를 제거할 수 있다. 이에 따라, 프로세서(160)는, 도 8에 도시된 바와 같이, 중력 보정된 점 군 데이터 맵(M)에서 비벽 물체를 제거할 수 있다.
결과적으로, 프로세서(160)는 벽 기울기 맵을 생성할 수 있다. 이 때, 도 8에 도시된 바와 같이, 벽 기울기 맵이 생성될 수 있다. 벽 기울기 맵은 실제 벽들의 위치 및 형상을 나타내며, 실제 벽들의 각각의 기울기가 상이한 컬러로 표현될 수 있다.
도 9는 다양한 실시예들에 따른 컴퓨터 시스템(100)의 동작 방법을 도시하는 순서도이다.
도 9을 참조하면, 컴퓨터 시스템(100)은 910 단계에서 라이다(130) 및 관성 센서(140)를 통해 중력 보정된 점 군 데이터 맵(M)을 생성할 수 있다. 프로세서(160)는 라이다(130) 및 관성 센서(140)를 동시에 구동시켜, 정해진 지역에 대한 점 군 데이터(p) 및 그에 대응하는 중력 방향(g)을 측정할 수 있다. 그리고, 프로세서(160)는 점 군 데이터(p) 및 중력 방향(g)을 이용하여, 중력 보정된 점 군 데이터 맵(M)을 생성할 수 있다. 이에 대해, 도 10을 참조하여, 보다 상세하게 후술될 것이다.
도 10은 도 9의 중력 보정된 점 군 데이터 맵을 생성하는 단계(910 단계)를 구체적으로 도시하는 순서도이다.
도 10을 참조하면, 프로세서(160)는 1010 단계에서 라이다(130)를 통해 정해진 지역에 대한 점 군 데이터(p)를 수집할 수 있다. 그리고, 프로세서(160)는 1020 단계에서 관성 센서(140)를 통해 점 군 데이터(p)에 대응하는 중력 방향(g)을 측정할 수 있다. 이 때, 프로세서(160)는 점 군 데이터(p)를 수집하면서, 중력 방향(g)을 측정할 수 있다.
다음으로, 프로세서(160)는 1030 단계에서 점 군 데이터(p)에 대해 중력 방향(g)을 보정하여, 중력 보정된 점 군 데이터 맵(M)을 생성할 수 있다. 여기서, 프로세서(160)는 점 군 데이터(p)를 라이다(130)의 좌표계에서 관성 센서(140)의 좌표계로 변환한 다음, 해당 점 군 데이터(p)로부터 중력 보정된 점 군 데이터 맵(M)을 생성할 수 있다. 예를 들면, z-축이 중력 방향(g)에 나란한 축으로 정의될 수 있다(g=[0,0,-1]T). 이를 통해, 도 4에 도시된 바와 같은 중력 보정된 점 군 데이터 맵(M)이 생성될 수 있다. 이 후, 프로세서(160)는 도 9로 리턴하여, 920 단계로 진행할 수 있다.
다시 도 9를 참조하면, 컴퓨터 시스템(100)은 920 단계에서 중력 보정된 점 군 데이터 맵(M)에서 추출되는 벽(Pk)들의 각각의 기울기(θk)를 측정하여, 중력 보정된 점 군 데이터 맵(M)에 기울기(θk)를 표현할 수 있다. 프로세서(160)는 중력 보정된 점 군 데이터 맵(M)에서 벽(Pk)들을 추출할 수 있다. 이 때, 프로세서(160)는 중력 보정된 점 군 데이터 맵(M)에서 적어도 하나의 점 군을 기반으로 벽(Pk)들을 추출하면서, 나머지 점들을 제거할 수 있다. 여기서, 나머지 점들은 비건물 물체, 바꿔 말해 비벽 물체로 간주될 수 있다. 그리고, 프로세서(160)는 중력 방향(g)을 이용하여 벽(Pk)들의 각각의 기울기(θk)를 측정하고, 중력 보정된 점 군 데이터 맵(M)에 벽(Pk)들의 각각의 기울기(θk)를 표현할 수 있다. 이에 대해, 도 11을 참조하여, 보다 상세하게 후술될 것이다.
도 11은 도 9의 중력 보정된 점 군 데이터 맵에 기울기를 표현하는 단계(920 단계)를 구체적으로 도시하는 순서도이다.
도 11을 참조하면, 프로세서(160)는 1110 단계에서 중력 보정된 점 군 데이터 맵(M)을 중력 방향(g)에 수직한 평면(Pproj)에 정사영시킬 수 있다. 예를 들면, z-축이 중력 방향(g)에 나란한 축으로 정의될 때, 프로세서(160)는, 도 5a에 도시된 바와 같이, 중력 보정된 점 군 데이터 맵(M)을 xy-평면(Pproj)에 정사영시킬 수 있다.
다음으로, 프로세서(160)는 1120 단계에서 해당 평면(Pproj)에서 임계값(ε) 보다 더 높은 밀도의 적어도 하나의 점 군(point group)을 기반으로, 적어도 하나의 건물(
Figure 112021061631666-pat00008
)을 추출할 수 있다. 예를 들면, 프로세서(160)는, 도 5a에 도시된 바와 같이, 해당 평면을 일정한 사이즈의 복수의 윈도우(window; W)들로 분할하고, 각 윈도우(W) 내 점 군의 밀도를 계산할 수 있다. 그리고, 프로세서(160)는 각 윈도우(W)의 밀도를 임계값(ε)과 비교하여, 윈도우(W)들 중 적어도 하나를 검출하며, 이로써 검출된 윈도우(W)의 점 군으로부터 적어도 하나의 건물(
Figure 112021061631666-pat00009
)이 추출될 수 있다. 여기서, 복수의 건물(
Figure 112021061631666-pat00010
)들이 추출되는 경우, 건물(
Figure 112021061631666-pat00011
)들은 건물(
Figure 112021061631666-pat00012
)들 사이의 간격을 기반으로, 구분될 것이다. 그리고, 프로세서(160)는 적어도 하나의 건물(
Figure 112021061631666-pat00013
)을 추출하면서, 중력 보정된 점 군 데이터 맵(M)에서 나머지 점들을 비건물 물체의 점들로 간주하여, 제거할 수 있다.
이어서, 프로세서(160)는 1130 단계에서 중력 보정된 점 군 데이터 맵(M)에서 건물의 벽(Pk)들을 각각 추출할 수 있다. 예를 들면, 도 5b에 도시된 바와 같이, 중력 보정된 점 군 데이터 맵(M)에서 벽(Pk)들이 추출될 수 있다. 이 때, 프로세서(160)는 적어도 하나의 건물(
Figure 112021061631666-pat00014
)에 해당하는 적어도 하나의 점 군을 클러스터링하여, 복수, 예컨대 k 개의 벽(Pk)들을 추출할 수 있다. 이를 위해, 프로세서(160)는, 예컨대 k-평균 알고리즘(k-means clustering algorithm)을 이용할 수 있다.
계속해서, 프로세서(160)는 1140 단계에서 중력 방향(g)을 이용하여 벽(Pk)들의 각각의 기울기(θk)를 측정할 수 있다. 이 때, 프로세서(160)는 벽(Pk)들의 각각의 법선을 검출할 수 있다. 여기서, 프로세서(160)는 벽(Pk)들로 추정되는 점들을 이용하여, 벽(Pk)들의 각각을 나타내는 평면 방정식(PR)을 구할 수 있다. 이를 위해, 프로세서(160)는, 예컨대 RANSAC 알고리즘을 이용할 수 있다. 그리고, 프로세서(160)는 벽(Pk)들의 각각의 평면 방정식(PR)을 기반으로, 벽(Pk)들의 각각의 법선을 검출할 수 있다. 이를 통해, 프로세서(160)는 법선과 중력 방향(g)에 나란한 축(예컨대, z-축)을 내적하여, 기울기(θk)를 측정할 수 있다.
마지막으로, 프로세서(160)는 1150 단계에서 중력 보정된 점 군 데이터 맵(M)에 벽(Pk)들의 각각의 기울기(θk)를 표현할 수 있다. 예를 들면, 프로세서(160)는, 도 6에 도시된 바와 같이, 벽(Pk)들의 각각의 기울기(θk)를 상이한 컬러로 표현할 수 있다. 이 후, 프로세서(160)는 도 9로 리턴하여, 930 단계로 진행할 수 있다.
다시 도 9를 참조하면, 컴퓨터 시스템(100)은 930 단계에서 중력 보정된 점 군 데이터 맵(M)에서의 고유값들을 비교하여, 중력 보정된 점 군 데이터 맵(M)에 남아 있는 적어도 하나의 비벽 물체를 제거할 수 있다. 전술된 바와 같이 벽(Pk)들을 추출하더라도, 도 7에 도시된 바와 같이, 중력 보정된 점 군 데이터 맵(M)에 비벽 물체가 남아 있을 수 있다. 여기서, 벽(Pk)들의 각각에 대해, 높이, 너비 및 두께가 정의되고, 두께가 높이 및 너비의 각각에 비해 작은 속성이 있을 수 있다. 그리고, 벽(Pk)들의 고유값들에는, 이러한 속성이 표현될 수 있다. 이러한 이유로, 프로세서(160)는 중력 보정된 점 군 데이터 맵(M)에서의 고유값들을 비교하여, 중력 보정된 점 군 데이터 맵(M)에서 벽(Pk)들과 비벽 물체를 구분할 수 있다. 예를 들면, 프로세서(160)는 벽(Pk)들의 각각을 나타내는 평면 방정식(PR)을 기반으로, 고유값 비율(γ)을 계산할 수 있다. 그리고, 고유값 비율(γ)이 기준값을 초과하는 부분을 실제 벽(Pk)들로 검출하고, 고유값 비율(γ)이 기준값 이하인 부분을 비벽 물체로 검출하며, 이로써 중력 보정된 점 군 데이터 맵(M)에서 비벽 물체를 제거할 수 있다. 이에 따라, 프로세서(160)는, 도 8에 도시된 바와 같이, 중력 보정된 점 군 데이터 맵(M)에서 비벽 물체를 제거할 수 있다.
결과적으로, 프로세서(160)는 벽 기울기 맵을 생성할 수 있다. 이 때, 도 8에 도시된 바와 같이, 벽 기울기 맵이 생성될 수 있다. 벽 기울기 맵은 실제 벽들의 위치 및 형상을 나타내며, 실제 벽들의 각각의 기울기가 상이한 컬러로 표현될 수 있다.
다양한 실시예들에 따르면, 컴퓨터 시스템(100)은 라이다(130)와 관성 센서(140)를 이용하여, 벽 기울기 맵을 효율적으로 생성할 수 있다. 구체적으로, 컴퓨터 시스템(100)은 라이다(130)를 통해 획득되는 점 군 데이터(g)를 관성 센서(140)를 통해 측정되는 중력 방향(g)으로 보정하여, 보다 향상된 정확도의 중력 보정된 점 군 데이터 맵(M)을 생성할 수 있다. 그리고, 컴퓨터 시스템(100)은 중력 보정된 점 군 데이터 맵(M)을 활용하여, 비건물 물체, 바꿔 말해 비벽 물체를 효과적으로 제외시킬 수 있다. 이를 통해, 컴퓨터 시스템(100)은 중력 보정된 점 군 데이터 맵(M) 및 중력 방향(g)을 이용하여 실제 벽들의 각각에 대한 기울기를 보다 정확하게 측정하고, 이로써 벽 기울기 맵을 생성할 수 있다. 이러한 방식으로, 컴퓨터 시스템(100)은 많은 수의 건물들에 대해 벽들의 기울기들을 용이하고 빠르게 측정하여, 벽 기울기 맵을 생성할 수 있다.
다양한 실시예들에 따른 컴퓨터 시스템(100)의 벽 기울기 맵을 생성하는 방법은, 라이다(130) 및 관성 센서(140)를 통해 중력 보정된 점 군 데이터 맵(M)을 생성하는 단계(910 단계), 중력 보정된 점 군 데이터 맵(M)에서 추출되는 벽(Pk)들의 각각의 기울기(θk)를 측정하여, 중력 보정된 점 군 데이터 맵(M)에 기울기(θk)를 표현하는 단계(920 단계, 1140 단계 및 1150 단계), 및 중력 보정된 점 군 데이터 맵(M)에서의 고유값들을 비교하여, 중력 보정된 점 군 데이터 맵(M)에서 적어도 하나의 비벽 물체를 제거하는 단계(930 단계)를 포함할 수 있다.
다양한 실시예들에 따르면, 중력 보정된 점 군 데이터 맵을 생성하는 단계(910 단계)는, 라이다(130)를 통해 정해진 지역에 대한 점 군 데이터(p)를 수집하면서, 관성 센서(140)를 통해 점 군 데이터(p)에 대응하는 중력 방향(g)을 측정하는 단계(1010 단계, 1020 단계), 및 점 군 데이터(p)에 대해 중력 방향(g)을 보정하여, 중력 보정된 점 군 데이터 맵(M)을 생성하는 단계(1030 단계)를 포함할 수 있다.
다양한 실시예들에 따르면, 벽(Pk)들의 각각에 대해, 높이, 너비 및 두께가 정의되고, 두께가 높이 및 너비의 각각에 비해 작은 속성이 있으며, 벽(Pk)들의 고유값들에는, 속성이 표현될 수 있다.
다양한 실시예들에 따르면, 비벽 물체를 제거하는 단계(930 단계)는, 점 군 데이터 맵(M)에서의 고유값들을 비교하여, 중력 보정된 점 군 데이터 맵(M)에서 벽(Pk)들과 비벽 물체를 구분하는 단계, 및 중력 보정된 점 군 데이터 맵(M)에서 비벽 물체를 제거하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 기울기(θk)를 표현하는 단계(920 단계, 1140 단계)는, 벽(Pk)들의 각각의 법선을 검출하는 단계, 및 법선과 중력 방향(g)에 나란한 축을 내적하여, 기울기(θk)를 측정하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 법선을 검출하는 단계는, 중력 보정된 점 군 데이터 맵(M)에서 벽(Pk)들로 추정되는 점들을 이용하여, 벽(Pk)들의 각각을 나타내는 평면 방정식(PR)을 구하는 단계, 및 평면 방정식(PR)을 기반으로, 벽(Pk)들의 각각의 법선을 검출하는 단계를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 방법은, 중력 보정된 점 군 데이터 맵(M)을 중력 방향(g)에 수직한 평면(Pproj)에 정사영시키는 단계(1110 단계), 평면(Pproj)에서 임계값(ε) 보다 더 높은 밀도의 적어도 하나의 점 군을 기반으로, 적어도 하나의 건물(
Figure 112021061631666-pat00015
)을 추출하는 단계(1120 단계), 및 중력 보정된 점 군 데이터 맵(M)에서 건물(
Figure 112021061631666-pat00016
)의 벽(Pk)들을 각각 추출하는 단계(1130 단계)를 더 포함할 수 있다.
다양한 실시예들에 따르면, 상기 방법은, 점 군을 건물(
Figure 112021061631666-pat00017
)로 추출하면서, 중력 보정된 점 군 데이터 맵(M)에서 나머지 점들을 제거하는 단계를 더 포함할 수 있다.
다양한 실시예들에 따른 컴퓨터 시스템(100)은 벽 기울기 맵을 생성하기 위한 것으로, 메모리(150), 라이다(130), 관성 센서(140), 및 메모리(150), 라이다(130) 및 관성 센서(140)와 각각 연결되고, 메모리(150)에 저장된 적어도 하나의 명령을 실행하도록 구성되는 프로세서(160)를 포함할 수 있다.
다양한 실시예들에 따르면, 프로세서(160)는, 라이다(130) 및 관성 센서(140)를 통해 중력 보정된 점 군 데이터 맵(M)을 생성하고, 중력 보정된 점 군 데이터 맵(M)에서 추출되는 벽(Pk)들의 각각의 기울기(θk)를 측정하여, 중력 보정된 점 군 데이터 맵(M)에 기울기(θk)를 표현하고, 중력 보정된 점 군 데이터 맵(M)에서의 고유값들을 비교하여, 중력 보정된 점 군 데이터 맵(M)에서 적어도 하나의 비벽 물체를 제거하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(160)는, 라이다(130)를 통해 정해진 지역에 대한 점 군 데이터(p)를 수집하면서, 관성 센서(140)를 통해 점 군 데이터(p)에 대응하는 중력 방향(g)을 측정하고, 점 군 데이터(p)에 대해 중력 방향(g)을 보정하여, 중력 보정된 점 군 데이터 맵(M)을 생성하도록 구성될 수 있다.
다양한 실시예들에 따르면, 벽(Pk)들의 각각에 대해, 높이, 너비 및 두께가 정의되고, 두께가 높이 및 너비의 각각에 비해 작은 속성이 있으며, 벽(Pk)들의 고유값들에는, 속성이 표현될 수 있다.
다양한 실시예들에 따르면, 프로세서(160)는, 중력 보정된 점 군 데이터 맵(M)에서의 고유값들을 비교하여, 중력 보정된 점 군 데이터 맵(M)에서 벽(Pk)들과 비벽 물체를 구분하고, 중력 보정된 점 군 데이터 맵(M)에서 비벽 물체를 제거하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(160)는, 벽(Pk)들의 각각의 법선을 검출하고, 법선과 중력 방향(g)에 나란한 축을 내적하여, 기울기(θk)를 측정하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(160)는, 중력 보정된 점 군 데이터 맵(M)에서 벽(Pk)들로 추정되는 점들을 이용하여, 벽(Pk)들의 각각을 나타내는 평면 방정식(PR)을 구하고, 평면 방정식(PR)을 기반으로, 벽(Pk)들의 각각의 법선을 검출하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(160)는, 중력 보정된 점 군 데이터 맵(M)을 중력 방향(g)에 수직한 평면(Pproj)에 정사영시키고, 평면(Pproj)에서 임계값(ε) 보다 더 높은 밀도의 적어도 하나의 점 군을 기반으로, 적어도 하나의 건물(
Figure 112021061631666-pat00018
)을 추출하고, 중력 보정된 점 군 데이터 맵(M)에서 건물(
Figure 112021061631666-pat00019
)의 벽(Pk)들을 각각 추출하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(160)는, 점 군을 건물(
Figure 112021061631666-pat00020
)로 추출하면서, 중력 보정된 점 군 데이터 맵(M)에서 나머지 점들을 제거하도록 구성될 수 있다.
이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성 요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
다양한 실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이 때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 그리고, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제 1) 구성 요소가 다른(예: 제 2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소가 상기 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제 3 구성 요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
다양한 실시예들에 따르면, 기술한 구성 요소들의 각각의 구성 요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성 요소들 중 하나 이상의 구성 요소들 또는 단계들이 생략되거나, 또는 하나 이상의 다른 구성 요소들 또는 단계들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성 요소들(예: 모듈 또는 프로그램)은 하나의 구성 요소로 통합될 수 있다. 이런 경우, 통합된 구성 요소는 복수의 구성 요소들 각각의 구성 요소의 하나 이상의 기능들을 통합 이전에 복수의 구성 요소들 중 해당 구성 요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 단계들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 단계들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 단계들이 추가될 수 있다.

Claims (20)

  1. 라이다 및 관성 센서를 갖는 컴퓨터 시스템의 벽 기울기 맵을 생성하는 방법에 있어서,
    상기 라이다 및 상기 관성 센서를 통해 중력 보정된 점 군 데이터 맵을 생성하는 단계;
    상기 점 군 데이터 맵에서 추출되는 벽들의 각각의 기울기를 측정하여, 상기 점 군 데이터 맵에 상기 기울기를 표현하는 단계; 및
    상기 점 군 데이터 맵에서의 고유값들을 비교하여, 상기 점 군 데이터 맵에서 적어도 하나의 비벽 물체를 제거하는 단계
    를 포함하고,
    상기 벽들의 각각에 대해, 높이, 너비 및 두께가 정의되고, 상기 두께가 상기 높이 및 상기 너비의 각각에 비해 작은 속성이 있고,
    상기 벽들의 고유값들에는, 상기 속성이 표현되고,
    상기 비벽 물체를 제거하는 단계는,
    상기 점 군 데이터 맵에서의 고유값들을 비교하여, 상기 점 군 데이터 맵에서 상기 벽들과 상기 비벽 물체를 구분하는 단계; 및
    상기 점 군 데이터 맵에서 상기 비벽 물체를 제거하는 단계
    를 포함하는,
    벽 기울기 맵을 생성하는 방법.
  2. 제 1 항에 있어서,
    상기 점 군 데이터 맵을 생성하는 단계는,
    상기 라이다를 통해 정해진 지역에 대한 점 군 데이터를 수집하면서, 상기 관성 센서를 통해 상기 점 군 데이터에 대응하는 중력 방향을 측정하는 단계; 및
    상기 점 군 데이터에 대해 상기 중력 방향을 보정하여, 상기 점 군 데이터 맵을 생성하는 단계
    를 포함하는,
    벽 기울기 맵을 생성하는 방법.
  3. 삭제
  4. 삭제
  5. 제 2 항에 있어서,
    상기 기울기를 표현하는 단계는,
    상기 벽들의 각각의 법선을 검출하는 단계; 및
    상기 법선과 상기 중력 방향에 나란한 축을 내적하여, 상기 기울기를 측정하는 단계
    를 포함하는,
    벽 기울기 맵을 생성하는 방법.
  6. 제 5 항에 있어서,
    상기 법선을 검출하는 단계는,
    상기 점 군 데이터 맵에서 상기 벽들로 추정되는 점들을 이용하여, 상기 벽들의 각각을 나타내는 평면 방정식을 구하는 단계; 및
    상기 평면 방정식을 기반으로, 상기 벽들의 각각의 법선을 검출하는 단계
    를 포함하는,
    벽 기울기 맵을 생성하는 방법.
  7. 제 2 항에 있어서,
    상기 점 군 데이터 맵을 상기 중력 방향에 수직한 평면에 정사영시키는 단계;
    상기 평면에서 임계값 보다 더 높은 밀도의 적어도 하나의 점 군을 기반으로, 적어도 하나의 건물을 추출하는 단계; 및
    상기 점 군 데이터 맵에서 상기 건물의 벽들을 각각 추출하는 단계
    를 더 포함하는,
    벽 기울기 맵을 생성하는 방법.
  8. 제 7 항에 있어서,
    상기 점 군을 상기 건물로 추출하면서, 상기 점 군 데이터 맵에서 나머지 점들을 제거하는 단계
    를 더 포함하는,
    벽 기울기 맵을 생성하는 방법.
  9. 벽 기울기 맵을 생성하기 위한 컴퓨터 시스템에 있어서,
    메모리;
    라이다;
    관성 센서; 및
    상기 메모리, 상기 라이다 및 상기 관성 센서와 각각 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성되는 프로세서를 포함하고,
    상기 프로세서는,
    상기 라이다 및 상기 관성 센서를 통해 중력 보정된 점 군 데이터 맵을 생성하고,
    상기 점 군 데이터 맵에서 추출되는 벽들의 각각의 기울기를 측정하여, 상기 점 군 데이터 맵에 상기 기울기를 표현하고,
    상기 점 군 데이터 맵에서의 고유값들을 비교하여, 상기 점 군 데이터 맵에서 적어도 하나의 비벽 물체를 제거하도록 구성되고,
    상기 벽들의 각각에 대해, 높이, 너비 및 두께가 정의되고, 상기 두께가 상기 높이 및 상기 너비의 각각에 비해 작은 속성이 있고,
    상기 벽들의 고유값들에는, 상기 속성이 표현되고,
    상기 프로세서는,
    상기 점 군 데이터 맵에서의 고유값들을 비교하여, 상기 점 군 데이터 맵에서 상기 벽들과 상기 비벽 물체를 구분하고,
    상기 점 군 데이터 맵에서 상기 비벽 물체를 제거하도록 구성되는,
    컴퓨터 시스템.
  10. 제 9 항에 있어서,
    상기 프로세서는,
    상기 라이다를 통해 정해진 지역에 대한 점 군 데이터를 수집하면서, 상기 관성 센서를 통해 상기 점 군 데이터에 대응하는 중력 방향을 측정하고,
    상기 점 군 데이터에 대해 상기 중력 방향을 보정하여, 상기 점 군 데이터 맵을 생성하도록 구성되는,
    컴퓨터 시스템.
  11. 삭제
  12. 삭제
  13. 제 10 항에 있어서,
    상기 프로세서는,
    상기 벽들의 각각의 법선을 검출하고,
    상기 법선과 상기 중력 방향에 나란한 축을 내적하여, 상기 기울기를 측정하도록 구성되는,
    컴퓨터 시스템.
  14. 제 13 항에 있어서,
    상기 프로세서는,
    상기 점 군 데이터 맵에서 상기 벽들로 추정되는 점들을 이용하여, 상기 벽들의 각각을 나타내는 평면 방정식을 구하고,
    상기 평면 방정식을 기반으로, 상기 벽들의 각각의 법선을 검출하도록 구성되는,
    컴퓨터 시스템.
  15. 제 10 항에 있어서,
    상기 프로세서는,
    상기 점 군 데이터 맵을 상기 중력 방향에 수직한 평면에 정사영시키고,
    상기 평면에서 임계값 보다 더 높은 밀도의 적어도 하나의 점 군을 기반으로, 적어도 하나의 건물을 추출하고,
    상기 점 군 데이터 맵에서 상기 건물의 벽들을 각각 추출하도록 구성되는,
    컴퓨터 시스템.
  16. 제 15 항에 있어서,
    상기 프로세서는,
    상기 점 군을 상기 건물로 추출하면서, 상기 점 군 데이터 맵에서 나머지 점들을 제거하도록 구성되는,
    컴퓨터 시스템.
  17. 라이다 및 관성 센서를 갖는 컴퓨터 시스템이 벽 기울기 맵을 생성하는 방법을 실행하기 위한 하나 이상의 프로그램들을 저장하기 위한 비-일시적인 컴퓨터-판독 가능 저장 매체에 있어서,
    상기 벽 기울기 맵을 생성하는 방법은,
    상기 라이다 및 상기 관성 센서를 통해 중력 보정된 점 군 데이터 맵을 생성하는 단계;
    상기 점 군 데이터 맵에서 추출되는 벽들의 각각의 기울기를 측정하여, 상기 점 군 데이터 맵에 상기 기울기를 표현하는 단계; 및
    상기 점 군 데이터 맵에서의 고유값들을 비교하여, 상기 점 군 데이터 맵에서 적어도 하나의 비벽 물체를 제거하는 단계
    를 포함하고,
    상기 벽들의 각각에 대해, 높이, 너비 및 두께가 정의되고, 상기 두께가 상기 높이 및 상기 너비의 각각에 비해 작은 속성이 있고,
    상기 벽들의 고유값들에는, 상기 속성이 표현되고,
    상기 비벽 물체를 제거하는 단계는,
    상기 점 군 데이터 맵에서의 고유값들을 비교하여, 상기 점 군 데이터 맵에서 상기 벽들과 상기 비벽 물체를 구분하는 단계; 및
    상기 점 군 데이터 맵에서 상기 비벽 물체를 제거하는 단계
    를 포함하는,
    비-일시적인 컴퓨터-판독 가능 저장 매체.
  18. 제 17 항에 있어서,
    상기 점 군 데이터 맵을 생성하는 단계는,
    상기 라이다를 통해 정해진 지역에 대한 점 군 데이터를 수집하면서, 상기 관성 센서를 통해 상기 점 군 데이터에 대응하는 중력 방향을 측정하는 단계; 및
    상기 점 군 데이터에 대해 상기 중력 방향을 보정하여, 상기 점 군 데이터 맵을 생성하는 단계
    를 포함하는,
    비-일시적인 컴퓨터-판독 가능 저장 매체.
  19. 삭제
  20. 삭제
KR1020210068819A 2021-05-28 2021-05-28 라이다 및 관성 센서를 이용한 벽 기울기 맵 자동 생성을 위한 컴퓨터 시스템 및 그의 방법 KR102514812B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210068819A KR102514812B1 (ko) 2021-05-28 2021-05-28 라이다 및 관성 센서를 이용한 벽 기울기 맵 자동 생성을 위한 컴퓨터 시스템 및 그의 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210068819A KR102514812B1 (ko) 2021-05-28 2021-05-28 라이다 및 관성 센서를 이용한 벽 기울기 맵 자동 생성을 위한 컴퓨터 시스템 및 그의 방법

Publications (2)

Publication Number Publication Date
KR20220160769A KR20220160769A (ko) 2022-12-06
KR102514812B1 true KR102514812B1 (ko) 2023-03-29

Family

ID=84407250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210068819A KR102514812B1 (ko) 2021-05-28 2021-05-28 라이다 및 관성 센서를 이용한 벽 기울기 맵 자동 생성을 위한 컴퓨터 시스템 및 그의 방법

Country Status (1)

Country Link
KR (1) KR102514812B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010169495A (ja) * 2009-01-22 2010-08-05 Mitsubishi Electric Corp 姿勢計算装置及び誘導装置及び姿勢計算装置の姿勢計算方法及び姿勢計算装置の姿勢計算プログラム
KR101268523B1 (ko) * 2012-03-19 2013-05-28 한국과학기술원 레이저 스캐너를 이용한 도시 환경에서의 빠른 주변 환경 인식 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102063534B1 (ko) * 2017-11-30 2020-01-09 주식회사 모빌테크 라이다를 이용한 지도 생성 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010169495A (ja) * 2009-01-22 2010-08-05 Mitsubishi Electric Corp 姿勢計算装置及び誘導装置及び姿勢計算装置の姿勢計算方法及び姿勢計算装置の姿勢計算プログラム
KR101268523B1 (ko) * 2012-03-19 2013-05-28 한국과학기술원 레이저 스캐너를 이용한 도시 환경에서의 빠른 주변 환경 인식 방법

Also Published As

Publication number Publication date
KR20220160769A (ko) 2022-12-06

Similar Documents

Publication Publication Date Title
US11021240B2 (en) Unmanned aerial vehicle
US10800522B2 (en) Flight control method and electronic device for supporting the same
US20140363073A1 (en) High-performance plane detection with depth camera data
KR102212825B1 (ko) 이미지를 기반으로 포즈 계산을 위한 지도의 최신성을 유지하는 방법 및 시스템
US11113896B2 (en) Geophysical sensor positioning system
TW201333429A (zh) 用於估計真實世界距離之校準的硬體感測器
US20160187134A1 (en) Information processing apparatus, information processing method, and recording medium
JP2013117795A (ja) 画像処理装置、画像処理方法
CN110648363A (zh) 相机姿态确定方法、装置、存储介质及电子设备
CN110178364B (zh) 用于3d场景的最佳扫描轨迹
US9228821B2 (en) Storage medium having information processing program stored thereon, information processing device, information processing system, and attitude calculation method
US20230169686A1 (en) Joint Environmental Reconstruction and Camera Calibration
WO2022183665A1 (zh) 初始化方法及装置、电子设备、存储介质和程序产品
KR102197911B1 (ko) 사용자의 운동 정보 확인방법 및 장치
US9238173B2 (en) Storage medium having information processing program stored thereon, information processing device, information processing system, and attitude calculation method
US20220366669A1 (en) Computer system of unsupervised learning with deep similarity for optical flow estimation and method thereof
KR101527211B1 (ko) 자기장 맵을 구축하는 방법 및 시스템
JP2014514682A (ja) 信頼度スコアに基づいた3次元モデルの併合
KR102514812B1 (ko) 라이다 및 관성 센서를 이용한 벽 기울기 맵 자동 생성을 위한 컴퓨터 시스템 및 그의 방법
KR102347232B1 (ko) 실외 3차원 지도 정보를 기반으로 비주얼 로컬리제이션을 제공하기 위한 전자 장치 및 그의 동작 방법
US20150187087A1 (en) Electronic device and method for using the same
KR20220084721A (ko) 로봇에 포함된 센서의 이상을 감지하는 방법 및 장치
CN112325905B (zh) 一种用于识别imu的测量误差的方法、装置及介质
KR102609573B1 (ko) 라이다 점군 밀도에 강인한 실외 맵 특징점 생성 기구 및 알고리즘
US20230186508A1 (en) Modeling planar surfaces using direct plane fitting

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right