Nothing Special   »   [go: up one dir, main page]

KR20240035281A - An augmented reality device for proving augmented reality service which controls an object in the real world space and a method for operating the same - Google Patents

An augmented reality device for proving augmented reality service which controls an object in the real world space and a method for operating the same Download PDF

Info

Publication number
KR20240035281A
KR20240035281A KR1020220135234A KR20220135234A KR20240035281A KR 20240035281 A KR20240035281 A KR 20240035281A KR 1020220135234 A KR1020220135234 A KR 1020220135234A KR 20220135234 A KR20220135234 A KR 20220135234A KR 20240035281 A KR20240035281 A KR 20240035281A
Authority
KR
South Korea
Prior art keywords
augmented reality
model
segmentation
floor
reality device
Prior art date
Application number
KR1020220135234A
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 PCT/KR2023/012100 priority Critical patent/WO2024053895A1/en
Publication of KR20240035281A publication Critical patent/KR20240035281A/en

Links

Images

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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • 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/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

현실 공간에서 객체를 제어하는 증강 현실 서비스를 제공하는 증강 현실 디바이스 및 그 동작 방법을 제공한다. 본 개시의 일 실시예에 따른 증강 현실 디바이스는 카메라를 이용하여 현실 공간을 촬영하여 획득한 공간 이미지로부터 벽 및 바닥을 포함하는 평면을 인식하고, 인식된 벽과 바닥을 확장하고, 공간 이미지를 이용하여 확장된 벽과 바닥 중 객체에 의해 가려진 영역에 대하여 3차원 인-페인팅을 수행함으로써 현실 공간에 관한 3차원 모델을 생성하고, 사용자 입력에 의해 선택된 객체를 상기 공간 이미지로부터 분할하는 2차원 세그멘테이션(2D segmentation)을 수행하며, 객체의 3차원 모델 또는 3차원 위치 정보에 기초하여 공간 이미지 상에서 객체를 현실 공간으로부터 분할하는 3차원 세그멘테이션(3D segmentation)을 수행할 수 있다. An augmented reality device that provides an augmented reality service that controls objects in real space and a method of operating the same are provided. An augmented reality device according to an embodiment of the present disclosure recognizes a plane including a wall and a floor from a spatial image obtained by photographing a real space using a camera, expands the recognized wall and floor, and uses the spatial image. By performing 3D in-painting on the area covered by the object among the extended walls and floor, a 3D model of the real space is created, and a 2D segmentation (2D segmentation) is performed to segment the object selected by user input from the space image. 2D segmentation), and 3D segmentation that divides an object from real space on a spatial image based on a 3D model of the object or 3D location information can be performed.

Figure P1020220135234
Figure P1020220135234

Description

현실 공간에서 객체를 제어하는 증강 현실 서비스를 제공하는 증강 현실 디바이스 및 그 동작 방법 {AN AUGMENTED REALITY DEVICE FOR PROVING AUGMENTED REALITY SERVICE WHICH CONTROLS AN OBJECT IN THE REAL WORLD SPACE AND A METHOD FOR OPERATING THE SAME} Augmented reality device that provides augmented reality service for controlling objects in real space and its operating method {AN AUGMENTED REALITY DEVICE FOR PROVING AUGMENTED REALITY SERVICE WHICH CONTROLS AN OBJECT IN THE REAL WORLD SPACE AND A METHOD FOR OPERATING THE SAME}

본 개시는 현실 공간에서 객체를 제어하는 증강 현실 서비스를 제공하는 증강 현실 디바이스(augment reality device) 및 그 동작 방법에 관한 것이다. 구체적으로, 본 개시는 심층 신경망을 이용하는 이미지 프로세싱 및 증강 현실 기술을 이용하여 가상의 객체 뿐만 아니라 현실 공간 내의 객체를 제어할 수 있는 증강 현실 서비스를 제공하는 증강 현실 디바이스 및 그 동작 방법을 개시한다. This disclosure relates to an augmented reality device that provides an augmented reality service that controls objects in real space and a method of operating the same. Specifically, the present disclosure discloses an augmented reality device that provides an augmented reality service capable of controlling not only virtual objects but also objects in real space using image processing and augmented reality technology using a deep neural network, and a method of operating the same.

증강 현실(Augmented Reality)은 현실 세계의 물리적 환경 공간이나 현실 객체(real world object) 상에 가상 객체를 오버레이(overlay)하여 함께 보여주는 기술로서, 증강 현실 기술을 활용한 증강 현실 디바이스(예를 들어, 스마트 글래스(Smart Glass))가 정보 검색, 길 안내, 카메라 촬영과 같이 일상 생활에서 유용하게 사용되고 있다. 특히, 스마트 글래스는 패션 아이템으로도 착용되고, 실외 활동에 주로 사용되고 있다. Augmented Reality is a technology that displays virtual objects by overlaying them on the physical environment space or real world objects of the real world. Augmented reality devices using augmented reality technology (for example, Smart glasses are useful in everyday life, such as information retrieval, route guidance, and camera photography. In particular, smart glasses are also worn as fashion items and are mainly used for outdoor activities.

현재 사용 및 보급되고 있는 증강 현실 기술은 현실 객체를 고려한 다양한 서비스를 대상으로 개발되었다. 증강 현실에서 현실 객체를 고려한 증강 현실 기술의 예시로는, 증강 현실 디바이스를 이용하여 실내 공간의 평면(floorplan)을 검출하는 기술, 현실 객체를 세그멘테이션(segmentation)하여 생성한 윤곽선(outline)에 기초하여 가상 객체를 배치하고, 가상 객체 또는 다양한 그래픽 오브젝트(graphic object)를 합성하는 기술, 또는 특정 현실 객체를 세그멘테이션한 이후 트래킹(tracking)하는 기술 등이 있다. Augmented reality technology that is currently being used and distributed has been developed for various services that take real-world objects into consideration. Examples of augmented reality technology that considers real objects in augmented reality include technology that detects the floorplan of an indoor space using an augmented reality device, and technology that detects the floorplan of an indoor space based on an outline created by segmenting real objects. There are technologies for arranging virtual objects and synthesizing virtual objects or various graphic objects, or technologies for segmenting and then tracking specific real objects.

증강 현실 기술은 현실 공간에 가상 객체를 표현하는 기술이므로, 실시간으로 현실 공간을 인식하여야 하고, 인식된 현실 객체의 정보들을 활용할 필요가 있다. 예를 들어, 사용자가 실내에서 거실의 가구를 교체하고자 할 때, 종래의 증강 현실 서비스들은 실제 가구(현실 객체) 위에 가상의 가구(가상 객체)를 어색하게 겹쳐서 표시하는 방식을 이용하고 있다. 종래의 증강 현실 기술에서는 교체하려는 가구의 영역을 삭제하고, 가상의 가구(가상 객체)를 배치하는 방법을 사용하는데, 복수의 가구가 붙어있는 경우 특정 가구만 선택적으로 삭제하기가 어렵고, 단순 보간법으로 인-페인팅(in-painting)을 수행하므로 배경이 완전 평면이 아니라 벽과 벽 혹은 벽과 바닥으로 꺾여 있을 경우 현실 공간과 다르게 생성되는 문제점이 있다. 특히, 증강 현실 디바이스가 증강 현실 애플리케이션을 실행하여 증강 현실 서비스를 제공하는 동안 심층 신경망(deep neural network) 모델을 이용하는 세그멘테이션 및 인-페인팅과 같이 연산량이 많은 동작을 연속적으로 수행하여야 하므로, 프로세싱 타임(processing time)이 오래 소요되고, 디바이스의 발열 및 전력 소모량이 증가하는 문제점이 있다. 휴대를 위하여 소형 폼팩터를 갖도록 설계되는 증강 현실 디바이스의 특성 상 발열과 전력 소모량은 디바이스 이용 시간에 크게 영향을 미칠 수 있다. Since augmented reality technology is a technology that represents virtual objects in real space, it is necessary to recognize the real space in real time and utilize information about the recognized real objects. For example, when a user wants to replace furniture in a living room indoors, conventional augmented reality services use a method of awkwardly displaying virtual furniture (virtual objects) over real furniture (real objects). Conventional augmented reality technology uses a method of deleting the area of the furniture to be replaced and placing virtual furniture (virtual objects). However, when multiple pieces of furniture are attached, it is difficult to selectively delete only specific pieces of furniture, and simple interpolation is used. Since in-painting is performed, there is a problem in that the background is not completely flat but is curved between walls and walls or walls and floors, creating a space that is different from the real space. In particular, while an augmented reality device runs an augmented reality application and provides an augmented reality service, operations requiring a lot of computation, such as segmentation and in-painting using a deep neural network model, must be performed continuously, reducing processing time ( There is a problem that processing time takes a long time and the heat generation and power consumption of the device increases. Due to the nature of augmented reality devices, which are designed to have a small form factor for portability, heat generation and power consumption can greatly affect device use time.

상술한 기술적 과제를 해결하기 위하여 본 개시는 현실 공간에서 객체를 제어하는 증강 현실 서비스를 제공하는 증강 현실 디바이스를 제공한다. 본 개시의 일 실시예에 따른 증강 현실 디바이스는 카메라, 가속도 센서(accelerometer) 및 자이로 센서(gyro sensor) 를 포함하는 IMU 센서(Inertial Measurement Unit), 적어도 하나의 명령어들(instructions)를 저장하는 메모리, 및 적어도 하나의 명령어들을 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는 카메라를 이용하여 현실 공간을 촬영하여 공간 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서는 획득된 공간 이미지로부터 벽 및 바닥을 포함하는 평면을 인식할 수 있다. 상기 적어도 하나의 프로세서는 인식된 평면에 따라 벽과 바닥을 확장하고, 공간 이미지를 이용하여 확장된 벽과 바닥 중 객체에 의해 가려진 영역에 대하여 3차원 인-페인팅을 수행함으로써 현실 공간에 관한 3차원 모델을 생성할 수 있다. 상기 적어도 하나의 프로세서는 사용자 입력에 의해 선택된 객체를 공간 이미지로부터 분할하는 2차원 세그멘테이션(2D segmentation)을 수행할 수 있다. 상기 적어도 하나의 프로세서는 객체의 3차원 모델 또는 3차원 위치 정보에 기초하여 공간 이미지 상에서 객체를 현실 공간으로부터 분할하는 3차원 세그멘테이션(3D segmentation)을 수행할 수 있다. In order to solve the above-mentioned technical problems, the present disclosure provides an augmented reality device that provides an augmented reality service that controls objects in real space. An augmented reality device according to an embodiment of the present disclosure includes an IMU sensor (Inertial Measurement Unit) including a camera, an accelerometer, and a gyro sensor, a memory that stores at least one instruction, and at least one processor executing at least one instruction. The at least one processor may obtain a spatial image by photographing real space using a camera. The at least one processor may recognize a plane including a wall and a floor from the acquired spatial image. The at least one processor extends the wall and floor according to the recognized plane, and performs 3D in-painting on the area obscured by the object among the extended wall and floor using a spatial image, thereby creating a 3D image of real space. A model can be created. The at least one processor may perform 2D segmentation to segment an object selected by user input from a spatial image. The at least one processor may perform 3D segmentation to segment an object from real space on a spatial image based on a 3D model or 3D location information of the object.

상술한 기술적 과제를 해결하기 위하여 본 개시는 증강 현실 디바이스가 현실 공간에서 객체를 제어하는 증강 현실 서비스를 제공하는 방법을 제공한다. 상기 방법은 카메라를 이용하여 현실 공간을 촬영하여 획득된 공간 이미지로부터 벽 및 바닥을 포함하는 평면을 인식하는 단계를 포함할 수 있다. 상기 방법은 인식된 평면에 따라 벽과 바닥을 확장하고, 공간 이미지를 이용하여 확장된 벽과 바닥 중 객체에 의해 가려진 영역에 대하여 3차원 인-페인팅을 수행함으로써 현실 공간에 관한 3차원 모델을 생성하는 단계를 포함할 수 있다. 상기 방법은 사용자 입력에 의해 선택된 객체를 공간 이미지로부터 분할하는 2차원 세그멘테이션(2D segmentation)을 수행하는 단계를 포함할 수 있다. 상기 방법은 객체의 3차원 모델 또는 3차원 위치 정보에 기초하여 공간 이미지 상에서 객체를 현실 공간으로부터 분할하는 3차원 세그멘테이션(3D segmentation)을 수행하는 단계를 포함할 수 있다.In order to solve the above-mentioned technical problems, the present disclosure provides a method of providing an augmented reality service in which an augmented reality device controls objects in real space. The method may include recognizing a plane including a wall and a floor from a spatial image obtained by photographing a real space using a camera. The method expands the walls and floors according to the recognized plane, and uses spatial images to perform 3D in-painting on the areas obscured by objects among the expanded walls and floors to create a 3D model of real space. It may include steps. The method may include performing 2D segmentation to segment an object selected by user input from a spatial image. The method may include performing 3D segmentation to segment an object from real space on a spatial image based on a 3D model or 3D location information of the object.

본 개시는 컴퓨터로 읽을 수 있는 저장 매체를 포함하는 컴퓨터 프로그램 제품(Computer Program Product)를 제공한다. 상기 저장 매체는 카메라를 이용하여 현실 공간을 촬영하여 획득된 공간 이미지로부터 벽 및 바닥을 포함하는 평면을 인식하는 동작, 인식된 평면에 따라 벽과 바닥을 확장하고, 공간 이미지를 이용하여 확장된 벽과 바닥 중 객체에 의해 가려진 영역에 대하여 3차원 인-페인팅을 수행함으로써 현실 공간에 관한 3차원 모델을 생성하는 동작, 사용자 입력에 의해 선택된 객체를 공간 이미지로부터 분할하는 2차원 세그멘테이션(2D segmentation)을 수행하는 동작, 및 객체의 3차원 모델 또는 3차원 위치 정보에 기초하여 공간 이미지 상에서 객체를 현실 공간으로부터 분할하는 3차원 세그멘테이션(3D segmentation)을 수행하는 동작을 증강 현실 디바이스가 수행하기 위하여, 상기 증강 현실 디바이스에 의해 판독 가능한 명령어들(instructions)을 포함할 수 있다. The present disclosure provides a computer program product including a computer-readable storage medium. The storage medium includes the operation of recognizing a plane including a wall and a floor from a spatial image obtained by photographing a real space using a camera, expanding the wall and floor according to the recognized plane, and expanding the wall and the floor using the spatial image. An operation to create a 3D model of real space by performing 3D in-painting on areas hidden by objects in the floor, and 2D segmentation to segment objects selected by user input from the spatial image. In order for the augmented reality device to perform the operation of performing the operation and the operation of performing 3D segmentation of dividing the object from real space on the spatial image based on the 3D model or 3D location information of the object, the augmented reality device It may include instructions that can be read by a real device.

본 개시는, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 본 개시의 증강 현실 디바이스가 현실 공간 내에서 객체를 삭제, 이동, 또는 추가하는 증강 현실 서비스를 제공하는 동작을 설명하기 위한 개념도이다.
도 2는 본 개시의 일 실시예에 따른 증강 현실 디바이스가 현실 공간에서 객체를 제어하는 동작을 도시한 도면이다.
도 3은 본 개시의 일 실시예에 따른 증강 현실 디바이스의 구성 요소를 도시한 블록도이다.
도 4는 본 개시의 일 실시예에 따른 증강 현실 디바이스의 동작 방법을 도시한 흐름도이다.
도 5는 본 개시의 일 실시예에 따른 증강 현실 디바이스가 현실 공간에 관한 3차원 모델을 생성하는 방법을 도시한 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 증강 현실 디바이스가 현실 공간 내의 평면들의 형태에 관한 3차원 모델 형태를 획득하는 동작을 도시한 도면이다.
도 7a는 본 개시의 일 실시예에 따른 증강 현실 디바이스가 공간 이미지에서 벽과 바닥의 평면을 구분하는 동작을 도시한 도면이다.
도 7b는 본 개시의 일 실시예에 따른 증강 현실 디바이스가 공간 이미지에서 벽과 창문의 평면을 구분하는 동작을 도시한 도면이다.
도 7c는 본 개시의 일 실시예에 따른 증강 현실 디바이스가 공간 이미지에서 패턴이 다른 벽과 바닥의 평면을 구분하는 동작을 도시한 도면이다.
도 8은 본 개시의 일 실시예에 따른 증강 현실 디바이스가 3차원 인-페인팅(3D in-painting)을 수행하는 동작을 도시한 도면이다.
도 9는 본 개시의 일 실시예에 따른 증강 현실 디바이스가 공간 이미지로부터 2차원 세그멘테이션(2D segmentation)을 수행하는 동작을 도시한 도면이다.
도 10은 본 개시의 일 실시예에 따른 증강 현실 디바이스가 객체에 관한 3차원 모델의 저장되어 있는지 여부에 기초하여 3차원 세그멘테이션(3D segmentation)을 수행하는 방법을 도시한 흐름도이다.
도 11은 본 개시의 일 실시예에 따른 증강 현실 디바이스가 객체에 관하여 기 저장된 3차원 모델을 이용하여 3차원 세그멘테이션을 수행하는 동작을 도시한 도면이다.
도 12는 본 개시의 일 실시예에 따른 증강 현실 디바이스가 객체에 관한 3차원 모델이 저장되어 있지 않은 경우 3차원 세그멘테이션을 수행하는 동작을 도시한 도면이다.
도 13은 본 개시의 일 실시예에 따른 증강 현실 디바이스가 3차원 모델을 현실 공간에 배치하고, 3차원 모델을 이용하여 렌더링을 수행하는 방법을 도시한 흐름도이다.
도 14는 본 개시의 일 실시예에 따른 증강 현실 디바이스가 3차원 세그멘테이션을 추가로 수행하고, 세그멘테이션 결과를 업데이트하는 방법을 도시한 흐름도이다.
The present disclosure may be readily understood by combination of the following detailed description and accompanying drawings, where reference numerals refer to structural elements.
1 is a conceptual diagram illustrating an operation of an augmented reality device of the present disclosure to provide an augmented reality service that deletes, moves, or adds objects in real space.
FIG. 2 is a diagram illustrating an operation of an augmented reality device controlling an object in real space according to an embodiment of the present disclosure.
Figure 3 is a block diagram showing the components of an augmented reality device according to an embodiment of the present disclosure.
Figure 4 is a flowchart showing a method of operating an augmented reality device according to an embodiment of the present disclosure.
FIG. 5 is a flowchart illustrating a method for an augmented reality device to generate a three-dimensional model of a real space according to an embodiment of the present disclosure.
FIG. 6 is a diagram illustrating an operation of an augmented reality device acquiring a three-dimensional model of the shape of planes in real space according to an embodiment of the present disclosure.
FIG. 7A is a diagram illustrating an operation of an augmented reality device distinguishing between a wall and a floor plane in a spatial image according to an embodiment of the present disclosure.
FIG. 7B is a diagram illustrating an operation of an augmented reality device according to an embodiment of the present disclosure to distinguish the planes of a wall and a window in a spatial image.
FIG. 7C is a diagram illustrating an operation of an augmented reality device according to an embodiment of the present disclosure to distinguish between walls and floor planes with different patterns in a spatial image.
FIG. 8 is a diagram illustrating an operation of an augmented reality device performing 3D in-painting according to an embodiment of the present disclosure.
FIG. 9 is a diagram illustrating an operation of an augmented reality device performing 2D segmentation from a spatial image according to an embodiment of the present disclosure.
FIG. 10 is a flowchart illustrating a method in which an augmented reality device performs 3D segmentation based on whether a 3D model for an object is stored according to an embodiment of the present disclosure.
FIG. 11 is a diagram illustrating an operation in which an augmented reality device performs 3D segmentation using a previously stored 3D model of an object according to an embodiment of the present disclosure.
FIG. 12 is a diagram illustrating an operation of an augmented reality device performing 3D segmentation when a 3D model for an object is not stored according to an embodiment of the present disclosure.
FIG. 13 is a flowchart illustrating a method in which an augmented reality device places a 3D model in real space and performs rendering using the 3D model according to an embodiment of the present disclosure.
FIG. 14 is a flowchart illustrating a method in which an augmented reality device additionally performs 3D segmentation and updates the segmentation result according to an embodiment of the present disclosure.

본 명세서의 실시예들에서 사용되는 용어는 본 개시의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the embodiments of the present specification are general terms that are currently widely used as much as possible while considering the function of the present disclosure, but this may vary depending on the intention or precedent of a person working in the art, the emergence of new technology, etc. . In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the relevant embodiment. Therefore, the terms used in this specification should not be defined simply as the names of the terms, but should be defined based on the meaning of the term and the overall content of the present disclosure.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. Singular expressions may include plural expressions, unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as generally understood by a person of ordinary skill in the technical field described herein.

본 개시 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 본 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.Throughout the present disclosure, when a part “includes” a certain element, this means that it may further include other elements rather than excluding other elements, unless specifically stated to the contrary. In addition, terms such as "...unit" and "...module" used in this specification refer to a unit that processes at least one function or operation, which is implemented as hardware or software or as a combination of hardware and software. It can be implemented.

본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 시스템"이라는 표현은, 그 시스템이 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.The expression “configured to” used in the present disclosure may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. It can be used interchangeably with ", "designed to," "adapted to," "made to," or "capable of." The term “configured (or set to)” may not necessarily mean “specifically designed to” in hardware. Instead, in some contexts, the expression “system configured to” may mean that the system is “capable of” in conjunction with other devices or components. For example, the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or by executing one or more software programs stored in memory. It may refer to a general-purpose processor (e.g., CPU or application processor) that can perform the corresponding operations.

또한, 본 개시에서 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다. In addition, in the present disclosure, when a component is referred to as “connected” or “connected” to another component, the component may be directly connected or directly connected to the other component, but in particular, the contrary It should be understood that unless a base material exists, it may be connected or connected through another component in the middle.

본 개시에서, '증강 현실(Augmented Reality)'은 현실 세계(Real world)의 물리적 환경 공간 내에 가상 이미지를 함께 보여주거나 현실 객체와 가상 이미지를 함께 보여주는 것을 의미한다.In this disclosure, 'Augmented Reality' means showing virtual images together in the physical environment space of the real world, or showing real objects and virtual images together.

본 개시에서, '증강 현실 디바이스'는 증강 현실을 표현할 수 있는 장치로서, 예를 들어, 모바일 디바이스, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 데스크 탑, 태블릿 PC, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 또는 캠코더 중 어느 하나일 수 있다. 그러나, 이에 한정되는 것은 아니고, 본 개시의 일 실시예에서, 증강 현실 디바이스는 사용자가 안면부(顔面部)에 착용하는 안경 형상의 증강 현실 글래스(Augmented Reality Glasses) 뿐만 아니라, 두부(頭部)에 착용하는 헤드 마운트 디스플레이 장치 (HMD : Head Mounted Display Apparatus)나, 증강 현실 헬멧(Augmented Reality Helmet) 등으로 구현될 수도 있다. In the present disclosure, an 'augmented reality device' is a device capable of expressing augmented reality, for example, a mobile device, a smart phone, a laptop computer, a desktop, a tablet PC, an e-book reader, It may be one of digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), navigation, MP3 players, or camcorders. However, it is not limited thereto, and in one embodiment of the present disclosure, the augmented reality device includes not only glasses-shaped Augmented Reality Glasses worn on the face by the user, but also worn on the head. It can also be implemented as a wearable head mounted display device (HMD: Head Mounted Display Apparatus) or an augmented reality helmet.

본 개시에서, '현실 공간(real world space)'이란 사용자가 증강 현실 장치를 통해서 보는 현실 세계의 공간을 나타낸다. 본 개시의 일 실시예에서, 현실 공간은 실내 공간을 의미할 수 있다. 현실 공간 내에는 현실 객체(real world object)가 배치될 수 있다. In this disclosure, 'real world space' refers to the space of the real world that a user sees through an augmented reality device. In one embodiment of the present disclosure, real space may mean indoor space. Real world objects may be placed within real space.

본 개시에서, '가상 객체(virtual object)'는 광학 엔진을 통해 생성되는 이미지로 정적 이미지와 동적 이미지를 모두 포함할 수 있다. 이러한 가상 객체는 현실 장면과 함께 관측되며, 현실 장면 속의 현실 객체에 대한 정보 또는 증강 현실 장치의 동작에 대한 정보나 제어 메뉴 등을 나타내는 이미지일 수 있다. 본 개시의 일 실시예에서, '가상 객체'는 증강 현실 디바이스에 의해 실행되는 애플리케이션(application) 또는 프로그램(program)을 통해 제공되는 UI(User Interface)를 포함할 수 있다. 예를 들어, 가상 객체는 공간 이미지로부터 인식된 벽, 바닥, 또는 창문 등의 인식 영역을 나타내는 바운딩 박스(bounding box)로 구성된 UI일 수 있다. In the present disclosure, a 'virtual object' is an image generated through an optical engine and may include both static images and dynamic images. These virtual objects are observed together with the real scene, and may be images representing information about the real object in the real scene, information about the operation of the augmented reality device, or a control menu. In one embodiment of the present disclosure, a 'virtual object' may include a User Interface (UI) provided through an application or program executed by an augmented reality device. For example, a virtual object may be a UI composed of a bounding box representing a recognition area such as a wall, floor, or window recognized from a spatial image.

일반적인 증강 현실 디바이스는 광원에서 생성된 광으로 구성되는 가상 객체를 생성하기 위한 광학 엔진과 광학 엔진에서 생성된 가상 객체를 사용자의 눈까지 안내하고 현실 세계의 장면도 함께 볼 수 있도록 투명한 재질로 형성된 웨이브 가이드(waveguide, 또는 도광판)을 구비한다. 전술한 바와 같이, 증강 현실 디바이스는 가상 객체 뿐만 아니라 현실 세계의 장면도 함께 관측할 수 있어야 하므로, 광학 엔진에서 생성된 광을 웨이브 가이드를 통해 사용자의 눈까지 안내하기 위해서는 기본적으로 직진성을 가지는 광의 경로를 변경하기 위한 광학 소자(Optical element)가 필요하다. 이 때, 미러 등에 의한 반사를 이용하여 광 경로를 변경할 수도 있고, DOE(Diffractive optical element), HOE(Holographic optical element) 등과 같은 회절 소자에 의한 회절을 통해 광 경로를 변경할 수도 있으나 이에 한정되는 것은 아니다. A typical augmented reality device includes an optical engine for creating a virtual object composed of light generated from a light source, and a wave formed of a transparent material that guides the virtual object created in the optical engine to the user's eyes and allows the user to view scenes in the real world as well. A guide (waveguide, or light guide plate) is provided. As mentioned above, augmented reality devices must be able to observe not only virtual objects but also scenes in the real world, so in order to guide the light generated by the optical engine to the user's eyes through a wave guide, the light path must be basically straight. An optical element is needed to change . At this time, the optical path may be changed using reflection by a mirror, etc., or the optical path may be changed through diffraction by a diffractive element such as a DOE (Diffractive optical element), HOE (Holographic optical element), etc., but is not limited to this. .

본 개시에서, '인-페인팅(in-painting)'은 이미지의 일부가 가려지거나, 유실되거나, 또는 왜곡된 경우 해당 부분을 복원하는 이미지 프로세싱 기술을 나타낸다. In the present disclosure, 'in-painting' refers to an image processing technique that restores part of an image when that part is obscured, lost, or distorted.

본 개시에서, '세그멘테이션(segmentation)'은 이미지 내에서 객체의 클래스(class) 또는 카테고리(category)를 분류하고, 분류 결과에 따라 이미지 내에서 객체를 다른 객체 또는 배경 이미지와 구분하며, 객체를 분할하는 이미지 프로세싱 기술을 나타낸다. In the present disclosure, 'segmentation' refers to classifying a class or category of an object within an image, distinguishing an object from another object or a background image within the image according to the classification result, and dividing the object. It represents an image processing technology that uses

아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.Below, with reference to the attached drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily practice them. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein.

이하에서는 도면을 참조하여 본 개시의 실시예들을 상세하게 설명한다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.

도 1은 본 개시의 증강 현실 디바이스(100)가 현실 공간(10) 내에서 객체(11, 12, 13)를 삭제, 이동, 또는 추가하는 증강 현실 서비스를 제공하는 동작을 설명하기 위한 개념도이다.FIG. 1 is a conceptual diagram illustrating an operation of the augmented reality device 100 of the present disclosure to provide an augmented reality service that deletes, moves, or adds objects 11, 12, and 13 within the real space 10.

증강 현실 디바이스(100)는 증강 현실 서비스를 제공하는 장치로서, 예를 들어, 모바일 디바이스, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 데스크 탑, 태블릿 PC, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 또는 캠코더 중 어느 하나일 수 있다. 도 1에 도시된 실시예에서, 증강 현실 디바이스(100)는 스마트 폰일 수 있다. 그러나, 이에 한정되는 것은 아니고, 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 사용자가 안면부(顔面部)에 착용하는 안경 형상의 증강 현실 글래스(Augmented Reality Glasses) 뿐만 아니라, 두부(頭部)에 착용하는 헤드 마운트 디스플레이 장치(HMD : Head Mounted Display Apparatus)나, 증강 현실 헬멧(Augmented Reality Helmet) 등으로 구현될 수도 있다. The augmented reality device 100 is a device that provides augmented reality services, for example, a mobile device, smart phone, laptop computer, desktop, tablet PC, e-book terminal, digital broadcast terminal. , Personal Digital Assistants (PDAs), Portable Multimedia Players (PMPs), navigation, MP3 players, or camcorders. In the embodiment shown in FIG. 1, the augmented reality device 100 may be a smart phone. However, it is not limited thereto, and in one embodiment of the present disclosure, the augmented reality device 100 includes not only glasses-shaped Augmented Reality Glasses that the user wears on the face, but also the head. It can also be implemented as a Head Mounted Display Apparatus (HMD) worn on the body or an Augmented Reality Helmet.

도 1을 참조하면, 증강 현실 디바이스(100)는 증강 현실 서비스를 실행할 수 있다(동작 ①). 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 증강 현실 애플리케이션을 실행함으로써, 사용자에게 증강 현실 서비스를 제공할 수 있다. 증강 현실 애플리케이션이 실행되면, 증강 현실 디바이스(100)는 카메라(110, 도 3 참조)를 이용하여 현실 공간(10)을 촬영함으로써, 공간 이미지(20)를 획득할 수 있다. 증강 현실 디바이스(100)는 실시간으로 현실 공간(10)을 촬영함으로써, 복수의 이미지 프레임으로 구성된 공간 이미지(20)를 획득할 수 있다. Referring to FIG. 1, the augmented reality device 100 can execute an augmented reality service (operation ①). In one embodiment of the present disclosure, the augmented reality device 100 may provide an augmented reality service to a user by executing an augmented reality application. When the augmented reality application is executed, the augmented reality device 100 can obtain a spatial image 20 by photographing the real space 10 using the camera 110 (see FIG. 3). The augmented reality device 100 can obtain a spatial image 20 composed of a plurality of image frames by photographing the real space 10 in real time.

증강 현실 디바이스(100)는 디스플레이부 상에 공간 이미지(20)를 디스플레이하고, 공간 이미지(20) 상에서 특정 객체를 선택하는 사용자 입력을 수신할 수 있다(동작 ②). 공간 이미지(20)에는 현실 공간(10)에 배치된 객체(11, 12, 13) 각각에 관한 객체 이미지(21, 22, 23)가 포함될 수 있다. 예를 들어, 제1 객체 이미지(21)는 제1 객체(11)인 조명등의 이미지이고, 제2 객체 이미지(22)는 제2 객체(12)인 텔레비전의 이미지이며, 제3 객체 이미지(23)는 제3 객체(13)인 탁자의 이미지일 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 터치스크린을 포함하고, 터치스크린 상에 디스플레이되는 공간 이미지(20) 내에 포함된 복수의 객체 이미지(21, 22, 23) 중 어느 하나의 객체 이미지를 선택하는 사용자의 터치 입력을 수신할 수 있다. 도 1에 도시된 실시예에서, 증강 현실 디바이스(100)는 공간 이미지(20) 상에서 제2 객체 이미지(22)를 선택하는 사용자의 터치 입력을 수신할 수 있다. 증강 현실 디바이스(100)는 사용자의 터치 입력에 기초하여 제2 객체 이미지(22)를 선택할 수 있다. 그러나, 이에 한정되는 것은 아니고, 예를 들어 증강 현실 디바이스(100)가 안경 형태의 증강 현실 글래스(augmented reality glass)로 구현되는 경우, 사용자의 양안의 시선 방향이 수렴되는 응시점에 기초하여 객체를 선택할 수도 있다. 또한, 다른 예를 들어, 증강 현실 디바이스(100)가 헤드 마운트 디스플레이 장치로 구현되는 경우, 외부의 컨트롤러를 통해 수신되는 사용자 입력에 기초하여 객체를 선택할 수도 있다.The augmented reality device 100 may display the spatial image 20 on the display unit and receive a user input for selecting a specific object on the spatial image 20 (operation ②). The spatial image 20 may include object images 21, 22, and 23 for each of the objects 11, 12, and 13 arranged in the real space 10. For example, the first object image 21 is an image of a lighting lamp as the first object 11, the second object image 22 is an image of a television as the second object 12, and the third object image 23 ) may be an image of a table, which is the third object 13. In one embodiment of the present disclosure, the augmented reality device 100 includes a touch screen, and displays any one of a plurality of object images 21, 22, and 23 included in the spatial image 20 displayed on the touch screen. A touch input from a user selecting an object image can be received. In the embodiment shown in FIG. 1 , the augmented reality device 100 may receive a user's touch input for selecting the second object image 22 on the spatial image 20 . The augmented reality device 100 may select the second object image 22 based on the user's touch input. However, it is not limited to this, and for example, when the augmented reality device 100 is implemented as glasses-shaped augmented reality glass, the object is displayed based on the gaze point where the gaze directions of both eyes of the user converge. You can also choose. Additionally, as another example, when the augmented reality device 100 is implemented as a head mounted display device, an object may be selected based on a user input received through an external controller.

증강 현실 디바이스(100)는 사용자 입력에 의해 선택된 객체를 삭제할 수 있다(동작 ③). 도 1에 도시된 실시예에서, 증강 현실 디바이스(100)는 사용자 입력에 의해 선택된 제2 객체 이미지(22)를 공간 이미지(20)로부터 삭제할 수 있다. 제2 객체 이미지(22)가 삭제된 영역에는 제2 객체(텔레비전)에 의해 가려진 벽과 바닥이 표시될 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 평면 인식 기술(plane detection)을 이용하여 현실 공간(10) 내에서 벽과 바닥의 평면들을 인식하고, 인식된 벽과 바닥의 평면들을 확장하고, 확장된 벽과 바닥의 평면 영역 중 복수의 객체(11, 12, 13)에 의해 가려진 영역을 3차원 인-페인팅(3D in-painting)함으로써 현실 공간(10)에 관한 3차원 모델을 생성할 수 있다. 증강 현실 디바이스(100)는 3차원 세그멘테이션(3D segmentation)을 수행함으로써, 사용자 입력에 의해 선택된 제2 객체 이미지(22)를 공간 이미지(20)로부터 분할할 수 있다. 증강 현실 디바이스(100)는 현실 공간(10)에 관한 3차원 모델을 현실 공간(10)에서 인식된 벽과 바닥의 평면에 배치하고, 3차원 모델을 이용하는 렌더링(rendering)을 수행함으로써 공간 이미지(20) 내에서 3차원 세그멘테이션에 의해 분할된 제2 객체 이미지(22)에 의해 가려진 영역을 표시할 수 있다. 구체적인 3차원 모델 생성 방법 및 3차원 세그멘테이션 방법은 이하의 도면들에 관한 설명 부분에서 상세하게 설명하기로 한다. The augmented reality device 100 can delete the object selected by user input (operation ③). In the embodiment shown in FIG. 1, the augmented reality device 100 may delete the second object image 22 selected by user input from the spatial image 20. The wall and floor obscured by the second object (television) may be displayed in the area where the second object image 22 has been deleted. In one embodiment of the present disclosure, the augmented reality device 100 recognizes the planes of the wall and floor within the real space 10 using plane detection technology, and expands the recognized planes of the wall and floor. And, create a 3D model of the real space 10 by 3D in-painting the area covered by the plurality of objects 11, 12, and 13 among the expanded wall and floor flat areas. can do. The augmented reality device 100 may segment the second object image 22 selected by user input from the spatial image 20 by performing 3D segmentation. The augmented reality device 100 places a three-dimensional model of the real space 10 on the plane of the walls and floor recognized in the real space 10, and performs rendering using the three-dimensional model to create a spatial image ( 20), an area obscured by the second object image 22 divided by 3D segmentation may be displayed. The specific 3D model creation method and 3D segmentation method will be described in detail in the description of the drawings below.

증강 현실 디바이스(100)는 공간 이미지(20) 상에서 사용자 입력에 의해 선택된 객체 이미지를 이동 및 추가할 수 있다(동작 ④). 도 1에 도시된 실시예에서, 증강 현실 디바이스(100)는 조명등에 관한 제1 객체 이미지(21)의 위치를 왼쪽에서 오른쪽으로 이동하고, 현실 공간(10)에 없던 객체인 소파의 신규 객체 이미지(30)를 추가할 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 기 저장된 객체의 3차원 모델을 이용하거나, 또는 공간 이미지(20)로부터 인식된 객체의 경계선(edge), 특징점, 또는 픽셀의 3차원 위치 좌표값 중 적어도 하나를 이용하는 3차원 세그멘테이션을 수행함으로써, 제1 객체 이미지(21)를 이동하거나, 신규 객체 이미지(30)를 추가할 수 있다. The augmented reality device 100 can move and add an object image selected by user input on the spatial image 20 (operation ④). In the embodiment shown in FIG. 1, the augmented reality device 100 moves the position of the first object image 21 with respect to the lamp from left to right and creates a new object image of a sofa, which is an object that did not exist in the real space 10. (30) can be added. In one embodiment of the present disclosure, the augmented reality device 100 uses a pre-stored 3D model of the object, or the 3D position of the edge, feature point, or pixel of the object recognized from the spatial image 20. By performing 3D segmentation using at least one of the coordinate values, the first object image 21 can be moved or a new object image 30 can be added.

증강 현실 디바이스(100)가 현실 공간(10)에 관한 공간 이미지(20)에서 객체를 삭제, 이동, 또는 추가하는 등 객체를 제어하는 구체적인 방법에 대해서는 도 2에서 세하게 설명하기로 한다.A specific method by which the augmented reality device 100 controls an object, such as deleting, moving, or adding an object to the spatial image 20 of the real space 10, will be described in detail with reference to FIG. 2 .

도 2는 본 개시의 일 실시예에 따른 증강 현실 디바이스가 현실 공간에서 객체를 제어하는 동작을 도시한 도면이다.FIG. 2 is a diagram illustrating an operation of an augmented reality device controlling an object in real space according to an embodiment of the present disclosure.

도 2를 참조하면, 증강 현실 디바이스(100, 도 1 참조)는 현실 공간에 관한 공간 이미지(200)로부터 공간을 인식하고, 현실 공간 내 벽(202, 203, 204)과 바닥(201)의 평면을 인식할 수 있다(동작 ①). 증강 현실 디바이스(100)는 증강 현실 애플리케이션을 실행하여 증강 현실 서비스를 시작하고, 카메라(110, 도 3 참조)를 이용하여 현실 공간을 촬영함으로써 공간 이미지(200)를 획득할 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 증강 현실 애플레케이션으로부터 제공되는 평면 인식 기술(plane detection)을 이용하여 공간 이미지(200)로부터 벽(202, 203, 204) 및 바닥(201)의 평면을 인식할 수 있다. Referring to FIG. 2, the augmented reality device 100 (see FIG. 1) recognizes space from the spatial image 200 of the real space and recognizes the planes of the walls 202, 203, 204 and the floor 201 in the real space. can be recognized (action ①). The augmented reality device 100 can run an augmented reality application to start an augmented reality service and obtain a spatial image 200 by photographing a real space using a camera 110 (see FIG. 3). In one embodiment of the present disclosure, the augmented reality device 100 detects the walls 202, 203, 204 and the floor from the spatial image 200 using plane detection technology provided from an augmented reality application. 201) can be recognized.

증강 현실 디바이스(100)는 벽과 바닥에 3차원 인-페인팅(3D in-painting)을 수행할 수 있다(동작 ②). 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 인식된 벽(202, 203, 204)과 바닥(201)의 평면들 각각으로부터 임의의 포인트 3개씩을 추출하고, 벽(202, 203, 204)과 바닥(201) 각각의 평면 방정식을 도출할 수 있다. 증강 현실 디바이스(100)는 도출된 평면 방정식에 기초하여 벽(202, 203, 204)과 바닥(201)의 평면을 확장하여 가상의 벽(212, 213, 214) 및 가상의 바닥(211)로 구성된 3차원 모델 형태를 획득할 수 있다. 증강 현실 디바이스(100)는 카메라(110)로부터 획득된 현실 공간의 벽, 바닥, 및 객체들 각각의 깊이값 정보를 획득하고, 공간 이미지(200)로부터 컬러 정보를 획득하며, 깊이값 정보 및 컬러 정보에 기초하여 가상의 벽(212, 213, 214), 가상의 바닥(211)과 객체의 영역을 구분할 수 있다. 증강 현실 디바이스(100)는 3차원 모델 형태에서 가상의 벽(212, 213, 214)과 가상의 바닥(211) 중 객체에 의해 가려진 부분을 제외하고, 객체에 의해 가려진 영역은 현실 공간의 벽(202, 203, 204)과 바닥(201)의 이미지를 이용하여 가상의 벽(212, 213, 214)과 가상의 바닥(211)에 대하여 각각 별도로 인-페인팅을 수행할 수 있다. The augmented reality device 100 can perform 3D in-painting on walls and floors (operation ②). In one embodiment of the present disclosure, the augmented reality device 100 extracts three random points from each of the recognized planes of the walls 202, 203, and 204 and the floor 201, and The plane equations for each of 204) and floor 201 can be derived. The augmented reality device 100 extends the planes of the walls 202, 203, 204 and the floor 201 to the virtual walls 212, 213, 214 and the virtual floor 211 based on the derived plane equations. The configured 3D model form can be obtained. The augmented reality device 100 acquires depth value information for each wall, floor, and object of the real space obtained from the camera 110, acquires color information from the spatial image 200, and obtains depth value information and color. Based on the information, the virtual walls 212, 213, 214, the virtual floor 211, and the object area can be distinguished. The augmented reality device 100 is in the form of a three-dimensional model, except for the portion obscured by the object among the virtual walls 212, 213, and 214 and the virtual floor 211, and the area obscured by the object is a wall in real space ( In-painting can be performed separately on the virtual walls 212, 213, 214 and the virtual floor 211 using the images of the images 202, 203, 204 and the floor 201, respectively.

본 개시에서, '인-페인팅(in-painting)'은 이미지의 일부가 가려지거나, 유실되거나, 또는 왜곡된 경우 해당 부분을 복원하는 이미지 프로세싱 기술을 의미한다. 본 개시에서, '3차원 인-페인팅'은 3차원 이미지에서 3차원 객체에 의해 가려진 영역을 복원하는 이미지 프로세싱 기술을 의미할 수 있다. 증강 현실 디바이스(100)는 인-페인팅을 수행함으로써 가상의 벽(212, 213, 214) 및 가상의 바닥(211)을 포함하는 3차원 모델을 생성할 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 생성된 3차원 모델을 메모리(140, 도 3 참조) 내의 저장 공간(예를 들어, 3차원 모델 데이터베이스(148, 도 3 참조))에 저장할 수 있다. In the present disclosure, 'in-painting' refers to an image processing technology that restores part of an image when that part is obscured, lost, or distorted. In the present disclosure, '3D in-painting' may refer to an image processing technology that restores an area obscured by a 3D object in a 3D image. The augmented reality device 100 may generate a three-dimensional model including virtual walls 212, 213, and 214 and a virtual floor 211 by performing in-painting. In one embodiment of the present disclosure, the augmented reality device 100 stores the generated 3D model in a storage space (e.g., 3D model database 148 (see FIG. 3)) in the memory 140 (see FIG. 3). You can save it.

증강 현실 디바이스(100)는 사용자 입력에 의해 선택된 객체를 2차원 세그멘테이션(2D segmentation)할 수 있다(동작 ③). 도 2에 도시된 실시예를 참조하면, 증강 현실 디바이스(100)는 실행 중인 증강 현실 애플리케이션을 통해 디스플레이되는 공간 이미지(200) 상에서 제어하고자 하는 객체를 선택하는 사용자 입력을 수신할 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 터치스크린을 통해 공간 이미지(200)를 디스플레이하고, 공간 이미지(200)에 포함되는 복수의 객체 중 어느 하나의 객체(220)를 선택하는 사용자 입력을 수신할 수 있다. 증강 현실 디바이스(100)는 사용자 입력에 기초하여 객체(220)를 선택하고, 선택된 객체(220)의 2차원 이미지 정보(예를 들어, 2차원 위치 좌표값 정보), 동작 ① 및 동작 ②에서 획득된 벽(202, 203, 204) 및 바닥(201)의 평면 정보, 깊이 값 정보, 및 객체 구분 정보에 기초하여 객체(220)에 관한 2차원 세그멘테이션을 수행할 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 복수의 객체를 라벨(label), 클래스(class) 또는 카테고리(category)로 분류하도록 기 학습된 심층 신경망 모델(pre-trained deep neural network model)을 이용하여 사용자 입력에 의해 선택된 객체(220)를 세그멘테이션할 수 있다. 본 개시에서, '세그멘테이션(segmentation)'은 이미지 내에서 객체를 분류하고, 분류 결과에 따라 이미지 내에서 객체를 다른 객체 또는 배경 이미지와 구분하며, 객체를 분할하는 이미지 프로세싱 기술을 의미한다. The augmented reality device 100 can perform 2D segmentation of an object selected by user input (operation ③). Referring to the embodiment shown in FIG. 2, the augmented reality device 100 may receive a user input for selecting an object to be controlled on the spatial image 200 displayed through the running augmented reality application. In one embodiment of the present disclosure, the augmented reality device 100 displays a spatial image 200 through a touch screen and selects one object 220 among a plurality of objects included in the spatial image 200. Can receive user input. The augmented reality device 100 selects the object 220 based on the user input, and obtains two-dimensional image information (e.g., two-dimensional position coordinate value information) of the selected object 220 from actions ① and actions ②. Two-dimensional segmentation of the object 220 may be performed based on planar information, depth value information, and object classification information of the walls 202, 203, and 204 and the floor 201. In one embodiment of the present disclosure, the augmented reality device 100 uses a pre-trained deep neural network model to classify a plurality of objects into labels, classes, or categories. ) can be used to segment the object 220 selected by user input. In this disclosure, 'segmentation' refers to an image processing technology that classifies objects in an image, distinguishes objects in the image from other objects or background images according to the classification result, and divides the objects.

증강 현실 디바이스(100)는 선택된 객체(220)를 3차원 세그멘테이션(3D segmentation)할 수 있다(동작 ④). 증강 현실 디바이스(100)는 2차원 세그멘테이션을 통해 획득한 정보를 이용하여 객체(220)를 공간 이미지(200)에서 분할하는 3차원 세그멘테이션을 수행할 수 있다. 본 개시의 일 실시예에서, 3차원 세그멘테이션은 객체(220)에 관하여 3차원 모델이 저장되어 있는지 여부에 따라 다르게 수행될 수 있다. 예를 들어, 객체(220)에 관한 3차원 모델이 메모리(140, 도 3 참조) 내의 저장 공간에 기 저장되어 있는 경우, 증강 현실 디바이스(100)는 메모리(140)에 저장된 3차원 모델의 방향을 조절하여 공간 이미지(200) 상의 2차원 세그멘테이션의 윤곽선(outlier)과 겹치도록 객체(220)의 3차원 모델을 배치하고, 배치된 3차원 모델로부터 객체(220)에 관한 3차원 위치 좌표값 정보를 획득할 수 있다. 증강 현실 디바이스(100)는 획득된 3차원 위치 좌표값에 기초하여 객체(220)를 공간 이미지(200)로부터 분할하는 3차원 세그멘테이션을 수행할 수 있다. The augmented reality device 100 can perform 3D segmentation of the selected object 220 (operation ④). The augmented reality device 100 may perform 3D segmentation to segment the object 220 in the spatial image 200 using information acquired through 2D segmentation. In one embodiment of the present disclosure, 3D segmentation may be performed differently depending on whether a 3D model is stored for the object 220. For example, when the 3D model for the object 220 is already stored in the storage space in the memory 140 (see FIG. 3), the augmented reality device 100 controls the direction of the 3D model stored in the memory 140. Adjust to place the 3D model of the object 220 so that it overlaps the outline (outlier) of the 2D segmentation on the spatial image 200, and obtain 3D position coordinate value information about the object 220 from the placed 3D model. can be obtained. The augmented reality device 100 may perform 3D segmentation to segment the object 220 from the spatial image 200 based on the acquired 3D position coordinate values.

예를 들어, 객체(220)에 관한 3차원 모델이 메모리(140, 도 3 참조) 내에 저장되어 있지 않은 경우, 증강 현실 디바이스(100)는 공간 이미지(200)로부터 인식된 객체(220)의 경계선(edge)(222), 특징점(feature point)(224), 및 픽셀들의 3차원 위치 좌표값 중 적어도 하나에 기초하여 3차원 버텍스 모델링(3D vertex modeling)을 수행하고, 3차원 버텍스 모델링을 통해 객체(220)를 공간 이미지(200)로부터 분할하는 3차원 세그멘테이션을 수행할 수 있다. For example, if the three-dimensional model for the object 220 is not stored in the memory 140 (see FIG. 3), the augmented reality device 100 may use the boundary line of the object 220 recognized from the spatial image 200. 3D vertex modeling is performed based on at least one of the (edge) 222, the feature point 224, and the 3D position coordinate values of the pixels, and the object is created through 3D vertex modeling. 3D segmentation can be performed by dividing 220 from the spatial image 200.

증강 현실 디바이스(100)는 객체(220)의 삭제, 이동, 및 교체 중 적어도 하나를 수행할 수 있다(동작 ⑤). 증강 현실 디바이스(100)는 3차원 모델을 이용하여 객체(220)에 의해 가려진 영역을 렌더링(rendering)할 수 있다. 렌더링을 통해 증강 현실 디바이스(100)는 객체(220)의 3차원 세그멘테이션을 통해 분할된 영역을 표시할 수 있다. 증강 현실 디바이스(100)는 객체(220)의 2차원 세그멘테이션 정보 및 3차원 세그멘테이션 정보를 이용하여, 객체(220)를 공간 이미지(200)로부터 지우는 삭제, 객체(220)를 다른 객체의 가상 이미지로 대체하는 교체, 또는 객체(220)를 다른 영역에 배치하는 이동 동작을 수행할 수 있다. 이를 통해, 증강 현실 디바이스(100)는 증강 현실에서 현실 공간에서의 객체(220)를 제어할 수 있다. The augmented reality device 100 may perform at least one of deleting, moving, and replacing the object 220 (operation ⑤). The augmented reality device 100 may render the area obscured by the object 220 using a 3D model. Through rendering, the augmented reality device 100 can display a divided area through 3D segmentation of the object 220. The augmented reality device 100 uses the two-dimensional segmentation information and three-dimensional segmentation information of the object 220 to delete the object 220 from the spatial image 200 and convert the object 220 into a virtual image of another object. A replacement or movement operation may be performed to place the object 220 in another area. Through this, the augmented reality device 100 can control the object 220 in real space in augmented reality.

종래의 증강 현실 서비스들은 현실 공간 내 객체(도 1의 11, 12, 13 참조) 위에 가상 객체를 어색하게 겹쳐서 표시하는 방식을 이용하고 있다. 예를 들어, 종래의 증강 현실 기술에서는 교체하려는 가구의 영역을 삭제하고, 가상의 가구(가상 객체)를 배치하는 방법을 사용하는데, 복수의 가구가 붙어있는 경우 특정 가구만 선택적으로 삭제하기가 어렵고, 단순 보간법으로 인-페인팅(in-painting)을 수행하므로 배경이 완전 평면이 아니라 벽과 벽 혹은 벽과 바닥으로 꺾여 있을 경우 현실 공간과 다르게 생성되는 문제점이 있다. 특히, 증강 현실 애플리케이션을 실행하여 증강 현실 서비스를 제공하는 동안 현실 공간의 이미지 프레임이 실시간으로 획득되는데, 실시간으로 획득된 복수의 이미지 프레임 각각에 대하여 심층 신경망(deep neural network) 모델을 이용하여 객체를 인식하고, 세그멘테이션하는 경우 연산량이 증가하고, 프로세싱 타임이 오래 소요되는 문제점이 있다. 연산량이 증가하는 경우, 실시간으로 객체 인식 및 세그멘테이션이 정상적으로 진행되지 않고, 지연되므로 증강 현실 서비스의 만족도 및 사용자 편의성이 떨어지게 된다. 또한, 이미지 프레임 별로 객체 인식 및 세그멘테이션을 수행하는 경우 디바이스의 발열 및 전력 소모량이 증가하는 문제점이 있다. 휴대를 위하여 소형 폼팩터를 갖도록 설계되는 증강 현실 디바이스의 특성 상 발열과 전력 소모량은 디바이스 이용 시간에 크게 영향을 미칠 수 있다. Conventional augmented reality services use a method of displaying virtual objects by awkwardly overlapping them on objects in real space (see 11, 12, and 13 in FIG. 1). For example, in conventional augmented reality technology, a method is used to delete the area of the furniture to be replaced and place virtual furniture (virtual objects), but when multiple pieces of furniture are attached, it is difficult to selectively delete only specific pieces of furniture. , Since in-painting is performed using a simple interpolation method, there is a problem in that if the background is not completely flat but is bent by wall-to-wall or wall-to-floor, it is created differently from the real space. In particular, while providing augmented reality services by executing an augmented reality application, image frames in real space are acquired in real time. For each of the multiple image frames acquired in real time, a deep neural network model is used to identify objects. When recognizing and segmenting, there is a problem that the amount of calculation increases and processing time takes a long time. When the amount of computation increases, object recognition and segmentation do not proceed normally in real time and are delayed, thereby reducing the satisfaction and user convenience of the augmented reality service. Additionally, when object recognition and segmentation are performed for each image frame, there is a problem of increased heat generation and power consumption of the device. Due to the nature of augmented reality devices, which are designed to have a small form factor for portability, heat generation and power consumption can greatly affect device use time.

본 개시는 현실 공간에서 가상 객체 뿐만 아니라, 현실 객체까지 자유롭게 제어할 수 있는 증강 현실 서비스를 제공하는 증강 현실 디바이스(100) 및 그 동작 방법을 제공하는 것을 목적으로 한다. 본 개시의 실시예에 따르면, 공간 이미지(도 1의 20, 도 2의 200 참조)로부터 벽과 바닥의 평면들을 인식하고, 인식된 평면을 확장하고 3차원 인-페인팅을 수행하여 현실 공간에 관한 3차원 모델을 생성하고, 2차원 및 3차원 세그멘테이션을 통해 객체를 분할하며, 벽과 바닥의 영역 중 객체에 의해 가려진 영역을 3차원 모델을 이용하여 렌더링하는 증강 현실 디바이스(100)가 제공된다. The purpose of the present disclosure is to provide an augmented reality device 100 and a method of operating the same that provide an augmented reality service that can freely control not only virtual objects but also real objects in real space. According to an embodiment of the present disclosure, the planes of the wall and floor are recognized from the spatial image (see 20 in FIG. 1 and 200 in FIG. 2), the recognized planes are expanded, and 3D in-painting is performed to create a picture of the real space. An augmented reality device 100 is provided that generates a 3D model, divides objects through 2D and 3D segmentation, and renders areas of walls and floors obscured by objects using the 3D model.

도 1 및 도 2에 도시된 실시예에 따른 증강 현실 디바이스(100)는 실시간으로 현실 공간에 관한 복수의 이미지 프레임을 획득하는 경우 사용자 입력에 의해 객체가 삭제, 이동, 또는 교체되는 등의 제어가 있을 때만 3차원 모델을 이용하여 벽과 바닥을 렌더링하면 되므로, 복수의 이미지 프레임 각각에 대하여 별개의 객체 인식 및 세그멘테이션을 수행하는 종래의 증강 현실 기술 대비 연산량을 감소시킬 수 있다. 따라서, 본 개시의 증강 현실 디바이스(100)는 컴퓨팅 파워(computing power)를 절감하며, 디바이스의 발열을 억제할 수 있는 기술적 효과를 제공한다. 또한, 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)는 3차원 모델을 메모리(140, 도 3 참조) 내의 저장 공간(예를 들어, 3차원 모델 데이터베이스(148, 도 3 참조))에 저장해놓고, 사용자 입력에 의해 객체가 삭제, 이동, 또는 교체되는 등 제어가 일어날 때에만 3차원 모델을 로드(load)하여 렌더링을 수행하므로 프로세싱 타임을 단축시킬 수 있고, 실시간 증강 현실 서비스를 제공할 수 있다. When the augmented reality device 100 according to the embodiment shown in FIGS. 1 and 2 acquires a plurality of image frames of real space in real time, control such as deleting, moving, or replacing objects by user input. Since walls and floors only need to be rendered using a 3D model when present, the amount of computation can be reduced compared to conventional augmented reality technology that performs separate object recognition and segmentation for each of a plurality of image frames. Accordingly, the augmented reality device 100 of the present disclosure saves computing power and provides a technical effect of suppressing heat generation of the device. In addition, the augmented reality device 100 according to an embodiment of the present disclosure stores the 3D model in a storage space (e.g., the 3D model database 148 (see FIG. 3)) in the memory 140 (see FIG. 3). It stores the 3D model and performs rendering by loading the 3D model only when control occurs, such as when an object is deleted, moved, or replaced by user input, which can shorten processing time and provide real-time augmented reality services. You can.

도 3은 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)의 구성 요소를 도시한 블록도이다.Figure 3 is a block diagram showing the components of the augmented reality device 100 according to an embodiment of the present disclosure.

도 3을 참조하면, 증강 현실 디바이스(100)는 카메라(110), IMU 센서(120), 프로세서(130), 메모리(140), 및 디스플레이부(150)를 포함할 수 있다. 카메라(110), IMU 센서(120), 프로세서(130), 메모리(140), 및 디스플레이부(150)는 각각 전기적 및/또는 물리적으로 서로 연결될 수 있다. 도 3에는 증강 현실 디바이스(100)의 동작을 설명하기 위한 필수적 구성 요소만이 도시되었고, 증강 현실 디바이스(100)가 포함하는 구성 요소가 도 3에 도시된 바와 같이 한정되는 것은 아니다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 외부 디바이스 또는 서버와 데이터 통신을 수행하는 통신 인터페이스를 더 포함할 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 휴대용 장치로 구현되고, 이 경우 증강 현실 디바이스(100)는 카메라(110), IMU 센서(120), 프로세서(130), 및 디스플레이부(150)에 전원을 공급하는 배터리를 더 포함할 수 있다. Referring to FIG. 3 , the augmented reality device 100 may include a camera 110, an IMU sensor 120, a processor 130, a memory 140, and a display unit 150. The camera 110, IMU sensor 120, processor 130, memory 140, and display unit 150 may each be electrically and/or physically connected to each other. In FIG. 3 , only essential components for explaining the operation of the augmented reality device 100 are shown, and the components included in the augmented reality device 100 are not limited as shown in FIG. 3 . In one embodiment of the present disclosure, the augmented reality device 100 may further include a communication interface that performs data communication with an external device or server. In one embodiment of the present disclosure, the augmented reality device 100 is implemented as a portable device, and in this case, the augmented reality device 100 includes a camera 110, an IMU sensor 120, a processor 130, and a display unit ( 150) may further include a battery that supplies power.

카메라(110)는 현실 공간을 촬영함으로써, 현실 공간에 관한 공간 이미지를 획득하도록 구성된다. 본 개시의 일 실시예에서, 카메라(110)는 렌즈 모듈, 이미지 센서, 및 영상 처리 모듈을 포함할 수 있다. 카메라(110)는 이미지 센서(예를 들어, CMOS 또는 CCD)에 의해 현실 공간에 관한 정지 이미지(still image) 또는 동영상(video)을 획득할 수 있다. 동영상은 카메라(110)를 통해 현실 공간을 촬영함으로써 실시간으로 획득되는 복수의 이미지 프레임을 포함할 수 있다. 영상 처리 모듈은 이미지 센서를 통해 획득된 단일 이미지 프레임으로 구성된 정지 이미지 또는 복수의 이미지 프레임으로 구성된 동영상 데이터를 프로세서(130)에 전달할 수 있다. 본 개시의 일 실시예에서, 영상 처리 모듈은 획득된 정지 이미지 또는 동영상을 가공하여, 필요한 정보를 추출하고, 추출된 정보를 프로세서(130)에 전달할 수 있다. The camera 110 is configured to acquire a spatial image of real space by photographing real space. In one embodiment of the present disclosure, the camera 110 may include a lens module, an image sensor, and an image processing module. The camera 110 may acquire a still image or video of a real space using an image sensor (eg, CMOS or CCD). A video may include a plurality of image frames acquired in real time by photographing real space through the camera 110. The image processing module may transmit a still image consisting of a single image frame or video data consisting of a plurality of image frames acquired through an image sensor to the processor 130. In one embodiment of the present disclosure, the image processing module may process the acquired still image or video, extract necessary information, and transmit the extracted information to the processor 130.

IMU 센서(Inertial Measurement Unit)(120)는 증강 현실 디바이스(100)의 이동 속도, 방향, 각도, 및 중력 가속도를 측정하도록 구성되는 센서이다. IMU 센서(120)는 가속도 센서(122) 및 자이로 센서(124)를 포함할 수 있다. 도 3에는 도시되지 않았지만, IMU 센서(120)는 지자기 센서(magnetometer)를 더 포함할 수도 있다.The IMU sensor (Inertial Measurement Unit) 120 is a sensor configured to measure the movement speed, direction, angle, and gravitational acceleration of the augmented reality device 100. The IMU sensor 120 may include an acceleration sensor 122 and a gyro sensor 124. Although not shown in FIG. 3, the IMU sensor 120 may further include a geomagnetic sensor (magnetometer).

가속도 센서(accelerometer)(122)는 증강 현실 디바이스(100)에 가속력, 진동력, 또는 충격력 등 동적 힘(dynamic force)이 발생되는 경우, 움직임의 변화에 따른 가속도를 측정하도록 구성되는 센서이다. 본 개시의 일 실시예에서, 가속도 센서(122)는 행 방향, 횡 방향, 및 높이 방향의 가속도를 측정하는 3축 가속도계로 구성될 수 있다. The acceleration sensor (accelerometer) 122 is a sensor configured to measure acceleration according to a change in movement when a dynamic force such as acceleration force, vibration force, or impact force is generated in the augmented reality device 100. In one embodiment of the present disclosure, the acceleration sensor 122 may be configured as a three-axis accelerometer that measures acceleration in the row direction, lateral direction, and height direction.

자이로 센서(gyroscope)(124)는 증강 현실 디바이스(100)의 회전 변화량인 각속도를 측정하도록 구성되는 센서이다. 본 개시의 일 실시예에서, 자이로 센서(124)는 롤(roll), 피치(pitch), 및 요(yaw) 각속도를 측정하는 3축 각속도계를 포함할 수 있다. The gyroscope 124 is a sensor configured to measure the angular velocity, which is the change in rotation of the augmented reality device 100. In one embodiment of the present disclosure, the gyro sensor 124 may include a three-axis angular velocity that measures roll, pitch, and yaw angular velocities.

본 개시의 일 실시예에서, IMU 센서(120)는 가속도 센서(122) 및 자이로 센서(124)를 이용하여 가속도 및 각속도를 측정하고, 측정된 가속도 및 각속도에 기초하여 중력 방향을 감지할 수 있다. 여기서, 감지된 '중력 방향'은 현실 공간의 바닥 면의 법선 벡터(normal vector)의 방향과 동일할 수 있다. IMU 센서(120)는 중력 방향에 관한 정보를 프로세서(130)에 제공할 수 있다. In one embodiment of the present disclosure, the IMU sensor 120 measures acceleration and angular velocity using the acceleration sensor 122 and the gyro sensor 124, and can detect the direction of gravity based on the measured acceleration and angular velocity. . Here, the detected 'gravity direction' may be the same as the direction of the normal vector of the floor surface in real space. The IMU sensor 120 may provide information about the direction of gravity to the processor 130.

프로세서(130)는 메모리(140)에 저장된 프로그램의 하나 이상의 명령어들(instructions)을 실행할 수 있다. 프로세서(130)는 산술, 로직 및 입출력 연산과 이미지 프로세싱을 수행하는 하드웨어 구성 요소로 구성될 수 있다. 프로세서(130)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 프로세서(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), 및 FPGAs(Field Programmable Gate Arrays) 중 적어도 하나로 구성될 수 있으나, 이에 한정되는 것은 아니다. The processor 130 may execute one or more instructions of a program stored in the memory 140. The processor 130 may be comprised of hardware components that perform arithmetic, logic, input/output operations, and image processing. The processor 130 may include, for example, a Central Processing Unit (Central Processing Unit), a microprocessor (microprocessor), a Graphic Processing Unit (Graphic Processing Unit), Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), and Digital Signal Processors (DSPDs). It may consist of at least one of Signal Processing Devices (PLDs), Programmable Logic Devices (PLDs), and Field Programmable Gate Arrays (FPGAs), but is not limited thereto.

본 개시의 일 실시예에서, 프로세서(130)는 인공 지능(Artificial Intelligence, AI) 학습을 수행하는 AI 프로세서를 포함할 수 있다. AI 프로세서는, 인공 지능(AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 증강 현실 디바이스(100)에 탑재될 수도 있다. In one embodiment of the present disclosure, the processor 130 may include an AI processor that performs artificial intelligence (AI) learning. AI processors may be manufactured in the form of dedicated hardware chips for artificial intelligence (AI), or as part of existing general-purpose processors (e.g. CPU or application processor) or graphics-specific processors (e.g. GPU) for augmented reality devices. It may also be mounted on (100).

도 3에는 프로세서(130)가 하나의 엘리먼트로 도시되었으나, 이에 한정되는 것은 아니다. 본 개시의 일 실시예에서, 프로세서(130)는 하나 이상의 복수 개의 엘리먼트들로 구성될 수 있다. In FIG. 3, the processor 130 is shown as one element, but it is not limited thereto. In one embodiment of the present disclosure, the processor 130 may be composed of one or more elements.

메모리(140)는 예를 들어, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 또는 광 디스크 중 적어도 하나의 타입의 저장매체로 구성될 수 있다. The memory 140 may be, for example, a flash memory type, a hard disk type, a multimedia card micro type, or a card type memory (e.g., SD or XD memory). etc.), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), or It may be composed of at least one type of storage medium, such as an optical disk.

메모리(140)에는 증강 현실 디바이스(100)가 3차원 인-페인팅 및 3차원 세그멘테이션을 수행하여 현실 공간에서 객체를 제어하는 증강 현실 서비스를 제공하는 동작들과 관련된 명령어들(instructions)이 저장될 수 있다. 본 개시의 일 실시예에서, 메모리(140)에는 프로세서(130)가 판독할 수 있는 명령어들, 알고리즘(algorithm), 데이터 구조, 프로그램 코드(program code), 및 애플리케이션 프로그램(application program) 중 적어도 하나가 저장될 수 있다. 메모리(140)에 저장되는 명령어들, 알고리즘, 데이터 구조, 및 프로그램 코드는 예를 들어, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다.The memory 140 may store instructions related to operations in which the augmented reality device 100 performs 3D in-painting and 3D segmentation to provide an augmented reality service that controls objects in real space. there is. In one embodiment of the present disclosure, the memory 140 includes at least one of instructions, an algorithm, a data structure, a program code, and an application program that can be read by the processor 130. can be saved. Instructions, algorithms, data structures, and program codes stored in memory 140 may be implemented in, for example, programming or scripting languages such as C, C++, Java, assembler, etc.

메모리(140)에는 인-페인팅 모듈(142), 세그멘테이션 모듈(144), 및 렌더링 모듈(146)에 관한 명령어들, 알고리즘, 데이터 구조, 또는 프로그램 코드가 저장되어 있을 수 있다. 메모리(140)에 포함되는 '모듈'은 프로세서(130)에 의해 수행되는 기능이나 동작을 처리하는 단위를 의미하고, 이는 명령어들, 알고리즘, 데이터 구조, 또는 프로그램 코드와 같은 소프트웨어로 구현될 수 있다. 본 개시의 일 실시예에서, 메모리(140)에는 저장 공간인 3차원 모델 데이터베이스(148)가 포함될 수 있다. The memory 140 may store instructions, algorithms, data structures, or program codes related to the in-painting module 142, the segmentation module 144, and the rendering module 146. The 'module' included in the memory 140 refers to a unit that processes functions or operations performed by the processor 130, and may be implemented as software such as instructions, algorithms, data structures, or program code. . In one embodiment of the present disclosure, the memory 140 may include a 3D model database 148, which is a storage space.

이하의 실시예에서, 프로세서(130)는 메모리(140)에 저장된 명령어들 또는 프로그램 코드들을 실행함으로써 구현될 수 있다.In the following embodiment, the processor 130 may be implemented by executing instructions or program codes stored in the memory 140.

프로세서(130)는 증강 현실 애플리케이션을 실행하고, 증강 현실 애플리케이션이 실행됨에 따라 카메라(110)로부터 현실 공간에 관한 공간 이미지를 획득할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 카메라(110)에 의해 실시간으로 촬영되어 획득된 복수의 이미지 프레임으로 구성된 공간 이미지를 획득할 수 있다. The processor 130 may execute an augmented reality application and acquire a spatial image of the real space from the camera 110 as the augmented reality application is executed. In one embodiment of the present disclosure, the processor 130 may acquire a spatial image composed of a plurality of image frames acquired by being photographed in real time by the camera 110.

프로세서(130)는 공간 이미지로부터 벽 및 바닥을 포함하는 평면을 인식할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 평면 인식 기술(plane detection)을 이용하여 공간 이미지로부터 수평 평면(horizontal plane) 및 수직 평면(vertical plane)을 검출하고, 검출된 수평 평면 및 수직 평면으로부터 현실 공간 내의 벽과 바닥을 인식할 수 있다. 그러나, 이에 한정되는 것은 아니고, 프로세서(130)는 공간 이미지로부터 벽, 바닥 뿐만 아니라 창문(window) 또는 문(door)으로 구성된 평면을 인식할 수도 있다. 본 개시의 일 실시예에서, 프로세서(130)는 인식된 복수의 평면들 중 위치 정보를 통해 동일한 평면인지 여부를 판단하고, 동일한 평면인 경우 하나의 평면으로 통합할 수 있다. The processor 130 may recognize a plane including a wall and a floor from a spatial image. In one embodiment of the present disclosure, the processor 130 detects a horizontal plane and a vertical plane from a spatial image using plane detection, and the detected horizontal plane and vertical plane From this, walls and floors in real space can be recognized. However, it is not limited to this, and the processor 130 may recognize a plane consisting of a window or a door as well as a wall and a floor from the spatial image. In one embodiment of the present disclosure, the processor 130 determines whether the recognized plurality of planes are the same plane through location information, and if they are the same plane, can integrate them into one plane.

인-페인팅 모듈(142)은 공간 이미지로부터 인식된 평면에 따라 벽과 바닥을 확장하고, 공간 이미지를 이용하여 확장된 벽과 바닥 중 객체에 의해 가려진 영역에 대하여 3차원 인-페인팅을 수행하는 기능 및/또는 동작과 관련된 명령어들 또는 프로그램 코드로 구성된다. 프로세서(130)는 인-페인팅 모듈(142)의 명령어들 또는 프로그램 코드를 실행함으로써, 벽과 바닥에 관한 3차원 모델 형태를 획득하고, 공간 이미지의 정보를 이용하여 3차원 모델 형태에 인-페인팅을 수행할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 인식된 벽 및 바닥을 포함하는 평면들 각각으로부터 평면 방정식을 도출할 수 있다. 프로세서(130)는 인식된 벽 및 바닥 각각으로부터 신뢰도(confidence index)가 높은 3개의 포인트를 추출하고, 추출된 3개의 포인트에 기초하여 평면을 정의할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 IMU 센서(120)로부터 획득한 중력 방향에 관한 정보에 기초하여 바닥 면의 법선 벡터의 방향을 인식하고, 바닥 면의 법선 벡터와 벽면의 법선 벡터가 90°를 이루는지 여부를 확인할 수 있다. 바닥 면의 법선 벡터와 벽면의 법선 벡터가 이루는 각도가 90°에서 ±3° 내지 ±5° 차이가 있는 경우, 프로세서(130)는 평면 재인식을 진행할 수 있다. The in-painting module 142 extends the wall and floor according to the plane recognized from the spatial image, and performs 3D in-painting on the area obscured by the object among the extended wall and floor using the spatial image. and/or consists of instructions or program code related to operation. The processor 130 executes the instructions or program code of the in-painting module 142, acquires a 3D model shape for the wall and floor, and in-paints the 3D model shape using information of the spatial image. can be performed. In one embodiment of the present disclosure, processor 130 may derive a plane equation from each of the recognized planes including the wall and floor. The processor 130 may extract three points with high confidence index from each of the recognized walls and floors, and define a plane based on the three extracted points. In one embodiment of the present disclosure, the processor 130 recognizes the direction of the normal vector of the floor surface based on information about the direction of gravity obtained from the IMU sensor 120, and the normal vector of the floor surface and the normal vector of the wall surface You can check whether is 90°. If the angle between the normal vector of the floor surface and the normal vector of the wall surface is different from ±3° to ±5° at 90°, the processor 130 may perform plane re-recognition.

프로세서(130)는 도출된 평면 방정식에 기초하여 벽 및 바닥을 확장함으로써, 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 획득할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 확장된 벽과 바닥이 만나는 교선을 추출하고, 추출된 교선에 기초하여 벽 및 바닥의 평면들을 구분할 수 있다. 프로세서(130)는 구분된 평면들 각각의 버텍스(vertex) 좌표들을 획득하고, 획득된 버텍스 좌표들에 기초하여 가상의 벽 및 가상의 바닥으로 구성된 3차원 모델 형태를 생성할 수 있다. The processor 130 may obtain three-dimensional model shapes of the virtual wall and the virtual floor by expanding the wall and the floor based on the derived plane equation. In one embodiment of the present disclosure, the processor 130 may extract an intersection line where the extended wall and the floor meet, and distinguish the planes of the wall and the floor based on the extracted intersection line. The processor 130 may obtain vertex coordinates for each of the divided planes and generate a three-dimensional model consisting of a virtual wall and a virtual floor based on the obtained vertex coordinates.

프로세서(130)는 공간 이미지로부터 벽 및 바닥과 현실 공간 내에 배치된 객체를 식별할 수 있다. 프로세서(130)는 공간 이미지로부터 현실 공간의 깊이 정보 및 컬러 정보를 획득하고, 획득된 깊이 정보 및 컬러 정보 중 적어도 하나에 기초하여 객체를 식별할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 평면 인식 기술을 통해 벽과 바닥의 3차원 위치 좌표값을 식별할 수 있고, 식별된 벽과 바닥의 3차원 위치 좌표값의 z축 좌표 정보로 구성된 깊이값이 아닌 다른 깊이값이 획득된 경우 객체로 판단할 수 있다. 깊이 정보를 이용하여 객체를 식별하기 어려운 경우, 공간 이미지로부터 획득한 컬러 정보를 이용하여 객체를 식별할 수 있다. 프로세서(130)는 인식된 벽 및 바닥과 식별된 객체를 구분할 수 있다.The processor 130 may identify walls, floors, and objects placed in real space from the spatial image. The processor 130 may obtain depth information and color information of real space from a spatial image, and identify an object based on at least one of the obtained depth information and color information. In one embodiment of the present disclosure, the processor 130 can identify the 3D position coordinate values of the wall and the floor through plane recognition technology, and uses the z-axis coordinate information of the identified 3D position coordinate value of the wall and the floor. If a depth value other than the configured depth value is obtained, it can be determined to be an object. When it is difficult to identify an object using depth information, the object can be identified using color information obtained from a spatial image. Processor 130 may distinguish between recognized walls and floors and identified objects.

프로세서(130)는 가상의 벽 및 가상의 바닥으로 구성된 3차원 모델 형태에서 식별된 객체에 의해 가려진 영역을 인-페인팅할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 벽과 바닥 중 객체에 의해 가려진 영역을 공간 이미지의 정보를 이용하여 인-페인팅할 수 있다. 본 개시에서, '인-페인팅'은 이미지의 일부가 가려지거나, 유실되거나, 또는 왜곡된 경우 해당 부분을 복원하는 이미지 프로세싱 기술을 의미한다. 본 개시의 일 실시예에서, 프로세서(130)는 벽과 바닥 각각에 대응되는 공간 이미지의 벽과 바닥 부분의 이미지를 이용하여 객체에 의해 가려진 영역을 인-페인팅할 수 있다. 그러나, 이에 한정되는 것은 아니고, 다른 실시예에서 프로세서(130)는 공간 이미지에서의 벽과 바닥 부분의 이미지와 가상의 이미지를 결합하여 벽 및 바닥에서 객체에 의해 가려진 영역을 인-페인팅할 수 있다. The processor 130 may in-paint an area obscured by an identified object in the form of a 3D model consisting of a virtual wall and a virtual floor. In one embodiment of the present disclosure, the processor 130 may in-paint an area among the wall and floor that is obscured by an object using information in a spatial image. In the present disclosure, 'in-painting' refers to an image processing technology that restores part of an image when that part is obscured, lost, or distorted. In one embodiment of the present disclosure, the processor 130 may in-paint an area obscured by an object using images of the wall and floor portions of the spatial image corresponding to the wall and floor, respectively. However, it is not limited to this, and in another embodiment, the processor 130 may combine the image of the wall and floor portion in the spatial image with the virtual image to in-paint the area obscured by the object on the wall and floor. .

프로세서(130)는 가상의 벽 및 가상의 바닥으로 구성된 3차원 모델 형태에 인-페인팅 이미지의 텍스쳐(texture)를 적용하여 현실 공간에 관한 3차원 모델을 생성할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 3차원 모델 형태에 인-페인팅 이미지의 텍스쳐를 입히는 이미지 프로세싱을 통해 현실 공간에 관한 3차원 모델을 생성할 수 있다. The processor 130 may generate a 3D model of a real space by applying the texture of the in-painting image to a 3D model consisting of a virtual wall and a virtual floor. In one embodiment of the present disclosure, the processor 130 may generate a 3D model of a real space through image processing that applies the texture of an in-painting image to the 3D model form.

본 개시의 일 실시예에서, 프로세서(130)는 생성된 3차원 모델을 메모리(140) 내의 3차원 모델 데이터베이스(148)에 저장할 수 있다. 프로세서(130)가 인-페인팅을 수행하여 현실 공간에 관한 3차원 모델을 생성하는 구체적인 실시예에 대해서는 도 5 내지 도 8에서 상세하게 설명하기로 한다. In one embodiment of the present disclosure, the processor 130 may store the generated 3D model in the 3D model database 148 in the memory 140. A specific embodiment in which the processor 130 performs in-painting to generate a three-dimensional model of real space will be described in detail with reference to FIGS. 5 to 8.

증강 현실 디바이스(100)는 공간 이미지 상에서 특정 객체를 선택하는 사용자 입력을 수신하는 입력 인터페이스를 더 포함할 수 있다. 예를 들어, 입력 인터페이스는 키보드, 마우스, 터치스크린, 또는 음성 입력 장치(예를 들어, 마이크로폰) 등을 포함할 수 있으며, 기타 당업자에게 자명한 입력 장치를 포함할 수 있다. 본 개시의 일 실시예에서, 디스플레이부(150)는 터치 패널을 포함하는 터치스크린으로 구성되고, 터치스크린은 디스플레이부(150) 상에 디스플레이된 공간 이미지 상에서 특정 객체를 선택하는 사용자의 터치 입력을 수신할 수 있다. 프로세서(130)는 사용자로부터 수신된 터치 입력에 기초하여 객체를 선택할 수 있다. 그러나, 이에 한정되는 것은 아니고, 본 개시의 다른 실시예에서, 증강 현실 디바이스(100)가 안경 형태의 증강 현실 글래스(augmented reality glass)로 구현되는 경우, 입력 인터페이스는 사용자의 양안의 시선 방향이 수렴되는 응시점(gaze point)을 검출하는 시선 추적 센서를 포함할 수 있다. 이 경우, 프로세서(130)는 시선 추적 센서에 의해 검출된 응시점이 위치하는 객체를 선택할 수 있다. 다른 실시예에서, 증강 현실 디바이스(100)가 헤드 마운트 디스플레이 장치로 구현되는 경우, 프로세서(130)는 외부의 컨트롤러를 통해 수신되는 사용자 입력에 기초하여 객체를 선택할 수도 있다. The augmented reality device 100 may further include an input interface that receives a user input for selecting a specific object on the spatial image. For example, the input interface may include a keyboard, mouse, touch screen, or voice input device (eg, microphone), and other input devices that will be apparent to those skilled in the art. In one embodiment of the present disclosure, the display unit 150 is composed of a touch screen including a touch panel, and the touch screen receives a user's touch input to select a specific object on the spatial image displayed on the display unit 150. You can receive it. The processor 130 may select an object based on a touch input received from the user. However, it is not limited to this, and in another embodiment of the present disclosure, when the augmented reality device 100 is implemented as glasses-shaped augmented reality glass, the input interface is configured so that the gaze directions of both eyes of the user converge. It may include a gaze tracking sensor that detects the gaze point. In this case, the processor 130 may select the object where the gaze point detected by the eye tracking sensor is located. In another embodiment, when the augmented reality device 100 is implemented as a head mounted display device, the processor 130 may select an object based on a user input received through an external controller.

세그멘테이션 모듈(144)은 공간 이미지 내에서 객체의 클래스(class) 또는 카테고리(category)를 분류하고, 분류 결과에 따라 공간 이미지 내에서 객체를 다른 객체 또는 배경 이미지와 구분하며, 공간 이미지로부터 객체를 분할하는 기능 및/또는 동작과 관련된 명령어들 또는 프로그램 코드로 구성된다. 프로세서(130)는 세그멘테이션 모듈(144)의 명령어들 또는 프로그램 코드를 실행함으로써, 사용자 입력에 의해 선택된 객체를 인식하고, 인식된 객체를 공간 이미지로부터 분할하는 세그멘테이션을 수행할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 공간 이미지로부터 사용자 입력에 의해 선택된 객체의 이미지 정보, 2차원 위치 좌표 정보, 및 깊이값 정보를 획득할 수 있다. 프로세서(130)는 객체의 이미지 정보, 2차원 위치 좌표 정보, 깊이 정보, 평면 인식을 통해 획득된 평면에 관한 정보, 및 객체 구분 정보 중 적어도 하나에 기초하여 객체에 대한 2차원 세그멘테이션(2D segmentation)을 수행할 수 있다. 본 개시에서, '2차원 세그멘테이션'은 이미지 내에서 객체를 다른 객체 또는 배경 이미지와 구분하고, 이미지로부터 객체의 2차원 윤곽선(outlier)을 분할하는 이미지 프로세싱 기술을 나타낸다. 본 개시의 일 실시예에서, 2차원 세그멘테이션은 객체의 2차원 윤곽선을 분할할 뿐만 아니라, 객체의 클래스(class) 또는 카테고리(category)를 분류하고, 분류 결과에 따라 이미지 내에서 객체를 다른 객체 또는 배경 이미지와 구분하는 개념을 포괄할 수 있다. The segmentation module 144 classifies the class or category of the object in the spatial image, distinguishes the object from other objects or background images in the spatial image according to the classification result, and divides the object from the spatial image. It consists of instructions or program code related to functions and/or operations. The processor 130 may recognize an object selected by a user input and perform segmentation by executing the instructions or program code of the segmentation module 144 and segmenting the recognized object from the spatial image. In one embodiment of the present disclosure, the processor 130 may obtain image information, two-dimensional position coordinate information, and depth value information of an object selected by user input from a spatial image. The processor 130 performs 2D segmentation of the object based on at least one of image information of the object, 2D position coordinate information, depth information, information about the plane obtained through plane recognition, and object classification information. can be performed. In the present disclosure, '2D segmentation' refers to an image processing technique that distinguishes an object in an image from other objects or a background image and divides a 2D outline (outlier) of the object from the image. In one embodiment of the present disclosure, two-dimensional segmentation not only divides the two-dimensional outline of the object, but also classifies the class or category of the object, and classifies the object within the image as another object or category according to the classification result. It can encompass the concept of distinguishing it from the background image.

본 개시의 일 실시예에서, 프로세서(130)는 복수의 객체를 라벨(label), 클래스(class) 또는 카테고리(category)로 분류하도록 기 학습된 심층 신경망 모델(pre-trained deep neural network model)을 이용하여 사용자 입력에 의해 선택된 객체를 세그멘테이션할 수 있다. 심층 신경망 모델은 수만 내지 수억장의 이미지를 입력 데이터로 적용하고, 이미지에 포함되는 객체의 라벨값(label)을 출력 정답값(groundtruth)로 적용하여 학습된(pre-trained) 모델 파라미터로 구성되는 인공지능 모델일 수 있다. 심층 신경망 모델은 예를 들어, 컨볼루션 신경망 모델(Convolutional Neural Network; CNN), 순환 신경망 모델(Recurrent Neural Network; RNN), RBM(Restricted Boltzmann Machine), DBN(Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks) 중 적어도 하나를 포함할 수 있다. 심층 신경망 모델은 메모리(140) 내에 저장될 수 있지만, 이에 한정되는 것은 아니다. 본 개시의 일 실시예에서, 심층 신경망 모델은 외부 서버에 저장되어 있고, 증강 현실 디바이스(100)는 서버에 공간 이미지의 이미지 데이터를 전송하고, 서버의 심층 신경망 모델로부터 추론 결과인 객체의 분류 결과에 관한 정보를 수신할 수도 있다. In one embodiment of the present disclosure, the processor 130 uses a pre-trained deep neural network model to classify a plurality of objects into labels, classes, or categories. You can use this to segment objects selected by user input. A deep neural network model applies tens to hundreds of millions of images as input data, and applies the labels of objects included in the images as the output ground truth, which is an artificial artificial intelligence consisting of model parameters learned (pre-trained). It could be an intelligence model. Deep neural network models include, for example, Convolutional Neural Network (CNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), and Bidirectional Recurrent Deep Network (BRDNN). Neural Network) and Deep Q-Networks. The deep neural network model may be stored in memory 140, but is not limited thereto. In one embodiment of the present disclosure, the deep neural network model is stored in an external server, the augmented reality device 100 transmits image data of a spatial image to the server, and the classification result of the object is an inference result from the deep neural network model of the server. You may also receive information about.

프로세서(130)가 기 학습된 심층 신경망 모델을 이용하는 2차원 세그멘테이션을 통해 사용자 입력에 의해 선택된 객체를 분할하는 구체적인 실시예에 대해서는 도 9에서 상세하게 설명하기로 한다. A specific embodiment in which the processor 130 divides an object selected by user input through two-dimensional segmentation using a previously learned deep neural network model will be described in detail with reference to FIG. 9.

프로세서(130)는 세그멘테이션 모듈(144)의 명령어들 또는 프로그램 코드를 실행함으로써, 공간 이미지 상에서 객체를 현실 공간으로부터 분할하는 3차원 세그멘테이션을 수행할 수 있다. 3차원 세그멘테이션은 사용자 입력에 의해 선택된 객체에 관한 3차원 모델이 3차원 모델 데이터베이스(148) 내에 저장되어 있는지 여부에 따라 다른 방식으로 수행될 수 있다. 본 개시의 일 실시예에서, 사용자 입력에 의해 선택된 객체에 관한 3차원 모델이 3차원 모델 데이터베이스(148) 내에 기 저장되어 있는 경우, 프로세서(130)는 기 저장된 3차원 모델을 3차원 모델 데이터베이스(148)로부터 로드(load)하여 획득하고, 획득된 3차원 모델의 방향을 Z축 방향으로 회전하여 공간 이미지 상의 2차원 세그멘테이션의 윤곽선(outlier)과 겹치도록 3차원 모델을 공간 이미지에 배치할 수 있다. 프로세서(130)는 배치된 3차원 모델로부터 객체에 관한 3차원 위치 좌표값을 획득할 수 있다. 프로세서(130)는 획득된 3차원 위치 좌표값에 기초하여 객체를 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행할 수 있다. The processor 130 may perform three-dimensional segmentation to divide an object from real space on a spatial image by executing instructions or program code of the segmentation module 144. 3D segmentation may be performed in different ways depending on whether a 3D model for the object selected by user input is stored in the 3D model database 148. In one embodiment of the present disclosure, when a 3D model for an object selected by user input is previously stored in the 3D model database 148, the processor 130 stores the previously stored 3D model in the 3D model database ( 148), and rotate the direction of the acquired 3D model in the Z-axis direction to place the 3D model on the spatial image so that it overlaps the outline (outlier) of the 2D segmentation on the spatial image. . The processor 130 may obtain 3D position coordinate values for an object from a placed 3D model. The processor 130 may perform 3D segmentation to segment an object from a spatial image based on the obtained 3D position coordinate values.

본 개시의 다른 실시예에서, 사용자 입력에 의해 선택된 객체에 관한 3차원 모델이 3차원 모델 데이터베이스(148) 내에 저장되어 있지 않은 경우, 프로세서(130)는 공간 이미지로부터 객체의 경계선(edge), 특징점(feature point), 및 픽셀들의 3차원 위치 좌표값을 획득하고, 획득된 객체의 경계선, 특징점, 및 픽셀들의 3차원 위치 좌표값 중 적어도 하나에 기초하여 3차원 버텍스 모델링(3D vertex modeling)을 수행할 수 있다. 프로세서(130)는 3차원 버텍스 모델링을 통해 객체를 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행할 수 있다.In another embodiment of the present disclosure, if the 3D model for the object selected by the user input is not stored in the 3D model database 148, the processor 130 retrieves the object's edges and feature points from the spatial image. (feature point), and 3D position coordinate values of pixels are acquired, and 3D vertex modeling is performed based on at least one of the obtained object's boundary line, feature point, and 3D position coordinate value of pixels. can do. The processor 130 may perform 3D segmentation to divide an object from a spatial image through 3D vertex modeling.

프로세서(130)가 사용자 입력에 의해 선택된 객체에 관한 3차원 모델이 저장되어 있는지 여부에 따라 서로 다른 방식으로 3차원 세그멘테이션을 수행하는 구체적인 실시예에 대해서는 도 10 내지 도 12에서 상세하게 설명하기로 한다.A specific embodiment in which the processor 130 performs 3D segmentation in different ways depending on whether a 3D model for the object selected by user input is stored will be described in detail with reference to FIGS. 10 to 12. .

렌더링 모듈(146)은 3차원 세그멘테이션을 통해 객체가 분할된 영역을 3차원 모델을 이용하여 렌더링하는 기능 및/또는 동작과 관련된 명령어들 또는 프로그램 코드로 구성된다. 프로세서(130)는 렌더링 모듈(146)의 명령어들 또는 프로그램 코드를 실행함으로써, 벽과 바닥에 관한 3차원 모델을 실제 현실 공간 내의 벽과 바닥의 위치에 배치하고, 사용자 입력에 의해 선택된 객체가 3차원 세그멘테이션 되면, 3차원 세그멘테이션으로 인하여 지워진 영역을 렌더링할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 3차원 세그멘테이션이 수행된 영역의 원래 이미지는 삭제한 이후 렌더링할 수 있다. 그러나, 이에 한정되는 것은 아니고, 본 개시의 다른 실시예에서, 프로세서(130)는 3차원 세그멘테이션이 수행된 영역을 삭제할 필요없이, 벽과 바닥의 3차원 모델을 단순 렌더링하고, 현실 공간의 객체 상에 배치할 수 있다. 이 경우, 프로세서(130)는 3차원 모델과 객체 간의 깊이 값을 조정함으로써 현실 객체가 3차원 모델 위에 렌더링될 수 있도록 깊이 테스팅(depth testing) 값을 설정할 수 있다. The rendering module 146 consists of commands or program codes related to the function and/or operation of rendering an area into which an object is divided through 3D segmentation using a 3D model. The processor 130 executes the instructions or program code of the rendering module 146 to place a 3D model of the wall and floor at the location of the wall and floor in the actual space, and the object selected by the user input is 3. When dimensional segmentation is performed, areas erased due to 3D segmentation can be rendered. In one embodiment of the present disclosure, the processor 130 may delete the original image of the area where 3D segmentation was performed and then render it. However, it is not limited to this, and in another embodiment of the present disclosure, the processor 130 simply renders the 3D model of the wall and floor without the need to delete the area where 3D segmentation was performed, and displays the object image in real space. It can be placed in . In this case, the processor 130 may set a depth testing value so that a real object can be rendered on the 3D model by adjusting the depth value between the 3D model and the object.

3차원 모델 데이터베이스(148)는 프로세서(130)에 의해 생성된 현실 공간의 벽과 바닥의 형태에 관한 3차원 모델을 저장하는 메모리(140) 내의 저장공간이다. 본 개시의 일 실시예에서, 3차원 모델 데이터베이스(148)는 객체에 관한 3차원 모델을 저장하고 있을 수 있다. 여기서, 3차원 모델 데이터베이스(148)에 저장된 객체의 3차원 모델은 예를 들어, 소파, 식탁, 테이블, 또는 의자 등 가구, TV, 조명등과 같은 실내 공간의 객체에 관한 3차원 모델일 수 있으나, 이에 한정되는 것은 아니다. The 3D model database 148 is a storage space in the memory 140 that stores a 3D model of the shape of walls and floors in real space created by the processor 130. In one embodiment of the present disclosure, the 3D model database 148 may store a 3D model for an object. Here, the 3D model of the object stored in the 3D model database 148 may be, for example, a 3D model of an object in an indoor space such as furniture such as a sofa, dining table, table, or chair, TV, lighting, etc. It is not limited to this.

3차원 모델 데이터베이스(148)는 비휘발성 메모리로 구성될 수 있다. 비휘발성 메모리(Non-volatile memory)는 전원이 공급되지 않은 상태에서도 정보를 저장 및 유지하고, 전원이 공급되면 다시 저장된 정보를 사용할 수 있는 기억 매체를 의미한다. 비휘발성 메모리는 예를 들어, 플래시 메모리(flash memory), 하드디스크(hard disk), SSD(Solid State Drive), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 롬(Read Only Memory; ROM), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나를 포함할 수 있다. The 3D model database 148 may be comprised of non-volatile memory. Non-volatile memory refers to a storage medium that stores and maintains information even when power is not supplied, and can use the stored information again when power is supplied. Non-volatile memory is, for example, flash memory, hard disk, solid state drive (SSD), multimedia card micro type, card type memory (e.g. SD or It may include at least one of (XD memory, etc.), Read Only Memory (ROM), magnetic memory, magnetic disk, and optical disk.

도 3에서 3차원 모델 데이터베이스(148)는 메모리(140)에 포함되는 구성 요소로 도시되었지만, 이에 한정되는 것은 아니다. 본 개시의 일 실시예에서, 3차원 모델 데이터베이스(148)는 메모리(140)와는 별개의 데이터베이스 형태로 구성될 수도 있다. 본 개시의 다른 실시예에서, 3차원 모델 데이터베이스(148)는 증강 현실 디바이스(100)가 아닌, 외부의 제3 디바이스 또는 외부 서버의 구성 요소로서, 유무선 통신 네트워크를 통해 증강 현실 디바이스(100)와 연결될 수 있다. In FIG. 3, the 3D model database 148 is shown as a component included in the memory 140, but it is not limited thereto. In one embodiment of the present disclosure, the 3D model database 148 may be configured as a separate database from the memory 140. In another embodiment of the present disclosure, the 3D model database 148 is not the augmented reality device 100, but is a component of an external third device or external server, and is connected to the augmented reality device 100 through a wired or wireless communication network. can be connected

디스플레이부(150)는 카메라(110)를 통해 촬영된 공간 이미지 및 현실 공간에 관한 3차원 모델을 디스플레이하도록 구성된다. 디스플레이부(150)는 예를 들어, 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나로 구성될 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)가 안경형 증강 현실 글래스로 구성되는 경우, 디스플레이부(150)는 가상 이미지를 투사하는 광학 엔진을 더 포함할 수 있다. 광학 엔진은, 가상 이미지의 광의 생성하도록 구성되고, 화상 패널, 조명 광학계, 투사 광학계 등을 포함하는 프로젝터(projector)로 구성될 수 있다. 광학 엔진은 예를 들어, 안경형 증강 현실 글래스의 프레임 또는 안경 다리들에 배치될 수 있다. The display unit 150 is configured to display a spatial image captured through the camera 110 and a three-dimensional model of real space. The display unit 150 may include, for example, a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, It may consist of at least one of a 3D display and an electrophoretic display. In one embodiment of the present disclosure, when the augmented reality device 100 is composed of glasses-type augmented reality glasses, the display unit 150 may further include an optical engine that projects a virtual image. The optical engine is configured to generate light of a virtual image and may be comprised of a projector including an imaging panel, an illumination optical system, a projection optical system, etc. The optical engine may be placed, for example, in the frame or temples of spectacle-type augmented reality glasses.

도 4는 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)의 동작 방법을 도시한 흐름도이다. FIG. 4 is a flowchart illustrating a method of operating the augmented reality device 100 according to an embodiment of the present disclosure.

도 4를 참조하면, 단계 S410에서 증강 현실 디바이스(100)는 현실 공간을 촬영하여 획득한 공간 이미지로부터 벽 및 바닥을 포함하는 평면을 인식한다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 평면 인식 기술(plane detection)을 이용하여 공간 이미지로부터 수평 평면(horizontal plane) 및 수직 평면(vertical plane)을 검출하고, 검출된 수평 평면 및 수직 평면으로부터 현실 공간 내의 벽과 바닥을 인식할 수 있다. 그러나, 이에 한정되는 것은 아니고, 증강 현실 디바이스(100)는 공간 이미지로부터 벽, 바닥 뿐만 아니라 창문(window) 또는 문(door)으로 구성된 평면을 인식할 수도 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 인식된 복수의 평면들 중 위치 정보를 통해 동일한 평면인지 여부를 판단하고, 동일한 평면인 경우 하나의 평면으로 통합할 수 있다. Referring to FIG. 4, in step S410, the augmented reality device 100 recognizes a plane including a wall and a floor from a spatial image obtained by photographing a real space. In one embodiment of the present disclosure, the augmented reality device 100 detects a horizontal plane and a vertical plane from a spatial image using plane detection technology, and the detected horizontal plane and Walls and floors in real space can be recognized from the vertical plane. However, it is not limited to this, and the augmented reality device 100 may recognize a plane consisting of a window or a door as well as a wall and a floor from a spatial image. In one embodiment of the present disclosure, the augmented reality device 100 may determine whether the recognized plurality of planes are the same plane through location information, and if they are the same plane, integrate them into one plane.

단계 S420에서, 증강 현실 디바이스(100)는 인식된 평면에 따라 벽과 바닥을 확장하고, 공간 이미지를 이용하여 확장된 벽과 바닥 중 객체에 의해 가려진 영역에 대하여 3차원 인-페인팅(in-painting)을 수행함으로써 현실 공간에 관한 3차원 모델을 생성한다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 인식된 벽 및 바닥의 평면 방정식을 도출하고, 도출된 평면 방정식에 기초하여 벽 및 바닥을 확장함으로써, 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 획득할 수 있다. 증강 현실 디바이스(100)는 공간 이미지로부터 벽 및 바닥과 현실 공간 내에 배치된 객체를 식별할 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 공간 이미지로부터 현실 공간의 깊이 정보 및 컬러 정보를 획득하고, 획득된 깊이 정보 및 컬러 정보 중 적어도 하나에 기초하여 객체를 식별할 수 있다. 증강 현실 디바이스(100)는 가상의 벽 및 가상의 바닥으로 구성된 3차원 모델 형태에서 식별된 객체에 의해 가려진 영역을 인-페인팅할 수 있다. 본 개시에서, '인-페인팅'은 이미지의 일부가 가려지거나, 유실되거나, 또는 왜곡된 경우 해당 부분을 복원하는 이미지 프로세싱 기술을 의미한다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 가상의 벽 및 가상의 바닥 중 객체에 의해 가려진 영역을 공간 이미지의 정보를 이용하여 인-페인팅할 수 있다. 증강 현실 디바이스(100)가 3차원 인-페인팅을 통해 현실 공간에 관한 3차원 모델을 생성하는 구체적인 실시예는 도 5 내지 도 8에서 상세하게 설명하기로 한다.In step S420, the augmented reality device 100 expands the wall and floor according to the recognized plane, and performs 3D in-painting on the area obscured by the object among the expanded wall and floor using a spatial image. ) to create a three-dimensional model of real space. In one embodiment of the present disclosure, the augmented reality device 100 derives the planar equations of the recognized walls and floors, and expands the walls and floors based on the derived planar equations, thereby forming 3 of the virtual walls and the virtual floors. A dimensional model form can be obtained. The augmented reality device 100 can identify walls, floors, and objects placed in real space from spatial images. In one embodiment of the present disclosure, the augmented reality device 100 may obtain depth information and color information of real space from a spatial image, and identify an object based on at least one of the obtained depth information and color information. The augmented reality device 100 may in-paint an area obscured by an object identified in a 3D model composed of a virtual wall and a virtual floor. In the present disclosure, 'in-painting' refers to an image processing technology that restores part of an image when that part is obscured, lost, or distorted. In one embodiment of the present disclosure, the augmented reality device 100 may in-paint an area obscured by an object among a virtual wall and a virtual floor using information of a spatial image. A specific embodiment in which the augmented reality device 100 generates a 3D model of a real space through 3D in-painting will be described in detail with reference to FIGS. 5 to 8.

단계 S430에서, 증강 현실 디바이스(100)는 사용자 입력에 의해 선택된 객체를 공간 이미지로부터 분할하는 2차원 세그멘테이션(2D segmentation)을 수행한다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 공간 이미지 상에서 특정 객체를 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 증강 현실 디바이스(100)는 터치 패널을 포함하는 터치스크린을 포함하고, 터치스크린을 통해 디스플레이된 공간 이미지 상에서 특정 객체를 선택하는 사용자의 터치 입력을 수신할 수 있다. 증강 현실 디바이스(100)는 사용자 입력에 의해 선택된 객체를 인식하고, 인식된 객체를 공간 이미지로부터 분할하는 세그멘테이션을 수행할 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 공간 이미지로부터 사용자 입력에 의해 선택된 객체의 이미지 정보, 2차원 위치 좌표 정보, 및 깊이값 정보를 획득할 수 있다. 증강 현실 디바이스(100)는 객체의 이미지 정보, 2차원 위치 좌표 정보, 깊이 정보, 평면 인식을 통해 획득된 평면에 관한 정보, 및 객체 구분 정보 중 적어도 하나에 기초하여 객체에 대한 2차원 세그멘테이션(2D segmentation)을 수행할 수 있다. In step S430, the augmented reality device 100 performs 2D segmentation to segment the object selected by the user input from the spatial image. In one embodiment of the present disclosure, the augmented reality device 100 may receive a user input for selecting a specific object on a spatial image. For example, the augmented reality device 100 may include a touch screen including a touch panel, and may receive a touch input from a user who selects a specific object on a spatial image displayed through the touch screen. The augmented reality device 100 may recognize an object selected by a user input and perform segmentation to divide the recognized object from the spatial image. In one embodiment of the present disclosure, the augmented reality device 100 may obtain image information, two-dimensional position coordinate information, and depth value information of an object selected by user input from a spatial image. The augmented reality device 100 performs two-dimensional segmentation (2D) for an object based on at least one of image information of the object, two-dimensional position coordinate information, depth information, information about the plane obtained through plane recognition, and object classification information. segmentation) can be performed.

본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 객체의 라벨(label), 클래스(class) 또는 카테고리(category)로 분류하도록 기 학습된 심층 신경망 모델(pre-trained deep neural network model)을 이용하여, 객체를 세그멘테이션할 수 있다. In one embodiment of the present disclosure, the augmented reality device 100 uses a pre-trained deep neural network model to classify objects into labels, classes, or categories. Using this, you can segment objects.

단계 S440에서, 증강 현실 디바이스(100)는 선택된 객체의 3차원 모델 또는 3차원 위치 정보에 기초하여 공간 이미지 상에서 객체를 현실 공간으로부터 분할하는 3차원 세그멘테이션(3D segmentation)을 수행한다. 본 개시의 일 실시예에서, 사용자 입력에 의해 선택된 객체에 관한 3차원 모델이 증강 현실 디바이스(100) 내의 저장 공간에 기 저장되어 있는 경우, 증강 현실 디바이스(100)는 기 저장된 3차원 모델을 로드(load)하여 획득하고, 획득된 3차원 모델을 이용하여 객체를 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행할 수 있다. 본 개시의 일 실시예에서, 사용자 입력에 의해 선택된 객체에 관한 3차원 모델이 기 저장되어 있지 않은 경우, 증강 현실 디바이스(100)는 공간 이미지로부터 획득한 객체의 경계선(edge), 특징점(feature point), 및 픽셀들의 3차원 위치 좌표값 중 적어도 하나에 기초하여 객체를 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행할 수 있다. In step S440, the augmented reality device 100 performs 3D segmentation to segment an object from real space on a spatial image based on a 3D model or 3D location information of the selected object. In one embodiment of the present disclosure, when a 3D model for an object selected by user input is previously stored in the storage space within the augmented reality device 100, the augmented reality device 100 loads the previously stored 3D model. 3D segmentation can be performed by (loading) and using the acquired 3D model to segment the object from the spatial image. In one embodiment of the present disclosure, when the 3D model for the object selected by the user input is not already stored, the augmented reality device 100 uses the edges and feature points of the object obtained from the spatial image. ), and 3D segmentation may be performed to segment the object from the spatial image based on at least one of the 3D position coordinate values of the pixels.

도 5는 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 현실 공간에 관한 3차원 모델을 생성하는 방법을 도시한 흐름도이다.FIG. 5 is a flowchart illustrating a method by which the augmented reality device 100 generates a three-dimensional model of a real space according to an embodiment of the present disclosure.

도 5에 도시된 단계들 S510 내지 S550은 도 4에 도시된 단계 S420을 구체화한 단계들이다. 도 5의 S510은 도 4에 도시된 단계 S410이 수행된 이후에 수행될 수 있다. 도 5의 S550이 수행된 이후에는 도 4에 도시된 단계 S430이 수행될 수 있다.Steps S510 to S550 shown in FIG. 5 are steps that embody step S420 shown in FIG. 4. S510 of FIG. 5 may be performed after step S410 shown in FIG. 4 is performed. After S550 of FIG. 5 is performed, step S430 shown in FIG. 4 may be performed.

이하에서는 단계 S510 내지 S550을 도 6 내지 도 8에 도시된 실시예를 함께 참조하여 설명하기로 한다. Hereinafter, steps S510 to S550 will be described with reference to the embodiment shown in FIGS. 6 to 8.

단계 S510에서, 증강 현실 디바이스(100)는 인식된 벽 및 바닥을 포함하는 평면들 각각으로부터 평면 방정식을 도출한다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 애플리케이션을 실행함으로써 증강 현실 세션(Augmented Reality session)을 시작하고, 증강 현실 세션의 평면 인식 기술(plane detection)을 통해 현실 공간의 공간 이미지로부터 수평 평면(horizontal plane) 및 수직 평면(vertical plane)을 검출할 수 있다. 증강 현실 디바이스(100)는 검출된 수평 평면 및 수직 평면으로부터 현실 공간 내의 벽과 바닥을 인식할 수 있다. 이 때 증강 현실 세션은 현실 공간이 증강 현실 공간 인식을 수행하기에 적합한 환경인지 여부를 자체적으로 판단하고, 안정적으로 인식되었음을 알릴 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 인식된 복수의 평면들 중 위치 정보를 통해 동일한 평면인지 여부를 판단하고, 동일한 평면으로 판단된 복수의 평면들은 하나의 평면으로 합칠 수 있다. In step S510, the augmented reality device 100 derives a plane equation from each of the recognized planes including the wall and floor. In one embodiment of the present disclosure, the augmented reality device 100 starts an augmented reality session by executing an application, and retrieves a spatial image of the real space through plane detection of the augmented reality session. Horizontal plane and vertical plane can be detected. The augmented reality device 100 can recognize walls and floors in the real space from the detected horizontal and vertical planes. At this time, the augmented reality session can independently determine whether the real space is a suitable environment for performing augmented reality space recognition and report that it has been stably recognized. In one embodiment of the present disclosure, the augmented reality device 100 determines whether the recognized plurality of planes are the same plane through location information, and the plurality of planes determined to be the same plane may be combined into one plane. .

도 6은 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 현실 공간(600) 내의 평면들(P1 내지 P3)의 형태에 관한 3차원 모델 형태(610)를 획득하는 동작을 도시한 도면이다. 도 6을 도 5의 단계 S510과 함께 참조하면, 증강 현실 디바이스(100)는 공간 이미지에서 인식된 복수의 평면들(P1 내지 P3) 각각으로부터 3개의 포인트의 3차원 위치 좌표값을 추출할 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)의 프로세서(130, 도 3 참조)는 증강 현실 세션을 통해 인식된 복수의 평면들(P1 내지 P3) 각각으로부터 복수의 포인트들의 깊이 값(depth) 정보를 획득하고, 신뢰도가 높은 3개의 포인트들을 선택할 수 있다. 여기서, '신뢰도(confidence value)'는 증강 현실 세션에 의해 계산되는 것으로서, 증강 현실 디바이스(100)의 오리엔테이션이 변경되거나 FOV(Field of View)가 변경되는 경우 IMU 센서(120, 도 3 참조)에 의해 측정되는 특징점들(feature points)의 센서 노이즈에 기초하여 계산될 수 있다. 예를 들어, 센서 노이즈가 적으면 적을수록 특징점의 신뢰도는 높은 값으로 계산될 수 있다. 본 개시의 일 실시예에서, 복수의 평면들(P1 내지 P3) 각각으로부터 추출된 포인트들의 신뢰도가 동일한 경우, 프로세서(130)는 동일한 신뢰도를 갖는 복수의 포인트들 중 임의로 3개의 포인트를 선택할 수 있다. 도 6에 도시된 실시예를 함께 참조하면, 프로세서(130)는 제1 평면(P1)으로부터 신뢰도가 높은 3개의 포인트(611, 612, 613)를 추출하고, 제2 평면(P2)으로부터 3개의 포인트(621, 622, 623)를 추출할 수 있다. 도면에는 도시되지 않았지만, 프로세서(130)는 제3 평면(P3)으로부터 3개의 포인트를 추출할 수 있다. FIG. 6 shows an operation of the augmented reality device 100 according to an embodiment of the present disclosure to obtain a three-dimensional model shape 610 regarding the shape of the planes P 1 to P 3 in the real space 600. It is a drawing. Referring to FIG. 6 together with step S510 of FIG. 5, the augmented reality device 100 extracts three-dimensional position coordinate values of three points from each of a plurality of planes (P 1 to P 3 ) recognized in the spatial image. You can. In one embodiment of the present disclosure, the processor 130 (see FIG. 3) of the augmented reality device 100 stores depth values of a plurality of points from each of the plurality of planes (P 1 to P 3 ) recognized through the augmented reality session. You can obtain depth information and select three points with high reliability. Here, the 'confidence value' is calculated by the augmented reality session, and when the orientation of the augmented reality device 100 changes or the FOV (Field of View) changes, the IMU sensor 120 (see FIG. 3) It can be calculated based on sensor noise of feature points measured by . For example, the smaller the sensor noise, the higher the reliability of the feature point can be calculated. In one embodiment of the present disclosure, when the reliability of the points extracted from each of the plurality of planes (P 1 to P 3 ) is the same, the processor 130 randomly selects three points from the plurality of points with the same reliability. You can. Referring to the embodiment shown in FIG. 6, the processor 130 extracts three highly reliable points (611, 612, 613) from the first plane (P 1 ) and from the second plane (P 2 ). Three points (621, 622, 623) can be extracted. Although not shown in the drawing, the processor 130 may extract three points from the third plane (P 3 ).

프로세서(130)는 복수의 평면들(P1 내지 P3) 각각으로부터 추출된 3개의 포인트들의 3차원 위치 좌표값에 기초하여 평면 방정식을 도출할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 복수의 평면들(P1 내지 P3)이 만나는 지점의 각도가 임계치 이하인 경우, 단일 평면으로 판단하고, 하나의 평면 방적식으로 통합할 수 있다. 프로세서(130)는 IMU 센서(120, 도 3 참조)의 측정값을 이용하여 벽인 제2 평면(P2) 및 제3 평면(P3)의 법선 벡터(normal vector)를 획득할 수 있다. 프로세서(130)는 획득된 벽의 법선 벡터와 바닥인 제1 평면(P1)의 법선 벡터가 90° 각도를 이루는지 여부를 확인(identify)할 수 있다. 만약 바닥인 제1 평면(P1)의 법선 벡터와 벽인 제2 평면(P2) 및 제3 평면(P3)의 법선 벡터가 이루는 각도가 90°에서 ±3° 내지 ±5° 차이가 있는 경우, 프로세서(130)는 평면 인식을 다시 진행할 수 있다. The processor 130 may derive a plane equation based on the three-dimensional position coordinate values of three points extracted from each of the plurality of planes (P 1 to P 3 ). In one embodiment of the present disclosure, if the angle at which the plurality of planes (P 1 to P 3 ) meet is less than or equal to a threshold, the processor 130 may determine the points to be a single plane and integrate them into one plane equation. The processor 130 may obtain normal vectors of the second plane (P 2 ) and the third plane (P 3 ), which are walls, using the measured values of the IMU sensor 120 (see FIG. 3). The processor 130 may identify whether the obtained normal vector of the wall and the normal vector of the first plane (P 1 ), which is the floor, form an angle of 90°. If the angle formed by the normal vector of the first plane (P 1 ), which is the floor, and the normal vectors of the second plane (P 2 ) and the third plane (P 3 ), which are the walls, is ±3° to ±5° different from 90°. In this case, the processor 130 may proceed with plane recognition again.

다시 도 5를 참조하면, 단계 S520에서 증강 현실 디바이스(100)는 평면 방정식에 기초하여 벽 및 바닥을 확장함으로써, 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 획득한다. 도 6을 함께 참조하면, 증강 현실 디바이스(100)의 프로세서(130)는 평면 방정식을 통해 복수의 평면들(P1, P2, P3)을 확장하여 가상의 평면들(P1', P2', P3')을 생성할 수 있다. 예를 들어, 바닥인 제1 평면(P1)은 가상의 바닥 (P1')으로 확장되고, 벽인 제2 평면(P2) 및 제3 평면(P3)은 각각 가상의 벽(P2', P3')으로 확장될 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 확장된 가상의 평면들(P1', P2', P3')이 만나는 교선(l1, l2, l3)을 추출하고, 추출된 교선(l1, l2, l3)에 기초하여 가상의 바닥(P1')과 가상의 벽(P2', P3')을 구분할 수 있다. 프로세서(130)는 구분된 가상의 평면들(P1', P2', P3') 각각의 버텍스 좌표들(V1 내지 V9)을 획득하고, 획득된 버텍스 좌표들(V1 내지 V9)에 기초하여 가상의 바닥(P1') 및 가상의 벽(P2', P3')으로 구성된 3차원 모델 형태(610)를 획득할 수 있다. Referring again to FIG. 5 , in step S520, the augmented reality device 100 acquires three-dimensional model shapes of the virtual wall and the virtual floor by expanding the wall and the floor based on the plane equation. Referring to FIG. 6 together, the processor 130 of the augmented reality device 100 expands a plurality of planes (P 1 , P 2 , P 3 ) through a plane equation to create virtual planes (P 1 ', P 2 ', P 3 ') can be generated. For example, the first plane (P 1 ), which is the floor, extends to the virtual floor (P 1 '), and the second plane (P 2 ) and the third plane (P 3 ), which are the walls, respectively extend to the virtual wall (P 2 ', P 3 '). In one embodiment of the present disclosure, the processor 130 extracts the intersection lines (l 1 , l 2 , l 3 ) where the extended virtual planes (P 1 ', P 2 ', and P 3 ') meet, and extracts Based on the intersection lines (l 1 , l 2 , l 3 ), the virtual floor (P 1 ') and the virtual wall (P 2 ', P 3 ') can be distinguished. The processor 130 acquires vertex coordinates (V 1 to V 9 ) of each of the divided virtual planes (P 1 ', P 2 ' , and P 3 '), and calculates the obtained vertex coordinates (V 1 to V 9 ), a three-dimensional model shape 610 consisting of a virtual floor (P 1 ') and virtual walls (P 2 ', P 3 ') can be obtained.

프로세서(130)는 3차원 모델 형태(610)를 증강 현실 디바이스(100) 내의 저장 공간에 저장할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 3차원 모델 형태(610)와 위치 정보를 메모리(140, 도 3 참조) 내의 3차원 모델 데이터베이스(148, 도 3 참조)에 저장할 수 있다. The processor 130 may store the 3D model form 610 in a storage space within the augmented reality device 100. In one embodiment of the present disclosure, the processor 130 may store the 3D model shape 610 and location information in the 3D model database 148 (see FIG. 3) in the memory 140 (see FIG. 3).

다시 도 5를 참조하면, 단계 S530에서 증강 현실 디바이스(100)는 공간 이미지로부터 벽 및 바닥과 현실 공간 내에 배치된 객체를 식별한다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 벽과 바닥의 평면 인식 정보에 기초하여 깊이 정보 및 컬러 정보를 활용하여 벽과 바닥, 객체를 구분할 수 있다. Referring again to FIG. 5, in step S530, the augmented reality device 100 identifies walls, floors, and objects placed in real space from the spatial image. In one embodiment of the present disclosure, the augmented reality device 100 may distinguish a wall, a floor, and an object using depth information and color information based on plane recognition information of the wall and floor.

도 7a는 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 공간 이미지(700a)에서 벽과 바닥의 평면을 구분하는 동작을 도시한 도면이다. 도 5의 단계 S530을 도 7a과 함께 참조하면, 증강 현실 디바이스(100)의 프로세서(130)는 평면 인식 기술을 이용하여 복수의 평면들(711, 721, 722)를 인식하고, 공간 이미지(700a)로부터 획득한 컬러 정보에 기초하여 복수의 평면들(711, 721, 722) 중에서 바닥면(711)과 벽면(721, 722)을 구분할 수 있다. FIG. 7A is a diagram illustrating an operation of the augmented reality device 100 according to an embodiment of the present disclosure to distinguish between a wall and a floor plane in a spatial image 700a. Referring to step S530 of FIG. 5 together with FIG. 7A, the processor 130 of the augmented reality device 100 recognizes a plurality of planes 711, 721, and 722 using plane recognition technology and creates a spatial image 700a. ) The floor surface 711 and the wall surfaces 721 and 722 can be distinguished among the plurality of planes 711, 721, and 722 based on the color information obtained from ).

도 7b는 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 공간 이미지(700b) 내에서 벽과 창문의 평면을 구분하는 동작을 도시한 도면이다. 도 5의 단계 S530을 도 7b와 함께 참조하면, 증강 현실 디바이스(100)의 프로세서(130)는 평면 인식 기술을 이용하여 공간 이미지(700b)로부터 복수의 평면들(721, 722, 731, 732)를 인식하고, 현실 공간의 깊이 정보 및 공간 이미지(700b)의 컬러 정보에 기초하여 벽면(721, 722)과 창문(731, 732)을 구분할 수 있다. FIG. 7B is a diagram illustrating an operation of the augmented reality device 100 according to an embodiment of the present disclosure to distinguish between the planes of a wall and a window within a spatial image 700b. Referring to step S530 of FIG. 5 together with FIG. 7B, the processor 130 of the augmented reality device 100 selects a plurality of planes 721, 722, 731, and 732 from the spatial image 700b using plane recognition technology. can be recognized, and the walls 721 and 722 and the windows 731 and 732 can be distinguished based on the depth information of the real space and the color information of the spatial image 700b.

도 7c는 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 공간 이미지(700c)에서 패턴이 다른 벽과 바닥의 평면을 구분하는 동작을 도시한 도면이다. 도 5의 단계 S530을 도 7c와 함께 참조하면, 증강 현실 디바이스(100)의 프로세서(130)는 평면 인식 기술을 이용하여 공간 이미지(700c)로부터 복수의 평면들(711, 721, 723)를 인식하고, 현실 공간의 깊이 정보에 기초하여 바닥면(711)과 벽면(721, 723)을 인식할 수 있다. 프로세서(130)는 공간 이미지(700c)의 컬러 정보를 획득하고, 획득된 컬러 정보에 기초하여 패턴이 서로 다른 벽면들(721, 723)을 각각 구분할 수 있다. FIG. 7C is a diagram illustrating an operation of the augmented reality device 100 according to an embodiment of the present disclosure to distinguish between a wall and a floor plane with different patterns in a spatial image 700c. Referring to step S530 of FIG. 5 together with FIG. 7C, the processor 130 of the augmented reality device 100 recognizes a plurality of planes 711, 721, and 723 from the spatial image 700c using plane recognition technology. And, the floor surface 711 and the wall surfaces 721 and 723 can be recognized based on the depth information of the real space. The processor 130 may obtain color information of the spatial image 700c and distinguish between wall surfaces 721 and 723 with different patterns based on the obtained color information.

증강 현실 디바이스(100)의 프로세서(130)는 증강 현실 세션을 통해 현실 공간의 3차원 위치 좌표값을 획득하고, z축 좌표 정보로 구성된 깊이 값이 벽과 바닥으로 식별되지 않은 경우 객체로 판단할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 깊이 정보를 이용하여 객체를 식별하기 어려운 경우, 공간 이미지로부터 획득한 컬러 정보를 이용하여 객체를 식별할 수 있다. The processor 130 of the augmented reality device 100 acquires three-dimensional position coordinate values in real space through an augmented reality session, and determines it to be an object if the depth value composed of z-axis coordinate information is not identified as a wall or floor. You can. In one embodiment of the present disclosure, when it is difficult to identify an object using depth information, the processor 130 may identify the object using color information obtained from a spatial image.

도 8은 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 3차원 인-페인팅(3D in-painting)을 수행하는 동작을 도시한 도면이다. 도 5의 단계 S530을 도 8과 함께 참조하면, 증강 현실 디바이스(100)의 프로세서(130)는 증강 현실 세션을 통해 현실 공간의 공간 이미지(800)를 획득하고, 공간 이미지(800)로부터 벽면(810)과 객체(820)를 인식할 수 있다. 프로세서(130)는 현실 공간의 3차원 위치 좌표값을 획득하고, z축 좌표 정보인 깊이 값이 벽면(810)과 다른 영역을 객체(820)로서 식별할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 공간 이미지(800)의 컬러 정보를 획득하고, 벽면(810)의 컬러와 현저하게 구분되는 다른 컬러를 갖는 영역을 객체(820)로서 식별할 수 있다. 도 8에 도시된 실시예에서, 프로세서(130)는 현실 공간의 깊이 정보 및 공간 이미지(800)의 컬러 정보에 기초하여 벽면(810)과 객체(820, 예를 들어, 의자)를 구분할 수 있다.FIG. 8 is a diagram illustrating an operation of the augmented reality device 100 performing 3D in-painting according to an embodiment of the present disclosure. Referring to step S530 of FIG. 5 together with FIG. 8, the processor 130 of the augmented reality device 100 acquires a spatial image 800 of the real space through an augmented reality session, and obtains a wall surface (800) from the spatial image 800. 810) and object 820 can be recognized. The processor 130 may obtain three-dimensional position coordinate values in real space and identify an area where the depth value, which is z-axis coordinate information, is different from the wall surface 810 as the object 820 . In one embodiment of the present disclosure, the processor 130 may obtain color information of the spatial image 800 and identify an area with a color that is significantly different from the color of the wall 810 as an object 820. there is. In the embodiment shown in FIG. 8, the processor 130 may distinguish the wall 810 and the object 820 (e.g., a chair) based on depth information of the real space and color information of the spatial image 800. .

다시 도 5를 참조하면, 단계 S540에서 증강 현실 디바이스(100)는 벽과 바닥 중 객체에 의해 가려진 영역을 공간 이미지의 정보를 이용하여 인-페인팅한다. 증강 현실 디바이스(100)는 공간 이미지의 벽 및 바닥에서 객체에 의해 가려진 영역을 확인할 수 있다. 도 8을 함께 참조하면, 증강 현실 디바이스(100)의 프로세서(130)는 공간 이미지(800)로부터 객체에 의해 가려진 영역(830)을 식별할 수 있다. 프로세서(130)는 벽 및 바닥의 영역 중 객체에 의해 가려진 영역(830)을 공간 이미지(800)의 컬러 정보를 이용하여 인-페인팅할 수 있다. 본 개시에서, '인-페인팅'은 이미지의 일부가 가려지거나, 유실되거나, 또는 왜곡된 경우 해당 부분을 복원하는 이미지 프로세싱 기술을 의미한다. Referring again to FIG. 5, in step S540, the augmented reality device 100 in-paints the area obscured by the object among the wall and floor using information of the spatial image. The augmented reality device 100 can check areas obscured by objects on the walls and floor of the spatial image. Referring to FIG. 8 , the processor 130 of the augmented reality device 100 may identify an area 830 obscured by an object from the spatial image 800. The processor 130 may in-paint the area 830 obscured by the object among the wall and floor areas using color information of the spatial image 800. In the present disclosure, 'in-painting' refers to an image processing technology that restores part of an image when that part is obscured, lost, or distorted.

프로세서(130)는 공간 이미지(800)의 벽과 바닥 부분의 이미지를 이용하여 3차원 모델 형태에서 가려진 영역(830)을 인-페인팅할 수 있다. 본 개시의 일 실시예에서, 프로세서(130)는 벽과 바닥 각각에 대하여 별도로 인-페인팅을 수행할 수 있다. 만약, 벽과 바닥과 별개로 창문 등이 인식된 경우, 프로세서(130)는 벽, 바닥, 및 창문 각각에 대하여 별도로 인-페인팅을 수행할 수 있다. 도 8에 도시된 실시예에서, 프로세서(130)는 공간 이미지(800)의 벽면(810)의 컬러 정보를 이용하여 객체에 가려진 영역(830)을 인-페인팅하고, 인-페인팅 이미지(840)를 획득할 수 있다. The processor 130 may in-paint the hidden area 830 in the form of a 3D model using images of the wall and floor portions of the spatial image 800. In one embodiment of the present disclosure, the processor 130 may perform in-painting separately for each wall and floor. If a window, etc. is recognized separately from the wall and floor, the processor 130 may perform in-painting separately for the wall, floor, and window. In the embodiment shown in FIG. 8, the processor 130 in-paints the area 830 hidden by the object using the color information of the wall surface 810 of the spatial image 800 and creates an in-painting image 840. can be obtained.

프로세서(130)는 공간 이미지(800)에서의 벽과 바닥 부분의 이미지와 가상의 이미지를 결합하여 3차원 모델 형태의 가상의 벽 및 가상의 바닥에서 객체에 의해 가려진 영역(830)에 대응되는 영역을 인-페인팅할 수 있다. The processor 130 combines the image of the wall and floor portion in the space image 800 with the virtual image to create an area corresponding to the area 830 obscured by the object in the virtual wall and virtual floor in the form of a 3D model. You can in-paint.

다시 도 5를 참조하면, 단계 S550에서 증강 현실 디바이스(100)는 가상의 벽 및 가상의 바닥의 3차원 모델 형태에 인-페인팅 이미지의 텍스쳐(texture)를 적용하여 현실 공간에 관한 3차원 모델을 생성한다. 도 8을 함께 참조하면, 증강 현실 디바이스(100)의 프로세서(130)는 생성된 3차원 모델 형태에 인-페인팅 이미지(840)를 텍스쳐로 적용하는 이미지 프로세싱을 수행할 수 있다. 예를 들어, 프로세서(130)는 단계 S520에서 획득한 3차원 모델 형태에 인-페인팅 이미지(840)를 입힘으로써 현실 공간에 관한 3차원 모델을 생성할 수 있다. Referring again to FIG. 5, in step S550, the augmented reality device 100 applies the texture of the in-painting image to the 3D model form of the virtual wall and the virtual floor to create a 3D model of the real space. Create. Referring to FIG. 8 , the processor 130 of the augmented reality device 100 may perform image processing by applying the in-painting image 840 as a texture to the generated 3D model shape. For example, the processor 130 may generate a 3D model of real space by applying the in-painting image 840 to the 3D model form obtained in step S520.

본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 인-페인팅을 통해 생성된 3차원 모델을 저장 공간(예를 들어, 메모리(140, 도 3 참조) 내의 3차원 모델 데이터베이스(148, 도 3 참조)) 내에 저장할 수 있다. In one embodiment of the present disclosure, the augmented reality device 100 stores the 3D model generated through in-painting in a 3D model database 148 (see FIG. 3) in a storage space (e.g., memory 140 (see FIG. 3)). 3) can be saved in.

도 9는 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 공간 이미지(900)로부터 2차원 세그멘테이션(2D segmentation)을 수행하는 동작을 도시한 도면이다.FIG. 9 is a diagram illustrating an operation of the augmented reality device 100 performing 2D segmentation from a spatial image 900 according to an embodiment of the present disclosure.

도 9를 참조하면, 증강 현실 디바이스(100)는 증강 현실 애플리케이션을 실행함으로써 증강 현실 세션(Augmented Reality session)을 시작하고, 카메라(110, 도 3 참조)를 이용하여 현실 공간(10)을 촬영함으로써 공간 이미지(920)를 획득할 수 있다. 증강 현실 디바이스(100)는 현실 공간(10)의 3차원 위치 정보를 획득하고, 평면 인식 기술(plane detection)을 이용하여 벽, 바닥, 및 객체를 인식할 수 있다. 이 때 증강 현실 세션은 현실 공간이 증강 현실 공간 인식을 수행하기에 적합한 환경인지 여부를 자체적으로 판단하고, 안정적으로 인식되었음을 알릴 수 있다.Referring to FIG. 9, the augmented reality device 100 starts an augmented reality session by executing an augmented reality application, and photographs the real space 10 using the camera 110 (see FIG. 3). A spatial image 920 may be acquired. The augmented reality device 100 can acquire three-dimensional location information of the real space 10 and recognize walls, floors, and objects using plane detection technology. At this time, the augmented reality session can independently determine whether the real space is a suitable environment for performing augmented reality space recognition and report that it has been stably recognized.

증강 현실 디바이스(100)는 증강 현실 세션을 통해 현실 공간(10)의 3차원 위치 정보를 획득하고, 3차원 위치 좌표값 중 z축의 좌표값인 깊이 정보로 구성된 깊이 맵(depth map)(910)을 획득할 수 있다. The augmented reality device 100 acquires 3D location information of the real space 10 through an augmented reality session, and creates a depth map 910 consisting of depth information that is the z-axis coordinate value among the 3D location coordinate values. can be obtained.

증강 현실 디바이스(100)는 평면 인식 기술을 이용하여 벽과 바닥의 평면들(P1, P2, P3)을 인식하고, 인식된 평면들(P1, P2, P3)을 확장함으로써 3차원 모델 형태(930)를 획득할 수 있다. 증강 현실 디바이스(100)가 3차원 모델 형태(930)를 획득하는 구체적인 방법은 도 5 및 도 6에서 설명한 방식과 동일하므로 중복되는 설명은 생략한다. The augmented reality device 100 recognizes the planes (P 1 , P 2 , P 3 ) of the wall and floor using plane recognition technology, and expands the recognized planes (P 1 , P 2 , P 3 ). A 3D model form 930 can be obtained. Since the specific method by which the augmented reality device 100 acquires the 3D model form 930 is the same as the method described in FIGS. 5 and 6, overlapping descriptions will be omitted.

증강 현실 디바이스(100)는 디스플레이부(150)를 통해 표시되는 공간 이미지 상에서 특정 객체를 선택하는 사용자 입력을 수신할 수 있다. 본 개시의 일 실시예에서, 디스플레이부(150)는 터치스크린으로 구성되고, 증강 현실 디바이스(100)는 터치스크린을 통해 디스플레이되는 공간 이미지(920) 내의 특정 객체를 선택하는 사용자의 터치 입력을 수신할 수 있다. 도 9에 도시된 실시예에서, 증강 현실 디바이스(100)는 공간 이미지(920) 내의 테이블을 선택하는 사용자의 터치 입력을 수신할 수 있다. The augmented reality device 100 may receive a user input for selecting a specific object on a spatial image displayed through the display unit 150. In one embodiment of the present disclosure, the display unit 150 is configured with a touch screen, and the augmented reality device 100 receives a user's touch input for selecting a specific object in the spatial image 920 displayed through the touch screen. can do. In the embodiment shown in FIG. 9 , the augmented reality device 100 may receive a user's touch input for selecting a table in the spatial image 920 .

객체를 선택하는 사용자 입력이 수신되면, 증강 현실 디바이스(100)의 프로세서(130, 도 3 참조)는 사용자 입력에 의해 선택된 객체의 이미지 정보, 깊이 정보(객체를 구성하는 픽셀의 깊이 값을 2D 이미지로 나타낸 깊이 맵 데이터), 선택된 객체의 공간 이미지(920) 상에서의 2차원 위치 좌표값 정보(x축 및 y축 좌표값), 주요 특징점들(AR feature points)의 2차원 위치 좌표값 정보(x축 및 y축 좌표값), 및 3차원 위치 좌표값(x축, y축, 및 z축 좌표값) 정보를 획득할 수 있다. 프로세서(130)는 평면 인식 기술을 이용하여 벽 및 바닥의 평면들(P1, P2, P3)을 인식하고, 깊이 정보에 기초하여 현실 공간 내의 가구 또는 가전제품 등과 같은 객체들을 식별하며, 식별된 객체들과 벽, 바닥 간의 위치 관계를 인식할 수 있다. When a user input for selecting an object is received, the processor 130 (see FIG. 3) of the augmented reality device 100 converts image information and depth information (depth values of pixels constituting the object into a 2D image) of the object selected by the user input. depth map data expressed as), two-dimensional position coordinate value information (x-axis and y-axis coordinate values) on the spatial image 920 of the selected object, two-dimensional position coordinate value information (x) of key feature points (AR feature points) axis and y-axis coordinate values), and 3D position coordinate values (x-axis, y-axis, and z-axis coordinate values) information can be obtained. The processor 130 recognizes the planes of the wall and floor (P 1 , P 2 , and P 3 ) using plane recognition technology, and identifies objects such as furniture or home appliances in real space based on depth information, Positional relationships between identified objects and walls and floors can be recognized.

증강 현실 디바이스(100)는 깊이 맵(910)의 깊이 정보, 공간 이미지(920), 사용자에 의해 선택된 객체의 2차원 위치 좌표, 3차원 모델 형태(930)로부터 획득한 벽 및 바닥 평면, 및 객체 구분 정보를 이용하여, 사용자 입력에 의해 선택된 객체를 2차원 세그멘테이션할 수 있다. 여기서, '2차원 세그멘테이션'은 이미지 내에서 객체를 다른 객체 또는 배경 이미지와 구분하고, 이미지로부터 객체의 2차원 윤곽선(outlier)을 분할하는 이미지 프로세싱 기술을 나타낸다. 본 개시의 일 실시예에서, 2차원 세그멘테이션은 객체의 2차원 윤곽선을 분할할 뿐만 아니라, 객체의 클래스(class) 또는 카테고리(category)를 분류하고, 분류 결과에 따라 이미지 내에서 객체를 다른 객체 또는 배경 이미지와 구분하는 개념을 포괄할 수 있다. The augmented reality device 100 includes depth information of the depth map 910, a spatial image 920, two-dimensional position coordinates of an object selected by the user, wall and floor planes obtained from a three-dimensional model shape 930, and an object. Using classification information, objects selected by user input can be two-dimensionally segmented. Here, '2D segmentation' refers to an image processing technology that distinguishes an object in an image from other objects or a background image and divides the 2D outline (outlier) of the object from the image. In one embodiment of the present disclosure, two-dimensional segmentation not only divides the two-dimensional outline of the object, but also classifies the class or category of the object, and classifies the object within the image as another object or category according to the classification result. It can encompass the concept of distinguishing it from the background image.

본 개시의 일 실시예에서, 증강 현실 디바이스(100)의 프로세서(130)는 기 학습된 심층 신경망 모델(940)에 깊이 맵(910)의 깊이 정보, 공간 이미지(920)의 이미지 정보, 객체의 2차원 위치 좌표 정보, 평면 인식 정보, 및 객체 구분 정보 중 적어도 하나를 입력하고, 심층 신경망 모델(940)을 이용하는 추론을 수행함으로써 객체에 관한 2차원 세그멘테이션을 수행할 수 있다. 심층 신경망 모델(940)은 수만 내지 수억장의 이미지를 입력 데이터로 적용하고, 이미지에 포함되는 객체의 라벨값(label)을 출력 정답값(groundtruth)로 적용하여 학습된(pre-trained) 모델 파라미터로 구성되는 인공지능 모델일 수 있다. 본 개시의 일 실시예에서, 심층 신경망 모델(940)은 가구 별, 가전 별, 또는 가구 내에서도 의자, 소파 등 카테고리 별로 기 학습된 인공지능 모델일 수 있다. 심층 신경망 모델(940)은 예를 들어, 컨볼루션 신경망 모델(Convolutional Neural Network; CNN), 순환 신경망 모델(Recurrent Neural Network; RNN), RBM(Restricted Boltzmann Machine), DBN(Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks) 중 적어도 하나를 포함할 수 있다. In one embodiment of the present disclosure, the processor 130 of the augmented reality device 100 includes depth information of the depth map 910, image information of the spatial image 920, and object information in the previously learned deep neural network model 940. Two-dimensional segmentation of an object can be performed by inputting at least one of two-dimensional position coordinate information, plane recognition information, and object classification information, and performing inference using the deep neural network model 940. The deep neural network model 940 applies tens of thousands to hundreds of millions of images as input data, and applies the label value of the object included in the image as the output ground truth to be used as a pre-trained model parameter. It may be an artificial intelligence model that is constructed. In one embodiment of the present disclosure, the deep neural network model 940 may be an artificial intelligence model that has been previously learned for each furniture, home appliance, or category within the furniture, such as a chair or sofa. The deep neural network model 940 is, for example, a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), and a BRDNN ( It may include at least one of Bidirectional Recurrent Deep Neural Network and Deep Q-Networks.

프로세서(130)는 심층 신경망 모델(940)을 이용하는 추론을 통해 다른 객체 또는 배경 이미지로부터 객체(952)의 2차원 윤곽선이 분할된 세그멘테이션 이미지(950)를 획득할 수 있다. The processor 130 may obtain a segmentation image 950 in which the two-dimensional outline of the object 952 is divided from another object or background image through inference using the deep neural network model 940.

도 10은 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 객체에 관한 3차원 모델의 저장되어 있는지 여부에 기초하여 3차원 세그멘테이션(3D segmentation)을 수행하는 방법을 도시한 흐름도이다.FIG. 10 is a flowchart illustrating a method in which the augmented reality device 100 performs 3D segmentation based on whether a 3D model for an object is stored according to an embodiment of the present disclosure.

도 10에 도시된 단계 S1010 내지 S1070은 도 4에 도시된 단계 S440을 구체화한 단계들이다. 도 10의 S1010은 도 4에 도시된 단계 S430이 수행된 이후에 수행될 수 있다. Steps S1010 to S1070 shown in FIG. 10 are steps that embody step S440 shown in FIG. 4. S1010 of FIG. 10 may be performed after step S430 shown in FIG. 4 is performed.

단계 S1010에서, 증강 현실 디바이스(100)는 기 저장된 객체에 관한 3차원 모델의 존재 여부를 확인한다. 증강 현실 디바이스(100)의 프로세서(130, 도 3 참조)는 메모리(140, 도 3 참조) 내의 저장 공간에 사용자 입력에 의해 선택된 객체에 관한 3차원 모델이 저장되어 있는지 여부를 확인할 수 있다. 도 10에 도시된 3차원 세그멘테이션 방법은 객체에 관한 3차원 모델이 기 저장되어 있는지 여부에 따라 다른 방식으로 수행될 수 있다. 객체에 관한 3차원 모델이 기 저장되어 있는 실시예는 도 11을 함께 참조하여 설명하고, 객체에 관한 3차원 모델이 저장되어 있지 않은 실시예는 도 12를 함께 참조하여 설명하기로 한다. In step S1010, the augmented reality device 100 checks whether a 3D model for a previously stored object exists. The processor 130 (see FIG. 3) of the augmented reality device 100 may check whether a 3D model for the object selected by the user input is stored in the storage space within the memory 140 (see FIG. 3). The 3D segmentation method shown in FIG. 10 can be performed in different ways depending on whether a 3D model for the object is previously stored. An embodiment in which a 3D model for an object is already stored will be described with reference to FIG. 11 , and an embodiment in which a 3D model for an object is not stored will be described with reference to FIG. 12 .

객체에 관한 3차원 모델이 기 저장되어 있는 경우(단계 S1020), 증강 현실 디바이스(100)는 3차원 모델의 방향을 조절하여, 공간 이미지 상의 2차원 세그멘테이션의 윤곽선(outlier)와 겹치도록 3차원 모델을 배치한다. 도 11은 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 객체에 관하여 기 저장된 3차원 모델을 이용하여 3차원 세그멘테이션을 수행하는 동작을 도시한 도면이다. 도 10의 단계 S1020을 도 11과 함께 참조하면, 3차원 모델 데이터베이스(148)에는 복수의 객체에 관한 3차원 모델들(1101 내지 1103)이 저장되어 있을 수 있다. 증강 현실 디바이스(100)의 프로세서(130, 도 3 참조)는 3차원 모델 데이터베이스(148)에 기 저장된 복수의 객체에 관한 3차원 모델들(1101 내지 1103) 중 사용자 입력에 의해 선택된 제1 객체의 3차원 모델(1101)을 식별하고, 식별된 제1 객체의 3차원 모델(1101)을 3차원 모델 데이터베이스(148)로부터 로드(load)할 수 있다. 프로세서(130)는 로드된 제1 객체의 3차원 모델(1101)이 2차원 세그멘테이션 결과에 따라 공간 이미지(1100) 내에 생성된 2차원 윤곽선의 형태와 동일하게 될 때까지 Z축을 따라 회전시킬 수 있다. 이 때, 회전 각도의 해상도(resolution)은 요구되는 정확도에 따라 자유롭게 설정될 수 있다. 프로세서(130)는 회전 결과에 따라 오리엔테이션이 조절된 제1 객체의 3차원 모델(1101)을 공간 이미지(1100) 상의 2차원 윤곽선에 배치시킬 수 있다. If the 3D model for the object is already stored (step S1020), the augmented reality device 100 adjusts the direction of the 3D model so that it overlaps the outline (outlier) of the 2D segmentation on the spatial image. Place . FIG. 11 is a diagram illustrating an operation in which the augmented reality device 100 performs 3D segmentation using a previously stored 3D model of an object according to an embodiment of the present disclosure. Referring to step S1020 of FIG. 10 together with FIG. 11, 3D models 1101 to 1103 for a plurality of objects may be stored in the 3D model database 148. The processor 130 (see FIG. 3) of the augmented reality device 100 selects the first object selected by user input among the 3D models 1101 to 1103 for a plurality of objects previously stored in the 3D model database 148. The 3D model 1101 may be identified, and the 3D model 1101 of the identified first object may be loaded from the 3D model database 148. The processor 130 may rotate the three-dimensional model 1101 of the loaded first object along the Z axis until it has the same shape as the two-dimensional outline generated in the spatial image 1100 according to the two-dimensional segmentation result. . At this time, the resolution of the rotation angle can be freely set according to the required accuracy. The processor 130 may place the 3D model 1101 of the first object, the orientation of which has been adjusted according to the rotation result, on a 2D outline on the spatial image 1100.

다시 도 10을 참조하면, 단계 S1030에서 증강 현실 디바이스(100)는 배치된 3차원 모델로부터 객체에 관한 3차원 위치 좌표값을 획득한다. 도 11을 함께 참조하면, 제1 객체의 3차원 모델(1101)을 공간 이미지(1100) 상의 2차원 윤곽선에 맞도록 배치하고, 배치 결과에 따라 제1 객체를 구성하는 복수의 특징점들의 3차원 위치 좌표값을 획득할 수 있다. Referring again to FIG. 10 , in step S1030, the augmented reality device 100 acquires 3D position coordinate values for an object from a placed 3D model. Referring to FIG. 11 together, the three-dimensional model 1101 of the first object is arranged to fit the two-dimensional outline on the spatial image 1100, and the three-dimensional positions of a plurality of feature points constituting the first object are determined according to the arrangement result. Coordinate values can be obtained.

도 10을 참조하면, 단계 S1040에서 증강 현실 디바이스(100)는 획득된 3차원 위치 좌표값에 기초하여 객체를 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행한다. 도 11을 함께 참조하면, 증강 현실 디바이스(100)의 프로세서(130)는 제1 객체를 구성하는 복수의 특징점들의 3차원 위치 좌표값에 기초하여 현실 공간의 이미지로부터 제1 객체가 분할된 세그멘테이션 이미지(1120)를 획득할 수 있다. Referring to FIG. 10, in step S1040, the augmented reality device 100 performs 3D segmentation to divide an object from a spatial image based on the acquired 3D position coordinate value. Referring to FIG. 11 together, the processor 130 of the augmented reality device 100 generates a segmentation image in which the first object is divided from an image in real space based on the three-dimensional position coordinate values of a plurality of feature points constituting the first object. You can obtain (1120).

다시 도 10을 참조하면, 객체에 관한 3차원 모델이 저장되어 있지 않은 경우(단계 S1050), 증강 현실 디바이스(100)는 공간 이미지로부터 인식된 객체의 경계선(edge), 특징점(feature point), 및 픽셀들의 3차원 위치 좌표값을 획득한다. 도 12는 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 객체에 관한 3차원 모델이 저장되어 있지 않은 경우 3차원 세그멘테이션을 수행하는 동작을 도시한 도면이다. 도 10의 단계 S1050을 도 12와 함께 참조하면, 증강 현실 디바이스(100)의 프로세서(130)는 공간 이미지(1200) 내에서 사용자 입력에 의해 선택된 제1 객체(1210)의 경계선, 특징점, 및 제1 객체(1210)를 구성하는 픽셀들의 3차원 위치 좌표값을 획득할 수 있다. Referring again to FIG. 10, if the three-dimensional model for the object is not stored (step S1050), the augmented reality device 100 may determine the edges, feature points, and edges of the object recognized from the spatial image. Obtain the 3D position coordinates of pixels. FIG. 12 is a diagram illustrating an operation of the augmented reality device 100 performing 3D segmentation when a 3D model for an object is not stored according to an embodiment of the present disclosure. Referring to step S1050 of FIG. 10 together with FIG. 12, the processor 130 of the augmented reality device 100 determines the boundary line, feature point, and first object 1210 selected by user input within the spatial image 1200. 1 The 3D position coordinate values of the pixels constituting the object 1210 can be obtained.

다시 도 10의 단계 S1060을 참조하면, 증강 현실 디바이스(100)는 객체의 경계선, 특징점, 및 픽셀들의 3차원 위치 좌표값 중 적어도 하나에 기초하여 3차원 버텍스 모델링(3D vertex modeling)을 수행한다. 도 12를 함께 참조하면, 증강 현실 디바이스(100)의 프로세서(130)는 객체의 경게선, 특징점, 및 픽셀들의 3차원 위치 좌표값을 기 학습된 심층 신경망 모델에 입력하고, 심층 신경망 모델을 이용하여 3차원 버텍스 모델링을 수행할 수 있다. 심층 신경망 모델은 가구, 가전 별, 또는 가구 내에서도 의자, 소파 등 카테고리 별로 기 학습된(pre-trained) 인공지능 모델일 수 있다. 심층 신경망 모델은 예를 들어, 컨볼루션 신경망 모델(Convolutional Neural Network; CNN), 순환 신경망 모델(Recurrent Neural Network; RNN), RBM(Restricted Boltzmann Machine), DBN(Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks) 중 적어도 하나를 포함할 수 있다. 그러나, 본 개시의 심층 신경망 모델이 전술한 예시로 한정되는 것은 아니다. Referring again to step S1060 of FIG. 10, the augmented reality device 100 performs 3D vertex modeling based on at least one of the object's boundary line, feature points, and 3D position coordinate values of pixels. Referring to FIG. 12 together, the processor 130 of the augmented reality device 100 inputs the three-dimensional position coordinate values of the boundary lines, feature points, and pixels of the object into a previously learned deep neural network model, and uses the deep neural network model. Thus, 3D vertex modeling can be performed. The deep neural network model may be a pre-trained artificial intelligence model for each furniture, home appliance, or category within furniture, such as a chair or sofa. Deep neural network models include, for example, Convolutional Neural Network (CNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), and Bidirectional Recurrent Deep Network (BRDNN). Neural Network) and Deep Q-Networks. However, the deep neural network model of the present disclosure is not limited to the above-described examples.

다시 도 10의 단계 S1070을 참조하면, 증강 현실 디바이스(100)는 3차원 버텍스 모델링을 통해 객체를 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행한다. 도 12를 함께 참조하면, 증강 현실 디바이스(100)의 프로세서(130)는 3차원 버텍스 모델링을 통해 제1 객체(1220)의 3차원 위치 좌표값을 획득할 수 있다. 프로세서(130)는 제1 객체(1220)를 구성하는 복수의 픽셀들의 3차원 위치 좌표값에 기초하여 공간 이미지(1200)로부터 제1 객체(1220)가 분할된 세그멘테이션 이미지(1230)를 획득할 수 있다. Referring again to step S1070 of FIG. 10, the augmented reality device 100 performs 3D segmentation to divide an object from a spatial image through 3D vertex modeling. Referring to FIG. 12 together, the processor 130 of the augmented reality device 100 may obtain the 3D position coordinate value of the first object 1220 through 3D vertex modeling. The processor 130 may obtain a segmentation image 1230 in which the first object 1220 is divided from the spatial image 1200 based on the three-dimensional position coordinate values of a plurality of pixels constituting the first object 1220. there is.

도 13은 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 3차원 모델을 현실 공간에 배치하고, 3차원 모델을 이용하여 렌더링을 수행하는 방법을 도시한 흐름도이다.FIG. 13 is a flowchart illustrating a method by which the augmented reality device 100 places a 3D model in real space and performs rendering using the 3D model according to an embodiment of the present disclosure.

도 13에 도시된 단계 S1310은 도 4에 도시된 단계 S440이 수행된 이후에 수행될 수 있다.Step S1310 shown in FIG. 13 may be performed after step S440 shown in FIG. 4 is performed.

단계 S1310에서, 증강 현실 디바이스(100)는 생성된 3차원 모델을 현실 공간 내의 벽 및 바닥의 위치에 배치한다. In step S1310, the augmented reality device 100 places the generated 3D model on the walls and floors in real space.

단계 S1320에서, 증강 현실 디바이스(100)는 3차원 세그멘테이션을 통해 객체가 분할된 영역을 3차원 모델을 이용하여 렌더링(rendering)한다. 사용자 입력에 의해 선택된 객체가 3차원 세그멘테이션을 통해 분할되면, 증강 현실 디바이스(100)는 3차원 모델을 이용하여 3차원 세그멘테이션으로 인하여 지워진 영역을 렌더링할 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 3차원 세그멘테이션이 수행된 영역의 원래 이미지는 삭제한 이후 렌더링할 수 있다. 그러나, 이에 한정되는 것은 아니고, 본 개시의 다른 실시예에서, 증강 현실 디바이스(100)는 3차원 세그멘테이션이 수행된 영역을 삭제할 필요없이, 벽과 바닥의 3차원 모델을 단순 렌더링하고, 현실 공간의 객체 상에 배치할 수 있다. 이 경우, 증강 현실 디바이스(100)는 3차원 모델과 객체 간의 깊이 값을 조정함으로써 현실 객체가 3차원 모델 위에 렌더링될 수 있도록 깊이 테스팅(depth testing) 값을 설정할 수 있다. In step S1320, the augmented reality device 100 renders the area where the object is divided through 3D segmentation using a 3D model. When an object selected by a user input is segmented through 3D segmentation, the augmented reality device 100 can render the area erased due to 3D segmentation using a 3D model. In one embodiment of the present disclosure, the augmented reality device 100 may render the original image of the area where 3D segmentation was performed after deleting it. However, it is not limited to this, and in another embodiment of the present disclosure, the augmented reality device 100 simply renders the 3D model of the wall and floor without the need to delete the area where 3D segmentation was performed, and It can be placed on an object. In this case, the augmented reality device 100 may set a depth testing value so that a real object can be rendered on the 3D model by adjusting the depth value between the 3D model and the object.

도 14는 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)가 3차원 세그멘테이션을 추가로 수행하고, 세그멘테이션 결과를 업데이트하는 방법을 도시한 흐름도이다.FIG. 14 is a flowchart illustrating a method by which the augmented reality device 100 additionally performs 3D segmentation and updates the segmentation result according to an embodiment of the present disclosure.

도 14에 도시된 단계 S1410은 도 4에 도시된 단계 S440이 수행된 이후에 수행될 수 있다. Step S1410 shown in FIG. 14 may be performed after step S440 shown in FIG. 4 is performed.

단계 S1410에서, 증강 현실 디바이스(100)는 증강 현실 공간 내에서 3차원 세그멘테이션 결과를 트래킹(tracking)한다. 본 개시의 일 실시예에서, 사용자의 조작에 의해 증강 현실 디바이스(100)의 오리엔테이션이 변경되거나 FOV(Field of View)가 변경되는 경우, 증강 현실 디바이스(100)는 IMU 센서(120, 도 3 참조)의 측정값을 이용하여 증강 현실 공간 내에서 3차원 세그멘테이션으로 인하여 분할된 영역을 트래킹할 수 있다. 트래킹 동작을 통해 객체에 관한 실시간 3차원 세그멘테이션이 가능하다. In step S1410, the augmented reality device 100 tracks the 3D segmentation result within the augmented reality space. In one embodiment of the present disclosure, when the orientation of the augmented reality device 100 is changed or the field of view (FOV) is changed due to a user's manipulation, the augmented reality device 100 is connected to the IMU sensor 120 (see FIG. 3). ) can be used to track the divided area due to 3D segmentation in the augmented reality space. Real-time 3D segmentation of objects is possible through tracking operations.

단계 S1420에서, 증강 현실 디바이스(100)는 현실 공간에 관한 공간 이미지를 추가로 획득한다. 증강 현실 디바이스(100)는 증강 현실 애플리케이션을 실행하여, 카메라(110, 도 3 참조)를 통해 현실 공간을 촬영하고, 이를 통해 공간 이미지를 추가로 획득할 수 있다. 본 개시의 일 실시예에서, 증강 현실 디바이스(100)는 기 설정된 시간 간격에 따라 주기적으로 공간 이미지를 획득할 수 있다.In step S1420, the augmented reality device 100 additionally acquires a spatial image related to the real space. The augmented reality device 100 can execute an augmented reality application, photograph a real space through a camera 110 (see FIG. 3), and additionally acquire a spatial image through this. In one embodiment of the present disclosure, the augmented reality device 100 may periodically acquire spatial images at preset time intervals.

단계 S1430에서, 증강 현실 디바이스(100)는 추가로 획득된 공간 이미지에 대하여 2차원 세그멘테이션을 수행하여 객체의 윤곽선(outlier)을 추출한다. 증강 현실 디바이스(100)가 2차원 세그멘테이션을 수행하여 객체의 윤곽선을 추출하는 동작은 도 9에서 설명한 동작 방식과 동일하므로, 중복되는 설명은 생략한다.In step S1430, the augmented reality device 100 performs two-dimensional segmentation on the additionally acquired spatial image to extract the outline (outlier) of the object. The operation of the augmented reality device 100 to extract the outline of an object by performing two-dimensional segmentation is the same as the operation method described in FIG. 9, and thus redundant description will be omitted.

단계 S1440에서, 증강 현실 디바이스(100)는 3차원 세그멘테이션을 통해 객체가 분할된 영역의 윤곽선과 2차원 세그멘테이션을 통해 추출된 윤곽선을 비교함으로써, 유사도를 측정한다. In step S1440, the augmented reality device 100 measures similarity by comparing the outline of the area into which the object is divided through 3D segmentation with the outline extracted through 2D segmentation.

단계 S1450에서, 증강 현실 디바이스(100)는 측정된 유사도를 기 설정된 임계치(α)와 비교한다. In step S1450, the augmented reality device 100 compares the measured similarity with a preset threshold (α).

측정된 유사도가 임계치(α) 미만인 경우(단계 S1460), 증강 현실 디바이스(100)는 3차원 세그멘테이션을 추가로 수행한다. 유사도가 임계치(α) 미만인 경우, 증강 현실 디바이스(100)는 오리엔테이션 변경 또는 FOV 변경으로 인하여 3차원 세그멘테이션 결과에 오류가 발생되었음을 인지할 수 있다. If the measured similarity is less than the threshold α (step S1460), the augmented reality device 100 additionally performs 3D segmentation. If the similarity is less than the threshold α, the augmented reality device 100 may recognize that an error has occurred in the 3D segmentation result due to an orientation change or FOV change.

단계 S1470에서, 증강 현실 디바이스(100)는 추가로 수행된 3차원 세그멘테이션을 통해 세그멘테이션 결과를 업데이트(update)한다. In step S1470, the augmented reality device 100 updates the segmentation result through additionally performed 3D segmentation.

측정된 유사도가 기 설정된 임계치(α)를 초과하는 경우, 증강 현실 디바이스(100)는 단계 S1420으로 돌아가서 공간 이미지를 추가로 획득하는 동작부터 반복적으로 수행할 수 있다. If the measured similarity exceeds the preset threshold α, the augmented reality device 100 may return to step S1420 and repeatedly perform the operation of acquiring additional spatial images.

본 개시는 현실 공간에서 객체를 제어하는 증강 현실 서비스를 제공하는 증강 현실 디바이스(100)를 제공한다. 본 개시의 일 실시예에 따른 증강 현실 디바이스(100)는 카메라(110, 도 3 참조), 가속도 센서(accelerometer)(122, 도 3 참조) 및 자이로 센서(gyro sensor)(124, 도 3 참조)를 포함하는 IMU 센서(Inertial Measurement Unit)(120, 도 3 참조), 적어도 하나의 명령어들(instructions)를 저장하는 메모리(140, 도 3 참조), 및 적어도 하나의 명령어들을 실행하는 적어도 하나의 프로세서(130, 도 3 참조)를 포함할 수 있다. 상기 적어도 하나의 프로세서(130)는 카메라(110)를 이용하여 현실 공간을 촬영하여 공간 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서(130)는 획득된 공간 이미지로부터 벽 및 바닥을 포함하는 평면을 인식할 수 있다. 상기 적어도 하나의 프로세서(130)는 인식된 평면에 따라 벽과 바닥을 확장하고, 공간 이미지를 이용하여 확장된 벽과 바닥 중 객체에 의해 가려진 영역에 대하여 3차원 인-페인팅을 수행함으로써 현실 공간에 관한 3차원 모델을 생성할 수 있다. 상기 적어도 하나의 프로세서(130)는 사용자 입력에 의해 선택된 객체를 공간 이미지로부터 분할하는 2차원 세그멘테이션(2D segmentation)을 수행할 수 있다. 상기 적어도 하나의 프로세서(130)는 객체의 3차원 모델 또는 3차원 위치 정보에 기초하여 공간 이미지 상에서 객체를 현실 공간으로부터 분할하는 3차원 세그멘테이션(3D segmentation)을 수행할 수 있다. The present disclosure provides an augmented reality device 100 that provides an augmented reality service that controls objects in real space. The augmented reality device 100 according to an embodiment of the present disclosure includes a camera (110, see FIG. 3), an accelerometer (122, see FIG. 3), and a gyro sensor (124, see FIG. 3). An IMU sensor (Inertial Measurement Unit) 120 (see FIG. 3) including an IMU sensor, a memory 140 (see FIG. 3) storing at least one instruction, and at least one processor executing the at least one instruction. It may include (130, see FIG. 3). The at least one processor 130 may obtain a spatial image by photographing real space using the camera 110. The at least one processor 130 may recognize a plane including a wall and a floor from the acquired spatial image. The at least one processor 130 expands the wall and floor according to the recognized plane, and performs 3D in-painting on the area obscured by the object among the expanded wall and floor using a spatial image, thereby expanding the wall and floor in real space. A 3D model can be created. The at least one processor 130 may perform 2D segmentation to segment an object selected by user input from a spatial image. The at least one processor 130 may perform 3D segmentation to segment an object from real space on a spatial image based on a 3D model or 3D location information of the object.

본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서(130)는 생성된 3차원 모델을 현실 공간 내의 벽 및 바닥의 위치에 배치하고, 3차원 세그멘테이션을 통해 객체가 분할된 영역을 3차원 모델을 이용하여 렌더링(rendering)할 수 있다. In one embodiment of the present disclosure, the at least one processor 130 places the generated 3D model at the location of the wall and floor in real space, and creates a 3D model by dividing the area into which the object is divided through 3D segmentation. You can use it for rendering.

본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서(130)는 인식된 벽 및 바닥을 포함하는 평면들 각각으로부터 평면 방정식을 도출할 수 있다. 상기 적어도 하나의 프로세서(130)는 도출된 평면 방정식에 기초하여 벽 및 바닥을 확장함으로써, 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 획득할 수 있다. 상기 적어도 하나의 프로세서(130)는 공간 이미지로부터 벽 및 바닥과 현실 공간 내에 배치된 객체를 식별할 수 있다. 상기 적어도 하나의 프로세서(130)는 벽 및 바닥 중 식별된 객체에 의해 가려진 영역을 공간 이미지의 정보를 이용하여 인-페인팅할 수 있다. 상기 적어도 하나의 프로세서(130)는 가상의 벽 및 가상의 바닥의 3차원 모델 형태에 인-페인팅 이미지의 텍스쳐(texture)를 적용하여 현실 공간에 관한 3차원 모델을 생성할 수 있다. In one embodiment of the present disclosure, the at least one processor 130 may derive a plane equation from each of the recognized planes including the wall and the floor. The at least one processor 130 may obtain three-dimensional model shapes of the virtual wall and the virtual floor by expanding the wall and the floor based on the derived plane equation. The at least one processor 130 may identify walls, floors, and objects placed in real space from the spatial image. The at least one processor 130 may in-paint the area covered by the identified object among the wall and floor using information of the spatial image. The at least one processor 130 may generate a 3D model of a real space by applying the texture of the in-painting image to the 3D model form of the virtual wall and the virtual floor.

본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서(130)는 확장된 벽 및 바닥이 만나는 교선을 추출하고, 추출된 교선에 기초하여 벽 및 상기 바닥의 평면들을 구분할 수 있다. 상기 적어도 하나의 프로세서(130)는 구분된 평면들 각각의 버텍스(vertex) 좌표들을 획득하고, 획득된 버텍스 좌표들에 기초하여 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 생성할 수 있다. In one embodiment of the present disclosure, the at least one processor 130 may extract an intersection line where an extended wall and the floor meet, and distinguish planes of the wall and the floor based on the extracted intersection line. The at least one processor 130 may obtain vertex coordinates for each of the divided planes and generate a three-dimensional model of the virtual wall and virtual floor based on the obtained vertex coordinates.

본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서(130)는 공간 이미지로부터 획득된 현실 공간의 깊이 정보 및 컬러 정보 중 적어도 하나에 기초하여 객체를 식별할 수 있다. 적어도 하나의 프로세서(130)는 인식된 벽 및 바닥과 식별된 객체를 구분할 수 있다. In one embodiment of the present disclosure, the at least one processor 130 may identify an object based on at least one of depth information and color information in real space obtained from a spatial image. At least one processor 130 may distinguish between recognized walls and floors and identified objects.

본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서(130)는 생성된 3차원 모델을 메모리(140) 내의 저장 공간에 저장할 수 있다. In one embodiment of the present disclosure, the at least one processor 130 may store the generated 3D model in a storage space within the memory 140.

본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서(130)는 선택된 객체에 대한 3차원 모델이 메모리(140)에 기 저장되어 있는지 여부를 확인하고, 확인 결과 선택된 객체에 관한 3차원 모델이 저장되어 있는 경우, 기 저장된 3차원 모델의 방향을 조절함으로써 상기 공간 이미지 상의 2차원 세그멘테이션의 윤곽선(outlier)과 겹치도록 상기 3차원 모델을 배치할 수 있다. 적어도 하나의 프로세서(130)는 배치된 3차원 모델로부터 객체에 관한 3차원 위치 좌표값을 획득할 수 있다. 적어도 하나의 프로세서(130)는 획득된 3차원 위치 좌표값에 기초하여 객체를 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행할 수 있다. In one embodiment of the present disclosure, the at least one processor 130 checks whether a 3D model for the selected object is already stored in the memory 140, and as a result of the confirmation, the 3D model for the selected object is stored. If so, the 3D model can be arranged to overlap the outline (outlier) of the 2D segmentation on the spatial image by adjusting the direction of the previously stored 3D model. At least one processor 130 may obtain 3D position coordinate values for an object from a placed 3D model. At least one processor 130 may perform 3D segmentation to segment an object from a spatial image based on the obtained 3D position coordinate values.

본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서(130)는 선택된 객체에 대한 3차원 모델이 메모리(140)에 저장되어 있는지 여부를 확인하고, 확인 결과 선택된 객체에 관한 3차원 모델이 저장되어 있지 않은 경우, 공간 이미지로부터 인식된 객체의 경계선(edge), 특징점(feature point), 및 픽셀들의 3차원 위치 좌표값을 획득할 수 있다. 적어도 하나의 프로세서(130)는 획득된 객체의 경계선, 특징점, 및 픽셀들의 3차원 위치 좌표값 중 적어도 하나에 기초하여 3차원 버텍스 모델링(3D vertex modeling)을 수행할 수 있다. 적어도 하나의 프로세서(130)는 3차원 버텍스 모델링을 통해 객체를 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행할 수 있다. In one embodiment of the present disclosure, the at least one processor 130 checks whether a 3D model for the selected object is stored in the memory 140, and as a result of the confirmation, the 3D model for the selected object is stored. If not, the three-dimensional position coordinate values of the edges, feature points, and pixels of the recognized object can be obtained from the spatial image. At least one processor 130 may perform 3D vertex modeling based on at least one of the obtained object boundary, feature points, and 3D position coordinate values of pixels. At least one processor 130 may perform 3D segmentation to divide an object from a spatial image through 3D vertex modeling.

본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서(130)는 증강 현실 디바이스(100)의 오리엔테이션 또는 시야각(Field of View)이 변경되는 경우 공간 이미지를 추가로 획득하고, 추가로 획득된 공간 이미지에 대하여 2차원 세그멘테이션을 수행함으로써 객체의 윤곽선을 추출할 수 있다. 상기 적어도 하나의 프로세서(130)는 3차원 세그멘테이션을 통해 객체가 분할된 영역의 2차원 윤곽선과 추출된 윤곽선을 비교함으로써 유사도를 측정할 수 있다. 상기 적어도 하나의 프로세서(130)는 유사도를 기 설정된 임계치와 비교하여 3차원 세그멘테이션을 추가로 수행할지 여부를 결정할 수 있다. In one embodiment of the present disclosure, the at least one processor 130 additionally acquires a spatial image when the orientation or field of view of the augmented reality device 100 changes, and the additionally acquired spatial image The outline of the object can be extracted by performing 2D segmentation. The at least one processor 130 may measure similarity by comparing the 2D outline of the area where the object is divided through 3D segmentation with the extracted outline. The at least one processor 130 may determine whether to additionally perform 3D segmentation by comparing the similarity with a preset threshold.

본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서(130)는 유사도가 임계치 미만인 경우, 3차원 세그멘테이션을 추가로 수행하고, 추가로 수행된 3차원 세그멘테이션을 통해 세그멘테이션 결과를 업데이트(update)할 수 있다. In one embodiment of the present disclosure, when the similarity is less than a threshold, the at least one processor 130 may additionally perform 3D segmentation and update the segmentation result through the additionally performed 3D segmentation. there is.

본 개시는 증강 현실 디바이스(100)가 현실 공간에서 객체를 제어하는 증강 현실 서비스를 제공하는 방법을 제공한다. 상기 방법은 카메라(110)를 이용하여 현실 공간을 촬영하여 획득된 공간 이미지로부터 벽 및 바닥을 포함하는 평면을 인식하는 단계(S410)를 포함할 수 있다. 상기 방법은 인식된 평면에 따라 벽과 바닥을 확장하고, 공간 이미지를 이용하여 확장된 벽과 바닥 중 객체에 의해 가려진 영역에 대하여 3차원 인-페인팅을 수행함으로써 현실 공간에 관한 3차원 모델을 생성하는 단계(S420)를 포함할 수 있다. 상기 방법은 사용자 입력에 의해 선택된 객체를 공간 이미지로부터 분할하는 2차원 세그멘테이션(2D segmentation)을 수행하는 단계(S430)를 포함할 수 있다. 상기 방법은 객체의 3차원 모델 또는 3차원 위치 정보에 기초하여 공간 이미지 상에서 객체를 현실 공간으로부터 분할하는 3차원 세그멘테이션(3D segmentation)을 수행하는 단계(S440)를 포함할 수 있다.The present disclosure provides a method for providing an augmented reality service where the augmented reality device 100 controls objects in real space. The method may include a step (S410) of recognizing a plane including a wall and a floor from a spatial image obtained by photographing a real space using the camera 110. The method expands the walls and floors according to the recognized plane, and uses spatial images to perform 3D in-painting on the areas obscured by objects among the expanded walls and floors to create a 3D model of real space. It may include a step (S420). The method may include performing 2D segmentation (2D segmentation) to segment an object selected by user input from a spatial image (S430). The method may include performing 3D segmentation (3D segmentation) to segment an object from real space on a spatial image based on a 3D model or 3D location information of the object (S440).

본 개시의 일 실시예에서, 상기 방법은 생성된 3차원 모델을 현실 공간 내의 벽 및 바닥의 위치에 배치하는 단계(S1310), 및 3차원 세그멘테이션을 통해 객체가 분할된 영역을 3차원 모델을 이용하여 렌더링(rendering)하는 단계(S1320)를 더 포함할 수 있다. In one embodiment of the present disclosure, the method includes placing the generated 3D model at the location of walls and floors in real space (S1310), and using the 3D model to divide the area into which the object is divided through 3D segmentation. A rendering step (S1320) may be further included.

본 개시의 일 실시예에서, 상기 현실 공간에 관한 3차원 모델을 생성하는 단계(S420)는 인식된 벽 및 바닥을 포함하는 평면들 각각으로부터 평면 방정식을 도출하는 단계(S510)를 포함할 수 있다. 상기 현실 공간에 관한 3차원 모델을 생성하는 단계(S420)는 도출된 평면 방정식에 기초하여 벽 및 바닥을 확장함으로써, 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 획득하는 단계(S520)를 포함할 수 있다. 상기 현실 공간에 관한 3차원 모델을 생성하는 단계(S420)는 공간 이미지로부터 벽 및 바닥과 현실 공간 내에 배치된 객체를 식별하는 단계(S530)를 포함할 수 있다. 상기 현실 공간에 관한 3차원 모델을 생성하는 단계(S420)는 벽 및 바닥 중 식별된 객체에 의해 가려진 영역을 공간 이미지의 정보를 이용하여 인-페인팅하는 단계(S540)를 포함할 수 있다. 상기 현실 공간에 관한 3차원 모델을 생성하는 단계(S420)는 가상의 벽 및 가상의 바닥의 3차원 모델 형태에 인-페인팅 이미지의 텍스쳐(texture)를 적용하여 현실 공간에 관한 3차원 모델을 생성하는 단계(S550)를 포함할 수 있다. In one embodiment of the present disclosure, the step of generating a three-dimensional model of the real space (S420) may include the step of deriving a plane equation from each of the planes including the recognized walls and floors (S510). . The step of generating a three-dimensional model of the real space (S420) includes the step of acquiring the three-dimensional model form of the virtual wall and virtual floor by expanding the wall and floor based on the derived plane equation (S520). It can be included. The step of generating a 3D model of the real space (S420) may include a step of identifying walls and floors and objects placed in the real space from the space image (S530). The step of generating a 3D model of the real space (S420) may include the step of in-painting the area obscured by the identified object among the walls and floor using information of the spatial image (S540). The step of generating a 3D model of the real space (S420) generates a 3D model of the real space by applying the texture of the in-painting image to the 3D model form of the virtual wall and virtual floor. It may include a step (S550).

본 개시의 일 실시예에서, 상기 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 생성하는 단계(S520)는 확장된 벽 및 바닥이 만나는 교선을 추출하는 단계, 추출된 교선에 기초하여 벽 및 바닥의 평면들을 구분하는 단계, 구분된 평면들 각각의 버텍스(vertex) 좌표들을 획득하는 단계, 획득된 버텍스 좌표들에 기초하여 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 생성하는 단계를 포함할 수 있다. In one embodiment of the present disclosure, the step of generating a three-dimensional model form of the virtual wall and the virtual floor (S520) includes extracting an intersection line where the extended wall and the floor meet, and based on the extracted intersection line, the wall and It includes dividing the planes of the floor, acquiring vertex coordinates of each of the divided planes, and generating a three-dimensional model of the virtual wall and virtual floor based on the obtained vertex coordinates. can do.

본 개시의 일 실시예에서, 상기 벽 및 바닥과 현실 공간 내에 배치된 객체를 식별하는 단계(S530)는 공간 이미지로부터 획득된 현실 공간의 깊이 정보 및 컬러 정보 중 적어도 하나에 기초하여 상기 객체를 식별하는 단계, 및 인식된 벽 및 바닥과 식별된 객체를 구분하는 단계를 포함할 수 있다. In one embodiment of the present disclosure, the step (S530) of identifying the wall, the floor, and the object arranged in real space identifies the object based on at least one of depth information and color information in real space obtained from a spatial image. and distinguishing between recognized walls and floors and identified objects.

본 개시의 일 실시예에서, 상기 3차원 세그멘테이션을 수행하는 단계(S440)는 선택된 객체에 대한 3차원 모델이 기 저장되어 있는지 여부를 확인하는 단계(S1010), 및 확인 결과 선택된 객체에 관한 3차원 모델이 저장되어 있는 경우, 기 저장된 3차원 모델의 방향을 조절함으로써 공간 이미지 상의 2차원 세그멘테이션의 윤곽선(outlier)과 겹치도록 3차원 모델을 배치하는 단계(S1020)를 포함할 수 있다. 상기 3차원 세그멘테이션을 수행하는 단계(S440)는 배치된 3차원 모델로부터 객체에 관한 3차원 위치 좌표값을 획득하는 단계(S1030)를 포함할 수 있다. 3차원 세그멘테이션을 수행하는 단계(S440)는 획득된 3차원 위치 좌표값에 기초하여 객체를 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행하는 단계(S1040)를 포함할 수 있다. In one embodiment of the present disclosure, the step of performing the 3D segmentation (S440) includes checking whether a 3D model for the selected object is already stored (S1010), and as a result of the confirmation, a 3D model for the selected object If the model is stored, a step (S1020) of arranging the 3D model to overlap the outline (outlier) of the 2D segmentation on the spatial image by adjusting the direction of the previously stored 3D model may be included. The step of performing the 3D segmentation (S440) may include the step of obtaining 3D position coordinate values for the object from the placed 3D model (S1030). The step of performing 3D segmentation (S440) may include a step of performing 3D segmentation of dividing an object from a spatial image based on the obtained 3D position coordinate value (S1040).

본 개시의 일 실시예에서, 상기 3차원 세그멘테이션을 수행하는 단계(S440)는 선택된 객체에 대한 3차원 모델이 기 저장되어 있는지 여부를 확인하는 단계(1010), 및 확인 결과 선택된 객체에 관한 3차원 모델이 저장되어 있지 않은 경우, 공간 이미지로부터 인식된 객체의 경계선(edge), 특징점(feature point), 및 픽셀들의 3차원 위치 좌표값을 획득하는 단계(S1050)를 포함할 수 있다. 상기 3차원 세그멘테이션을 수행하는 단계(S440)는 획득된 객체의 경계선, 특징점, 및 픽셀들의 3차원 위치 좌표값 중 적어도 하나에 기초하여 3차원 버텍스 모델링(3D vertex modeling)을 수행하는 단계(S1060)를 포함할 수 있다. 상기 3차원 세그멘테이션을 수행하는 단계(S440)는 3차원 버텍스 모델링을 통해 객체를 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행하는 단계(S1070)를 포함할 수 있다. In one embodiment of the present disclosure, the step of performing the 3D segmentation (S440) includes a step of checking (1010) whether a 3D model for the selected object is already stored, and as a result of the confirmation, a 3D model for the selected object. If the model is not stored, a step (S1050) of acquiring the edge, feature point, and 3D position coordinate values of the pixels of the recognized object from the spatial image may be included. The step of performing the 3D segmentation (S440) is a step of performing 3D vertex modeling (S1060) based on at least one of the obtained object's boundary line, feature points, and 3D position coordinate values of pixels. may include. The step of performing 3D segmentation (S440) may include a step of performing 3D segmentation of dividing an object from a spatial image through 3D vertex modeling (S1070).

본 개시의 일 실시예에서, 상기 방법은 상기 증강 현실 디바이스(100)의 오리엔테이션 또는 시야각(Field of View)이 변경되는 경우 공간 이미지를 추가로 획득하고, 추가로 획득된 공간 이미지에 대하여 2차원 세그멘테이션을 수행함으로써 객체의 윤곽선을 추출하는 단계(S1420)를 더 포함할 수 있다. 상기 방법은 3차원 세그멘테이션을 통해 객체가 분할된 영역의 2차원 윤곽선과 추출된 윤곽선을 비교함으로써 유사도를 측정하는 단계(S1430)를 더 포함할 수 있다. 상기 방법은 유사도를 기 설정된 임계치와 비교하여 3차원 세그멘테이션을 추가로 수행할지 여부를 결정하는 단계(S1440)를 더 포함할 수 있다. In one embodiment of the present disclosure, the method additionally acquires a spatial image when the orientation or field of view of the augmented reality device 100 changes, and performs two-dimensional segmentation on the additionally acquired spatial image. A step (S1420) of extracting the outline of the object may be further included. The method may further include a step (S1430) of measuring similarity by comparing the extracted outline with the two-dimensional outline of the area where the object is divided through three-dimensional segmentation. The method may further include a step of determining whether to additionally perform 3D segmentation by comparing the similarity with a preset threshold (S1440).

본 개시의 일 실시예에서, 상기 방법은 유사도가 임계치 미만인 경우, 3차원 세그멘테이션을 추가로 수행하고, 추가로 수행된 3차원 세그멘테이션을 통해 세그멘테이션 결과를 업데이트(update)하는 단계(S1460)를 더 포함할 수 있다. 상기 세그멘테이션 결과를 업데이트하는 단계는 기 설정된 시간 간격에 따라 주기적으로 수행될 수 있다. In one embodiment of the present disclosure, if the similarity is less than a threshold, the method further includes the step of additionally performing 3D segmentation and updating the segmentation result through the additionally performed 3D segmentation (S1460). can do. The step of updating the segmentation results may be performed periodically according to preset time intervals.

본 개시는 컴퓨터로 읽을 수 있는 저장 매체를 포함하는 컴퓨터 프로그램 제품(Computer Program Product)를 제공한다. 상기 저장 매체는 카메라(110)를 이용하여 현실 공간을 촬영하여 획득된 공간 이미지로부터 벽 및 바닥을 포함하는 평면을 인식하는 동작, 인식된 평면에 따라 벽과 바닥을 확장하고, 공간 이미지를 이용하여 확장된 벽과 바닥 중 객체에 의해 가려진 영역에 대하여 3차원 인-페인팅을 수행함으로써 현실 공간에 관한 3차원 모델을 생성하는 동작, 사용자 입력에 의해 선택된 객체를 공간 이미지로부터 분할하는 2차원 세그멘테이션(2D segmentation)을 수행하는 동작, 및 객체의 3차원 모델 또는 3차원 위치 정보에 기초하여 공간 이미지 상에서 객체를 현실 공간으로부터 분할하는 3차원 세그멘테이션(3D segmentation)을 수행하는 동작을 증강 현실 디바이스(100)가 수행하기 위하여, 상기 증강 현실 디바이스(100)에 의해 판독 가능한 명령어들(instructions)을 포함할 수 있다. The present disclosure provides a computer program product including a computer-readable storage medium. The storage medium includes the operation of recognizing a plane including a wall and a floor from a spatial image obtained by photographing a real space using a camera 110, expanding the wall and a floor according to the recognized plane, and using the spatial image. An operation to create a 3D model of real space by performing 3D in-painting on areas obscured by objects among extended walls and floors, and 2D segmentation (2D) that divides objects selected by user input from the spatial image. The augmented reality device 100 performs an operation of performing segmentation, and an operation of performing 3D segmentation of dividing an object from real space on a spatial image based on a 3D model or 3D location information of the object. In order to perform this, it may include instructions that can be read by the augmented reality device 100.

본 개시에서 설명된 증강 현실 디바이스(100)에 의해 실행되는 프로그램은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 프로그램은 컴퓨터로 읽을 수 있는 명령어들을 수행할 수 있는 모든 시스템에 의해 수행될 수 있다. A program executed by the augmented reality device 100 described in this disclosure may be implemented with hardware components, software components, and/or a combination of hardware components and software components. A program can be executed by any system that can execute computer-readable instructions.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령어(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. Software may include a computer program, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired, or to process independently or collectively. You can command the device.

소프트웨어는, 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 컴퓨터 프로그램으로 구현될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체로는, 예를 들어 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독 가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. Software may be implemented as a computer program including instructions stored on computer-readable storage media. Computer-readable recording media include, for example, magnetic storage media (e.g., read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and optical read media (e.g., CD-ROM). (CD-ROM), DVD (Digital Versatile Disc), etc. The computer-readable recording medium is distributed among computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner. The media may be readable by a computer, stored in memory, and executed by a processor.

컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장되는 경우를 구분하지 않는다. 예를 들어, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다. Computer-readable storage media may be provided in the form of non-transitory storage media. Here, 'non-transitory' only means that the storage medium does not contain signals and is tangible, and does not distinguish between cases where data is stored semi-permanently or temporarily in the storage medium. For example, a 'non-transitory storage medium' may include a buffer where data is temporarily stored.

또한, 본 명세서에 개시된 실시예들에 따른 프로그램은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.Additionally, programs according to embodiments disclosed in this specification may be included and provided in a computer program product. Computer program products are commodities and can be traded between sellers and buyers.

컴퓨터 프로그램 제품은 소프트웨어 프로그램, 소프트웨어 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 증강 현실 디바이스(100)의 제조사 또는 전자 마켓(예를 들어, 삼성 갤럭시 스토어)을 통해 전자적으로 배포되는 소프트웨어 프로그램 형태의 상품(예를 들어, 다운로드 가능한 애플리케이션(downloadable application))을 포함할 수 있다. 전자적 배포를 위하여, 소프트웨어 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 증강 현실 디바이스(100)의 제조사의 서버, 전자 마켓의 서버, 또는 소프트웨어 프로그램을 임시적으로 저장하는 중계 서버의 저장 매체가 될 수 있다. A computer program product may include a software program and a computer-readable storage medium on which the software program is stored. For example, a computer program product may be a product in the form of a software program (e.g., a downloadable application) distributed electronically by the manufacturer of the augmented reality device 100 or through an electronic market (e.g., Samsung Galaxy Store). ))) may be included. For electronic distribution, at least a portion of the software program may be stored on a storage medium or created temporarily. In this case, the storage medium may be a storage medium of a server of the manufacturer of the augmented reality device 100, a server of an electronic market, or a relay server that temporarily stores a software program.

컴퓨터 프로그램 제품은, 증강 현실 디바이스(100) 및/또는 서버로 구성되는 시스템에서, 서버의 저장매체 또는 증강 현실 디바이스(100)의 저장매체를 포함할 수 있다. 또는, 증강 현실 디바이스(100)와 통신 연결되는 제3 장치(예를 들어, 웨어러블 디바이스)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 증강 현실 디바이스(100)로부터 제3 장치로 전송되거나, 제3 장치로부터 전자 장치로 전송되는 소프트웨어 프로그램 자체를 포함할 수 있다.The computer program product, in a system comprised of the augmented reality device 100 and/or a server, may include a storage medium of the server or a storage medium of the augmented reality device 100. Alternatively, if there is a third device (eg, a wearable device) in communication connection with the augmented reality device 100, the computer program product may include a storage medium of the third device. Alternatively, the computer program product may include a software program itself that is transmitted from the augmented reality device 100 to a third device or from a third device to an electronic device.

이 경우, 증강 현실 디바이스(100) 또는 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 증강 현실 디바이스(100) 및 제3 장치 중 적어도 하나 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.In this case, either the augmented reality device 100 or a third device may execute the computer program product to perform the method according to the disclosed embodiments. Alternatively, at least one of the augmented reality device 100 and the third device may execute the computer program product and perform the methods according to the disclosed embodiments in a distributed manner.

예를 들면, 증강 현실 디바이스(100)가 메모리(140, 도 3 참조)에 저장된 컴퓨터 프로그램 제품을 실행하여, 증강 현실 디바이스(100)와 통신 연결된 타 전자 장치(예를 들어, 웨어러블 디바이스)가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다. For example, the augmented reality device 100 executes a computer program product stored in the memory 140 (see FIG. 3), and another electronic device (e.g., a wearable device) connected to communication with the augmented reality device 100 is disclosed. It can be controlled to perform the method according to the embodiments.

또 다른 예로, 제3 장치가 컴퓨터 프로그램 제품을 실행하여, 제3 장치와 통신 연결된 전자 장치가 개시된 실시예에 따른 방법을 수행하도록 제어할 수 있다. As another example, a third device may execute a computer program product to control an electronic device communicatively connected to the third device to perform the method according to the disclosed embodiment.

제3 장치가 컴퓨터 프로그램 제품을 실행하는 경우, 제3 장치는 증강 현실 디바이스(100)로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제3 장치는 프리로드(pre-load)된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수도 있다. When the third device executes the computer program product, the third device may download the computer program product from the augmented reality device 100 and execute the downloaded computer program product. Alternatively, a third device may perform the methods according to the disclosed embodiments by executing a computer program product provided in a pre-loaded state.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 컴퓨터 시스템 또는 모듈 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and/or components, such as a described computer system or module, may be combined or combined in a form different from the described method, or other components or equivalents may be used. Appropriate results can be achieved even if replaced or replaced by .

Claims (20)

카메라(110);
가속도 센서(accelerometer)(122) 및 자이로 센서(gyro sensor)(124)를 포함하는 IMU 센서(Inertial Measurement Unit)(120);
적어도 하나의 명령어들(instructions)를 저장하는 메모리(140); 및
상기 적어도 하나의 명령어들을 실행하는 적어도 하나의 프로세서(130);
를 포함하고,
상기 적어도 하나의 프로세서(130)는,
상기 카메라(110)를 이용하여 현실 공간을 촬영하여 공간 이미지를 획득하고,
상기 획득된 공간 이미지로부터 벽 및 바닥을 포함하는 평면을 인식하고,
상기 인식된 평면에 따라 상기 벽과 바닥을 확장하고, 상기 공간 이미지를 이용하여 상기 확장된 벽과 바닥 중 객체에 의해 가려진 영역에 대하여 3차원 인-페인팅을 수행함으로써 현실 공간에 관한 3차원 모델을 생성하고,
사용자 입력에 의해 선택된 객체를 상기 공간 이미지로부터 분할하는 2차원 세그멘테이션(2D segmentation)을 수행하고,
상기 객체의 3차원 모델 또는 3차원 위치 정보에 기초하여 상기 공간 이미지 상에서 상기 객체를 현실 공간으로부터 분할하는 3차원 세그멘테이션(3D segmentation)을 수행하는, 증강 현실 디바이스(100).
camera 110;
an Inertial Measurement Unit (IMU) 120 including an accelerometer 122 and a gyro sensor 124;
a memory 140 that stores at least one instruction; and
At least one processor 130 executing the at least one instruction;
Including,
The at least one processor 130,
Obtain a spatial image by photographing real space using the camera 110,
Recognize a plane including a wall and a floor from the acquired spatial image,
By expanding the wall and floor according to the recognized plane and performing 3D in-painting on the area obscured by the object among the expanded wall and floor using the spatial image, a 3D model of the real space is created. create,
Perform 2D segmentation to segment an object selected by user input from the spatial image,
An augmented reality device 100 that performs 3D segmentation to segment the object from real space on the spatial image based on a 3D model or 3D location information of the object.
제1 항에 있어서,
상기 적어도 하나의 프로세서(130)는,
상기 생성된 3차원 모델을 현실 공간 내의 벽 및 바닥의 위치에 배치하고,
상기 3차원 세그멘테이션을 통해 상기 객체가 분할된 영역을 상기 3차원 모델을 이용하여 렌더링(rendering)하는, 증강 현실 디바이스(100).
According to claim 1,
The at least one processor 130,
Place the generated 3D model at the location of walls and floors in real space,
An augmented reality device 100 that renders the area into which the object is divided through the 3D segmentation using the 3D model.
제1 항 및 제2 항 중 어느 하나의 항에 있어서,
상기 적어도 하나의 프로세서(130)는,
상기 인식된 벽 및 바닥을 포함하는 평면들 각각으로부터 평면 방정식을 도출하고,
상기 도출된 평면 방정식에 기초하여 상기 벽 및 바닥을 확장함으로써, 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 획득하고,
상기 공간 이미지로부터 상기 벽 및 바닥과 현실 공간 내에 배치된 객체를 식별하고,
상기 벽 및 바닥 중 상기 식별된 객체에 의해 가려진 영역을 상기 공간 이미지의 정보를 이용하여 인-페인팅하고,
상기 가상의 벽 및 가상의 바닥의 3차원 모델 형태에 인-페인팅 이미지의 텍스쳐(texture)를 적용하여 상기 현실 공간에 관한 3차원 모델을 생성하는, 증강 현실 디바이스(100).
According to any one of claims 1 and 2,
The at least one processor 130,
Deriving a plane equation from each of the planes including the recognized wall and floor,
Obtaining three-dimensional model shapes of the virtual wall and virtual floor by expanding the wall and floor based on the derived plane equation,
Identifying objects placed in the wall, floor, and real space from the spatial image,
In-painting an area of the wall and floor obscured by the identified object using information from the spatial image,
An augmented reality device 100 that generates a three-dimensional model of the real space by applying a texture of an in-painting image to the three-dimensional model form of the virtual wall and virtual floor.
제3 항에 있어서,
상기 적어도 하나의 프로세서(130)는,
상기 확장된 벽 및 바닥이 만나는 교선을 추출하고,
상기 추출된 교선에 기초하여 상기 벽 및 상기 바닥의 평면들을 구분하고,
상기 구분된 평면들 각각의 버텍스(vertex) 좌표들을 획득하고,
상기 획득된 버텍스 좌표들에 기초하여 상기 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 생성하는, 증강 현실 디바이스(100).
According to clause 3,
The at least one processor 130,
Extract the intersection line where the expanded wall and floor meet,
Distinguish the planes of the wall and the floor based on the extracted intersection,
Obtain vertex coordinates for each of the divided planes,
An augmented reality device 100 that generates a three-dimensional model shape of the virtual wall and virtual floor based on the acquired vertex coordinates.
제3 항에 있어서,
상기 적어도 하나의 프로세서(130)는,
상기 공간 이미지로부터 획득된 현실 공간의 깊이 정보 및 컬러 정보 중 적어도 하나에 기초하여 상기 객체를 식별하고,
상기 인식된 벽 및 바닥과 상기 식별된 객체를 구분하는, 증강 현실 디바이스(100).
According to clause 3,
The at least one processor 130,
Identifying the object based on at least one of depth information and color information in real space obtained from the spatial image,
An augmented reality device (100) that distinguishes between the recognized walls and floors and the identified objects.
제1 항 내지 제5 항 중 어느 하나의 항에 있어서,
상기 적어도 하나의 프로세서(130)는,
상기 생성된 3차원 모델을 상기 메모리(140) 내의 저장 공간에 저장하는, 증강 현실 디바이스(100).
According to any one of claims 1 to 5,
The at least one processor 130,
An augmented reality device 100 that stores the generated 3D model in a storage space within the memory 140.
제1 항 내지 제6 항 중 어느 하나의 항에 있어서,
상기 적어도 하나의 프로세서(130)는,
상기 선택된 객체에 대한 3차원 모델이 상기 메모리(140)에 기 저장되어 있는지 여부를 확인하고,
확인 결과 상기 선택된 객체에 관한 3차원 모델이 저장되어 있는 경우, 상기 기 저장된 3차원 모델의 방향을 조절함으로써 상기 공간 이미지 상의 2차원 세그멘테이션의 윤곽선(outlier)과 겹치도록 상기 3차원 모델을 배치하고,
상기 배치된 3차원 모델로부터 상기 객체에 관한 3차원 위치 좌표값을 획득하고,
상기 획득된 3차원 위치 좌표값에 기초하여 상기 객체를 상기 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행하는, 증강 현실 디바이스(100).
According to any one of claims 1 to 6,
The at least one processor 130,
Check whether a 3D model for the selected object is already stored in the memory 140,
As a result of confirmation, if a 3D model for the selected object is stored, adjusting the direction of the previously stored 3D model to arrange the 3D model so that it overlaps the outline (outlier) of the 2D segmentation on the spatial image,
Obtaining 3D position coordinate values for the object from the placed 3D model,
An augmented reality device 100 that performs 3D segmentation to divide the object from the spatial image based on the acquired 3D position coordinate value.
제1 항 내지 제7 항 중 어느 하나의 항에 있어서,
상기 적어도 하나의 프로세서(130)는,
상기 선택된 객체에 대한 3차원 모델이 상기 메모리(140)에 저장되어 있는지 여부를 확인하고,
확인 결과 상기 선택된 객체에 관한 3차원 모델이 저장되어 있지 않은 경우, 상기 공간 이미지로부터 인식된 상기 객체의 경계선(edge), 특징점(feature point), 및 픽셀들의 3차원 위치 좌표값을 획득하고,
상기 획득된 객체의 경계선, 특징점, 및 픽셀들의 3차원 위치 좌표값 중 적어도 하나에 기초하여 3차원 버텍스 모델링(3D vertex modeling)을 수행하고,
상기 3차원 버텍스 모델링을 통해 상기 객체를 상기 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행하는, 증강 현실 디바이스.
According to any one of claims 1 to 7,
The at least one processor 130,
Check whether a 3D model for the selected object is stored in the memory 140,
As a result of confirmation, if the 3D model for the selected object is not stored, obtain the 3D position coordinate values of the edges, feature points, and pixels of the object recognized from the spatial image,
Perform 3D vertex modeling based on at least one of the obtained object's boundary line, feature point, and 3D position coordinate value of pixels,
An augmented reality device that performs 3D segmentation to divide the object from the spatial image through the 3D vertex modeling.
제1 항 내지 제8 항 중 어느 하나의 항에 있어서,
상기 적어도 하나의 프로세서(130)는,
상기 증강 현실 디바이스(100)의 오리엔테이션 또는 시야각(Field of View)이 변경되는 경우 상기 공간 이미지를 추가로 획득하고, 상기 추가로 획득된 공간 이미지에 대하여 2차원 세그멘테이션을 수행함으로써 상기 객체의 윤곽선을 추출하고,
상기 3차원 세그멘테이션을 통해 상기 객체가 분할된 영역의 2차원 윤곽선과 상기 추출된 윤곽선을 비교함으로써 유사도를 측정하고,
상기 유사도를 기 설정된 임계치와 비교하여 상기 3차원 세그멘테이션을 추가로 수행할지 여부를 결정하는, 증강 현실 디바이스(100).
According to any one of claims 1 to 8,
The at least one processor 130,
When the orientation or field of view of the augmented reality device 100 changes, the spatial image is additionally acquired, and the outline of the object is extracted by performing two-dimensional segmentation on the additionally acquired spatial image. do,
Similarity is measured by comparing the extracted outline with the two-dimensional outline of the area where the object is divided through the three-dimensional segmentation,
The augmented reality device 100 determines whether to additionally perform the 3D segmentation by comparing the similarity with a preset threshold.
제9 항에 있어서,
상기 적어도 하나의 프로세서(130)는,
상기 유사도가 상기 임계치 미만인 경우, 상기 3차원 세그멘테이션을 추가로 수행하고, 추가로 수행된 3차원 세그멘테이션을 통해 세그멘테이션 결과를 업데이트(update)하는, 증강 현실 디바이스(100).
According to clause 9,
The at least one processor 130,
When the similarity is less than the threshold, the augmented reality device 100 additionally performs the 3D segmentation and updates the segmentation result through the additionally performed 3D segmentation.
증강 현실 디바이스(100)가 현실 공간에서 객체를 제어하는 증강 현실 서비스를 제공하는 방법에 있어서,
카메라(110)를 이용하여 현실 공간을 촬영하여 획득된 공간 이미지로부터 벽 및 바닥을 포함하는 평면을 인식하는 단계(S410);
상기 인식된 평면에 따라 상기 벽과 바닥을 확장하고, 상기 공간 이미지를 이용하여 상기 확장된 벽과 바닥 중 객체에 의해 가려진 영역에 대하여 3차원 인-페인팅을 수행함으로써 현실 공간에 관한 3차원 모델을 생성하는 단계(S420);
사용자 입력에 의해 선택된 객체를 상기 공간 이미지로부터 분할하는 2차원 세그멘테이션(2D segmentation)을 수행하는 단계(S430); 및
상기 객체의 3차원 모델 또는 3차원 위치 정보에 기초하여 상기 공간 이미지 상에서 상기 객체를 현실 공간으로부터 분할하는 3차원 세그멘테이션(3D segmentation)을 수행하는 단계(S440);
를 포함하는, 방법.
In the method of providing an augmented reality service where the augmented reality device 100 controls an object in real space,
Recognizing a plane including a wall and a floor from a space image obtained by photographing a real space using the camera 110 (S410);
By expanding the wall and floor according to the recognized plane and performing 3D in-painting on the area obscured by the object among the expanded wall and floor using the spatial image, a 3D model of the real space is created. Generating step (S420);
Performing 2D segmentation to segment an object selected by user input from the spatial image (S430); and
Performing 3D segmentation to segment the object from real space on the spatial image based on a 3D model or 3D location information of the object (S440);
Method, including.
제11 항에 있어서,
상기 생성된 3차원 모델을 현실 공간 내의 벽 및 바닥의 위치에 배치하는 단계(S1310); 및
상기 3차원 세그멘테이션을 통해 상기 객체가 분할된 영역을 상기 3차원 모델을 이용하여 렌더링(rendering)하는 단계(S1320);
를 더 포함하는, 방법.
According to claim 11,
Placing the generated 3D model at the positions of walls and floors in real space (S1310); and
Rendering the area into which the object is divided through the 3D segmentation using the 3D model (S1320);
A method further comprising:
제11 항 및 제12 항 중 어느 하나의 항에 있어서,
상기 현실 공간에 관한 3차원 모델을 생성하는 단계(S420)는,
상기 인식된 벽 및 바닥을 포함하는 평면들 각각으로부터 평면 방정식을 도출하는 단계(S510);
상기 도출된 평면 방정식에 기초하여 상기 벽 및 바닥을 확장함으로써, 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 획득하는 단계(S520);
상기 공간 이미지로부터 상기 벽 및 바닥과 현실 공간 내에 배치된 객체를 식별하는 단계(S530);
상기 벽 및 바닥 중 상기 식별된 객체에 의해 가려진 영역을 상기 공간 이미지의 정보를 이용하여 인-페인팅하는 단계(S540); 및
상기 가상의 벽 및 가상의 바닥의 3차원 모델 형태에 인-페인팅 이미지의 텍스쳐(texture)를 적용하여 상기 현실 공간에 관한 3차원 모델을 생성하는 단계(S550);
를 포함하는, 방법.
According to any one of claims 11 and 12,
The step of generating a three-dimensional model of the real space (S420) is,
Deriving a plane equation from each of the planes including the recognized wall and floor (S510);
Obtaining a three-dimensional model shape of the virtual wall and the virtual floor by expanding the wall and the floor based on the derived plane equation (S520);
Identifying objects placed in the wall, floor, and real space from the space image (S530);
In-painting an area of the wall and floor obscured by the identified object using information from the space image (S540); and
Generating a three-dimensional model of the real space by applying a texture of an in-painting image to the three-dimensional model form of the virtual wall and virtual floor (S550);
Method, including.
제13 항에 있어서,
상기 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 생성하는 단계(S520)는,
상기 확장된 벽 및 바닥이 만나는 교선을 추출하는 단계;
상기 추출된 교선에 기초하여 상기 벽 및 상기 바닥의 평면들을 구분하는 단계;
상기 구분된 평면들 각각의 버텍스(vertex) 좌표들을 획득하는 단계; 및
상기 획득된 버텍스 좌표들에 기초하여 상기 가상의 벽 및 가상의 바닥의 3차원 모델 형태를 생성하는 단계;
를 포함하는 방법.
According to claim 13,
The step of generating a three-dimensional model shape of the virtual wall and virtual floor (S520),
extracting an intersection line where the expanded wall and floor meet;
distinguishing planes of the wall and the floor based on the extracted intersection;
Obtaining vertex coordinates of each of the divided planes; and
generating a three-dimensional model shape of the virtual wall and virtual floor based on the obtained vertex coordinates;
How to include .
제13 항에 있어서,
상기 벽 및 바닥과 현실 공간 내에 배치된 객체를 식별하는 단계(S530)는,
상기 공간 이미지로부터 획득된 현실 공간의 깊이 정보 및 컬러 정보 중 적어도 하나에 기초하여 상기 객체를 식별하는 단계; 및
상기 인식된 벽 및 바닥과 상기 식별된 객체를 구분하는 단계;
를 포함하는, 방법.
According to claim 13,
The step (S530) of identifying the walls, floors, and objects placed in real space is,
Identifying the object based on at least one of depth information and color information in real space obtained from the spatial image; and
distinguishing between the recognized walls and floors and the identified objects;
Method, including.
제11 항 내지 제15 항 중 어느 하나의 항에 있어서,
상기 3차원 세그멘테이션을 수행하는 단계(S440)는,
상기 선택된 객체에 대한 3차원 모델이 기 저장되어 있는지 여부를 확인하는 단계(S1010);
확인 결과 상기 선택된 객체에 관한 3차원 모델이 저장되어 있는 경우, 상기 기 저장된 3차원 모델의 방향을 조절함으로써 상기 공간 이미지 상의 2차원 세그멘테이션의 윤곽선(outlier)과 겹치도록 상기 3차원 모델을 배치하는 단계(S1020);
상기 배치된 3차원 모델로부터 상기 객체에 관한 3차원 위치 좌표값을 획득하는 단계(S1030); 및
상기 획득된 3차원 위치 좌표값에 기초하여 상기 객체를 상기 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행하는 단계(S1040);
를 포함하는, 방법.
According to any one of claims 11 to 15,
The step of performing the 3D segmentation (S440) is:
Checking whether a 3D model for the selected object is already stored (S1010);
As a result of confirmation, if a 3D model for the selected object is stored, arranging the 3D model so that it overlaps an outline (outlier) of the 2D segmentation on the spatial image by adjusting the direction of the previously stored 3D model. (S1020);
Obtaining 3D position coordinate values for the object from the arranged 3D model (S1030); and
Performing 3D segmentation to segment the object from the spatial image based on the obtained 3D position coordinate values (S1040);
Method, including.
제11 항 내지 제16 항 중 어느 하나의 항에 있어서,
상기 3차원 세그멘테이션을 수행하는 단계는,
상기 선택된 객체에 대한 3차원 모델이 기 저장되어 있는지 여부를 확인하는 단계(1010);
확인 결과 상기 선택된 객체에 관한 3차원 모델이 저장되어 있지 않은 경우, 상기 공간 이미지로부터 인식된 상기 객체의 경계선(edge), 특징점(feature point), 및 픽셀들의 3차원 위치 좌표값을 획득하는 단계(S1050);
상기 획득된 객체의 경계선, 특징점, 및 픽셀들의 3차원 위치 좌표값 중 적어도 하나에 기초하여 3차원 버텍스 모델링(3D vertex modeling)을 수행하는 단계(S1060); 및
상기 3차원 버텍스 모델링을 통해 상기 객체를 상기 공간 이미지로부터 분할하는 3차원 세그멘테이션을 수행하는 단계(S1070);
를 포함하는, 방법.
According to any one of claims 11 to 16,
The step of performing the 3D segmentation is:
Checking whether a 3D model for the selected object is already stored (1010);
As a result of confirmation, if the 3D model for the selected object is not stored, obtaining the 3D position coordinate values of the edge, feature point, and pixel of the object recognized from the spatial image ( S1050);
Performing 3D vertex modeling based on at least one of the obtained object's boundary line, feature points, and 3D position coordinate values of pixels (S1060); and
Performing 3D segmentation to divide the object from the spatial image through the 3D vertex modeling (S1070);
Method, including.
제11 항 내지 제17 항 중 어느 하나의 항에 있어서,
상기 증강 현실 디바이스(100)의 오리엔테이션 또는 시야각(Field of View)이 변경되는 경우 상기 공간 이미지를 추가로 획득하고, 상기 추가로 획득된 공간 이미지에 대하여 2차원 세그멘테이션을 수행함으로써 상기 객체의 윤곽선을 추출하는 단계(S1420);
상기 3차원 세그멘테이션을 통해 상기 객체가 분할된 영역의 2차원 윤곽선과 상기 추출된 윤곽선을 비교함으로써 유사도를 측정하는 단계(S1430); 및
상기 유사도를 기 설정된 임계치와 비교하여 상기 3차원 세그멘테이션을 추가로 수행할지 여부를 결정하는 단계(S1440);
를 더 포함하는, 방법.
According to any one of claims 11 to 17,
When the orientation or field of view of the augmented reality device 100 changes, the spatial image is additionally acquired, and the outline of the object is extracted by performing two-dimensional segmentation on the additionally acquired spatial image. Step (S1420);
Measuring similarity by comparing the extracted outline with a two-dimensional outline of a region into which the object is divided through the three-dimensional segmentation (S1430); and
Comparing the similarity with a preset threshold to determine whether to additionally perform the 3D segmentation (S1440);
A method further comprising:
제18 항에 있어서,
상기 유사도가 상기 임계치 미만인 경우, 상기 3차원 세그멘테이션을 추가로 수행하고, 추가로 수행된 3차원 세그멘테이션을 통해 세그멘테이션 결과를 업데이트(update)하는 단계(S1460);
를 더 포함하고,
상기 세그멘테이션 결과를 업데이트하는 단계는 기 설정된 시간 간격에 따라 주기적으로 수행되는, 방법.
According to clause 18,
If the similarity is less than the threshold, additionally performing the 3D segmentation and updating the segmentation result through the additionally performed 3D segmentation (S1460);
It further includes,
The method of updating the segmentation result is performed periodically according to a preset time interval.
제11 항 내지 제19 항 중 어느 하나의 항에 기재된 방법을 구현하기 위한 적어도 하나의 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체. A computer-readable recording medium on which at least one program for implementing the method according to any one of claims 11 to 19 is recorded.
KR1020220135234A 2022-09-08 2022-10-19 An augmented reality device for proving augmented reality service which controls an object in the real world space and a method for operating the same KR20240035281A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/012100 WO2024053895A1 (en) 2022-09-08 2023-08-16 Augmented reality device for providing augmented reality service for controlling object in real space and operation method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220114487 2022-09-08
KR1020220114487 2022-09-08

Publications (1)

Publication Number Publication Date
KR20240035281A true KR20240035281A (en) 2024-03-15

Family

ID=90272877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220135234A KR20240035281A (en) 2022-09-08 2022-10-19 An augmented reality device for proving augmented reality service which controls an object in the real world space and a method for operating the same

Country Status (1)

Country Link
KR (1) KR20240035281A (en)

Similar Documents

Publication Publication Date Title
US11315287B2 (en) Generating pose information for a person in a physical environment
US11900569B2 (en) Image-based detection of surfaces that provide specular reflections and reflection modification
KR102583437B1 (en) Pupil detection
US9437038B1 (en) Simulating three-dimensional views using depth relationships among planes of content
US11887246B2 (en) Generating ground truth datasets for virtual reality experiences
US9367203B1 (en) User interface techniques for simulating three-dimensional depth
US11574424B2 (en) Augmented reality map curation
US11010961B2 (en) Object permanence in surface reconstruction
WO2022179344A1 (en) Methods and systems for rendering virtual objects in user-defined spatial boundary in extended reality environment
CN112561071A (en) Object relationship estimation from 3D semantic mesh
CN109710054B (en) Virtual object presenting method and device for head-mounted display equipment
CN113678173A (en) Method and apparatus for graph-based placement of virtual objects
KR20240035281A (en) An augmented reality device for proving augmented reality service which controls an object in the real world space and a method for operating the same
WO2020219379A1 (en) Generating a semantic construction of a physical setting
US11379471B1 (en) Hierarchical datastore for an agent
US20240073402A1 (en) Multi-perspective augmented reality experience
WO2024053895A1 (en) Augmented reality device for providing augmented reality service for controlling object in real space and operation method thereof
US20240071006A1 (en) Mixing and matching volumetric contents for new augmented reality experiences
US20240212201A1 (en) User location determination based on object interactions
US20220334674A1 (en) Information processing apparatus, information processing method, and program
TW202324172A (en) Automatic artificial reality world creation
KR20240037800A (en) Electronic apparatus and control method thereof