KR20230162292A - Method for generating map target data using 3D scanner - Google Patents

Method for generating map target data using 3D scanner Download PDF

Info

Publication number
KR20230162292A
KR20230162292A KR1020220061983A KR20220061983A KR20230162292A KR 20230162292 A KR20230162292 A KR 20230162292A KR 1020220061983 A KR1020220061983 A KR 1020220061983A KR 20220061983 A KR20220061983 A KR 20220061983A KR 20230162292 A KR20230162292 A KR 20230162292A
Authority
KR
South Korea
Prior art keywords
data
map target
scanner
image
map
Prior art date
Application number
KR1020220061983A
Other languages
Korean (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 KR1020220061983A priority Critical patent/KR20230162292A/en
Publication of KR20230162292A publication Critical patent/KR20230162292A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/10004Still image; Photographic image
    • G06T2207/10008Still image; Photographic image from scanner, fax or copier

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명의 실시예에 따른 3차원 스캐너를 이용한 맵타겟 데이터 생성방법은, 컴퓨팅 장치의 적어도 하나의 프로세서에서 실행되는 맵타겟 프로그램이 수행하는 3차원 스캐너를 이용한 맵타겟 데이터 생성방법으로서, 3차원 스캐너로부터 스캐닝 포지션에서 센싱한 뎁스 데이터와 이미지 데이터를 획득하는 단계; 상기 획득한 뎁스 데이터와 이미지 데이터를 기초로 적어도 하나 이상의 키프레임을 생성하는 단계; 및 상기 생성한 키프레임을 포함하는 맵타겟 데이터를 생성하는 단계를 포함한다. A method of generating map target data using a 3D scanner according to an embodiment of the present invention is a method of generating map target data using a 3D scanner performed by a map target program running on at least one processor of a computing device. Obtaining depth data and image data sensed at the scanning position from; generating at least one keyframe based on the acquired depth data and image data; and generating map target data including the generated keyframe.

Description

3차원 스캐너를 이용한 맵타겟 데이터 생성방법 및 시스템 {Method for generating map target data using 3D scanner}Method and system for generating map target data using a 3D scanner {Method for generating map target data using 3D scanner}

본 발명은 3차원 스캐너를 이용한 맵타겟 데이터 생성방법 및 시스템에 관한 것이다. The present invention relates to a method and system for generating map target data using a 3D scanner.

증강현실(AR), 스마트 시티와 스마트 팩토리, 자율주행 자동차, 드론, 메타버스(가상세계), 디지털 트윈(실제 장소·물체의 디지털 복사본) 등 4차 산업혁명 시대에서 각광받는 산업 분야는 모두 '공간정보'를 핵심으로 한다.Industrial fields that are in the spotlight in the era of the 4th Industrial Revolution, such as augmented reality (AR), smart cities and smart factories, self-driving cars, drones, metaverse (virtual world), and digital twin (digital copies of real places and objects) are all ' ‘Spatial information’ is the core.

그동안 2차원(2D) 공간정보는 우리가 살고 있는 입체적인 3차원(3D) 공간 특성을 담기에 한계가 있었다. 일례로 건물 정보의 경우 2차원은 넓이 밖에 표시하지 못했지만 3차원에서는 높이가 더해져 실사에 가까운 부피(규모)를 표현할 수 있다.Until now, two-dimensional (2D) spatial information has had limitations in capturing the characteristics of the three-dimensional (3D) space in which we live. For example, in the case of building information, only area can be displayed in 2D, but in 3D, height can be added to express volume (scale) close to real life.

이는 내부 가구배치나 인테리어 등을 시뮬레이션 할 수 있게 돼 3D에서 공간정보의 가치는 훨씬 커진다. 이 때문에 보다 정교한 3D 공간정보를 구축하는 것은 4차 산업혁명을 넘어 미래 기술발전을 견인할 필수 인프라로 여겨진다.This makes it possible to simulate interior furniture arrangements and interiors, greatly increasing the value of spatial information in 3D. For this reason, building more sophisticated 3D spatial information is considered an essential infrastructure that will drive future technological development beyond the Fourth Industrial Revolution.

특히, 증강현실, 자율주행 등을 구현하기 위해서는 디바이스가 주변환경을 파악함과 동시에 디바이스의 위치를 파악하기 위한 3D 공간정보가 필요하다. In particular, in order to implement augmented reality and autonomous driving, 3D spatial information is needed for the device to understand the surrounding environment and at the same time determine the location of the device.

디바이스에서 주변환경의 3D 공간정보를 센싱하기 위하여 SLAM(Simultaneous Localization And Map-Building) 기술이 오랫동안 연구되어 왔으며, 최근에는 카메라 디바이스를 이용한 비주얼 슬램(visual slam) 알고리즘을 통해 저렴한 비용으로 맵타겟 데이터를 생성하고 있다. SLAM (Simultaneous Localization And Map-Building) technology has been studied for a long time to sense 3D spatial information of the surrounding environment on devices, and recently, map target data has been developed at low cost through the visual slam algorithm using a camera device. It is being created.

그러나 이러한 비주얼 슬램 기술은, 실제 값과의 상당한 편차를 초래하는 위치추정 오차 누적에 대한 문제가 있고, 카메라 디바이스의 이동에 따른 위치추정 실패시 불연속적인 위치 추정값이 지속적으로 생성되어 맵타겟 데이터에서 카메라 디바이스의 위치를 상실하게 되는 문제가 있다. However, this visual slam technology has a problem with the accumulation of position estimation errors, which causes significant deviation from the actual value, and when position estimation fails due to movement of the camera device, discontinuous position estimation values are continuously generated, so that the camera There is a problem of losing the location of the device.

한편, 3차원 공간에 대한 3차원 뎁스 데이터(depth data)를 생성하는 라이다(Lidar: Light Detection and Ranging의 약어)는 펄스 빛을 이용하여 주변에 있는 물체까지의 거리 측정치를 정밀하게 수집할 수 있다. Meanwhile, Lidar (short for Light Detection and Ranging), which generates 3D depth data in 3D space, can precisely collect distance measurements to nearby objects using pulsed light. there is.

이러한 라이다 센서는 자율주행과 로봇공학 응용 분야에서 널리 사용하는 센서로서, 매핑, SLAM(동시적 위치추정 및 지도작성), 경로 계획 같은 내비게이션 워크플로뿐만 아니라 객체 검출, 의미론적 분할 같은 3차원 인식 워크플로를 가능하게 만들고 있다. These LiDAR sensors are widely used in autonomous driving and robotics applications, for navigation workflows such as mapping, simultaneous localization and mapping (SLAM), and route planning, as well as 3D recognition such as object detection and semantic segmentation. We are making workflow possible.

최근 라이다나 레이저를 이용하여 일 위치에서 주변 360도에 대한 정밀한 3차원 뎁스 스캔이 가능하며 이와 동시에 주변에 대한 이미지 캡처가 가능한 3차원 스캐너들이 출시되고 있다. Recently, 3D scanners have been released that enable precise 3D depth scanning of the surrounding 360 degrees from one location using LiDAR or lasers, while simultaneously capturing images of the surroundings.

이러한 3차원 스캐너는, 현장에서 고정된 일 위치에서 주변환경의 객체들 내 포인트까지의 거리를 센싱한 포인트 클라우드 데이터와, 이와 매칭된 주변환경 객체들에 대한 360도 파노라믹 이미지를 제공할 수 있다. These 3D scanners can provide point cloud data that senses the distance from a fixed location in the field to points in objects in the surrounding environment, and 360-degree panoramic images of objects in the surrounding environment that match this. there is.

이러한 3차원 스캐너를 통해 일 위치에서 3차원 공간에 대한 정밀하게 센싱된 뎁스 데이터와 이미지 데이터를 획득할 수 있으나, 가공되지 않는 로우 데이터에 불과하여 3차원 맵타겟 데이터로서 활용하기 어려운 문제가 있다. Through these 3D scanners, it is possible to obtain precisely sensed depth data and image data for 3D space at one location, but there is a problem in that it is difficult to utilize as 3D map target data because it is only unprocessed raw data.

따라서, 본 발명은 3차원 스캐너에서 획득된 뎁스 데이터와 이미지 데이터를 기초로 주변환경에 대한 3차원 맵타겟 데이터를 생성하는 방법 및 시스템을 제안하고자 한다. 여기서, 3차원 맵타겟 데이터는 디바이스가 주변환경 내의 일 위치에서 센싱한 이미지를 기초로 디바이스의 위치를 결정함과 동시에 주변 객체와의 위치관계를 결정하기 위하여, 주변환경의 3D 공간정보를 스캔하여 구축한 지도 데이터를 의미한다. Therefore, the present invention seeks to propose a method and system for generating 3D map target data for the surrounding environment based on depth data and image data acquired from a 3D scanner. Here, the 3D map target data determines the location of the device based on the image sensed by the device at a location in the surrounding environment and simultaneously scans 3D spatial information of the surrounding environment to determine the positional relationship with surrounding objects. This refers to the constructed map data.

또한, 본 발명은 3차원 스캐너의 스캔 데이터를 기초로 생성한 3차원 맵타겟 데이터를 통해 증강현실 등의 어플리케이션을 제공하는 방법 및 시스템을 제안하고자 한다.In addition, the present invention seeks to propose a method and system for providing applications such as augmented reality through 3D map target data generated based on scan data from a 3D scanner.

본 발명의 실시예에 따른 3차원 스캐너를 이용한 맵타겟 데이터 생성방법은, 컴퓨팅 장치의 적어도 하나의 프로세서에서 실행되는 맵타겟 프로그램이 수행하는 3차원 스캐너를 이용한 맵타겟 데이터 생성방법으로서, 3차원 스캐너로부터 스캐닝 포지션에서 센싱한 뎁스 데이터와 이미지 데이터를 획득하는 단계; 상기 획득한 뎁스 데이터와 이미지 데이터를 기초로 적어도 하나 이상의 키프레임을 생성하는 단계; 및 상기 생성한 키프레임을 포함하는 맵타겟 데이터를 생성하는 단계를 포함한다. A method of generating map target data using a 3D scanner according to an embodiment of the present invention is a method of generating map target data using a 3D scanner performed by a map target program running on at least one processor of a computing device. Obtaining depth data and image data sensed at the scanning position from; generating at least one keyframe based on the acquired depth data and image data; and generating map target data including the generated keyframe.

또한, 본 발명의 실시예에 따른 3차원 스캐너를 이용한 맵타겟 데이터 생성시스템은 스캐닝 포지션에서 스캐닝 영역에 대해 이미지 데이터와 뎁스 데이터를 센싱하는 3차원 스캐너; 상기 3차원 스캐너로부터 이미지 데이터와 뎁스 데이터를 획득하고, 획득한 이미지 데이터와 뎁스 데이터를 기초로 키프레임을 생성하고, 상기 생성된 키프레임이 설정된 맵타겟 데이터를 생성하는 컴퓨팅 장치; 및 상기 컴퓨팅 장치로부터 획득된 맵타겟 데이터를 기초로 맵타겟 데이터 기반 어플리케이션을 실행하는 디바이스를 포함한다. In addition, a map target data generation system using a 3D scanner according to an embodiment of the present invention includes a 3D scanner that senses image data and depth data for the scanning area at the scanning position; A computing device that acquires image data and depth data from the 3D scanner, generates a key frame based on the acquired image data and depth data, and generates map target data to which the generated key frame is set; and a device that executes a map target data-based application based on map target data obtained from the computing device.

실시예에 따라 생성된 맵타겟 데이터는, 정확하고 정밀하게 센싱된 이미지 데이터와 덴스한 뎁스 데이터를 기초로 생성되므로, 기존 비주얼 슬램을 통해 생성되는 맵타겟 데이터 대비 정확도가 매우 향상될 수 있으며, 비주얼 슬램과 같이 지속적인 업데이트가 필요없는 장점이 있다. The map target data generated according to the embodiment is generated based on accurately and precisely sensed image data and dense depth data, so the accuracy can be greatly improved compared to the map target data generated through the existing visual slam, and the visual It has the advantage of not requiring continuous updates like Slam.

또한, 이와 같이 생성된 맵타겟 데이터는, 스캐너를 통해 정확하고 정밀하게 스캔된 이미지 데이터와 스캔 데이터를 기초로 한 키프레임 기반이므로, 정확한 3차원 공간정보를 제공할 수 있다. In addition, the map target data generated in this way is based on image data accurately and precisely scanned through a scanner and keyframes based on the scan data, so it can provide accurate three-dimensional spatial information.

그리고 정확한 3차원 공간정보를 통해 맵타겟 데이터 기반의 어플리케이션 제공환경을 구축할 수 있다. And through accurate 3D spatial information, an application provision environment based on map target data can be built.

도 1은 본 발명의 실시예에 따른 3차원 스캐너를 이용한 맵타겟 데이터 생성 시스템의 개념도이다.
도 2는 본 발명의 실시예에 따른 맵타겟 데이터 생성 프로그램을 실행하는 컴퓨티 장치의 내부 블록도이다.
도 3은 본 발명의 실시예에 따른 3차원 스캐너의 내부 블록도이다.
도 4는 본 발명의 실시예에 따른 3차원 스캐너를 이용한 맵타겟 데이터 생성방법을 나타내는 흐름도이다.
도 5는 본 발명의 실시예에 따른 3차원 스캐너에서 제공하는 파노라믹 이미지의 개념도이다.
도 6은 본 발명의 실시예에 따른 파노라믹 이미지를 변환한 큐브맵 이미지의 개념도이다.
도 7은 본 발명의 실시예에 따른 큐브맵 이미지 내 프론트 이미지의 예시이다.
도 8은 본 발명의 실시예에 따른 뎁스 데이터와 이미지 데이터를 기초로 키프레임을 생성하는 모습을 나타낸다.
도 9는 본 발명의 실시예에 따른 복수의 스캐닝 포지션의 스캔 데이터를 기초로 맵타겟 데이터를 생성하고, 생성된 맵타겟 데이터를 기초로 다양한 어플리케이션 환경을 제공하는 방법을 나타낸다.
도 10은 본 발명의 실시예에 따른 복수의 스캐닝 포지션 스캔 데이터를 기초로 맵타겟 데이터를 생성하는 모습을 나타낸다.
도 11은 본 발명의 실시예에 따른 복수의 스캐닝 포지션 스캔 데이터를 기초로 맵타겟 데이터를 생성하는 과정을 설명하기 위한 도면이다.
도 12는 본 발명의 실시예에 따른 맵타겟 데이터를 기초로 증강현실 환경을 제공하는 일례를 나타낸다.
Figure 1 is a conceptual diagram of a map target data generation system using a 3D scanner according to an embodiment of the present invention.
Figure 2 is an internal block diagram of a computer device executing a map target data generation program according to an embodiment of the present invention.
Figure 3 is an internal block diagram of a 3D scanner according to an embodiment of the present invention.
Figure 4 is a flowchart showing a method for generating map target data using a 3D scanner according to an embodiment of the present invention.
Figure 5 is a conceptual diagram of a panoramic image provided by a 3D scanner according to an embodiment of the present invention.
Figure 6 is a conceptual diagram of a cube map image converted from a panoramic image according to an embodiment of the present invention.
Figure 7 is an example of a front image in a cubemap image according to an embodiment of the present invention.
Figure 8 shows keyframe generation based on depth data and image data according to an embodiment of the present invention.
Figure 9 shows a method of generating map target data based on scan data of a plurality of scanning positions and providing various application environments based on the generated map target data according to an embodiment of the present invention.
Figure 10 shows map target data being generated based on a plurality of scanning position scan data according to an embodiment of the present invention.
Figure 11 is a diagram for explaining the process of generating map target data based on a plurality of scanning position scan data according to an embodiment of the present invention.
Figure 12 shows an example of providing an augmented reality environment based on map target data according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.Since the present invention can be modified in various ways and can have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. The effects and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various forms. In the following embodiments, terms such as first and second are used not in a limiting sense but for the purpose of distinguishing one component from another component. Additionally, singular expressions include plural expressions unless the context clearly dictates otherwise. Additionally, terms such as include or have mean that the features or components described in the specification exist, and do not preclude the possibility of adding one or more other features or components. Additionally, in the drawings, the sizes of components may be exaggerated or reduced for convenience of explanation. For example, the size and thickness of each component shown in the drawings are shown arbitrarily for convenience of explanation, so the present invention is not necessarily limited to what is shown.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. When describing with reference to the drawings, identical or corresponding components will be assigned the same reference numerals and redundant description thereof will be omitted. .

도 1은 본 발명의 실시예에 따른 맵 타겟 생성을 위한 사용자 인터페이스 제공 시스템의 개념도이다. 1 is a conceptual diagram of a system for providing a user interface for creating a map target according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 3차원 스캐너를 이용한 맵타겟 데이터 생성 시스템(1000)은, 3차원 스캐너(300)에서 획득된 스캔 데이터를 기초로 적어도 하나의 객체를 포함하는 3차원의 맵타겟(Map target) 데이터를 생성할 수 있으며, 생성된 맵타겟 데이터를 기초로 다양한 3차원 공간정보를 활용한 어플리케이션 실행환경을 제공할 수 있다. Referring to FIG. 1, the map target data generation system 1000 using a 3D scanner according to an embodiment of the present invention includes 3 objects including at least one object based on scan data acquired from the 3D scanner 300. Dimensional map target data can be generated, and an application execution environment using various 3D spatial information can be provided based on the generated map target data.

실시예에서 3차원 공간정보를 활용한 어플리케이션은 자율주행, 자율비행, 자동 이동로봇 및 증강현실 어플리케이션 등이 있을 수 있다. 이하 실시예에서는 증강현실 어플리케이션 실행환경을 제공하기 위하여 맵타겟 데이터를 생성하는 것을 기준으로 설명한다. In embodiments, applications utilizing 3D spatial information may include autonomous driving, autonomous flight, automatic mobile robots, and augmented reality applications. The following embodiment will be described based on generating map target data to provide an augmented reality application execution environment.

실시예에서, 위와 같은 맵타겟 데이터 생성 시스템 (1000)은, 컴퓨팅 장치(100), 데이터베이스 서버(200), 맵타겟 데이터 기반 어플리케이션 실행 디바이스(400), 3차원 스캐너(300) 및 네트워크(Network)를 포함할 수 있다. In an embodiment, the map target data generation system 1000 as described above includes a computing device 100, a database server 200, a map target data-based application execution device 400, a 3D scanner 300, and a network. may include.

이때, 상기 컴퓨팅 장치(100), 데이터베이스 서버(200), 디바이스 및 3차원 스캐너(300)는, 하기 네트워크를 통하여 연결될 수 있다. 자세히, 네트워크는, 상기 컴퓨팅 장치(100), 데이터베이스 서버(200), 디바이스(400) 및/또는 3차원 스캐너(300) 등과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일례에는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.At this time, the computing device 100, database server 200, device, and 3D scanner 300 may be connected through the following network. In detail, the network refers to a connection structure that allows information exchange between nodes such as the computing device 100, the database server 200, the device 400, and/or the 3D scanner 300. Examples of networks include the 3rd Generation Partnership Project (3GPP) network, Long Term Evolution (LTE) network, World Interoperability for Microwave Access (WIMAX) network, Internet, Local Area Network (LAN), and Wireless Local Area Network (Wireless LAN). ), WAN (Wide Area Network), PAN (Personal Area Network), Bluetooth network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, etc., but are not limited thereto.

이하, 첨부된 도면을 참조하여 맵 타겟 생성을 위한 사용자 인터페이스 제공 시스템(1000)을 구현하는 컴퓨팅 장치(100), 데이터베이스 서버(200) 및 3차원 스캐너(300)에 대해 상세히 설명한다.Hereinafter, the computing device 100, the database server 200, and the 3D scanner 300 that implement the system 1000 for providing a user interface for creating a map target will be described in detail with reference to the attached drawings.

- 컴퓨팅 장치(100: Terminal)- Computing device (100: Terminal)

본 발명의 실시예에 따른 컴퓨팅 장치(100)는, 3차원 스캐너(300)의 스캔 데이터를 기초로 맵타겟 데이터 생성하는 맵타겟 프로그램(111)이 설치된 소정의 컴퓨팅 디바이스일 수 있다. The computing device 100 according to an embodiment of the present invention may be a computing device installed with a map target program 111 that generates map target data based on scan data of the 3D scanner 300.

상기 맵타겟 프로그램(111)은, 3차원 스캐너(300)에서 획득된 스캔 데이터를 디스플레이할 수 있으며, 스캔 데이터 내 포지션닝 데이터, 이미지 데이터 및 뎁스 데이터를 기초로 일 영역에 대한 맵타겟 데이터를 생성할 수 있고, 복수의 포지션에서 생성한 맵타겟 데이터를 결합하여 복수의 영역에 대한 맵타겟 데이터를 생성할 수 있다. The map target program 111 can display scan data acquired from the 3D scanner 300 and generate map target data for an area based on positioning data, image data, and depth data in the scan data. Map target data for multiple areas can be generated by combining map target data generated from multiple positions.

또한, 컴퓨팅 장치(100)는 증강현실 환경을 구축하기 위한 증강현실 프로그램이 설치될 수 있으며, 증강현실 프로그램은 생성된 맵타겟 데이터에 대한 사용자 입력을 기초로 맵타겟 데이터가 구현한 3차원 공간 내에서의 제1 가상 위치에 가상 콘텐츠를 생성하여, 상기 3차원 공간 내에 위치한 증강현실 디바이스에서 상기 제1 가상 위치에 대응되는 제1 실제 위치에 가상 콘텐츠를 증강하여 표시하도록 제공할 수 있다. In addition, the computing device 100 may be installed with an augmented reality program to build an augmented reality environment, and the augmented reality program can be installed within a three-dimensional space implemented by the map target data based on user input for the generated map target data. By creating virtual content in the first virtual location, the augmented reality device located in the three-dimensional space can augment and display the virtual content in the first real location corresponding to the first virtual location.

이러한 컴퓨팅 장치(100)는, 맵타겟 프로그램(111)이 설치된 모바일 타입 컴퓨팅 장치(100-1) 및/또는 데스크탑 타입 컴퓨팅 장치(100-2) 등을 포함할 수 있다. This computing device 100 may include a mobile type computing device 100-1 and/or a desktop type computing device 100-2 in which the map target program 111 is installed.

여기서, 모바일 타입 컴퓨팅 장치(100-1)는, 맵타겟 프로그램(111)이 설치된 스마트 폰이나 테블릿 PC와 같은 모바일 장치일 수 있다. Here, the mobile type computing device 100-1 may be a mobile device such as a smart phone or tablet PC on which the map target program 111 is installed.

예를 들어, 모바일 타입 컴퓨팅 장치(100-1)는, 스마트 폰(smart phone), 휴대폰, 디지털방송용 디바이스, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC(tablet PC) 등이 포함될 수 있다. For example, the mobile type computing device 100-1 includes smart phones, mobile phones, digital broadcasting devices, personal digital assistants (PDAs), portable multimedia players (PMPs), and tablet PCs. may be included.

또한, 데스크탑 타입 컴퓨팅 장치(100-2)는, 맵타겟 프로그램(111)이 설치된 고정형 데스크탑 PC, 노트북 컴퓨터(laptop computer), 울트라북(ultrabook)과 같은 퍼스널 컴퓨터 등과 같이 유/무선 통신을 기반으로 맵 타겟 사용자 인터페이스 서비스를 실행하기 위한 프로그램이 설치된 장치 등을 포함할 수 있다. In addition, the desktop type computing device 100-2 is a fixed desktop PC with the map target program 111 installed, a laptop computer, a personal computer such as an ultrabook, etc. based on wired/wireless communication. It may include a device on which a program for executing the map target user interface service is installed.

또한, 실시예에 따라서 컴퓨팅 장치(100)는, 맵 타겟 사용자 인터페이스 서비스 환경을 제공하는 소정의 서버(Server) 컴퓨팅 디바이스를 더 포함할 수도 있다. Additionally, depending on the embodiment, the computing device 100 may further include a server computing device that provides a map target user interface service environment.

도 2는 본 발명의 실시예에 따른 컴퓨팅 장치(100)의 내부 블록도이다. Figure 2 is an internal block diagram of the computing device 100 according to an embodiment of the present invention.

한편, 도 2를 참조하면, 기능적 관점에서 컴퓨팅 장치(100)는, 메모리(110), 프로세서 어셈블리(120), 통신 프로세서(130), 입력 시스템(140) 및 유저 인터페이스 시스템(170)을 포함할 수 있다. 이러한 구성요소들은 컴퓨팅 장치(100)의 하우징 내에 포함되도록 구성될 수 있다. Meanwhile, referring to FIG. 2, from a functional perspective, the computing device 100 may include a memory 110, a processor assembly 120, a communication processor 130, an input system 140, and a user interface system 170. You can. These components may be configured to be included within the housing of computing device 100.

자세히, 메모리(110)에는, 맵타겟 프로그램(111)이 저장되며, 맵타겟 프로그램(111)은 맵 타겟 사용자 인터페이스 서비스 환경을 제공하기 위한 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다. In detail, the map target program 111 is stored in the memory 110 , and the map target program 111 can store one or more of various applications, data, and commands for providing a map target user interface service environment. .

즉, 메모리(110)는, 맵타겟 데이터를 생성하는 프로그램에서 사용될 수 있는 명령 및 데이터 등을 저장할 수 있다. That is, the memory 110 can store commands and data that can be used in a program that generates map target data.

또한, 상기 메모리(110)는, 프로그램 영역과 데이터 영역을 포함할 수 있다. Additionally, the memory 110 may include a program area and a data area.

여기서, 실시예에 따른 프로그램 영역은, 컴퓨팅 장치(100)를 부팅하는 운영체제(OS: Operating System) 및 기능요소들 사이에 연계될 수 있으며, 데이터 영역은, 컴퓨팅 장치(100)의 사용에 따라 발생하는 데이터가 저장될 수 있다. Here, the program area according to the embodiment may be linked between the operating system (OS: Operating System) and functional elements that boot the computing device 100, and the data area is generated according to the use of the computing device 100. data can be stored.

또한, 메모리(110)는, 적어도 하나 이상의 비일시적 컴퓨터 판독 가능 저장매체와, 일시적 컴퓨터 판독 가능 저장매체를 포함할 수 있다. Additionally, the memory 110 may include at least one non-transitory computer-readable storage medium and a temporary computer-readable storage medium.

예를 들어, 메모리(110)는, ROM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet) 상에서 상기 메모리(110)의 저장 기능을 수행하는 웹 스토리지(web storage)를 포함할 수 있다. For example, the memory 110 may be a variety of storage devices such as ROM, EPROM, flash drive, hard drive, etc., and web storage that performs the storage function of the memory 110 on the Internet. may include.

프로세서 어셈블리(120)는, 맵 타겟 생성하기 위한 다양한 작업을 수행하기 위해, 메모리(110)에 저장된 맵타겟 프로그램(111)의 명령들을 실행할 수 있는 적어도 하나 이상의 프로세서를 포함할 수 있다. The processor assembly 120 may include at least one processor capable of executing instructions of the map target program 111 stored in the memory 110 to perform various tasks for generating a map target.

실시예에서 프로세서 어셈블리(120)는, 맵 타겟 생성환경을 제공하기 위하여 메모리(110)의 맵타겟 프로그램(111)을 통해 구성요소의 전반적인 동작을 컨트롤할 수 있다. In an embodiment, the processor assembly 120 may control the overall operation of components through the map target program 111 of the memory 110 to provide a map target creation environment.

이러한 프로세서 어셈블리(120)는, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 컴퓨팅 장치(100)에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리(110)에 저장된 운영체제(OS) 및/또는 응용 프로그램 등을 실행할 수 있고, 컴퓨팅 장치(100)에 탑재된 각 구성요소들을 제어할 수 있다. This processor assembly 120 may be a system-on-chip (SOC) suitable for the computing device 100 that includes a central processing unit (CPU) and/or a graphics processing unit (GPU), and is stored in the memory 110. An operating system (OS) and/or application programs can be executed, and each component mounted on the computing device 100 can be controlled.

또한, 프로세서 어셈블리(120)는, 각 구성요소와 내부적으로 시스템 버스(System Bus)에 의해 통신을 수행할 수 있고, 로컬 버스(Local Bus)를 비롯한 소정의 버스 구조들을 하나 이상 포함할 수 있다. Additionally, the processor assembly 120 may internally communicate with each component through a system bus and may include one or more bus structures, including a local bus.

또한, 프로세서 어셈블리(120)는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 포함하여 구현될 수 있다. In addition, the processor assembly 120 includes application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), and controllers. ), micro-controllers, microprocessors, and other electrical units for performing functions.

통신 프로세서(130)은, 외부의 장치와 통신하기 위한 하나 이상의 장치를 포함할 수 있다. 이러한 통신 프로세서(130)은, 무선 네트워크를 통해 통신할 수 있다. The communication processor 130 may include one or more devices for communicating with external devices. This communication processor 130 can communicate through a wireless network.

자세히, 통신 프로세서(130)은, 맵 타겟 생성을 위한 스캔 데이터를 수신하거나, 생성된 맵타겟 데이터를 송신하기 위하여 저장한 소정의 컴퓨팅 디바이스와 통신할 수 있으며, 사용자 입력을 받은 컨트롤러와 같은 다양한 사용자 입력 컴포넌트와 통신할 수 있다. In detail, the communication processor 130 may receive scan data for creating a map target or communicate with a predetermined computing device that stores the generated map target data to transmit it, and may be used by various users such as a controller that receives user input. Can communicate with input components.

실시예에서, 통신 프로세서(130)은, 각종 데이터를 타 컴퓨팅 장치(100), 데이터베이스 서버(200) 및/또는 3차원 스캐너(300) 등과 송수신할 수 있다. In an embodiment, the communication processor 130 may transmit and receive various data to and from another computing device 100, the database server 200, and/or the 3D scanner 300.

이러한 통신 프로세서(130)은, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced),5G NR(New Radio), WIFI) 또는 근거리 통신방식 등을 수행할 수 있는 통신장치를 통해 구축된 이동 통신망 상에서 기지국, 외부의 컴퓨팅 장치(100), 임의의 서버 중 적어도 하나와 무선으로 데이터를 송수신할 수 있다.This communication processor 130 uses technical standards or communication methods for mobile communication (e.g., Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A), 5G New Radio (NR), WIFI). Alternatively, data can be transmitted and received wirelessly with at least one of a base station, an external computing device 100, and an arbitrary server on a mobile communication network established through a communication device capable of performing short-distance communication.

유저 인터페이스 시스템(170)은, 컴퓨팅 장치(100)를 하나 이상의 다른 장치와 통신 가능하게 연결할 수 있다. 자세히, 유저 인터페이스 시스템(170)은, 하나 이상의 상이한 통신 프로토콜과 호환되는 유선 및/또는 무선 통신 장치를 포함할 수 있다. The user interface system 170 may communicatively connect the computing device 100 with one or more other devices. In particular, user interface system 170 may include wired and/or wireless communication devices compatible with one or more different communication protocols.

이러한 유저 인터페이스 시스템(170)을 통해 컴퓨팅 장치(100)는, 여러 입출력 장치들과 연결될 수 있다. Through this user interface system 170, the computing device 100 can be connected to various input/output devices.

예를 들어, 유저 인터페이스 시스템(170)은, 헤드셋 포트나 스피커와 같은 오디오 출력장치와 연결되어, 오디오를 출력할 수 있다. For example, the user interface system 170 may be connected to an audio output device such as a headset port or a speaker to output audio.

예시적으로 오디오 출력장치가 유저 인터페이스 시스템(170)을 통해 연결되는 것으로 설명하였으나, 컴퓨팅 장치(100) 내부에 설치되는 실시예도 포함될 수 있다. As an example, the audio output device is connected through the user interface system 170, but embodiments in which the audio output device is installed inside the computing device 100 may also be included.

또한, 예를 들면 유저 인터페이스 시스템(170)은, 키보드(152) 및/또는 마우스(151)와 같은 입력장치와 연결되어, 사용자 입력을 획득할 수 있다. Additionally, for example, the user interface system 170 may be connected to an input device such as a keyboard 152 and/or mouse 151 to obtain user input.

예시적으로 키보드(152) 및/또는 마우스(152)가 유저 인터페이스 시스템(170)을 통해 연결되는 것으로 설명하였으나, 컴퓨팅 장치(100) 내부에 설치되는 실시예도 포함될 수 있다. As an example, the keyboard 152 and/or mouse 152 are described as being connected through the user interface system 170, but embodiments in which the keyboard 152 and/or mouse 152 are installed inside the computing device 100 may also be included.

이러한 유저 인터페이스 시스템(170)은, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port), 전력 증폭기, RF 회로, 송수신기 및 기타 통신 회로 중 적어도 하나를 포함하여 구성될 수 있다. This user interface system 170 connects devices equipped with a wired/wireless headset port, an external charger port, a wired/wireless data port, a memory card port, and an identification module. port, audio I/O (Input/Output) port, video I/O (Input/Output) port, earphone port, power amplifier, RF circuit, transceiver and other communications It may be configured to include at least one of the circuits.

입력 시스템(140)은 맵 타겟 사용자 인터페이스 서비스와 관련된 사용자의 입력(예를 들어, 제스처, 음성 명령, 버튼의 작동 또는 다른 유형의 입력)을 감지할 수 있다. Input system 140 may detect user input (e.g., a gesture, voice command, operation of a button, or other type of input) related to a map target user interface service.

자세히, 입력 시스템(140)은 소정의 버튼, 터치 센서 및/또는 사용자 모션 입력을 수신하는 이미지 센서 등을 포함할 수 있다. In detail, the input system 140 may include a predetermined button, a touch sensor, and/or an image sensor that receives a user motion input.

또한, 입력 시스템(140)은, 유저 인터페이스 시스템(170)을 통해 외부 컨트롤러와 연결되어, 사용자의 입력을 수신할 수 있다. Additionally, the input system 140 may be connected to an external controller through the user interface system 170 to receive user input.

디스플레이 장치(170)은, 맵타겟 생성과 관련된 다양한 정보를 그래픽 이미지로 출력할 수 있다. 실시예에서, 디스플레이 장치(170)는 유저 인터페이스 시스템(170)을 통해 컴퓨팅 장치(100)와 연결될 수 있다. The display device 170 may output various information related to map target creation as a graphic image. In an embodiment, display device 170 may be connected to computing device 100 through user interface system 170.

실시예로, 디스플레이 장치(170)은, 촬영영상, 키 프레임(Key frame), 3차원 맵(3D Map), 객체정보 및/또는 각종 사용자 인터페이스 등을 표시할 수 있다. In an embodiment, the display device 170 may display captured images, key frames, 3D maps, object information, and/or various user interfaces.

이러한 디스플레이는, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전자잉크 디스플레이(e-ink display) 중에서 적어도 하나를 포함할 수 있다.These displays include liquid crystal display (LCD), thin film transistor-liquid crystal display (TFT LCD), organic light-emitting diode (OLED), and flexible display. , a 3D display, or an e-ink display.

이러한 컴퓨팅 장치(100)의 하우징 내에는 상기 구성요소들이 배치될 수 있으며, 사용자 인터페이스는 사용자 터치 입력을 수신하도록 구성된 디스플레이(171) 상에 터치 센서(173)를 포함할 수 있다. The above components may be disposed within a housing of the computing device 100, and the user interface may include a touch sensor 173 on the display 171 configured to receive user touch input.

자세히, 디스플레이 장치(170)은, 이미지를 출력하는 디스플레이(171)와, 사용자의 터치 입력을 감지하는 터치 센서(173)를 포함할 수 있다.In detail, the display device 170 may include a display 171 that outputs an image and a touch sensor 173 that detects a user's touch input.

예시적으로 디스플레이(171)는 터치 센서(173)와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린으로 구현될 수 있다. 이러한 터치 스크린은, 컴퓨팅 장치(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부로써 기능함과 동시에, 컴퓨팅 장치(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다. For example, the display 171 may be implemented as a touch screen by forming a mutual layer structure or being integrated with the touch sensor 173. Such a touch screen may function as a user input unit that provides an input interface between the computing device 100 and the user, and may also provide an output interface between the computing device 100 and the user.

- 데이터베이스 서버 (200: Database server) - Database server (200: Database server)

한편, 본 발명의 실시예에 따른 데이터베이스 서버(200)는, 맵타겟 생성 및 생성된 맵타겟 기반 어플리케이션 실행환경을 제공하기 위한 일련의 프로세스를 수행할 수 있다. Meanwhile, the database server 200 according to an embodiment of the present invention may perform a series of processes for creating a map target and providing an application execution environment based on the created map target.

자세히, 실시예에서 데이터베이스 서버(200)는, 컴퓨팅 장치(100) 및/또는 3차원 스캐너(300)와 같은 외부의 장치에서 맵타겟 기반 어플리케이션 실행환경 프로세스가 구동되게 하기 위해 필요한 데이터(예컨대, 맵타겟 데이터 및 증강현실 관련 데이터)를, 상기 외부의 장치와 교환함으로써 맵타겟 기반 어플리케이션 실행환경을 제공할 수 있다. In detail, in an embodiment, the database server 200 stores data (e.g., a map) required to run a map target-based application execution environment process in an external device such as the computing device 100 and/or the 3D scanner 300. A map target-based application execution environment can be provided by exchanging target data and augmented reality-related data) with the external device.

보다 상세히, 실시예에서 데이터베이스 서버(200)는, 컴퓨팅 장치(100)에서 맵타겟 프로그램(111)이 동작할 수 있는 환경을 제공할 수 있다. In more detail, in the embodiment, the database server 200 may provide an environment in which the map target program 111 can operate in the computing device 100.

또한, 실시예에서 데이터베이스 서버(200)는, 맵타겟 데이터 기반 어플리케이션 실행 디바이스(400)에 어플리케이션이 동작하기 위한 맵타겟 데이터 및 맵타겟 데이터 기반의 증강현실 데이터를 제공할 수 있다. Additionally, in an embodiment, the database server 200 may provide map target data for operating an application and augmented reality data based on map target data to the device 400 for executing an application based on map target data.

이를 위해, 데이터베이스 서버(200)는, 응용 프로그램, 데이터 및/또는 명령어 등을 포함할 수 있고, 이에 기초한 데이터를 상기 외부의 장치와 송수신할 수 있다. To this end, the database server 200 may include an application program, data, and/or commands, and may transmit and receive data based thereon with the external device.

보다 상세히, 실시예에서 데이터베이스 서버(200)는, 위와 같은 기능 동작을 수행하기 위해 구축되어 있는 소정의 알고리즘 구동 프로그램을 메모리로부터 독출하여, 상기 독출된 소정의 알고리즘 시스템에 따라 해당하는 기능 동작을 수행할 수 있다. More specifically, in the embodiment, the database server 200 reads a predetermined algorithm driving program built to perform the above functional operation from memory, and performs the corresponding functional operation according to the read predetermined algorithm system. can do.

이때, 실시예에 따라서 위와 같은 소정의 알고리즘은, 데이터베이스 서버(200)에 직접 포함되거나, 또는 데이터베이스 서버(200)와는 별도의 장치 및/또는 서버에 구현되어 상기 맵타겟 생성 및 생성된 맵타겟 기반 어플리케이션 실행환경을 위한 기능 동작을 수행할 수 있다. At this time, depending on the embodiment, the above predetermined algorithm is directly included in the database server 200 or is implemented in a device and/or server separate from the database server 200 to generate the map target and based on the generated map target. Functional operations for the application execution environment can be performed.

이하의 설명에서는, 상기 소정의 알고리즘이 데이터베이스 서버(200)에 포함되어 구현되는 것으로 설명하나 이에 한정되는 것은 아니다. In the following description, the predetermined algorithm is described as being included and implemented in the database server 200, but is not limited thereto.

또한, 실시예에서 데이터베이스 서버(200)는, 맵타겟 생성 및 생성된 맵타겟 기반 어플리케이션 실행환경을 구현하기 위한 각종 응용 프로그램, 명령어 및/또는 데이터 등을 저장하고 관리할 수 있다. Additionally, in the embodiment, the database server 200 may store and manage various application programs, commands, and/or data for creating a map target and implementing an execution environment for the generated map target-based application.

실시예로, 데이터베이스 서버(200)는, 적어도 하나 이상의 3차원 맵타겟 데이터 및 생성된 맵타겟 기반 어플리케이션 실행환경에 필요한 각종 사용자 인터페이스 및/또는 알고리즘 등을 저장 및 관리할 수 있다. In an embodiment, the database server 200 may store and manage at least one 3D map target data and various user interfaces and/or algorithms required for the generated map target-based application execution environment.

한편, 도 1을 더 참조하면, 실시예에서 위와 같은 데이터베이스 서버(200)는, 데이터 처리를 위한 적어도 하나 이상의 프로세서 모듈(210: Processor Module)과, 외부의 장치와의 데이터 교환을 위한 적어도 하나 이상의 커뮤니케이션 모듈(220: Communication Module)과, 맵타겟 생성 및 생성된 맵타겟 기반 어플리케이션 실행환경의 제공을 위한 각종 응용 프로그램, 데이터 및/또는 명령어들을 저장하는 적어도 하나 이상의 메모리 모듈(230: Memory Module)을 포함하는 소정의 컴퓨팅 디바이스로 구현될 수 있다. Meanwhile, referring further to FIG. 1, in the embodiment, the database server 200 as described above includes at least one processor module (210) for data processing and at least one or more processor modules (210) for data exchange with external devices. A communication module (220) and at least one memory module (230) that stores various applications, data and/or commands for creating a map target and providing an execution environment for the generated map target-based application. It can be implemented with a predetermined computing device including.

여기서, 상기 메모리 모듈(220)은, 맵타겟 생성 및 생성된 맵타겟 기반 어플리케이션 실행환경을 제공하기 위한 운영체제(OS), 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다. Here, the memory module 220 may store one or more of an operating system (OS), various application programs, data, and commands for creating a map target and providing an execution environment for the generated map target-based application.

또한, 상기 메모리 모듈(220)은, 프로그램 영역과 데이터 영역을 포함할 수 있다. Additionally, the memory module 220 may include a program area and a data area.

여기서, 실시예에 따른 프로그램 영역은, 서버를 부팅하는 운영체제(OS: Operating System) 및 기능요소들 사이에 연계될 수 있으며, 데이터 영역은, 서버의 사용에 따라 발생하는 데이터가 저장될 수 있다. Here, the program area according to the embodiment may be linked between the operating system (OS) that boots the server and functional elements, and the data area may store data generated according to the use of the server.

실시예에서, 이러한 메모리 모듈(220)은, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet)상에서 상기 메모리 모듈(220)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다. 또한, 메모리 모듈(220)는, 서버 상에 탈착 가능한 형태의 기록매체일 수 있다. In an embodiment, the memory module 220 may be a variety of storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc., and may be a web device that performs the storage function of the memory module 220 on the Internet. It could also be storage (web storage). Additionally, the memory module 220 may be a recording medium that is removable from the server.

한편, 상기 프로세서 모듈(210)은, 맵타겟 생성 및 생성된 맵타겟 기반 어플리케이션 실행환경을 구현하기 위하여 전술한 각 유닛(unit)의 전반적인 동작을 컨트롤할 수 있다. Meanwhile, the processor module 210 can control the overall operation of each unit described above in order to create a map target and implement an application execution environment based on the created map target.

이러한 프로세서 모듈(210)은, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 서버에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리 모듈(220)에 저장된 운영체제(OS) 및/또는 응용 프로그램 등을 실행할 수 있고, 서버에 탑재된 각 구성요소들을 제어할 수 있다. This processor module 210 may be a system-on-chip (SOC) suitable for a server that includes a central processing unit (CPU) and/or graphics processing unit (GPU), and the operating system (OS) stored in the memory module 220 ) and/or application programs, etc., and control each component mounted on the server.

또한, 프로세서 모듈(210)은, 각 구성요소와 내부적으로 시스템 버스(System Bus)에 의해 통신을 수행할 수 있고, 로컬 버스(Local Bus)를 비롯한 소정의 버스 구조들을 하나 이상 포함할 수 있다. Additionally, the processor module 210 may internally communicate with each component through a system bus and may include one or more bus structures, including a local bus.

또한, 프로세서 모듈(210)은, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다. In addition, the processor module 210 includes application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), and controllers. ), micro-controllers, microprocessors, and other electrical units for performing functions.

이상의 설명에서는, 본 발명의 실시예에 따른 데이터베이스 서버(200)가 상술된 바와 같은 기능 동작을 수행한다고 설명하였으나, 실시예에 따라서 데이터베이스 서버(200)에서 수행하는 기능 동작의 적어도 일부를 외부의 장치(예컨대, 컴퓨팅 장치(100) 및/또는 3차원 스캐너(300) 등)에서 수행할 수도 있고, 상기 외부의 장치에서 수행하는 기능 동작의 적어도 일부를 상기 데이터베이스 서버(200)에서 더 수행할 수도 있는 등 다양한 실시예가 가능할 수 있다. In the above description, it has been explained that the database server 200 according to an embodiment of the present invention performs the functional operations as described above. However, depending on the embodiment, at least part of the functional operations performed by the database server 200 is performed by an external device. (e.g., computing device 100 and/or 3D scanner 300, etc.) may be performed, and at least part of the functional operation performed by the external device may be further performed by the database server 200. Various embodiments such as these may be possible.

- 3차원 스캐너(300) - 3D scanner (300)

본 발명의 실시예에 따른 3차원 스캐너(300)는, 맵타겟 데이터를 생성에 기초가 되는 스캔 데이터를 생성할 수 있다. 여기서, 스캔 데이터는, 3차원 스캐너(300)가 일 위치에서 센싱한 포지셔닝 데이터, 뎁스 데이터 및 이미지 데이터를 포함할 수 있다. The 3D scanner 300 according to an embodiment of the present invention can generate scan data that is the basis for generating map target data. Here, the scan data may include positioning data, depth data, and image data sensed at one location by the 3D scanner 300.

도 3은 본 발명의 실시예에 따른 3차원 스캐너(300)의 내부 블록도이다. 이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 3차원 스캐너(300)를 구성하는 요소에 대해 상세히 설명한다. 다만, 도 3에 도시된 구성요소들은 3차원 스캐너(300)에 필수적인 것이 아니어서, 그보다 많은 구성요소들을 갖거나 그 보다 적은 구성요소들로 3차원 스캐너(300)를 구현할 수도 있다. Figure 3 is an internal block diagram of a 3D scanner 300 according to an embodiment of the present invention. Hereinafter, elements constituting the 3D scanner 300 according to an embodiment of the present invention will be described in detail with reference to the attached drawings. However, since the components shown in FIG. 3 are not essential for the 3D scanner 300, the 3D scanner 300 may be implemented with more components or fewer components.

실시예에 따른 3차원 스캐너(300)는 이미지 센서(310), 뎁스 센서(320), 프로세서 및 입출력부를 포함할 수 있다. The 3D scanner 300 according to an embodiment may include an image sensor 310, a depth sensor 320, a processor, and an input/output unit.

실시예로, 센서부는, 3차원 스캐너(300)의 일 위치에서 360도 주변 영역을 센싱하는 적어도 하나 이상의 센서를 포함할 수 있다. In an embodiment, the sensor unit may include at least one sensor that senses a 360-degree surrounding area at one location of the 3D scanner 300.

자세히, 센서부의 이미지 센서(310)는, 주변 오브젝트를 촬영한 이미지(정지 이미지 및/또는 동영상)를 획득할 수 있으며, 촬영시점을 타임스탬프로 이미지와 함께 메모리에 저장하도록 제공할 수 있다. In detail, the image sensor 310 of the sensor unit can acquire images (still images and/or moving images) of surrounding objects, and provide the shooting point to be stored in memory along with the images as a timestamp.

실시예에서 이미지 센서(310)는, 3차원 스캐너(300)가 배치된 일 위치에서 전후상하좌우 방향의 영상을 포함하는 이미지 데이터를 획득하여 제공할 수 있다. In an embodiment, the image sensor 310 may obtain and provide image data including images in the front, rear, top, bottom, left, and right directions at a location where the 3D scanner 300 is placed.

도 5를 참조하면, 이미지 센서(310)가 획득하는 이미지 데이터는, 3차원 스캐너(300)의 전방(front), 후방(back), 상방(top), 하방(down), 좌방(left), 우방(right) 측 이미지를 포함하는 360도 파노라마 이미지일 수 있다. Referring to FIG. 5, the image data acquired by the image sensor 310 includes the front, back, top, down, left, and front of the 3D scanner 300. It may be a 360-degree panoramic image including a right side image.

이러한 이미지 센서(310)는, 이미지 센서(310)장치(예를 들면, CMOS 또는 CCD)에 의해 얻어지는 영상을 전기 신호로 변환하고 영상처리하여 메모리에 저장할 수 있다. This image sensor 310 can convert the image obtained by the image sensor 310 device (for example, CMOS or CCD) into an electrical signal, process the image, and store it in memory.

또한, 이미지 센서(310)는 적어도 하나 이상의 카메라를 포함하는 카메라 어셈블리일 수 있다. 카메라 어셈블리는, 가시광선 대역을 촬영하는 일반 카메라를 포함할 수 있으며, 적외선 카메라, 스테레오 카메라 등의 특수 카메라를 더 포함할 수 있다.Additionally, the image sensor 310 may be a camera assembly including at least one camera. The camera assembly may include a general camera that photographs a visible light band, and may further include a special camera such as an infrared camera or a stereo camera.

또한, 실시예에서 센서부의 뎁스 센서(320)는, 주변 오브젝트와의 거리를 감지할 수 있다. Additionally, in the embodiment, the depth sensor 320 of the sensor unit may detect the distance to a surrounding object.

실시예에서, 상기 뎁스 센서(320)는, 라이다 센서(LIDAR Sensor 및/또는 레이저 센서 등) 및/또는 레이더 센서(RADAR Sensor) 등을 포함할 수 있다. In an embodiment, the depth sensor 320 may include a LIDAR sensor (LIDAR sensor and/or a laser sensor, etc.) and/or a radar sensor (RADAR Sensor).

실시예에서 라이다 센서는, 레이저 펄스를 쏘고 주변 오브젝트에 반사되어 돌아오는 시간을 측정(Time-of-Flight 방법론)하여 오브젝트의 위치좌표를 측정하는 레이다 시스템이다. 예를 들어, 라이다 센서의 한 종류인 VLP-16 센서의 경우 구면좌표의 반지름 r, 고도 ω, 방위각 α에 따른 자신의 위치 정보를 수집하여 제공할 수 있다. In an embodiment, the LIDAR sensor is a radar system that measures the position coordinates of an object by shooting a laser pulse and measuring the time it takes for it to reflect and return to surrounding objects (Time-of-Flight methodology). For example, in the case of the VLP-16 sensor, a type of LiDAR sensor, it can collect and provide its own location information according to the radius r, altitude ω, and azimuth α in spherical coordinates.

이러한 라이다 센서는, 전후상하좌우 방향 측에 위치한 주변 오브젝트의 복수의 포인트에 레이저를 발사하여 획득된 각각의 포인트 별 거리를 센싱하여, 각 포인트 별 거리를 포함하는 포인트 데이터 세트를 실시간으로 획득하며 3차원 스캐너(300) 주변 환경을 3차원 스캔할 수 있다. 이때, 각 포인트 데이터 별로 센싱되는 시점의 타임스탬프 데이터가 함께 저장될 수있다. This LiDAR sensor senses the distance for each point obtained by firing a laser at a plurality of points of surrounding objects located in the front, rear, up, down, left, and right directions, and acquires a point data set including the distance for each point in real time. The 3D scanner 300 can scan the surrounding environment in 3D. At this time, timestamp data at the time of sensing for each point data may be stored together.

그리고 프로세서(330)는, 라이다 센서에서 획득된 포인터 데이터 세트를 포함하는 포인트 클라우드 데이터를 생성할 수 있으며, 포인트 클라우드 데이터를 기초로 복수의 포인트를 포함하는 면들을 모델링하여 3차원 메쉬 맵(mesh map)을 생성할 수 있다. And the processor 330 can generate point cloud data including a pointer data set acquired from a LiDAR sensor, and model surfaces including a plurality of points based on the point cloud data to create a 3D mesh map (mesh). map) can be created.

또한, 프로세서(330)는 상기와 같이 획득된 이미지 데이터와 뎁스 데이터를 각 센싱시점의 타임스탬프를 기초로 매칭하여 스캔 데이터로 저장할 수 있다. Additionally, the processor 330 may match the image data and depth data obtained as described above based on the timestamp of each sensing point and store it as scan data.

또한, 센서부는 스캔 데이터를 획득하는 3차원 스캐너(300)의 위치정보인 스캐닝 포지션을 센싱하기 위한 위치 센서를 더 포함할 수 있다. Additionally, the sensor unit may further include a position sensor for sensing the scanning position, which is position information of the 3D scanner 300 that acquires scan data.

상기 위치 센서는, 스캐닝 포지션의 절대좌표를 센싱하는 GPS 등의 센서를 포함할 수 있다. The position sensor may include a sensor such as GPS that senses the absolute coordinates of the scanning position.

또한, 위치 센서는, 제1 스캔 데이터를 획득한 제1 스캐닝 포지션에서 제2 스캔 데이터를 획득한 제2 스캐닝 포지션 사이의 상대적인 위치정보를 센싱하기 위한 움직임 센서의 조합으로 이루어질 수 있다. 예를 들어, 3차원 스캐너(300)의 가속도 및 회전각 중 적어도 하나 이상을 감지할 수 있다. 예를 들어, 위치 센서는 가속도계, 자이로스코프, 자력계 센서 등을 포함할 수 있다. Additionally, the position sensor may be a combination of a motion sensor for sensing relative position information between the first scanning position where the first scan data is acquired and the second scanning position where the second scan data is acquired. For example, at least one of the acceleration and rotation angle of the 3D scanner 300 may be detected. For example, the position sensor may include an accelerometer, gyroscope, magnetometer sensor, etc.

그리고 3차원 스캐너(300)의 프로세서(330)는, 입출력부(I/O, 340)를 제어하여 외부의 컴퓨팅 디바이스(실시예에서, 컴퓨팅 장치(100) 및/또는 데이터베이스 서버(200) 등)에게 스캔 데이터를 송신할 수 있다. And the processor 330 of the 3D scanner 300 controls the input/output unit (I/O) 340 to operate an external computing device (in the embodiment, the computing device 100 and/or the database server 200, etc.) You can send scan data to.

입출력부에는 디스플레이가 더 포함될 수 있으며, 디스플레이는 맵타겟 생성을 위해 센싱하는 이미지 데이터와 뎁스 데이터에 관련된 그래픽 이미지를 출력할 수 있고, 3차원 스캐너(300)의 센싱 프로세스를 진행하기 위한 유저 인터페이스를 표시할 수 있다. The input/output unit may further include a display , and the display can output graphic images related to the image data and depth data sensed to create a map target, and may provide a user interface to proceed with the sensing process of the 3D scanner 300. It can be displayed.

또한, 프로세서(330)는 스캔 데이터 생성을 위해 3차원 스캐너(300)의 각 구성 요소를 컨트롤할 수 있다. Additionally, the processor 330 can control each component of the 3D scanner 300 to generate scan data.

한편, 상기 3차원 스캐너(300)에는 이동부가 설치되어, 사용자나 프로세서의 제어에 의하여 3차원 스캐너(300)가 위치를 이동하게 할 수 있다. Meanwhile, a moving part is installed in the 3D scanner 300, so that the 3D scanner 300 can move its position under control of a user or processor.

실시예에서, 이러한 이동부는, 바퀴형 구조 이동장치 및/또는 보행형 구조 이동장치 등을 포함할 수 있다. In embodiments, such mobile units may include wheel-type structural mobile devices and/or walking-type structural mobile devices, etc.

여기서, 상기 바퀴형 구조 이동장치는, 3차원 스캐너(300)의 이동을 위한 적어도 둘 이상의 구동바퀴(예컨대, 좌/우측 구동바퀴 등)를 포함할 수 있으며, 상기 구동바퀴는 3차원 스캐너(300) 하부의 적어도 일부 상에 배치될 수 있다. 이때, 상기 구동바퀴는, 각각 프로세서에 의해 작동하는 적어도 하나 이상의 모터에 의하여 회전하도록 구성될 수 있고, 상기 모터의 구동에 따라서 3차원 스캐너(300)가 방향을 전환하며 이동하게 할 수 있다. Here, the wheel-type structure moving device may include at least two driving wheels (e.g., left/right driving wheels, etc.) for moving the 3D scanner 300, and the driving wheels are used to move the 3D scanner 300. ) may be placed on at least part of the lower part. At this time, the driving wheels may be configured to rotate by at least one motor each operated by a processor, and the three-dimensional scanner 300 may change direction and move according to the driving of the motor.

또한, 상기 보행형 구조 이동장치는, 3차원 스캐너(300)의 이동을 위한 적어도 둘 이상의 다리형 지지부(예컨대, 좌측 제1 및/또는 제2 다리형 지지대와 우측 제1 및/또는 제2 다리형 지지대 등)를 포함할 수 있으며, 상기 다리형 지지부는 각각 프로세서의 제어를 따라서 작동하는 적어도 하나 이상의 모터의 구동에 의해 3차원 스캐너(300)가 방향을 전환하며 보행하게 할 수 있다. In addition, the walking structure moving device includes at least two leg-type supports (for example, a first and/or second left leg support and a first and/or second right leg) for moving the 3D scanner 300. type support, etc.), and each of the leg-type supports can cause the 3D scanner 300 to change direction and walk by driving at least one motor that operates under the control of a processor.

또한, 입출력부(340)의 통신부는, 외부의 컴퓨팅 디바이스(실시예에서, 타 3차원 스캐너(300), 컴퓨팅 장치(100) 및/또는 데이터베이스 서버(200) 등)와 통신하기 위한 하나 이상의 장치(예컨대, 통신 프로세서 등)를 포함할 수 있다. In addition, the communication unit of the input/output unit 340 is one or more devices for communicating with an external computing device (in the embodiment, another 3D scanner 300, computing device 100, and/or database server 200, etc.) (eg, communication processor, etc.) may be included.

이러한 통신부는, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등)에 따라 구축된 이동 통신망 상에서 기지국, 외부의 컴퓨팅 장치(100) 및/또는 서버 중 적어도 하나와 무선 신호를 송수신할 수 있다. This communication unit sets technical standards or communication methods for mobile communication (e.g., Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), High Speed Downlink Packet Access (HSDPA), and High Speed Uplink (HSUPA). Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), etc.) and at least one of a base station, an external computing device 100, and/or a server and a wireless signal. Can send and receive.

또한, 3차원 스캐너(300)는 저장부를 더 포함할 수 있으며, 3차원 스캐너(300)의 저장부는, 스캔 데이터를 생성하기 위한 운영체제(OS), 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다. In addition, the 3D scanner 300 may further include a storage unit, and the storage unit of the 3D scanner 300 may store one or more of an operating system (OS), various applications, data, and commands for generating scan data. You can save it.

실시예에서, 상기 저장부는, 3차원 스캐너(300) 기반의 정보 수집 프로그램을 저장 및 관리할 수 있다. In an embodiment, the storage unit may store and manage an information collection program based on the 3D scanner 300.

실시예에서, 이러한 저장부는, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet)상에서 상기 저장부(570)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다. In an embodiment, this storage unit may be a variety of storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc., and web storage that performs the storage function of the storage unit 570 on the Internet. ) may be.

또한, 프로세서(330)는, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 3차원 스캐너(300)에 적합한 시스템 온 칩(SOC)일 수 있으며, 저장부에 저장된 운영체제(OS) 및/또는 센싱 프로그램 등을 실행할 수 있고, 3차원 스캐너(300)에 탑재된 각 구성요소들을 제어할 수 있는 적어도 하나 이상의 프로세서를 포함할 수 있다. In addition, the processor 330 may be a system-on-chip (SOC) suitable for the 3D scanner 300 that includes a central processing unit (CPU) and/or a graphics processing unit (GPU), and an operating system stored in the storage unit. It may execute an operating system (OS) and/or a sensing program, and may include at least one processor capable of controlling each component mounted on the 3D scanner 300.

이러한 프로세서(330)는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다. These processors 330 include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, It may be implemented using at least one of micro-controllers, microprocessors, and other electrical units for performing functions.

- 맵타겟 데이터 생성방법- How to create map target data

도 4는 본 발명의 실시예에 따른 3차원 스캐너(300)를 이용한 맵타겟 데이터 생성방법을 나타내는 흐름도이다. Figure 4 is a flowchart showing a method of generating map target data using a 3D scanner 300 according to an embodiment of the present invention.

이하 전술한 맵타겟 데이터 생성 시스템(1000)의 컴퓨팅 장치(100)의 맵타겟 프로그램(111)의 제어명령에 따라서 3차원 스캐너(300)에서 수신한 스캔 데이터를 기초로 맵타겟 데이터 생성하는 과정을 도 4를 참조하여 상세히 설명한다. Hereinafter, a process of generating map target data based on scan data received from the 3D scanner 300 according to the control command of the map target program 111 of the computing device 100 of the map target data generation system 1000 described above is performed. This will be described in detail with reference to FIG. 4 .

도 4를 참조하면, 맵타겟 프로그램(111)은, 3차원 스캐너(300)로부터 일 스캐닝 포지션에서 센싱한 뎁스 및 이미지 데이터 획득할 수 있다. (S101)Referring to FIG. 4, the map target program 111 can acquire depth and image data sensed at one scanning position from the 3D scanner 300. (S101)

자세히, 3차원 스캐너(300)는 고정된 일 위치인 스캐닝 포지션에서 센싱한 뎁스 데이터와 이미지 데이터를 포함하는 스캔 데이터를 생성하고, 생성된 스캔 데이터를 입출력부를 통해 컴퓨팅 장치(100)에 송신하여, 맵타겟 프로그램(111)은 스캔 데이터를 획득할 수있다. 이때, 스캐닝 포지션은, 위치(position) 및 자세(orientation)을 포함하는 6자유도를 의미한다. In detail, the 3D scanner 300 generates scan data including depth data and image data sensed at a fixed scanning position, and transmits the generated scan data to the computing device 100 through the input/output unit, The map target program 111 can acquire scan data. At this time, the scanning position means 6 degrees of freedom including position and orientation.

그리고, 뎁스 데이터는, 스캐닝 포지션에서 3차원 스캐너(300)의 전후상하좌우 방향 측에 위치한 주변 오브젝트의 포인트까지의 거리를 센싱하여, 각 포인트 별 거리를 포함하는 포인트 데이터 세트일 수 있다. In addition, the depth data may be a point data set that includes the distance for each point by sensing the distance from the scanning position to the point of a surrounding object located on the front, rear, left, right, and left directions of the 3D scanner 300.

자세히, 실시예에서 뎁스 데이터는, 포인터 데이터 세트를 포함하는 포인트 클라우드 데이터일 수 있으며, 포인트 클라우드 데이터를 기초로 복수의 포인트를 포함하는 면들을 모델링한 3차원 메쉬 맵(mesh map)일 수 있다. In detail, in the embodiment, the depth data may be point cloud data including a pointer data set, and may be a 3D mesh map modeling surfaces including a plurality of points based on the point cloud data.

그리고 이미지 데이터는, 스캐닝 포지션에서 전방위를 촬영한 전방위 이미지일 수 있다. 예를 들어, 이미지 데이터는, 적어도 하나의 전방위 렌즈를 통해 센싱된 전방위 이미지일 수 있다. 또한, 이미지 데이터는 전방위 이미지를 파노라마 영상처리하여 평면화하여 생성한 도 5와 같은 360도 파노라마 이미지일 수 있다. And the image data may be an omnidirectional image captured omnidirectionally at a scanning position. For example, the image data may be an omnidirectional image sensed through at least one omnidirectional lens. Additionally, the image data may be a 360-degree panoramic image as shown in FIG. 5 created by flattening an omnidirectional image through panoramic image processing.

그리고 뎁스 데이터와 이미지 데이터는 각각의 센싱시점인 타임스탬프를 기초로 매칭될 수 있다. And the depth data and image data can be matched based on the timestamp, which is the respective sensing point.

스캔 데이터를 수신한 맵타겟 프로그램(111)은, 이미지 데이터를 기초로 큐브맵을 생성할 수 있다. (S103)The map target program 111 that receives the scan data can generate a cube map based on the image data. (S103)

큐브맵은, 전방위 이미지를 복수의 방향 측 각각의 2차원 평면 이미지인 페이스 이미지로 분리하여 배치한 맵을 의미할 수 있다. A cube map may refer to a map in which an omnidirectional image is separated and arranged into face images, which are two-dimensional flat images in each of a plurality of directions.

이를 위해 맵타겟 프로그램(111)은, 수신한 전방위 이미지를 파노라마 영상처리하여 평면화한 360도 파노라마 이미지를 생성할 수 있다. 실시예에 따라서 3차원 스캐너(300)로부터 파노라마 이미지를 수신할수도 있다. To this end, the map target program 111 can generate a flat 360-degree panoramic image by performing panoramic image processing on the received omnidirectional image. Depending on the embodiment, a panoramic image may be received from the 3D scanner 300.

그리고 맵타겟 프로그램(111)은, 파노라마 이미지를 전후상하좌우 방향 측 페이스 이미지로 분리하고, 각 페이스 이미지의 자세를 결정할 수 있다. 예를 들어, 페이스 이미지는, 3차원 스캐너(300)의 전방 이미지(front), 후방 이미지(back), 상방 이미지(top), 하방 이미지(down), 좌방 이미지(left) 및 우방 이미지(right) 중 적어도 하나의 이미지를 포함할 수 있다. And the map target program 111 can separate the panoramic image into face images in the front, rear, top, bottom, left, and right directions, and determine the posture of each face image. For example, the face image is the front image (front), back image (back), top image (top), bottom image (down), left image (left), and right image (right) of the 3D scanner 300. It may include at least one image.

도 6을 참조하면, 실시예에서 큐브맵은, 전방위 이미지를 전방 이미지(front), 후방 이미지(back), 상방 이미지(top), 하방 이미지(down), 좌방 이미지(left) 및 우방 이미지(right)로 분리하고 위치는 동일하며 각각 전후상하좌우 방향측으로 자세가 분류되어 생성될 수 있다. Referring to FIG. 6, in the embodiment, the cubemap divides the omnidirectional image into a front image (front), a back image (back), an upper image (top), a lower image (down), a left image (left), and a right image (right). ), the positions are the same, and the postures can be generated by classifying them into the forward, upward, downward, left, and right directions.

또한, 맵타겟 프로그램(111)은, 뎁스 데이터를 기초로 뎁스맵 생성할 수 있다. (S105)Additionally, the map target program 111 can generate a depth map based on depth data. (S105)

실시예에서 맵타겟 프로그램(111)이 획득한 뎁스 데이터는 스캐닝 포지션에서 360도 전방위를 스캔하여 획득한 포인트 클라우드 데이터일 수 있다. In an embodiment, the depth data acquired by the map target program 111 may be point cloud data obtained by scanning 360 degrees in all directions from the scanning position.

맵타겟 프로그램(111)은, 포인트 클라우드 데이터를 기초로 동일한 면에 위치한 복수의 포인트를 포함하는 면들을 모델링하여 3차원 메쉬 맵(mesh map)을 뎁스맵으로 생성할 수 있다. The map target program 111 can generate a 3D mesh map as a depth map by modeling surfaces including a plurality of points located on the same surface based on point cloud data.

또한, 맵타겟 프로그램(111)은, 큐브맵의 페이스 이미지에서 피쳐포인트 검출할 수 있다. (S107)Additionally, the map target program 111 can detect feature points in the face image of the cube map. (S107)

자세히, 맵타겟 프로그램(111)은, 소정의 특징 검출기(Feature detector)를 실행하여 상기 각 페이스 이미지 내 복수의 피쳐포인트를 검출할 수 있다.In detail, the map target program 111 can detect a plurality of feature points in each face image by executing a predetermined feature detector.

여기서, 피쳐포인트란 말 그대로 이미지에서 특징이 되는 포인트를 의미하며, 이미지끼리 서로 매칭이 되는지 확인을 할 때 이미지를 비교하기 위한 기준이 되는 포인트일 수 있다. 즉, 이미지 매칭 시 사용하는 것이 피쳐포인트이며 키 포인트(Keypoints)라고도 할 수 있다. Here, a feature point literally means a characteristic point in an image, and may be a point that serves as a standard for comparing images when checking whether images match each other. In other words, feature points are used when matching images and can also be called keypoints.

이때, 상기 특징 검출기는, 상기 검출된 각 피쳐포인트를 특정할 수 있는 디스크립터(descriptor)를 상기 피쳐포인트 각각에 대하여 함께 산출할 수 있다.At this time, the feature detector may calculate a descriptor that can specify each detected feature point for each of the feature points.

상기 디스크립터는, 해당하는 피쳐포인트 주변 픽셀을 일정한 크기의 블록으로 나누어 각 블록에 속한 픽셀의 그레디언트 히스토그램을 계산한 것으로서, 주로 피쳐포인트 주변의 밝기, 색상, 방향 및/또는 크기 등의 정보를 포함할 수 있다. The descriptor divides the pixels around the corresponding feature point into blocks of a certain size and calculates the gradient histogram of the pixels belonging to each block, and mainly includes information such as brightness, color, direction, and/or size around the feature point. You can.

이러한 특징 검출기는, 예시적으로 FastFeatureDetector, MSER, SimpleBlobDetector 및/또는 GFTTDetector 등과 같은 알고리즘에 기반하여 구현될 수 있다. 다만, 이는 일례일 뿐 이에 한정되는 것은 아니다.These feature detectors may be implemented based on algorithms such as FastFeatureDetector, MSER, SimpleBlobDetector, and/or GFTTDetector. However, this is only an example and is not limited to this.

도 7을 참조하면, 페이스 이미지 중 하나인 전방 이미지에서 특징 검출기를 통해 검출된 제1 피쳐포인트의 디스크립터(D1), 제2 피쳐 포인트의 디스크립터(D2) 및 제3 피쳐 포인트의 디스크립터(D3)를 나타낸다. Referring to FIG. 7, the descriptor (D1) of the first feature point, the descriptor (D2) of the second feature point, and the descriptor (D3) of the third feature point detected through the feature detector in the front image, which is one of the face images. indicates.

그리고 맵타겟 프로그램(111)은, 뎁스맵을 기초로 페이스 이미지의 피쳐포인트 별 뎁스를 결정할 수 있다. (S109)And the map target program 111 can determine the depth for each feature point of the face image based on the depth map. (S109)

맵타겟 프로그램(111)은, 페이스 이미지의 피쳐포인트와 스캐닝 포지션 사이의 거리를 뎁스맵을 기초로 산출하여, 각 피쳐포인트의 위치를 검출할 수 있다. The map target program 111 may calculate the distance between the feature point of the face image and the scanning position based on the depth map and detect the location of each feature point.

실시예에서 맵타겟 프로그램(111)은, 피쳐포인트의 디스크립터에 포함되는 픽셀의 위치를 뎁스맵을 기초로 산출할 수 있다. In the embodiment, the map target program 111 may calculate the location of the pixel included in the descriptor of the feature point based on the depth map.

자세히, 맵타겟 프로그램(111)은, 스캐닝 포지션에서 페이스 이미지의 피쳐포인트(예컨대, 디스크립터 픽셀)로 레인캐스팅(lane casting)하여 뎁스맵에 맺혀진 상까지의 거리인 뎁스를 산출할 수 있다. In detail, the map target program 111 can calculate the depth, which is the distance from the scanning position to the image formed on the depth map by performing lane casting from the scanning position to the feature point (eg, descriptor pixel) of the face image.

좀더 자세히, 맵타겟 프로그램(111)은, 스캐닝 포지션에서 피쳐포인트의 디스크립터에 포함된 픽셀을 이은 라인을 연장하였을 때, 뎁스맵의 메쉬면에 맺히는 지점을 결정하고, 결정된 지점까지의 거리를 상기 픽셀의 뎁스로 산출할 수 있다. In more detail, the map target program 111 determines the point on the mesh surface of the depth map when extending the line connecting the pixel included in the descriptor of the feature point at the scanning position, and calculates the distance to the determined point as the pixel It can be calculated with a depth of .

도 8을 참조하면, 제1 피쳐포인트의 디스크립터(D1)의 픽셀에 대해 레인캐스팅하였을 때 3차원 매쉬맵에서 제1 포인트(P1)에 상이 맺힌 모습과, 제2 피쳐포인트의 디스크립터(D2)의 픽셀에 대해 레인캐스팅하였을 때 오브젝트 상의 제2 포인트(P2)에 상이 맺힌 모습과, 제3 피쳐포인트의 디스크립터(D3)의 픽셀에 대해 레인스캐팅하였을 때 3차원 메쉬맵에서 오브젝트 상의 제3 포인트(P3)의 상이 맺힌 모습을 나타낸다. Referring to FIG. 8, when raincasting is performed on the pixels of the descriptor (D1) of the first feature point, the image is formed on the first point (P1) in the 3D mesh map, and the image of the descriptor (D2) of the second feature point is shown. When raincasting on a pixel, the image is formed on the second point (P2) on the object, and when raincasting on the pixel of the descriptor (D3) of the third feature point, the image is formed on the third point (P3) on the object in the 3D mesh map. ) shows the image forming.

이와 같은 방식으로, 맵타겟 프로그램(111)은, 각 페이스 이미지에서 검출된 피쳐포인트의 픽셀 별 뎁스를 결정할 수 있다. In this way, the map target program 111 can determine the depth for each pixel of the feature point detected in each face image.

즉, 맵타겟 프로그램(111)은, 2차원 페이스 이미지의 포함된 픽셀에 뎁스를 산출하여, 3차원 맵 이미지로 생성할 수 있다. That is, the map target program 111 can calculate the depth of pixels included in the 2D face image and create a 3D map image.

다음으로, 맵타겟 프로그램(111)은, 피쳐포인트의 픽셀의 뎁스가 결정된 페이스 이미지를 키프레임(key frame)으로 결정할 수 있다. (S111)Next, the map target program 111 may determine the face image in which the pixel depth of the feature point is determined as a key frame. (S111)

키프레임은, 슬램(slam)에서 프레임 중에서 변화가 크게 발생하여 슬램을 통해 주변환경에 대한 상대위치를 검출하는데 기준이 되도록 설정한 3차원 공간 맵 내 특정 프레임들을 의미한다. Key frames refer to specific frames within a three-dimensional space map that are set as a standard for detecting the relative position with respect to the surrounding environment through slam due to significant changes occurring among the frames.

이러한 키프레임은, 프레임의 피쳐포인트 별 3차원 위치정보를 포함해야하며, 페이스 이미지는 스캐닝 포지션, 피쳐포인트, 피쳐포인트의 뎁스를 포함하므로 키프레임으로 설정될 수 있다. These keyframes must contain 3D location information for each feature point in the frame, and the face image can be set as a keyframe because it includes the scanning position, feature point, and depth of the feature point.

따라서, 맵타겟 프로그램(111)은, 스캐닝 포지션에서 각 페이스 이미지 별로 자세에 기초하여 키프레임을 설정할 수 있다. Accordingly, the map target program 111 can set a keyframe based on the posture for each face image at the scanning position.

예를 들어, 스캐닝 포지션의 공통된 위치에서 각각 자세가 전후상하좌우로 분류된 큐브맵의 페이스 이미지 각각을 키프레임으로 설정할 수 있다. For example, at a common location of the scanning position, each face image of a cube map classified into front, back, top, bottom, left and right can be set as a keyframe.

마지막으로, 맵타겟 프로그램(111)은, 큐브 맵의 각 페이스 이미지를 키프레임으로 설정한 맵 데이터를 생성할 수 있다. (S113)Finally, the map target program 111 can generate map data in which each face image of the cube map is set as a keyframe. (S113)

이와 같이 생성된 맵 데이터는, 정확하고 정밀하게 센싱된 이미지 데이터와 덴스한 뎁스 데이터를 기초로 생성되므로, 기존 비주얼 슬램을 통해 생성되는 맵타겟 데이터 대비 정확도가 매우 향상될 수 있으며, 비주얼 슬램과 같이 지속적인 업데이트가 필요없는 장점이 있다. The map data generated in this way is generated based on accurately and precisely sensed image data and dense depth data, so the accuracy can be greatly improved compared to the map target data generated through existing Visual Slam, and like Visual Slam, It has the advantage of not requiring continuous updates.

이와 같이 일 스캐닝 포지션에서 주변 영역을 센싱한 스캔 데이터를 기초로 생성된 맵 데이터는 상기 주변 영역을 포함하는 넓은 영역의 맵타겟 데이터에 포함될 수 있다. In this way, map data generated based on scan data sensing the surrounding area at one scanning position may be included in map target data of a wide area including the surrounding area.

- 맵타겟 데이터 생성방법 및 활용방법- How to create and use map target data

도 9는 본 발명의 실시예에 따른 복수의 스캐닝 포지션의 스캔 데이터를 기초로 맵타겟 데이터를 생성하고, 생성된 맵타겟 데이터를 기초로 다양한 어플리케이션 환경을 제공하는 방법을 나타낸다. Figure 9 shows a method of generating map target data based on scan data of a plurality of scanning positions and providing various application environments based on the generated map target data according to an embodiment of the present invention.

도 9를 참조하면, 맵타겟 데이터 생성 시스템(1000)의 컴퓨팅 장치(100)의 맵타겟 프로그램(111)의 제어명령에 따라서 복수의 스캐닝 포지션에서 3차원 스캐너(300)에서 수신한 스캔 데이터를 기초로 맵타겟 데이터 생성하는 과정을 도 9를 참조하여 상세히 설명한다. Referring to FIG. 9, based on scan data received from the 3D scanner 300 at a plurality of scanning positions according to a control command of the map target program 111 of the computing device 100 of the map target data generation system 1000 The process of generating map target data will be described in detail with reference to FIG. 9.

먼저, 맵타겟 프로그램(111)은, 3차원 스캐너(300)가 제1 스캐닝 포지션에서 센싱한 제1 스캐닝 포지션의 제1 뎁스 및 이미지 데이터 획득할 수 있다. (S201)First, the map target program 111 may acquire the first depth and image data of the first scanning position sensed by the 3D scanner 300 at the first scanning position. (S201)

맵타겟 프로그램(111)은, 맵타겟 데이터 생성시 맨 처음으로 스캔을 진행한 제1 스캐닝 포지션을 원점으로 지정할 수 있다. 즉, 제1 스캐닝 포지션의 포지션은 [0, 0, 0]일 수 있다. The map target program 111 may designate the first scanning position where scanning was performed for the first time when generating map target data as the origin. That is, the position of the first scanning position may be [0, 0, 0].

이후 맵타겟 프로그램(111)은, 제1 뎁스 데이터 및 제1 이미지 데이터를 기초로 제1 스캐닝 포지션의 제1 키프레임 생성하고 설정할 수있다. (S203)Thereafter, the map target program 111 may generate and set a first keyframe of the first scanning position based on the first depth data and the first image data. (S203)

맵타겟 프로그램(111)은 전술한 S101~S113 단계를 통해 제1 키프레임을 생성하고 설정할 수 있다. The map target program 111 can create and set the first keyframe through steps S101 to S113 described above.

이러한 제1 키프레임은, 전후상하좌우 측 페이스 이미지 중 적어도 하나의 페이스 이미지로부터 생성된 키프레임을 포함할 수있다. This first keyframe may include a keyframe generated from at least one of the front, top, bottom, left, and right face images.

다음으로, 맵타겟 프로그램(111)은, 제1 키프레임을 포함하는 맵데이터 생성할 수 있다. (S205)Next, the map target program 111 can generate map data including the first keyframe. (S205)

실시예에서, 맵데이터에 포함되는 제1 키프레임은, 원점 포지션에 전방 자세인 스캐닝 포지션의 전방 키프레임과, 원점 포지션에 후방 자세인 스캐닝 포지션의 후방 키프레임과, 원점 포지션에 상방 자세인 스캐닝 포지션의 상방 키프레임과, 원점 포지션에 하방 자세인 스캐닝 포지션의 하방 키프레임과, 원점 포지션에 좌방 자세인 스캐닝 포지션의 좌방 키프레임과, 원점 포지션에 우방 자세인 스캐닝 포지션의 우방 키프레임을 포함할 수 잇다. In an embodiment, the first keyframe included in the map data includes a forward keyframe of the scanning position in a forward posture to the origin position, a rear keyframe of the scanning position in a backward posture to the origin position, and a scanning position in an upward posture to the origin position. It may include an upward keyframe of the position, a downward keyframe of the scanning position in a downward posture to the origin position, a left keyframe of the scanning position in a leftward posture to the origin position, and a right keyframe of the scanning position in a rightward posture to the origin position. It is possible.

그 다음, 맵타겟 프로그램(111)은, 제1 스캐닝 포지션에서 위치이동한 제2 스캐닝 포지션에서 3차원 스캐너(300)가 센싱한 제2 뎁스 데이터, 제2 이미지 데이터 및 제2 포즈 데이터 획득할 수 있다. (S207)Next, the map target program 111 can acquire the second depth data, second image data, and second pose data sensed by the 3D scanner 300 at the second scanning position moved from the first scanning position. there is. (S207)

맵타겟 프로그램(111)은, 포즈 데이터를 기초로 제2 스캐닝 포지션을 결정할 수 있다. The map target program 111 may determine the second scanning position based on pose data.

자세히, 맵타겟 프로그램(111)은, 포즈 데이터로 제2 스캐닝 포지션의 포지션 좌표를 수신하여, 제2 스캐닝 포지션을 결정할 수 있다. In detail, the map target program 111 may receive the position coordinates of the second scanning position as pose data and determine the second scanning position.

다른 실시예에서, 맵타겟 생성 프로글매은, 포즈 데이터로 제1 스캐닝 포지션에서 제2 스캐닝 포지션으로 이동시의 움직임 데이터를 기초로 제1 스캐닝 포지션으로부터 제2 스캐닝 포지션의 상대위치 및 상대자세를 결정할 수 있다. 이때, 포즈 데이터는 제1 스캐닝 포지션에 대해 제2 스캐닝 포지션으로 상대적으로 변화한 로테이션과 트랜스포메이션 값을 포함할 수 있다. In another embodiment, the map target generation program may determine the relative position and relative posture of the second scanning position from the first scanning position based on movement data when moving from the first scanning position to the second scanning position using pose data. there is. At this time, the pose data may include rotation and transformation values that are relatively changed from the first scanning position to the second scanning position.

실시예에 따라서, 3차원 스캐너(300)에서 제2 스캐닝 포지션을 산출하여 컴퓨팅 장치(100)에 송신할 수도 있다. Depending on the embodiment, the 3D scanner 300 may calculate the second scanning position and transmit it to the computing device 100.

다음으로, 맵타겟 프로그램(111)은, 제2 뎁스 데이터 및 제2 이미지 데이터를 기초로 제2 스캐닝 포지션의 제2 키프레임 생성할 수 있으며, 제2 키프레임을 제1 스캐닝 포지션을 기준으로 설정할 수 있다. (S209, S211)Next, the map target program 111 may generate a second keyframe of the second scanning position based on the second depth data and the second image data, and set the second keyframe based on the first scanning position. You can. (S209, S211)

맵타겟 프로그램(111)은, 전술한 S101~S113 단계를 수행하여 제2 키프레임을 생성하고 설정할 수 있다. The map target program 111 can generate and set a second key frame by performing steps S101 to S113 described above.

이러한 제2 키프레임은, 전후상하좌우 측 페이스 이미지 중 적어도 하나의 페이스 이미지로부터 생성된 키프레임을 포함할 수있다. This second keyframe may include a keyframe generated from at least one of the front, top, bottom, left, and right face images.

맵타겟 프로그램(111)은, 피쳐포인트의 뎁스가 결정된 전후상하좌우 측 페이스 이미지를 포즈 데이터를 기초로 제1 스캐닝 포지션에 대한 키프레임으로 설정할 수 있다. The map target program 111 may set the front, rear, top, bottom, left, and right face images for which the depth of the feature point is determined as a keyframe for the first scanning position based on pose data.

예를 들어, 도 10을 참조하면 맵타겟 프로그램(111)은, 제1 스캐닝 포지션으로부터 위치이동한 트랜스포메이션(T)를 제2 키프레임(K2)의 위치로 설정하고, 변화된 로테이션(R)과 제2 스캐닝 포지션에서 구분된 전후상하좌우 자세를 기초로 각 키프레임(K2)의 자세를 설정할 수 있다.For example, referring to FIG. 10, the map target program 111 sets the transformation (T), which has moved from the first scanning position, to the position of the second key frame (K2), and the changed rotation (R) and The posture of each key frame (K2) can be set based on the forward, upward, downward, left, and right postures distinguished from the second scanning position.

그리고 맵타겟 프로그램(111)은, 이와 같이 위치와 자세가 결정된 제2 키프레임을 포함하는 맵 데이터를 생성하고, 맵타겟 데이터에 포함시킬 수 있다. (S213)And the map target program 111 can generate map data including the second keyframe whose position and posture are determined in this way and include it in the map target data. (S213)

이와 같이 복수의 스캐닝 포지션에서 키프레임을 설정하는 과정을 반복하여 복수의 스캐닝된 영역에 대한 맵타겟 데이터를 생성할 수 있다. In this way, the process of setting key frames at multiple scanning positions can be repeated to generate map target data for multiple scanned areas.

예를 들어, 도 11을 참조하면, 맵타겟 프로그램(111)은, 제3 내지 제7 스캐닝 포지션(S3 내지 S7)에서 S207 내지 S213 과정을 반복하여 제3 내지 제7 스캐닝 포지션(S3 내지 S7)에서의 키프레임들을 머징(merging)한 제1 내지 제7 스캐닝 영역(SA1~SA7)에 대한 맵타겟 데이터를 생성할 수 있다. For example, referring to FIG. 11, the map target program 111 repeats processes S207 to S213 in the third to seventh scanning positions (S3 to S7) to reach the third to seventh scanning positions (S3 to S7). Map target data for the first to seventh scanning areas (SA1 to SA7) can be generated by merging key frames in .

마지막으로, 맵타겟 프로그램(111)은, 맵타겟 데이터를 맵타겟 데이터 기반 어플리케이션을 실행하는 디바이스에 제공할 수 있다. Finally, the map target program 111 can provide map target data to a device running a map target data-based application.

자세히, 실시예에서 맵타겟 프로그램(111)은, 맵타겟 데이터와 상기 맵타겟 데이터 상에 생성된 가상 콘텐츠를 증강현실 어플리케이션 기반 디바이스에 제공하여, 증강현실 기반 디바에스의 사용자에게 증강현실 환경을 제공할 수 있다. (S215)In detail, in the embodiment, the map target program 111 provides map target data and virtual content created on the map target data to an augmented reality application-based device, providing an augmented reality environment to users of augmented reality-based devices. can do. (S215)

도 12는 본 발명의 실시예에 따른 맵타겟 데이터를 기초로 증강현실 환경을 제공하는 일례를 나타낸다. Figure 12 shows an example of providing an augmented reality environment based on map target data according to an embodiment of the present invention.

도 12를 참조하면, 실시예에 따른 맵타겟 데이터 기반 어플리케이션 실행 디바이스(400)는, 스마트 글래스(smart glasses display)나 헤드 마운티드 디스플레이(HMD)와 같은 웨어러블 타입의 컴퓨팅 디바이스를 포함할 수 있다. Referring to FIG. 12, the map target data-based application execution device 400 according to an embodiment may include a wearable type computing device such as smart glasses display or head mounted display (HMD).

스마트 글라스 타입의 맵타겟 데이터 기반 어플리케이션 실행 디바이스(400)는, 착용되는 동안 사용자가 주변 물리적 공간을 볼 수 있도록 광을 투과하면서 사용자의 시야 상에 가상 콘텐츠(예컨대, 가상객체 이미지)를 표시하는 글라스를 포함하는 디스플레이 시스템을 포함할 수 있다.The smart glass type map target data-based application execution device 400 is a glass that displays virtual content (e.g., virtual object image) on the user's field of view while transmitting light so that the user can see the surrounding physical space while worn. It may include a display system including.

자세히, 실시예의 맵타겟 데이터 기반 어플리케이션 실행 디바이스(400)는, 주변 물리적 공간으로부터의 광이 사용자의 눈에 도달하도록 투과함과 동시에, 디스플레이 시스템에 의해 표시된 가상 콘텐츠를 사용자의 눈을 향해 반사시키는 투명한 글래스 디스플레이를 포함할 수 있다. In detail, the map target data-based application execution device 400 of the embodiment is a transparent device that transmits light from the surrounding physical space to reach the user's eyes and at the same time reflects the virtual content displayed by the display system toward the user's eyes. It may include a glass display.

예를 들어, 맵타겟 데이터 기반 어플리케이션 실행 디바이스(400)의 증강현실 어플리케이션은, 주변 물리적 공간(20)에 대한 맵타겟 데이터를 기준으로 촬영된 이미지에서 실제객체(RO)와 실제객체 내 마커(MK) 등을 이미지 인식할 수 있으며, 인식된 마커(MK)에 대응되는 사용자의 시야에 가상 콘텐츠(VC1)을 표시하도록 제어할 수 있다. For example, the augmented reality application of the map target data-based application execution device 400 is configured to display a real object (RO) and a marker (MK) within the real object in an image taken based on map target data for the surrounding physical space 20. ), etc. can be image recognized, and can be controlled to display virtual content (VC1) in the user's field of view corresponding to the recognized marker (MK).

또한, 증강현실 어플리케이션은, 맵타겟 데이터를 기초로 인식된 실제객체의 위치에 대응되는 사용자의 시야에 가상 콘텐츠(VC2)를 표시하도록 제어하여, 증강현실 환경을 제공할 수 있다. Additionally, the augmented reality application can provide an augmented reality environment by controlling the display of virtual content (VC2) in the user's field of view corresponding to the location of the real object recognized based on map target data.

이러한 가상 콘텐츠는 디바이스에서 사용자 시야의 일부분에 디스플레이 될 수 있는 이미지 또는 영상과 같은 시각 콘텐츠를 포함할 수 있다. 예를 들어, 가상 콘텐츠는 물리적 공간의 다양한 부분을 오버레이하는 가상객체 이미지들을 포함할 수 있다. 이러한 가상객체 이미지는 2D 이미지 또는 3D 이미지로 렌더링 될 수 있다. This virtual content may include visual content, such as images or videos, that can be displayed in a portion of the user's field of view on the device. For example, virtual content may include virtual object images that overlay various parts of physical space. These virtual object images can be rendered as 2D images or 3D images.

이와 같이 생성된 맵타겟 데이터는, 3차원 스캐너(300)를 통해 정확하고 정밀하게 스캔된 이미지 데이터와 스캔 데이터를 기초로 한 키프레임 기반이므로, 정확한 3차원 공간정보를 제공할 수 있다. The map target data generated in this way is based on image data accurately and precisely scanned through the 3D scanner 300 and keyframes based on the scan data, so it can provide accurate 3D spatial information.

그리고 정확한 3차원 공간정보를 통해 맵타겟 데이터 기반의 어플리케이션 제공환경을 구축할 수 있다. And through accurate 3D spatial information, an application provision environment based on map target data can be built.

이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 모듈(220) 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and usable by those skilled in the computer software field. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. medium), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory modules 220, etc. Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. A hardware device can be converted into one or more software modules to perform processing according to the invention and vice versa.

본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific implementations described in the present invention are examples and do not limit the scope of the present invention in any way. For the sake of brevity of the specification, descriptions of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connections or connection members of lines between components shown in the drawings exemplify functional connections and/or physical or circuit connections, and in actual devices, various functional connections or physical connections may be replaced or added. Can be represented as connections, or circuit connections. Additionally, if there is no specific mention such as “essential,” “important,” etc., it may not be a necessary component for the application of the present invention.

또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.In addition, although the detailed description of the present invention has been described with reference to preferred embodiments of the present invention, those skilled in the art or those skilled in the art will understand the spirit of the present invention as described in the patent claims to be described later. It will be understood that the present invention can be modified and changed in various ways without departing from the technical scope. Therefore, the technical scope of the present invention should not be limited to what is described in the detailed description of the specification, but should be defined by the scope of the patent claims.

Claims (10)

컴퓨팅 장치의 적어도 하나의 프로세서에서 실행되는 맵타겟 프로그램이 수행하는 3차원 스캐너를 이용한 맵타겟 데이터 생성방법으로서,
3차원 스캐너로부터 스캐닝 포지션에서 센싱한 뎁스 데이터와 이미지 데이터를 획득하는 단계;
상기 획득한 뎁스 데이터와 이미지 데이터를 기초로 적어도 하나 이상의 키프레임을 생성하는 단계; 및
상기 생성한 키프레임을 포함하는 맵타겟 데이터를 생성하는 단계를 포함하는
3차원 스캐너를 이용한 맵타겟 데이터 생성방법.
A method of generating map target data using a 3D scanner performed by a map target program running on at least one processor of a computing device, comprising:
Obtaining depth data and image data sensed at the scanning position from a 3D scanner;
generating at least one keyframe based on the acquired depth data and image data; and
Comprising the step of generating map target data including the generated keyframe.
Map target data generation method using a 3D scanner.
제1 항에 있어서,
상기 획득한 뎁스 데이터와 이미지 데이터를 기초로 적어도 하나 이상의 키프레임을 생성하는 단계는,
상기 이미지 데이터를 기초로 페이스 이미지를 생성하는 단계와,
상기 페이스 이미지에서 피쳐포인트를 검출하는 단계를 포함하는
3차원 스캐너를 이용한 맵타겟 데이터 생성방법.
According to claim 1,
The step of generating at least one keyframe based on the acquired depth data and image data,
generating a face image based on the image data;
Including detecting feature points in the face image.
Map target data generation method using a 3D scanner.
제2 항에 있어서,
상기 이미지 데이터를 기초로 페이스 이미지를 생성하는 단계는,
상기 이미지 데이터 내 전방위 이미지를 평면화하여 전후상하좌우 중 적어도 일측 방향에 대한 페이스 이미지를 분리하는 단계를 포함하는
3차원 스캐너를 이용한 맵타겟 데이터 생성방법.
According to clause 2,
The step of generating a face image based on the image data is,
Including the step of flattening the omnidirectional image in the image data and separating the face image for at least one direction among front, rear, up, down, left, and right.
Map target data generation method using a 3D scanner.
제3 항에 있어서,
상기 이미지 데이터를 기초로 페이스 이미지를 생성하는 단계는,
상기 전후상하좌우 측 방향 각각의 페이스 이미지를 각 방향측 자세의 구분한 큐브맵을 생성하는 단계를 포함하는
3차원 스캐너를 이용한 맵타겟 데이터 생성방법.
According to clause 3,
The step of generating a face image based on the image data is,
Comprising the step of generating a cube map that divides the face images in the front, rear, up, down, left, and right directions into a posture in each direction.
Map target data generation method using a 3D scanner.
제3 항에 있어서,
상기 획득한 뎁스 데이터와 이미지 데이터를 기초로 적어도 하나 이상의 키프레임을 생성하는 단계는,
상기 페이스 이미지의 피쳐포인트의 디스크립터를 검출하는 단계와,
상기 피쳐포인트의 디스크립터에 포함된 픽셀을 스캐닝포지션에서 뎁스 데이터의 메쉬맵으로 레인캐스팅하는 단계와,
상기 메쉬맵에 맺힌 상을 상기 피쳐포인트의 디스크립터의 픽셀에 3차원 포지션으로 결정하는 단계를 포함하는
3차원 스캐너를 이용한 맵타겟 데이터 생성방법.
According to clause 3,
The step of generating at least one keyframe based on the acquired depth data and image data,
detecting a descriptor of a feature point of the face image;
Raincasting the pixels included in the descriptor of the feature point into a mesh map of depth data at the scanning position;
Comprising the step of determining the image formed on the mesh map as a three-dimensional position in a pixel of the descriptor of the feature point.
Map target data generation method using a 3D scanner.
제5 항에 있어서,
상기 획득한 뎁스 데이터와 이미지 데이터를 기초로 적어도 하나 이상의 키프레임을 생성하는 단계는,
상기 페이스 이미지의 피쳐포인트에 뎁스를 결정하는 단계와,
상기 뎁스가 결정된 페이스 이미지를 스캐닝 포지션의 위치와 자세를 기초로 키프레임으로 설정하는 단계를 포함하는
3차원 스캐너를 이용한 맵타겟 데이터 생성방법.
According to clause 5,
The step of generating at least one keyframe based on the acquired depth data and image data,
determining a depth at a feature point of the face image;
Including setting the face image with the determined depth as a keyframe based on the position and posture of the scanning position.
Map target data generation method using a 3D scanner.
제1 항에 있어서,
상기 3차원 스캐너로부터 스캐닝 포지션에서 센싱한 뎁스 데이터와 이미지 데이터를 획득하는 단계는,
제1 스캐닝 포지션에서 제1 스캔 데이터를 획득하는 단계와,
상기 제2 스캐닝 포지션에서 제2 스캔 데이터와, 상기 제1 스캐닝 포지션에 대한 포즈 데이터를 획득하는 단계를 포함하는
3차원 스캐너를 이용한 맵타겟 데이터 생성방법.
According to claim 1,
The step of acquiring depth data and image data sensed at the scanning position from the 3D scanner,
acquiring first scan data at a first scanning position;
Comprising acquiring second scan data at the second scanning position and pose data for the first scanning position.
Map target data generation method using a 3D scanner.
제7 항에 있어서,
상기 획득한 뎁스 데이터와 이미지 데이터를 기초로 적어도 하나 이상의 키프레임을 생성하는 단계는,
상기 제1 스캔닝 포지션 및 상기 제1 스캔 데이터를 기초로 제1 키프레임을 생성하는 단계와,
상기 제2 스캔닝 포지션 및 상기 제2 스캔 데이터를 기초로 제2 키프레임을 생성하는 단계를 포함하는
3차원 스캐너를 이용한 맵타겟 데이터 생성방법.
According to clause 7,
The step of generating at least one keyframe based on the acquired depth data and image data,
generating a first keyframe based on the first scanning position and the first scan data;
Comprising the step of generating a second keyframe based on the second scanning position and the second scan data.
Map target data generation method using a 3D scanner.
제8 항에 있어서,
상기 생성한 키프레임을 포함하는 맵타겟 데이터를 생성하는 단계는,
상기 제2 키프레임을 상기 제1 스캐닝 포지션에 대한 포즈 및 자세를 기초로 상기 맵타겟 데이터에 설정하는 단계를 포함하는
3차원 스캐너를 이용한 맵타겟 데이터 생성방법.
According to clause 8,
The step of generating map target data including the generated keyframe is,
Comprising the step of setting the second keyframe to the map target data based on the pose and posture for the first scanning position.
Map target data generation method using a 3D scanner.
스캐닝 포지션에서 스캐닝 영역에 대해 이미지 데이터와 뎁스 데이터를 센싱하는 3차원 스캐너;
상기 3차원 스캐너로부터 이미지 데이터와 뎁스 데이터를 획득하고, 획득한 이미지 데이터와 뎁스 데이터를 기초로 키프레임을 생성하고, 상기 생성된 키프레임이 설정된 맵타겟 데이터를 생성하는 컴퓨팅 장치; 및
상기 컴퓨팅 장치로부터 획득된 맵타겟 데이터를 기초로 맵타겟 데이터 기반 어플리케이션을 실행하는 디바이스를 포함하는
3차원 스캐너를 이용한 맵타겟 데이터 생성시스템.

A 3D scanner that senses image data and depth data for the scanning area at the scanning position;
A computing device that acquires image data and depth data from the 3D scanner, generates a key frame based on the acquired image data and depth data, and generates map target data to which the generated key frame is set; and
Comprising a device that executes a map target data-based application based on map target data obtained from the computing device.
Map target data generation system using a 3D scanner.

KR1020220061983A 2022-05-20 2022-05-20 Method for generating map target data using 3D scanner KR20230162292A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220061983A KR20230162292A (en) 2022-05-20 2022-05-20 Method for generating map target data using 3D scanner

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220061983A KR20230162292A (en) 2022-05-20 2022-05-20 Method for generating map target data using 3D scanner

Publications (1)

Publication Number Publication Date
KR20230162292A true KR20230162292A (en) 2023-11-28

Family

ID=88957705

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220061983A KR20230162292A (en) 2022-05-20 2022-05-20 Method for generating map target data using 3D scanner

Country Status (1)

Country Link
KR (1) KR20230162292A (en)

Similar Documents

Publication Publication Date Title
US10726264B2 (en) Object-based localization
US10598489B2 (en) Visual odometry and pairwise alignment for high definition map creation
EP3008695B1 (en) Robust tracking using point and line features
JP6255085B2 (en) Locating system and locating method
US9646384B2 (en) 3D feature descriptors with camera pose information
CN109461208B (en) Three-dimensional map processing method, device, medium and computing equipment
JP2020030204A (en) Distance measurement method, program, distance measurement system and movable object
KR102198851B1 (en) Method for generating three dimensional model data of an object
KR20160003553A (en) Electroninc device for providing map information
WO2017200662A1 (en) Predictor-corrector based pose detection
US11674807B2 (en) Systems and methods for GPS-based and sensor-based relocalization
TWI750822B (en) Method and system for setting presentable virtual object for target
US20230400327A1 (en) Localization processing service and observed scene reconstruction service
KR20230162292A (en) Method for generating map target data using 3D scanner
Zhuge et al. 3-D motion trajectory measurement for the target through a multi-UAVs system
Liu et al. Hybrid real-time stereo visual odometry for unmanned aerial vehicles
US20210258476A1 (en) System for generating a three-dimensional scene of a physical environment
CN116136408A (en) Indoor navigation method, server, device and terminal
EP4207100A1 (en) Method and system for providing user interface for map target creation
McClean An Augmented Reality System for Urban Environments using a Planar Building Fa cade Model
US11688094B1 (en) Method and system for map target tracking
KR102618069B1 (en) Method and apparatus for analyasing indoor building disaster information using point cloud data and visual information from ground survey robot
Zhang et al. Implementation and optimization of ORB-SLAM2 algorithm based on ROS on mobile robots
Wang et al. Research on 3D Modeling Method of Unmanned System Based on ORB-SLAM and Oblique Photogrammetry
Li et al. Handheld pose tracking using vision-inertial sensors with occlusion handling