KR20230031036A - 3차원 공간에 대한 점군을 정합하는 방법 및 서버 - Google Patents

3차원 공간에 대한 점군을 정합하는 방법 및 서버 Download PDF

Info

Publication number
KR20230031036A
KR20230031036A KR1020210113405A KR20210113405A KR20230031036A KR 20230031036 A KR20230031036 A KR 20230031036A KR 1020210113405 A KR1020210113405 A KR 1020210113405A KR 20210113405 A KR20210113405 A KR 20210113405A KR 20230031036 A KR20230031036 A KR 20230031036A
Authority
KR
South Korea
Prior art keywords
point cloud
reference points
point
regression model
points
Prior art date
Application number
KR1020210113405A
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 KR1020210113405A priority Critical patent/KR20230031036A/ko
Priority to PCT/KR2022/012339 priority patent/WO2023027420A1/ko
Publication of KR20230031036A publication Critical patent/KR20230031036A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

복수의 센싱 장치들로부터 3차원 공간에 대한 점군을 획득하는 통신 인터페이스, 메모리, 및 메모리에 저장된 하나 이상의 명령어들을 실행함으로써, 복수의 센싱 장치들 중 서로 인접한 센싱 장치들 각각에서 획득한, 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 중첩되는 부분에서 제1 점군에 속하는 제1 기준점들을 획득하고, 제2 점군에서 제1 기준점들에 대응되는 제2 기준점들을 획득하고, 획득된 제1 기준점들로 형성되는 제1 회귀 모델과 획득된 제2 기준점들로 형성되는 제2 회귀 모델 간의 오차가 최소화되도록, 제1 점군과 제2 점군을 정합하는 프로세서를 포함하는, 3차원 공간에 대한 점군을 정합하는 서버가 개시된다.

Description

3차원 공간에 대한 점군을 정합하는 방법 및 서버{METHOD AND SERVER FOR REGISTERING POINT CLOUDS OF THREE-DIMENSIONAL SPACE}
3차원 공간에 대한 점군을 정합하는 방법 및 서버에 관한 것이다.
라이다(Light Detection And Ranging, LiDAR)는 3차원 공간의 객체에 광을 방출한 후 반사된 광을 수신하여, 이로부터 3차원 공간에 대한 정보를 획득하는 기술이다. 라이다와 같은 센싱 장치의 기술 발전에 따라, 최근 다양한 산업 기술 분야에서 센싱 장치의 기술이 접목된 첨단 제어 기능들이 활용되고 있다.
하나의 센싱 장치가 센싱할 수 있는 감지 영역은 물리적인 한계가 있으므로, 넓은 공간에 대해서는 복수의 센싱 장치들을 적절히 배치하여야 한다. 복수의 센싱 장치들로부터 수신된 데이터에 기초하여, 넓은 공간에 대한 정보를 획득할 수 있다.
복수의 센싱 장치들로부터 획득한 3차원 공간에 대한 점군을 정확하게 정합하는 방법 및 서버에 관한 것이다.
제1 측면에 따른 3차원 공간에 대한 점군을 정합하는 방법은, 복수의 센싱 장치들로부터 3차원 공간에 대한 점군을 획득하는 단계, 상기 복수의 센싱 장치들 중 서로 인접한 센싱 장치들 각각에서 획득한, 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 중첩되는 부분에서 상기 제1 점군에 속하는 제1 기준점들을 획득하는 단계, 상기 제1 점군과 인접한 상기 제2 점군에서, 상기 획득된 제1 기준점들에 대응되는 제2 기준점들을 획득하는 단계, 및 상기 획득된 제1 기준점들로 형성되는 제1 회귀 모델과 상기 획득된 제2 기준점들로 형성되는 제2 회귀 모델 간의 오차가 최소화되도록, 상기 제1 점군과 상기 제2 점군을 정합하는 단계를 포함한다.
제2 측면에 따른 컴퓨터 판독 가능 저장매체는, 복수의 센싱 장치들로부터 3차원 공간에 대한 점군을 획득하는 명령어들, 상기 복수의 센싱 장치들 중 서로 인접한 센싱 장치들 각각에서 획득한, 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 중첩되는 부분에서 상기 제1 점군에 속하는 제1 기준점들을 획득하는 명령어들, 상기 제1 점군과 인접한 상기 제2 점군에서, 상기 획득된 제1 기준점들에 대응되는 제2 기준점들을 획득하는 명령어들, 및 상기 획득된 제1 기준점들로 형성되는 제1 회귀 모델과 상기 획득된 제2 기준점들로 형성되는 제2 회귀 모델 간의 오차가 최소화되도록, 상기 제1 점군과 상기 제2 점군을 정합하는 명령어들을 포함하는, 컴퓨터에서 실행시키기 위한 프로그램을 저장한다.
제3 측면에 따른 3차원 공간에 대한 점군을 정합하는 서버는, 복수의 센싱 장치들로부터 3차원 공간에 대한 점군을 획득하는 통신 인터페이스, 하나 이상의 명령어들을 저장하는 메모리, 및 상기 하나 이상의 명령어들을 실행함으로써, 상기 복수의 센싱 장치들 중 서로 인접한 센싱 장치들 각각에서 획득한, 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 중첩되는 부분에서 상기 제1 점군에 속하는 제1 기준점들을 획득하고, 상기 제1 점군과 인접한 상기 제2 점군에서, 상기 획득된 제1 기준점들에 대응되는 제2 기준점들을 획득하고, 상기 획득된 제1 기준점들로 형성되는 제1 회귀 모델과 상기 획득된 제2 기준점들로 형성되는 제2 회귀 모델 간의 오차가 최소화되도록, 상기 제1 점군과 상기 제2 점군을 정합하는 프로세서를 포함한다.
도 1은 복수의 센싱 장치들과 연결된 서버를 설명하기 위한 도면이다.
도 2는 센싱 장치의 구성 및 동작을 설명하기 위한 도면이다.
도 3은 서버의 구성 및 동작을 설명하기 위한 도면이다.
도 4는 서로 인접한 센싱 장치들 각각의 감지 영역과 중첩 영역을 설명하기 위한 도면이다.
도 5는 서로 인접한 센싱 장치들 각각에서 획득한, 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 중첩되는 부분을 설명하기 위한 도면이다.
도 6은 제1 점군과 제2 점군 간의 중첩되는 부분에서 발생하는 오차를 설명하기 위한 도면이다.
도 7은 소정의 기준면에 대응되는 제1 점군과 제2 점군을 소정의 시점에 기초하여 정렬한 모습을 나타낸 도면이다.
도 8은 제1 점군과 제2 점군 간의 중첩되는 부분에서 제1 점군에 속하는 제1 기준점들을 획득하는 프로세스를 설명하기 위한 도면이다.
도 9는 제1 기준점들에 대응되는 제2 기준점들을 획득하는 프로세스를 설명하기 위한 도면이다.
도 10은 제1 기준점들로 형성되는 제1 평면과 제2 기준점들로 형성되는 제2 평면을 정합하는 프로세스의 일 예를 설명하기 위한 도면이다.
도 11은 제1 점군과 제2 점군 간의 중첩되는 부분에서 발생하는 오차가 최소화된 결과를 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 3차원 공간에 대한 점군을 정합하는 방법을 설명하기 위한 흐름도이다.
이하에서는 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 실시예들의 특징을 보다 명확히 설명하기 위하여 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략한다.
한편, 본 명세서에서 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 다른 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들 더 포함할 수도 있다는 것을 의미한다.
또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
본 실시예들은 3차원 공간에 대한 점군을 정합하는 방법 및 서버에 관한 것으로서 이하의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명을 생략한다.
도 1은 복수의 센싱 장치(100)들과 연결된 서버(200)를 설명하기 위한 도면이다.
센싱 장치(100)는 3차원 공간에 대한 공간 정보로서 점군(point cloud data)을 획득할 수 있는 장치로서, 적어도 하나의 센서를 포함할 수 있다. 센싱 장치(100)는 3차원 공간에 광을 방출하고, 이에 대한 응답으로 수신된 광에 기초하여 3차원 공간에 대한 점군을 획득할 수 있다.
센싱 장치(100)는 실내 또는 실외에서, 3차원 공간을 감지할 수 있는 곳에 설치될 수 있다. 넓은 지역을 모니터링하기 위해서는, 센싱 장치(100)의 센서가 감지할 수 있는 범위에 따른 감지 영역을 고려하여 복수의 센싱 장치(100)들이 설치될 수 있다. 예를 들어, 복수의 센싱 장치(100)들은 서로 일정 간격을 두고 설치될 수 있다.
센싱 장치(100)는 3차원 공간을 감지하는 3D 센서로써 라이다(Light Detection and Ranging) 센서를 구비할 수 있으며, 체적형 점군(volumetric point cloud data)을 획득할 수 있다. 센싱 장치(100)는 필요에 따라, 레이더(radar) 센서, 적외선 영상 센서, 카메라 등과 같은 다양한 종류의 센서를 더 포함할 수도 있다. 센싱 장치(100)는 각 종류의 센서가 가지고 있는 감지 범위나 획득할 수 있는 데이터의 종류 등을 고려하여, 동종의 센서를 복수 개 이용하거나, 이종의 센서들을 조합하여 이용할 수도 있다.
서버(200)는 복수의 센싱 장치(100)들과 연결될 수 있다. 서버(200)는 복수의 센싱 장치(100)들로부터 3차원 공간에 대한 점군을 획득할 수 있다. 서버(200)는 획득한 3차원 공간에 대한 점군을 활용하여, 소정의 서비스를 제공할 수 있다. 사용자(User)는 사용자 단말(300)을 이용하여, 서버(200)에 접속할 수 있으며, 서버(200)가 제공하는 소정의 서비스를 제공받을 수 있다.
이를 위해, 서버(200)는 복수의 센싱 장치(100)들 각각으로부터 수신한 3차원 공간에 대한 점군으로부터, 3차원 공간 전체에 대해 일관성있는 하나의 센싱 결과를 만드는 것이 중요하다. 예를 들어, 복수의 센싱 장치(100)들이 동시에 감지하는 지역을 한 명의 사람이 지나가는 경우, 복수의 센싱 장치(100)들로부터 수신한 3차원 공간에 대한 점군이 정확하게 정합되지 않으면, 한 명의 사람이 여러 명인 것처럼 인식될 수 있는 문제가 발생할 수 있다. 이하, 복수의 센싱 장치(100)들로부터 획득한 3차원 공간에 대한 점군을 정확하게 정합하는 방법에 대해 설명한다.
도 2는 센싱 장치(100)의 구성 및 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시예에 따른 센싱 장치(100)는 메모리(110), 프로세서(120), 센서부(130), 통신 인터페이스(140)를 포함할 수 있다. 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 도 3에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다.
메모리(110)는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 메모리(110)는 프로세서(120)에 의해 실행 가능한 명령어들을 저장할 수 있다.
프로세서(120)는 메모리(110)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(110)에 저장할 수 있다. 프로세서(120)는 메모리(110)에 저장된 명령어들을 실행할 수 있다. 프로세서(120)는 센싱 장치(100)에 설치된 컴퓨터 프로그램을 실행할 수 있다. 또한, 프로세서(120)는 외부로부터 수신한 컴퓨터 프로그램 또는 애플리케이션을 메모리(110)에 저장하고 실행시킬 수 있다. 프로세서(120)는 적어도 하나의 프로세싱 모듈을 실행하여, 소정의 동작을 수행할 수 있다. 예를 들어, 프로세서(120)는 3차원 공간을 감지하는 프로그램을 실행하는 프로세싱 모듈을 실행 또는 제어할 수 있다. 프로세서(120)는 명령어 또는 컴퓨터 프로그램 등의 실행 결과에 대응되는 동작을 수행하도록 센싱 장치(100)에 포함된 다른 구성들을 제어할 수 있다.
센서부(130)는 3차원 공간을 감지하기 위한 적어도 하나의 센서를 포함할 수 있다. 센서부(130)는 3차원 공간에 광을 방출하는 발광부와 광을 수신하는 수광부를 포함할 수 있으며, 수광부에 수신된 광의 세기에 기초하여 3차원 공간에 대한 점군을 획득하는 전용 프로세서를 더 포함할 수도 있다. 센서부(130)는 감지 영역 내의 3차원 공간에 위치한 객체를 추적하기 위해, 3차원 공간에 대한 시간별 점군을 획득할 수 있다. 센서부(130)는 라이다(Light Detection and Ranging) 센서일 수 있으며, 3차원 라이다 센서를 포함하여 소정의 범위의 공간에 대한 데이터를 획득할 수 있다. 센서부(130)는 환경에 따라, 레이더(radar) 센서, 적외선 영상 센서, 초음파 센서, 이미지 센서 등과 같은 다양한 종류의 센서를 더 포함할 수도 있다.
통신 인터페이스(140)는 다른 장치 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신 인터페이스(140)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, RFID(Radio Frequency Identification), NFC(Near Field Communication), 블루투스(Bluetooth)와 같은 근거리 통신, 다양한 종류의 무선 통신 또는 동축 케이블이나 광케이블 등을 이용하는 유선 통신을 수행하는 통신 모듈이 포함될 수 있다. 통신 인터페이스(140)는 센싱 장치(100)의 외부에 위치한 장치와 연결되어 신호 또는 데이터를 송수신할 수 있다. 센싱 장치(100)는 통신 인터페이스(140)를 통해 서버(200)와 통신을 수행할 수 있다. 예를 들어, 센싱 장치(100)는 통신 인터페이스(140)를 통해 3차원 공간에 대한 점군을 활용하여 소정의 서비스를 제공하는 외부의 서버(200)와 연결될 수 있다.
센싱 장치(100)는 상기한 구성 외에, GPS와 같은 위치 센서를 더 포함할 수 있고, 센싱 장치(100)의 설치 환경에 따라 센싱 성능을 향상시키기 위한 구성들이 더 포함될 수 있다.
상기한 구성에 따른 일 예의 프로세서(120)는 메모리(110)에 저장된 하나 이상의 명령어들을 실행함으로써, 센서부(130)를 동작시켜, 3차원 공간에 대한 점군을 획득하고, 통신 인터페이스(140)를 통해 3차원 공간에 대한 점군을 서버(200)에 전송할 수 있다. 센싱 장치(100)는 센싱 장치(100)를 식별할 수 있는 정보를 3차원 공간에 대한 점군과 함께 전송할 수 있다.
도 3은 서버(200)의 구성 및 동작을 설명하기 위한 도면이다.
서버(200)는 3차원 공간에 대한 점군에 기초하여, 3차원 공간 상의 객체를 검출하고, 3차원 공간을 모니터링하는 일련의 프로세싱을 처리할 수 있다. 이를 위해, 서버(200)는 복수의 센싱 장치(100)들로부터 각각의 센싱 장치(100)가 획득한 3차원 공간에 대한 점군을 수신하고, 본 개시에 따른 3차원 공간에 대한 점군을 정합하는 프로세스를 수행할 수 있다. 서버(200)는 클라우드 컴퓨팅과 같은 기술로 구현될 수 있다. 서버(200)는 센싱 장치(100)와 고속의 데이터 통신을 수행할 수 있다. 서버(200)는 그 명칭에 한정되지 않고, 컴퓨팅 디바이스, 오퍼레이터, 콘솔 장치 등으로 대체될 수 있다.
도 3을 참조하면, 서버(200)는 메모리(210), 프로세서(220), 통신 인터페이스(230), 사용자 인터페이스 장치(240)를 포함할 수 있다. 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 도 3에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다.
도 3의 블록도의 각 구성요소는 서버(200)의 구현 방식에 따라 분리, 추가, 또는 생략될 수 있다. 즉, 구현 방식에 따라 하나의 구성요소가 2 이상의 구성요소로 세분화되거나, 2 이상의 구성요소가 하나의 구성요소로 합쳐질 수도 있고, 일부 구성요소가 더 추가되거나 제거될 수 있다. 서버(200)는 물리적으로 나눠진 복수의 장치들로 구성될 수도 있고, 하나로 통합된 형태일 수도 있다.
메모리(210)는 프로세서(220)에 의해 실행 가능한 명령어들을 저장할 수 있다. 메모리(210)는 소프트웨어 또는 프로그램을 저장할 수 있다.
프로세서(220)는 메모리(210)에 저장된 명령어들을 실행할 수 있다. 프로세서(220)는 서버(200)의 전반적인 제어를 수행할 수 있다. 프로세서(220)는 통신 인터페이스(230)를 통해 수신되는 정보 및 요청 사항을 획득하고, 수신되는 정보를 스토리지(미도시)에 저장할 수 있다. 또한, 프로세서(220)는 수신되는 정보를 가공할 수 있다. 예를 들어, 프로세서(220)는 센싱 장치(100)로부터 수신되는 3차원 공간에 대한 점군 정보를 활용하여 소정의 서비스를 제공하는데 이용되는 정보를 획득할 수 있다.
또한, 프로세서(220)는 관리자의 단말로부터 획득된 요청 사항에 대한 응답으로써, 스토리지(미도시)에 저장된 데이터 또는 정보를 이용하여, 통신 인터페이스(230)를 통해 관리자의 단말에 요청 사항에 대응되는 정보를 전송할 수 있다.
통신 인터페이스(230)는 다른 장치 또는 네트워크와 유무선 통신을 수행할 수 있다. 통신 인터페이스(230)는 서버(200)의 외부에 위치한 장치와 연결되어 신호 또는 데이터를 송수신할 수 있다. 서버(200)는 통신 인터페이스(230)를 통해 센싱 장치(100)와 통신을 수행하거나, 네트워크로 연결된 다른 서버와도 연결될 수 있다.
사용자 인터페이스 장치(240)는 사용자로부터 입력을 수신하는 입력부와 정보를 제공하는 출력부를 포함할 수 있다. 입력부는 사용자로부터 다양한 형태의 입력을 받을 수 있다. 출력부는 표시 패널 및 표시 패널을 제어하는 컨트롤러를 포함할 수 있으며, LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, AM-OLED(Active-Matrix Organic Light-Emitting Diode), 및 PDP(Plasma Display Panel) 등과 같은 다양한 방식으로 구현될 수 있다.
사용자 인터페이스 장치(240)는 도 3에 도시된 바와 같이, 서버(200)에 포함된 구성일 수도 있으나, 이에 제한되는 것은 아니다. 서버(200)를 통해 서비스를 제공하는 서비스 제공자 또는 관리자는 별도의 단말을 이용하여 서버(200)에 접속하여, 단말을 통해, 서버(200)에 입력을 전송하거나 서버(200)로부터 출력을 수신할 수 있다.
스토리지(미도시)는 서버(200)가 기기의 제어에 활용하거나 소정의 서비스를 제공하기 위해 필요한 각종 소프트웨어 및 정보들을 저장할 수 있다. 예를 들어, 스토리지(미도시)는 서버(200)에서 실행되는 프로그램, 애플리케이션, 및 소정의 서비스에 이용되는 각종 데이터 또는 정보를 저장할 수 있다.
상기한 구성에 따라, 서버(200)는 통신 인터페이스(230)를 통해 센싱 장치(100)로부터 3차원 공간에 대한 점군을 획득할 수 있다. 서버(200)는 복수의 센싱 장치(100)들로부터 3차원 공간에 대한 점군을 획득할 수 있다. 서버(200)는 각 센싱 장치(100)로부터 획득한 3차원 공간에 대한 점군을 구별할 수 있도록, 각 센싱 장치(100)로부터 식별 정보를 수신하거나 각 센싱 장치(100)에 대응되는 식별 정보를 생성하여, 획득한 3차원 공간에 대한 점군을 대응시켜 서버(200) 내에 저장할 수 있다. 서버(200)는 센싱 장치(100)의 식별 정보와 센싱 장치(100)의 위치를 대응시켜 저장한 룩업 테이블을 가지고 있을 수 있다. 서버(200)는 센싱 장치(100)의 식별 정보를 이용하여, 서로 인접한 센싱 장치들을 확인할 수 있다.
도 4는 서로 인접한 센싱 장치들 각각의 감지 영역과 중첩 영역을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 제1 센싱 장치(100-A)는 제1 감지 영역 내의 3차원 공간에 대한 점군을 획득할 수 있고, 제2 센싱 장치(100-B)는 제2 감지 영역 내의 3차원 공간에 대한 점군을 획득할 수 있다. 제1 센싱 장치(100-A)와 제2 센싱 장치(100-B)는 센서의 종류에 따라 소정의 시야각과 감지 한계 거리를 가질 수 있으며, 이에 따라 3차원 공간 내의 객체를 검출할 수 있는 감지 영역이 정해질 수 있다. 제1 센싱 장치(100-A)와 제2 센싱 장치(100-B)는 각각 제1 감지 영역과 제2 감지 영역 내의 객체를 모니터링하는데 이용될 수 있다.
제1 센싱 장치(100-A)와 제2 센싱 장치(100-B)와 같이, 서로 인접한 위치에 있는 경우, 제1 센싱 장치(100-A)에 대응되는 제1 감지 영역과 제2 센싱 장치(100-B)에 대응되는 제2 감지 영역 간에 서로 겹치는 중첩 영역이 존재할 수 있다. 모니터링하려는 전체 공간에 대하여 빈틈없이 모니터링하기 위해서는, 인접하는 센싱 장치(100)들은 감지 영역들 간에 중첩 영역이 생기는 위치에 설치되어 있어야 한다.
제1 센싱 장치(100-A)는 제1 감지 영역 내의 3차원 공간에 대한 점군을 서버(200)로 전송할 수 있다. 제2 센싱 장치(100-B)는 제2 감지 영역 내의 3차원 공간에 대한 점군을 서버(200)로 전송할 수 있다. 서버(200)는 서로 인접한 제1 센싱 장치(100-A)와 제2 센싱 장치(100-B) 각각으로부터 3차원 공간에 대한 점군을 획득할 수 있다.
도 5는 서로 인접한 센싱 장치들 각각에서 획득한, 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 중첩되는 부분을 설명하기 위한 도면이다.
서버(200)는 서로 인접한 센싱 장치들로부터 획득한 3차원 공간에 대한 점군들을 각 센싱 장치(100)의 위치와 점군의 대략적인 형태 등에 기초하여, 정렬시킬 수 있다. 도 5를 참조하면, 서버(200)가 서로 인접한 센싱 장치들을 통해 획득한, 소정의 기준면에 대응되는 제1 점군과 제2 점군이 정렬된 모습을 나타내고 있다. 소정의 기준면에 수직인 방향의 시점에서 정렬된 두 점군을 보면, 중첩 영역에서 두 점군 간의 중첩되는 부분이 확인되며, 두 점군 간의 정렬에 문제가 없는 것처럼 보인다.
도 6은 제1 점군과 제2 점군 간의 중첩되는 부분에서 발생하는 오차를 설명하기 위한 도면이다.
도 6을 참조하면, 앞서, 도 5에서 확인한 정렬된 두 점군을 소정의 기준면의 측면 방향의 시점에서 바라본 모습을 나타내고 있다. 정렬된 두 점군을 소정의 기준면의 측면 방향의 시점에서 보면, 정렬된 두 점군 간의 오차가 있음을 알 수 있다. 제1 점군과 제2 점군 간의 중첩되는 부분을 보면, 서로 대응되는 점군은 일치하는 일관성을 보여야 하지만, 도 6에 도시된 바와 같이, 제1 점군과 제2 점군에서 서로 대응되는 두 점군이 정확히 맞아 떨어지지 않고, 두 점군 간에 이격이 발생한 것을 알 수 있다.
인접한 센싱 장치들에서 획득한 두 점군의 중첩되는 부분에서, 소정의 기준면에 대응되는 점군 간의 소정 기준 이상의 이격이 확인되면, 3차원 공간에 대한 점군의 정합은 부정확한 것이 된다. 3차원 공간에 대한 점군의 정합이 부정확하면, 이를 활용한 서비스 역시 부정확하여, 사용자에게 제공할 수 없게 된다. 이하, 이와 같은 문제를 해결하기 위한 3차원 공간에 대한 점군을 정합하는 방식에 대해, 상세히 설명한다.
다시 도 3을 참조하면, 상기한 구성에 따른 일 예의 프로세서(220)는 메모리(210)에 저장된 하나 이상의 명령어들을 실행함으로써, 복수의 센싱 장치(100)들 중 서로 인접한 센싱 장치들 각각에서, 소정의 기준면에 대응되는 제1 점군과 제2 점군을 획득할 수 있다. 예를 들어, 프로세서(220)는 서로 인접한 센싱 장치들 각각에서 수신한 3차원 공간에 대한 점군으로부터 소정의 기준면에 대응되는 점군을 추출함으로써, 소정의 기준면에 대응되는 제1 점군과 제2 점군을 획득할 수 있다. 다른 예를 들어, 프로세서(220)는 서로 인접한 센싱 장치들 각각으로부터 소정의 기준면에 대응되는 제1 점군과 제2 점군을 수신할 수 있다.
소정의 기준면은 지면이 될 수 있으나, 이에 제한되는 것은 아니다. 소정의 기준면은 실내 공간일 경우 센싱 장치(100)가 설치된 공간의 바닥일 수 있다. 소정의 기준면은 평면일 수 있으나, 반드시 평면이어야 하는 것은 아니다. 이하 설명의 편의상, 소정의 기준면이 지면인 경우를 전제로 설명한다.
프로세서(220)는 3차원 공간에 대한 점군을 객체 분류 모델에 적용하거나, 3차원 공간에 대한 점군을 클러스터링함으로써, 지면에 대응되는 점군을 구분할 수 있다. 프로세서(220)는 3차원 공간에 대한 점군으로부터 지면에 대응되는 점군을 먼저 구분하고, 나머지 점군을 적어도 하나의 객체에 해당하는 점군으로 구분할 수 있다. 프로세서(220)는 지면 추정 모델(ground estimation model)을 찾기 위해 확률적 모델(stochastic model)에 기반한 피팅을 적용할 수 있다. 프로세서(220)는 실시간으로 지면 형태를 학습할 수 있고, 3차원 공간에 대한 점군에 대해 지면에 해당하는 점군인지 아닌지 여부로 분류할 수 있다.
프로세서(220)는 소정의 기준면에 대응되는 제1 점군과 제2 점군을 소정의 시점에 기초하여 정렬(align)하고, 정렬된 제1 점군과 제2 점군 간의 중첩되는 부분을 확인할 수 있다.
도 7은 소정의 기준면에 대응되는 제1 점군과 제2 점군을 소정의 시점에 기초하여 정렬한 모습을 나타낸 도면이다.
프로세서(220)는 정합하려는 두 점군 중 어느 한 점군을 고정시키고, 나머지 점군을 적절히 배치시켜, 두 점군을 정렬할 수 있다. 예를 들면, 프로세서(220)는 제1 점군을 고정시키고, 탑뷰 시점에서 제2 점군을 이동(translation) 또는 회전(rotation)시킴으로써, 중첩되는 부분이 소정의 기준 이상이 될 때까지 제2 점군을 고정된 제1 점군에 맞추어 배치시킬 수 있다.
이와 같은 동작은, 프로세서(220)에 의해 자동으로 수행될 수도 있고, 사용자의 입력에 따라 수행될 수도 있다. 예를 들어, 서비스 제공자 또는 관리자는 3차원 공간에 대한 점군을 정합하는 컴퓨터 프로그램 또는 애플리케이션을 실행하여, 도 7에 도시된 바와 같이, 소정의 기준면에 대응되는 제1 점군과 제2 점군을 사용자 인터페이스 화면에 표시할 수 있다. 정합하고자 하는 점군들은 사용자 인터페이스 화면 내의 메뉴를 통하여 점군 리스트에 추가하거나 삭제할 수 있다. 서비스 제공자 또는 관리자는 어느 하나의 점군을 고정시키고, 탑뷰 시점에서 나머지 점군을 이동 또는 회전시킴으로써, 고정된 점군에 나머지 점군을 맞추어 배치시킬 수 있다.
다만, 소정의 시점에 기초하여, 두 점군을 정렬하면, 앞서, 도 6에서 설명한 바와 같이, 다른 시점에서 볼 때, 두 점군이 제대로 정합되지 않았을 수 있다. 이를 해결하기 위해, 각 점군에서 소정의 기준점들로 형성되는 회귀 모델을 생성하고, 회귀 모델 간의 정합을 수행하는 세밀 교정(fine adjustment)을 함으로써, 3차원 공간에 대한 점군을 정확하게 정합하는 이하의 프로세스가 추가될 수 있다.
다시 도 3을 참조하면, 프로세서(220)는 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 중첩되는 부분에서 제1 점군에 속하는 제1 기준점들을 획득할 수 있다. 제1 점군에서 제1 기준점들로 이루어지는 제1 회귀 모델을 생성하기 위함이다.
도 8은 제1 점군과 제2 점군 간의 중첩되는 부분에서 제1 점군에 속하는 제1 기준점들을 획득하는 프로세스를 설명하기 위한 도면이다.
프로세서(220)는 정렬된 제1 점군과 제2 점군의 중첩되는 부분에 있는 점들 중 제1 점군에 속하는 제1 기준점들을 선택할 수 있다. 예를 들면, 프로세서(220)는 중첩되는 부분에 있는 점들 중 제1 점군에 속하는 적어도 세 개의 점들을 제1 기준점들로 선택할 수 있다.
이와 같은 동작은, 프로세서(220)에 의해 자동으로 수행될 수도 있고, 사용자의 입력에 따라 수행될 수도 있다. 예를 들어, 서비스 제공자 또는 관리자는 3차원 공간에 대한 점군을 정합하는 컴퓨터 프로그램 또는 애플리케이션을 통해, 도 8에 도시된 바와 같이, 제1 점군과 제2 점군의 중첩되는 부분에 있는 점들 중 제1 점군에 속하는 적어도 세 개의 점들을 제1 기준점들(Point A, Point B, Point C)로 선택할 수 있다.
프로세서(220)는 제1 기준점들이 정해지면, 제1 기준점들로 형성되는 제1 회귀 모델을 결정할 수 있다. 회귀 모델은 기준점들을 이용한 회귀(regression)를 통해 생성될 수 있으며, 소정의 방정식이나 메타 함수 형태로 표현될 수 있다. 예를 들어, 제1 회귀 모델은 제1 기준점들로 형성되는 평면일 수 있으며, 평면의 방정식으로 표현될 수 있다. 즉, 프로세서(220)는 제1 회귀 모델을 특정하고, 제1 회귀 모델을 정의하는 수식을 생성할 수 있다.
다시 도 3을 참조하면, 프로세서(220)는 제1 점군과 인접한 제2 점군에서, 획득된 제1 기준점들에 대응되는 제2 기준점들을 획득할 수 있다. 제2 점군에서 제2 기준점들로 이루어지는 제2 회귀 모델을 생성하기 위함이다.
도 9는 제1 기준점들에 대응되는 제2 기준점들을 획득하는 프로세스를 설명하기 위한 도면이다.
프로세서(220)는 정렬된 제1 점군과 제2 점군의 중첩되는 부분에 있는 점들 중 제2 점군에 속하는 제2 기준점들을 선택할 수 있다. 예를 들면, 도 9에 도시된 바와 같이, 프로세서(220)는 중첩되는 부분에 있는 점들 중 이미 획득된 제1 기준점들 각각에서 가장 가까운 점들을 제2 기준점들(Point 1, Point 2, Point 3)로 획득할 수 있다. 프로세서(220)는 제2 점군에서 제2 기준점들(Point 1, Point 2, Point 3)을 선택한 결과를 사용자 인터페이스 화면을 통해 서비스 제공자 또는 관리자에게 제공할 수 있다.
이와 같은 동작은, 프로세서(220)에 의해 자동으로 수행될 수도 있고, 사용자의 입력에 따라 수행될 수도 있다. 예를 들어, 서비스 제공자 또는 관리자는 3차원 공간에 대한 점군을 정합하는 컴퓨터 프로그램 또는 애플리케이션을 통해, 제1 점군과 제2 점군의 중첩되는 부분에 있는 점들 중 제2 점군에 속하는 적어도 세 개의 점들을 제2 기준점들로 선택할 수 있다. 서비스 제공자 또는 관리자가 제2 기준점들을 잘 선택할 수 있도록, 프로세서(220)는 제2 점군에서 제2 기준점들로 적합한 점들을 사용자 인터페이스 화면을 통해 서비스 제공자 또는 관리자에게 추천할 수 있다.
프로세서(220)는 제2 기준점들이 정해지면, 제2 기준점들로 형성되는 제2 회귀 모델을 결정할 수 있다. 예를 들어, 제2 회귀 모델은 제2 기준점들로 형성되는 평면일 수 있으며, 평면의 방정식으로 표현될 수 있다. 즉, 프로세서(220)는 제2 회귀 모델을 특정하고, 제2 회귀 모델을 정의하는 수식을 생성할 수 있다.
회귀 모델은 평면의 형태로 제한되는 것은 아니며, 이하에서는, 설명의 편의상, 평면인 경우를 예로 들어 설명한다.
다시 도 3을 참조하면, 프로세서(220)는 획득된 제1 기준점들로 형성되는 제1 회귀 모델과 획득된 제2 기준점들로 형성되는 제2 회귀 모델 간의 오차가 최소화되도록, 제1 점군과 제2 점군을 정합할 수 있다. 이를 위해, 제2 회귀 모델을 제1 회귀 모델 쪽으로 이동시키면서, 제1 회귀 모델과 제2 회귀 모델 간의 오차가 최소화가 되는 위치를 찾아낼 수 있다.
예를 들어, 프로세서(220)는 제1 회귀 모델인 제1 평면에 포함된 점군들과 제2 회귀 모델인 제2 평면에 포함된 대응되는 점군들 간의 거리의 합에 해당하는 손실 함수(loss function)가 최소화될 때의 위치로 제2 평면을 이동하는데 사용되는 변환 행렬에 기초하여, 제1 점군과 제2 점군을 정합할 수 있다.
다른 예를 들어, 프로세서(220)는 제2 회귀 모델인 제2 평면의 적어도 하나의 좌표에서의 법선 벡터를 제1 회귀 모델인 제1 평면의 대응되는 좌표에서의 법선 벡터와 일치하는 위치로 이동시키는 변환 행렬에 기초하여, 제1 점군과 제2 점군을 정합할 수 있다.
도 10은 제1 기준점들로 형성되는 제1 평면과 제2 기준점들로 형성되는 제2 평면을 정합하는 프로세스의 일 예를 설명하기 위한 도면이다.
프로세서(220)는 제1 점군에 속하는 제1 기준점들로 형성되는 제1 회귀 모델인 제1 평면과 제2 점군에 속하는 제2 기준점들로 형성되는 제2 회귀 모델인 제2 평면 각각에서 소정의 좌표와 해당 좌표에서의 법선 벡터를 구할 수 있다. 소정의 좌표는 무게 중심의 좌표일 수 있으며, 하나 이상일 수 있다.
프로세서(220)는 제2 평면의 소정의 좌표에서의 법선 벡터를 제1 평면의 대응되는 좌표에서의 법선 벡터와 일치하는 위치로 이동하는데 사용되는 변환 행렬에 기초하여, 제1 점군과 제2 점군을 정합할 수 있다.
도 11은 제1 점군과 제2 점군 간의 중첩되는 부분에서 발생하는 오차가 최소화된 결과를 설명하기 위한 도면이다.
이상에서 설명한 방식에 따라, 제1 점군에 속하는 제1 기준점들로 형성되는 제1 평면과 제2 점군에 속하는 제2 기준점들로 형성되는 제2 평면 간의 오차가 최소화되도록, 제1 평면과 제2 평면을 정합하게 되면, 제1 점군과 제2 점군도 정확하게 정합하게 된다. 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 정확한 정합에 의해, 인접한 센싱 장치들로부터 획득한 3차원 공간에 대한 점군 전체를 정확하게 정합할 수 있다.
도 11에 도시된 바와 같이, 제1 평면과 제2 평면이 정합된 소정의 기준면에 대응되는 제1 점군과 제2 점군을 소정의 기준면의 측면 방향의 시점에서 보면, 제1 점군과 제2 점군 간의 오차가 최소화됨을 알 수 있다. 제1 점군과 제2 점군 간의 중첩되는 부분을 보면, 서로 대응되는 점군에서 일관성을 보임을 알 수 있다. 3차원 공간에 대한 점군의 정합이 정확하면, 이를 활용한 서비스가 정확해지고, 사용자에게 양질의 서비스를 제공할 수 있게 된다.
도 12는 일 실시예에 따른 3차원 공간에 대한 점군을 정합하는 방법을 설명하기 위한 흐름도이다. 이하 생략된 내용이라 하더라도, 이상에서 서버(200)에 대하여 설명한 내용은 3차원 공간에 대한 점군을 정합하는 방법에도 그대로 적용될 수 있다.
1210 단계에서, 서버(200)는 복수의 센싱 장치(100)들로부터 3차원 공간에 대한 점군을 획득한다.
1220 단계에서, 서버(200)는 복수의 센싱 장치(100)들 중 서로 인접한 센싱 장치들 각각에서 획득한, 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 중첩되는 부분에서 제1 점군에 속하는 제1 기준점들을 획득한다.
먼저, 서버(200)는 제1 점군과 제2 점군을 소정의 시점에 기초하여 정렬(align)할 수 있다. 서버(200)는 제1 점군을 고정시키고, 소정의 시점, 예를 들어, 탑뷰 시점에서 제2 점군을 이동 또는 회전시킴으로써, 중첩되는 부분이 소정의 기준 이상이 될때까지 제2 점군을 고정된 제1 점군에 맞추어 배치시킬 수 있다.
다음, 서버(200)는 정렬된 제1 점군과 제2 점군의 중첩되는 부분에 있는 점들 중 제1 점군에 속하는 제1 기준점들을 선택할 수 있다. 이때, 서버(200)는 중첩되는 부분에 있는 점들 중 제1 점군에 속하는 적어도 세 개의 점들을 제1 기준점들로 선택할 수 있다.
1230 단계에서, 서버(200)는 제1 점군과 인접한 제2 점군에서, 앞서 획득된 제1 기준점들에 대응되는 제2 기준점들을 획득한다. 서버(200)는 중첩되는 부분에 있는 점들 중 획득된 제1 기준점들 각각에서 가장 가까운 점들을 제2 기준점들로 획득할 수 있다.
1240 단계에서, 서버(200)는 획득된 제1 기준점들로 형성되는 제1 회귀 모델과 획득된 제2 기준점들로 형성되는 제2 회귀 모델 간의 오차가 최소화되도록, 제1 점군과 제2 점군을 정합한다.
예를 들어, 서버(200)는 제1 회귀 모델에 포함된 점군들과 제2 회귀 모델에 포함된 대응되는 점군들 간의 거리의 합에 해당하는 손실 함수(loss function)가 최소화될 때의 위치로 제2 회귀 모델을 이동하는데 사용되는 변환 행렬에 기초하여, 제1 점군과 제2 점군을 정합할 수 있다.
다른 예를 들어, 서버(200)는 제2 회귀 모델의 소정의 좌표에서의 법선 벡터를 제1 회귀 모델의 대응되는 좌표에서의 법선 벡터와 일치하는 위치로 이동하는데 사용되는 변환 행렬에 기초하여, 제1 점군과 제2 점군을 정합할 수 있다.
소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 정확한 정합에 의해, 인접한 센싱 장치들로부터 획득한 3차원 공간에 대한 점군 전체가 정확하게 정합될 수 있다.
상술한 실시예들 각각은 3차원 공간에 대한 점군을 정합하는 방법을 수행하는 소정의 단계들을 실행시키기 위하여, 매체에 저장된 컴퓨터 프로그램 또는 애플리케이션 형태로 제공될 수 있다. 다시 말해서, 상술한 실시예들 각각은 서버(200)의 적어도 하나의 프로세서로 하여금, 3차원 공간에 대한 점군을 정합하는 방법을 수행하는 소정의 단계들을 수행하도록 하는, 매체에 저장된 컴퓨터 프로그램 또는 애플리케이션 형태로 제공될 수 있다.
상술한 실시예들은 컴퓨터 또는 프로세서에 의하여 실행 가능한 명령어 및 데이터를 저장하는 컴퓨터 판독 가능 저장매체의 형태로 구현될 수 있다. 명령어 및 데이터 중 적어도 하나는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 이와 같은 컴퓨터 판독 가능 저장매체는 read-only memory (ROM), random-access memory (RAM), flash memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, 마그네틱 테이프, 플로피 디스크, 광자기 데이터 저장 장치, 광학 데이터 저장 장치, 하드 디스크, 솔리드-스테이트 디스크(SSD), 그리고 명령어 또는 소프트웨어, 관련 데이터, 데이터 파일, 및 데이터 구조들을 저장할 수 있고, 프로세서나 컴퓨터가 명령어를 실행할 수 있도록 프로세서나 컴퓨터에 명령어 또는 소프트웨어, 관련 데이터, 데이터 파일, 및 데이터 구조들을 제공할 수 있는 어떠한 장치라도 될 수 있다.
이제까지 실시예들을 중심으로 살펴보았다. 개시된 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자는 개시된 실시예들이 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 발명의 범위는 전술한 실시예들의 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 발명의 범위에 포함된 것으로 해석되어야 할 것이다.

Claims (16)

  1. 복수의 센싱 장치들로부터 3차원 공간에 대한 점군을 획득하는 단계;
    상기 복수의 센싱 장치들 중 서로 인접한 센싱 장치들 각각에서 획득한, 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 중첩되는 부분에서 상기 제1 점군에 속하는 제1 기준점들을 획득하는 단계;
    상기 제1 점군과 인접한 상기 제2 점군에서, 상기 획득된 제1 기준점들에 대응되는 제2 기준점들을 획득하는 단계; 및
    상기 획득된 제1 기준점들로 형성되는 제1 회귀 모델과 상기 획득된 제2 기준점들로 형성되는 제2 회귀 모델 간의 오차가 최소화되도록, 상기 제1 점군과 상기 제2 점군을 정합하는 단계;
    를 포함하는, 3차원 공간에 대한 점군을 정합하는 방법.
  2. 제1 항에 있어서,
    상기 제1 기준점들을 획득하는 단계는,
    상기 제1 점군과 상기 제2 점군을 소정의 시점에 기초하여 정렬(align)하는 단계; 및
    상기 정렬된 제1 점군과 제2 점군의 상기 중첩되는 부분에 있는 점들 중 상기 제1 점군에 속하는 상기 제1 기준점들을 선택하는 단계;
    를 포함하는, 방법.
  3. 제2 항에 있어서,
    상기 정렬하는 단계는,
    상기 제1 점군을 고정시키고, 탑뷰 시점에서 상기 제2 점군을 이동(translation) 또는 회전(rotation)시킴으로써, 상기 중첩되는 부분이 소정의 기준 이상이 될때까지 상기 제2 점군을 상기 고정된 제1 점군에 맞추어 배치하는 단계를 포함하는, 방법.
  4. 제2 항에 있어서,
    상기 제1 기준점들을 선택하는 단계는,
    상기 중첩되는 부분에 있는 점들 중 상기 제1 점군에 속하는 적어도 세 개의 점들을 상기 제1 기준점들로 선택하는, 방법.
  5. 제1 항에 있어서,
    상기 제2 기준점들을 획득하는 단계는,
    상기 중첩되는 부분에 있는 점들 중 상기 획득된 제1 기준점들 각각에서 가장 가까운 점들을 제2 기준점들로 획득하는, 방법.
  6. 제1 항에 있어서,
    상기 정합하는 단계는,
    상기 제1 회귀 모델에 포함된 점군들과 상기 제2 회귀 모델에 포함된 대응되는 점군들 간의 거리의 합에 해당하는 손실 함수(loss function)가 최소화될 때의 위치로 상기 제2 회귀 모델을 이동하는데 사용되는 변환 행렬에 기초하여, 상기 제1 점군과 상기 제2 점군을 정합하는, 방법.
  7. 제1 항에 있어서,
    상기 정합하는 단계는,
    상기 제2 회귀 모델의 소정의 좌표에서의 법선 벡터를 상기 제1 회귀 모델의 대응되는 좌표에서의 법선 벡터와 일치하는 위치로 이동하는데 사용되는 변환 행렬에 기초하여, 상기 제1 점군과 상기 제2 점군을 정합하는, 방법.
  8. 복수의 센싱 장치들로부터 3차원 공간에 대한 점군을 획득하는 명령어들;
    상기 복수의 센싱 장치들 중 서로 인접한 센싱 장치들 각각에서 획득한, 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 중첩되는 부분에서 상기 제1 점군에 속하는 제1 기준점들을 획득하는 명령어들;
    상기 제1 점군과 인접한 상기 제2 점군에서, 상기 획득된 제1 기준점들에 대응되는 제2 기준점들을 획득하는 명령어들; 및
    상기 획득된 제1 기준점들로 형성되는 제1 회귀 모델과 상기 획득된 제2 기준점들로 형성되는 제2 회귀 모델 간의 오차가 최소화되도록, 상기 제1 점군과 상기 제2 점군을 정합하는 명령어들;
    을 포함하는, 컴퓨터에서 실행시키기 위한 프로그램을 저장한 컴퓨터 판독 가능 저장매체.
  9. 복수의 센싱 장치들로부터 3차원 공간에 대한 점군을 획득하는 통신 인터페이스;
    하나 이상의 명령어들을 저장하는 메모리; 및
    상기 하나 이상의 명령어들을 실행함으로써, 상기 복수의 센싱 장치들 중 서로 인접한 센싱 장치들 각각에서 획득한, 소정의 기준면에 대응되는 제1 점군과 제2 점군 간의 중첩되는 부분에서 상기 제1 점군에 속하는 제1 기준점들을 획득하고, 상기 제1 점군과 인접한 상기 제2 점군에서, 상기 획득된 제1 기준점들에 대응되는 제2 기준점들을 획득하고, 상기 획득된 제1 기준점들로 형성되는 제1 회귀 모델과 상기 획득된 제2 기준점들로 형성되는 제2 회귀 모델 간의 오차가 최소화되도록, 상기 제1 점군과 상기 제2 점군을 정합하는 프로세서;
    를 포함하는, 3차원 공간에 대한 점군을 정합하는 서버.
  10. 제9 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    상기 제1 점군과 상기 제2 점군을 소정의 시점에 기초하여 정렬(align)하고, 상기 정렬된 제1 점군과 제2 점군의 상기 중첩되는 부분에 있는 점들 중 상기 제1 점군에 속하는 상기 제1 기준점들을 선택하는, 서버.
  11. 제10 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    상기 제1 점군을 고정시키고, 탑뷰 시점에서 상기 제2 점군을 이동(translation) 또는 회전(rotation)시킴으로써, 상기 중첩되는 부분이 소정의 기준 이상이 될때까지 상기 제2 점군을 상기 고정된 제1 점군에 맞추어 배치하는, 서버.
  12. 제10 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    상기 중첩되는 부분에 있는 점들 중 상기 제1 점군에 속하는 적어도 세 개의 점들을 상기 제1 기준점들로 선택하는, 서버.
  13. 제9 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    상기 중첩되는 부분에 있는 점들 중 상기 획득된 제1 기준점들 각각에서 가장 가까운 점들을 제2 기준점들로 획득하는, 서버.
  14. 제9 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    상기 제1 회귀 모델에 포함된 점군들과 상기 제2 회귀 모델에 포함된 대응되는 점군들 간의 거리의 합에 해당하는 손실 함수(loss function)가 최소화될 때의 위치로 상기 제2 회귀 모델을 이동하는데 사용되는 변환 행렬에 기초하여, 상기 제1 점군과 상기 제2 점군을 정합하는, 서버.
  15. 제9 항에 있어서,
    상기 프로세서는 상기 하나 이상의 명령어들을 실행함으로써,
    상기 제2 회귀 모델의 소정의 좌표에서의 법선 벡터를 상기 제1 회귀 모델의 대응되는 좌표에서의 법선 벡터와 일치하는 위치로 이동하는데 사용되는 변환 행렬에 기초하여, 상기 제1 점군과 상기 제2 점군을 정합하는, 서버.
  16. 제9 항에 있어서,
    상기 소정의 기준면은 상기 3차원 공간의 지면인, 서버.
KR1020210113405A 2021-08-26 2021-08-26 3차원 공간에 대한 점군을 정합하는 방법 및 서버 KR20230031036A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210113405A KR20230031036A (ko) 2021-08-26 2021-08-26 3차원 공간에 대한 점군을 정합하는 방법 및 서버
PCT/KR2022/012339 WO2023027420A1 (ko) 2021-08-26 2022-08-18 3차원 공간에 대한 점군을 정합하는 방법 및 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210113405A KR20230031036A (ko) 2021-08-26 2021-08-26 3차원 공간에 대한 점군을 정합하는 방법 및 서버

Publications (1)

Publication Number Publication Date
KR20230031036A true KR20230031036A (ko) 2023-03-07

Family

ID=85323276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210113405A KR20230031036A (ko) 2021-08-26 2021-08-26 3차원 공간에 대한 점군을 정합하는 방법 및 서버

Country Status (2)

Country Link
KR (1) KR20230031036A (ko)
WO (1) WO2023027420A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10628949B2 (en) * 2017-12-18 2020-04-21 Samsung Electronics Co., Ltd. Image processing with iterative closest point (ICP) technique
CN111566441B (zh) * 2018-04-18 2022-08-09 移动眼视力科技有限公司 利用相机进行车辆环境建模
US20190362235A1 (en) * 2018-05-23 2019-11-28 Xiaofan Xu Hybrid neural network pruning
US11494937B2 (en) * 2018-11-16 2022-11-08 Uatc, Llc Multi-task multi-sensor fusion for three-dimensional object detection
KR102285530B1 (ko) * 2021-03-09 2021-08-04 주식회사 에스아이에이 영상 정합을 위한 이미지 처리 방법

Also Published As

Publication number Publication date
WO2023027420A1 (ko) 2023-03-02

Similar Documents

Publication Publication Date Title
US10798538B2 (en) Asset floor map
US11650592B2 (en) Semantic mapping of environments for autonomous devices
US9836651B2 (en) Displaying information relating to a designated marker
US10928218B2 (en) Map information management and correction of geodata
CN106461752B (zh) 自适应定位
US20160300389A1 (en) Correlated immersive virtual simulation for indoor navigation
US9465816B2 (en) Generating an image of a floor plan
EP3265968B1 (en) Method and apparatus to track wire or cable reels in an inventory storage environment using a mobile device
EP3239729A1 (en) Sensor-based geolocation of a user device
US9939275B1 (en) Methods and systems for geometrical optics positioning using spatial color coded LEDs
CN112544097A (zh) 用于执行三维无线电模型构建的方法、装置和计算机程序
US9633434B2 (en) Calibration of camera-based surveillance systems
US20160286351A1 (en) Indoor navigation anomaly detection
US20130260781A1 (en) Locating a mobile device
KR20040092414A (ko) 무선 신호 강도를 이용하는 장치 위치 측정 시스템을교정하는 방법
AU2016396487B2 (en) Map creation system and map creation method
KR102664328B1 (ko) 작업 공간에서의 관심 영역을 모니터링하는 방법 및 센싱 장치
KR20230031036A (ko) 3차원 공간에 대한 점군을 정합하는 방법 및 서버
US20210056793A1 (en) Mobile object measurement system and method of determining number of people in measurement area
KR20190018233A (ko) 다중 센서 시뮬레이션 장치 및 다중 센서 시뮬레이션 방법
KR20200127107A (ko) 증강현실을 이용한 지역 상권 데이터 가시화 시스템
KR102656646B1 (ko) 센싱 장치의 설치 이상을 감지하는 방법 및 이를 수행하는 센싱 장치
Seleng WiFi Round Trip Time for Indoor Navigation
US11270459B2 (en) Enterprise system augmented reality detection
US20150285895A1 (en) Receiver gain offset

Legal Events

Date Code Title Description
E902 Notification of reason for refusal