KR102357355B1 - 가상 오브젝트 생성 방법 및 장치 - Google Patents

가상 오브젝트 생성 방법 및 장치 Download PDF

Info

Publication number
KR102357355B1
KR102357355B1 KR1020170137757A KR20170137757A KR102357355B1 KR 102357355 B1 KR102357355 B1 KR 102357355B1 KR 1020170137757 A KR1020170137757 A KR 1020170137757A KR 20170137757 A KR20170137757 A KR 20170137757A KR 102357355 B1 KR102357355 B1 KR 102357355B1
Authority
KR
South Korea
Prior art keywords
point cloud
point
virtual object
attribute information
generating
Prior art date
Application number
KR1020170137757A
Other languages
English (en)
Other versions
KR20190045013A (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 KR1020170137757A priority Critical patent/KR102357355B1/ko
Priority to US15/918,054 priority patent/US11024073B2/en
Publication of KR20190045013A publication Critical patent/KR20190045013A/ko
Application granted granted Critical
Publication of KR102357355B1 publication Critical patent/KR102357355B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • 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
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Image Generation (AREA)

Abstract

가상 오브젝트를 생성하기 위한 방법 및 장치가 제공된다. 가상 오브젝트를 생성하기 위해, 오브젝트의 포인트 클라우드(point-clouds)를 획득하고, 오브젝트를 촬영한 하나 이상의 이미지들에 기초하여 오브젝트의 형태 속성 정보(shape attribute information)를 결정하며, 형태 속성 정보에 기초하여 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하고, 변경된 포인트 클라우드에 기초하여 오브젝트에 대한 가상 오브젝트(virtual object)를 생성한다.

Description

가상 오브젝트 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING VIRTUAL OBJECT}
아래의 실시예들은 가상 오브젝트를 생성하기 위한 방법 및 장치에 관한 것으로, 보다 상세하게는 오브젝트를 촬영한 이미지에 기초하여 클라우드 포인트를 변경함으로써 가상 오브젝트를 생성하기 위한 방법 및 장치에 관한 것이다.
현실의 오브젝트의 형상을 반영한 가상 오브젝트가 디지털 컨텐츠에서 이용될 수 있다. 예를 들어, 가상 현실(Virtual Reality) 컨텐츠 또는 증강 현실(Augmented Reality) 컨텐츠에서 가상 오브젝트가 이용될 수 있다. 가상 현실 컨텐츠 또는 증강 현실 컨텐츠는 현실과 유사한 환경을 구현해야하고, 사용자와 밀접하게 인터랙션을 해야하므로 가상 오브젝트가 유용하게 이용될 수 있다.
일 측면에 따른, 가상 오브젝트 생성 방법은, 오브젝트에 대한 깊이 지도(depth map)에 기초하여 생성된 오브젝트의 포인트 클라우드(point-clouds)를 획득하는 단계, 상기 오브젝트를 촬영한 하나 이상의 이미지들에 기초하여 상기 오브젝트의 형태 속성 정보(shape attribute information)를 결정하는 단계, 상기 형태 속성 정보에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계, 및 상기 변경된 포인트 클라우드에 기초하여 상기 오브젝트에 대한 가상 오브젝트(virtual object)를 생성하는 단계를 포함한다.
상기 형태 속성 정보를 결정하는 단계는, 상기 오브젝트의 형태를 인식하도록 훈련된 신경망(neural network)을 이용하여 상기 형태 속성 정보를 결정하는 단계를 포함할 수 있다.
상기 형태 속성 정보는 미리 정의된 복수의 형태들을 나타내는 벡터일 수 있다.
상기 벡터의 요소(element)는 이진 값(binary value)일 수 있다.
상기 형태 속성 정보에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계는, 상기 형태 속성 정보에 기초하여 상기 포인트 클라우드에 대한 에너지 필드를 계산하는 단계, 및 상기 에너지 필드에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계를 포함할 수 있다.
상기 포인트 클라우드에 대한 에너지 필드를 계산하는 단계는, 상기 벡터에 기초하여 상기 에너지 필드를 계산하는 단계를 포함할 수 있다.
상기 벡터에 기초하여 상기 에너지 필드를 계산하는 단계는, 상기 벡터의 각각의 요소에 대한 가중치를 결정하는 단계, 및 상기 가중치에 기초하여 상기 에너지 필드를 계산하는 단계를 포함할 수 있다.
상기 형태 속성 정보에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계는, 상기 벡터의 제1 요소에 대응하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계, 및 상기 벡터의 제2 요소에 대응하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계를 포함할 수 있다.
상기 포인트 클라우드를 획득하는 단계는, 상기 하나 이상의 이미지들에 기초하여 깊이 지도를 생성하는 단계, 및 상기 깊이 지도에 기초하여 상기 포인트 클라우드를 생성하는 단계를 포함할 수 있다.
상기 깊이 지도를 생성하는 단계는, 상기 오브젝트의 복수의 시점들(multi views)에 대한 복수의 깊이 지도들을 생성하는 단계를 포함할 수 있다
상기 포인트 클라우드를 획득하는 단계는, 깊이 카메라를 이용하여 상기 오브젝트의 깊이 지도를 생성하는 단계, 및 상기 깊이 지도에 기초하여 상기 포인트 클라우드를 생성하는 단계를 포함할 수 있다.
상기 오브젝트에 대한 가상 오브젝트를 생성하는 단계는, 상기 변경된 포인트 클라우드에 기초하여 삼차원 메쉬(3 Dimension mesh)를 생성하는 단계, 및 상기 3D 메쉬에 대한 텍스쳐를 생성하는 단계를 포함할 수 있다.
상기 가상 오브젝트는, 증강 현실(Augmented Reality) 컨텐츠 또는 가상 현실(virtual reality) 컨텐츠 내에 포함될 수 있다.
다른 일 측면에 따른, 가상 오브젝트 생성 장치는, 가상 오브젝트를 생성하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 오브젝트에 대한 깊이 지도에 기초하여 생성된 오브젝트의 포인트 클라우드 (point-clouds)를 획득하는 단계, 상기 오브젝트를 촬영한 하나 이상의 이미지들에 기초하여 상기 오브젝트의 형태 속성 정보(shape attribute information)를 결정하는 단계, 상기 형태 속성 정보에 기초하여 상기 포인트 클라우드에 대한 에너지 필드(energy field)를 계산하는 단계, 상기 에너지 필드에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계, 및 상기 변경된 포인트 클라우드에 기초하여 상기 오브젝트에 대한 가상 오브젝트(virtual object)를 생성하는 단계를 수행한다.
상기 형태 속성 정보를 결정하는 단계는, 상기 오브젝트의 형태를 인식하도록 훈련된 신경망(neural network)을 이용하여 상기 형태 속성 정보를 결정하는 단계를 포함할 수 있다.
상기 형태 속성 정보는 미리 정의된 복수의 형태들을 나타내는 벡터일 수 있다.
상기 형태 속성 정보에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계는, 상기 형태 속성 정보에 기초하여 상기 포인트 클라우드에 대한 에너지 필드를 계산하는 단계, 및 상기 에너지 필드에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계를 포함할 수 있다.
상기 형태 속성 정보에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계는, 상기 벡터의 제1 요소에 대응하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계, 및 상기 벡터의 제2 요소에 대응하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계를 포함할 수 있다.
상기 포인트 클라우드를 획득하는 단계는, 상기 하나 이상의 이미지들에 기초하여 깊이 지도(depth map)를 생성하는 단계, 및 상기 깊이 지도에 기초하여 상기 포인트 클라우드를 생성하는 단계를 포함할 수 있다.
도 1은 일 예에 따른 포인트 클라우드 및 가상 오브젝트를 도시한다.
도 2는 일 실시예에 따른 가상 오브젝트 생성 장치의 구성도이다.
도 3은 일 실시예에 따른 가상 오브젝트 생성 방법의 흐름도이다.
도 4는 일 예에 따른 포인트 클라우드 획득하는 방법의 흐름도이다.
도 5는 다른 일 예에 따른 포인트 클라우드 획득하는 방법의 흐름도이다.
도 6은 일 예에 따른 형태 속성 정보를 도시한다.
도 7은 일 예에 따른 에너지 필드에 기초하여 포인트 클라우드 내의 포인트의 위치를 변경하는 방법의 흐름도이다.
도 8은 일 예에 따른 에너지 필드를 계산하는 방법의 흐름도이다.
도 9는 일 예에 따른 변경된 포인트 클라우드를 도시한다.
도 10은 다른 일 예에 따른 변경된 포인트 클라우드를 도시한다.
도 11은 일 예에 따른 반복적으로 포인트 클라우드 내의 포인트의 위치를 변경하는 방법의 흐름도이다.
도 12는 일 예에 3D 메쉬에 기초하여 가상 오브젝트를 생성하는 방법의 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 예에 따른 포인트 클라우드 및 가상 오브젝트를 도시한다.
가상 현실(Virtual Reality) 컨텐츠 또는 증강 현실(Augmented Reality) 컨텐츠의 제작 및 사용이 크게 늘어남에 따라, 현실의 오브젝트에 대해 생성된 가상 오브젝트가 가상 현실 컨텐츠 또는 증강 현실 컨텐츠에 사용된다. 생성된 가상 오브젝트가 현실의 오브젝트와 유사할수록 컨텐츠의 사용자는 컨텐츠에 몰입한다. 가상 오브젝트는 현실의 오브젝트의 외형 정보(appearance information)를 나타낼 수 있다.
가상 오브젝트는 현실의 오브젝트에 대한 포인트 클라우드(point-clouds)(110)에 기초하여 생성될 수 있다. 포인트 클라우드(110)가 볼륨 데이터(volume data)로 변환됨으로써 가상 오브젝트가 생성될 수 있다. 현실의 오브젝트와 유사한 가상 오브젝트를 생성하기 위해서는 포인트 클라우드(110)를 획득하는 과정 및 포인트 클라우드(110)를 볼륨 데이터로 변환하는 과정에서 발생하는 오차를 감소시켜야 한다. 볼륨 데이터는 삼차원 메쉬(3 Dimension mesh)일 수 있다. 예를 들어, 포인트 클라우드(110)가 현실의 오브젝트의 외형 정보를 잘 나타내지 못하는 경우, 서로 다른 가상의 오브젝트들(120 및 130)이 생성될 수 있다.
일 측면에 따르면, 현실의 오브젝트를 촬영한 이미지에 기초하여 현실의 오브젝트의 형태를 결정하고, 결정된 형태를 포인트 클라우드(110)에 반영하는 방법이 이용될 수 있다. 결정된 형태가 반영된 포인트 클라우드에 기초하여 생성된 가상 오브젝트는 현실 오브젝트의 외형을 명확히 나타낼 수 있다. 아래에서 도 2 내지 도 10을 참조하여 가상 오브젝트를 생성하는 방법이 상세히 설명된다.
도 2는 일 실시예에 따른 가상 오브젝트 생성 장치의 구성도이다.
가상 오브젝트 생성 장치(200)는 통신부(210), 프로세서(220) 및 메모리(230)를 포함한다.
통신부(210)는 프로세서(220) 및 메모리(230)와 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.
통신부(210)는 가상 오브젝트 생성 장치(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 가상 오브젝트 생성 장치(200)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 메모리(230)에 데이터를 전송할 수 있다.
프로세서(220)는 통신부(210)가 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.
메모리(230)는 통신부(210)가 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장한다. 예를 들어, 메모리(230)는 프로그램을 저장할 수 있다. 저장되는 프로그램은 가상 오브젝트를 생성할 수 있도록 코딩되어 프로세서(220)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.
일 측면에 따르면, 메모리(230)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.
메모리(230)는 가상 오브젝트 생성 장치(200)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 가상 오브젝트 생성 장치(200)를 동작 시키는 명령어 세트는 프로세서(220)에 의해 실행된다.
통신부(210), 프로세서(220) 및 메모리(230)에 대해, 아래에서 도 3 내지 도 12를 참조하여 상세히 설명된다.
도 3은 일 실시예에 따른 가상 오브젝트 생성 방법의 흐름도이다.
아래의 단계들(310 내지 340)은 도 2를 참조하여 전술된 가상 오브젝트 생성 장치(200)에 의해 수행될 수 있다.
단계(310)에서, 프로세서(220)는 오브젝트의 포인트 클라우드를 획득한다. 포인트 클라우드는 현실의 오브젝트(이하에서, 현실의 오브젝트는 오브젝트로 약칭된다)의 외형을 나타내는 포인트들을 가상의 3D 공간에 나타낸 것일 수 있다. 포인트는 3D 공간 상의 좌표를 가질 수 있다.
일 측면에 따르면, 포인트 클라우드는 오브젝트에 대한 깊이 지도(depth map)에 기초하여 생성될 수 있다. 포인트 클라우드를 생성하는 방법에 대해, 아래에서 도 4 및 5를 참조하여 상세히 설명된다.
단계(320)에서, 프로세서(220)는 오브젝트를 촬영한 이미지에 기초하여 오브젝트의 형태 속성 정보(shape attribute information)를 결정한다. 형태 속성 정보는 미리 정의된 복수의 형태들을 나타내는 벡터로 표현될 수 있다. 예를 들어, 미리 정의된 복수의 형태들은 거울 대칭(mirror symmetry), 회전 대칭(rotational symmetry), 얇은 구조(thin structure), 거친 면(rough surface) 및 평탄 면(smooth surface)을 포함한다. 형태 속성 정보의 벡터에 대해, 아래에서 도 6을 참조하여 상세히 설명된다.
일 측면에 따르면, 프로세서(220)는 오브젝트의 형태를 인식하도록 훈련된 신경망(neural network)을 이용하여 오브젝트에 대한 형태 속성 정보를 결정할 수 있다. 신경망의 입력은 오브젝트의 이미지이고, 출력은 입력된 이미지에 대한 형태 속성 정보이다. 오브젝트의 형태를 나타내는 라벨(label) 및 오브젝트를 촬영한 이미지를 이용하여 신경망이 미리 훈련될 수 있다. 예를 들어, 라벨은 미리 정의된 복수의 형태들 중 오브젝트가 나타내는 형태에 관한 것이다. 훈련된 신경망이 오브젝트에 대한 형태 속성 정보를 정확히 결정하지 못하는 경우, 신경망이 추가로 훈련될 수 있다. 신경망이 정답을 결정하도록 신경망을 구성하는 적어도 하나의 파라미터의 값이 변경될 수 있다. 예를 들어, 역 전파(back propagation)를 이용하여 신경망이 훈련될 수 있다. 신경망은 알고리즘(algorithm)으로 구현될 수 있고, 신경망은 프로세서(220)에 의해 수행될 수 있다.
단계(330)에서, 프로세서(220)는 결정된 형태 속성 정보에 기초하여 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경할 수 있다.
예를 들어, 결정된 형태 속성 정보에 기초하여 포인트 클라우드에 대한 에너지 필드(energy field)가 계산되고, 에너지 필드에 기초하여 포인트 클라우드 내의 적어도 하나의 포인트의 위치가 변경될 수 있다. 아래에서 도 7을 참조하여, 에너지 필드에 기초하여 포인트 클라우드 내의 포인트의 위치를 변경하는 방법이 상세히 설명된다.
다른 예로, 후술될 미리 정의된 복수의 형태들을 나타내는 벡터의 요소들에 기초하여 포인트 클라우드 내의 적어도 하나의 포인트의 위치가 반복적으로 변경될 수 있다. 아래에서 도 11을 참조하여 벡터의 요소들에 기초하여 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 반복적으로 변경하는 방법이 상세히 설명된다.
변경된 포인트 클라우드에 대해, 아래에서 도 9 및 10을 참조하여 상세히 설명된다.
단계(340)에서, 프로세서(220)는 변경된 포인트 클라우드에 기초하여 오브젝트에 대한 가상 오브젝트를 생성한다. 생성된 가상 오브젝트는 오브젝트의 3D 모델일 수 있다. 예를 들어, 가상 오브젝트는 텍스쳐를 포함하지 않을 수 있다. 다른 예로, 컬러 이미지를 이용하여 포인트 클라우드가 생성된 경우 가상 오브젝트는 텍스쳐를 포함할 수 있다. 생성된 가상 오브젝트는 증간 현실 컨텐츠 또는 가상 현실 컨텐츠 내에 포함될 수 있다. 가상 오브젝트를 생성하는 방법에 대해, 아래에서 도 12룰 참조하여 상세히 설명된다.
도 4는 일 예에 따른 포인트 클라우드 획득하는 방법의 흐름도이다.
일 측면에 따르면, 도 3을 참조하여 전술된 단계(310)는 아래의 단계들(410 및 420)을 포함한다.
단계(410)에서, 프로세서(220)는 오브젝트를 촬영한 이미지들에 기초하여 깊이 지도를 생성한다. 일 측면에 따르면, 가상 오브젝트 생성 장치(200)는 카메라(미도시)를 더 포함할 수 있다. 가상 오브젝트 생성 장치(200)의 사용자는 카메라를 이용하여 오브젝트에 대한 복수의 컬러 이미지들을 촬영할 수 있다. 복수의 이미지들은 다른 시점들에서 오브젝트를 촬영한 이미지들일 수 있다.
프로세서(220)는 서로 다른 시점에서 촬영된 컬러 이미지들을 이용하여 양안 시차를 계산한다. 깊이 지도는 양안 시차를 이용하여 생성될 수 있다. 컬러 이미지들의 촬영 시점이 다양할수록 다양한 시점의 깊이 지도들이 생성될 수 있다.
일 측면에 따르면 깊이 지도가 컬러 이미지에 기초하여 생성되는 경우, 깊이 지도의 픽셀(또는 포인트)은 픽셀에 대한 컬러 값 또는 텍스쳐 정보를 포함할 수 있다. 깊이 지도의 픽셀에 대한 컬러 값 또는 텍스쳐 정보는 상기의 픽셀에 대응하는 컬러 이미지의 픽셀로부터 획득될 수 있다.
단계(420)에서, 프로세서(220)는 깊이 지도에 기초하여 포인트 클라우드를 생성한다. 다른 시점의 깊이 지도들을 많이 이용할 수록 포인트 클라우드의 폐색 영역은 감소할 수 있다. 일 측면에 따르면, 프로세서(220)는 복수의 깊이 지도들에서 특징점들을 검출하고, 제1 깊이 지도의 특징점과 상기의 특징점과 대응하는 제2 깊이 지도의 특징점을 연결 또는 결합함으로써 포인트 클라우드를 생성할 수 있다.
도 5는 다른 일 예에 따른 포인트 클라우드 획득하는 방법의 흐름도이다.
다른 일 측면에 따르면, 도 3을 참조하여 전술된 단계(310)는 아래의 단계들(510 및 520)을 포함한다. 가상 오브젝트 생성 장치(200)는 깊이 카메라(미도시)를 더 포함할 수 있다.
단계(510)에서, 깊이 카메라(미도시)를 이용하여 오브젝트의 깊이 지도를 생성한다. 예를 들어, 깊이 카메라는 레이저를 이용하여 깊이 지도를 생성한다. 다른 예로, 깊이 카메라는 광을 방출 및 수신함으로써 계산된 TOF(time of flight)를 이용하여 깊이 지도를 생성한다. 깊이 카메라가 깊이 지도를 생성하는 방식은 기재된 실시예로 한정되지 않는다. 시점을 달리하는 복수의 깊이 지도들이 생성될 수 있다.
단계(520)에서, 프로세서(220)는 깊이 지도에 기초하여 포인트 클라우드를 생성한다. 단계(520)에 대한 설명은 도 4를 참조하여 전술된 단계(420)에 대한 설명으로 대체될 수 있으므로, 간결하고 명확한 설명을 위해 이하에서 생략한다.
도 6은 일 예에 따른 형태 속성 정보를 도시한다.
형태 속성 정보(600)는 미리 설정된 복수의 형태들(610) 및 형태들의 벡터(620)를 포함할 수 있다. 미리 설정된 복수의 형태들(610)은 거울 대칭(attribute_A), 회전 대칭(attribute_B), 얇은 구조(attribute_C) 및 거친 면(attribute_D) 등을 포함할 수 있다.
신경망은 입력된 오브젝트의 이미지에 기초하여 오브젝트가 미리 설정된 복수의 형태들(610) 중 어떠한 형태에 해당하는지를 결정한다. 예를 들어, 신경망은 오브젝트의 형태가 거울 대칭 및 얇은 구조에 해당하는 것으로 결정할 수 있다. 벡터의 요소(element)의 각각은 이진 값(binary value)일 수 있다. 예를 들어, 신경망은 오브젝트의 벡터(620)를 [1 0 1 0 …]로 결정할 수 있다. 벡터의 요소가 1인 경우, 오브젝트가 상기의 요소에 해당하는 형태를 가진 것으로 결정되고, 반대로 벡터의 요소가 0인 경우, 오브젝트가 상기의 요소에 해당하는 형태를 가지지 않은 것으로 결정될 수 있다.
도 7은 일 예에 따른 에너지 필드에 기초하여 포인트 클라우드 내의 포인트의 위치를 변경하는 방법의 흐름도이다.
일 측면에 따르면, 도 3을 참조하여 전술된 단계(330)는 아래의 단계들(710 및 720)을 포함할 수 있다.
단계(710)에서, 프로세서(220)는 결정된 형태 속성 정보에 기초하여 포인트 클라우드에 대한 에너지 필드를 계산한다. 에너지 필드는 포인트 클라우드의 분포(distribution) 또는 위치에 대한 제약조건(constraint)일 수 있다. 에너지 필드는 포인트 클라우드가 위치한 3D 공간 상에 설정된 평면(plane) 및 곡면(curved surface)을 포함할 수 있고, 평면 및 곡면을 조합한 형태일 수 있다.
예를 들어, 오브젝트의 표면이 평탄한 것으로 결정된 경우, 포인트 클라우드의 표면이 평탄해지도록 에너지 필드가 결정될 수 있다. 포인트 클라우드의 표면이 평탄해지는 에너지 필드는 라플라시안 필드(Laplacian field)일 수 있다. 에너지 필드를 계산하는 방법에 대해, 아래에서 도 8을 참조하여 상세히 설명된다.
단계(720)에서, 프로세서(220)는 계산된 에너지 필드에 기초하여 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경할 수 있다.
예를 들어, 포인트 클라우드의 표면이 평탄해지도록 에너지 필드가 계산된 경우, 포인트 클라우드의 표면이 평탄해지는 방향으로, 포인트 클라우드의 포인트들의 분포 또는 위치가 변경될 수 있다. 계산된 에너지 필드를 기준으로 포인트 클라우드의 표면에서 튀어나온 포인트는 내부의 방향으로 이동하고, 상기의 표면에서 들어간 포인트는 외부의 방향으로 이동할 수 있다. 포인트 클라우드에 폐색 영역(occlusion region)이 있는 경우, 폐색 영역을 보완하도록 포인트들이 이동할 수 있다.
다른 예로, 프로세서(220)는 계산된 에너지 필드에 대응하지 않는 포인트 클라우드 내의 포인트를 노이즈로 검출하고, 검출된 노이즈 포인트를 포인트 클라우드에서 삭제할 수 있다.
도 8은 일 예에 따른 에너지 필드를 계산하는 방법의 흐름도이다.
도 7을 참조하여 전술된 단계(710)는 아래의 단계들(810 및 820)을 포함한다.
단계(810)에서, 프로세서(220)는 벡터의 요소 각각에 대한 가중치를 결정한다. 예를 들어, 요소의 값이 1을 나타내는 형태에 대한 가중치를 결정할 수 있다. 도 6의 도시된 실시예에 따르면, 거울 대칭의 형태(attribute_A) 및 얇은 구조의 형태(attribute_C)의 각각에 대한 가중치가 결정된다.
단계(820)에서, 프로세서(220)는 가중치에 기초하여 에너지 필드를 계산한다. 예를 들어, 각각의 형태에 고유의 에너지 필드가 미리 설정되어 있는 경우, 가중치에 기초하여 계산된 오브젝트의 에너지 필드는 에너지 필드들의 가중합(weighted sum)으로 표현될 수 있다. 거울 대칭의 형태(attribute_A)의 에너지 필드가 EA로 명명되고, 가중치가 WA로 명명될 수 있다. 얇은 구조의 형태(attribute_C)의 에너지 필드가 EC로 명명되고, 가중치가 WC로 명명될 수 있다. 최종적으로 계산되는 오브젝트의 에너지 필드(ET)는 아래의 [수학식 1]로 계산될 수 있다.
Figure 112017104706088-pat00001
프로세서(220)는 최종적으로 계산된 에너지 필드(ET)를 이용하여 포인트 클라우드 내의 포인트들의 분포를 변경할 수 있다.
도 9는 일 예에 따른 변경된 포인트 클라우드를 도시한다.
깊이 이미지에 기초하여 생성된 포인트 클라우드(910)는 현실의 오브젝트의 형상을 명확하게 반영하지 않을 수 있다. 오브젝트의 형상은 표면이 평탄한 정육면체인 경우이지만, 생성된 포인트 클라우드(910)는 표면이 평탄하지 않을 수 있다.
신경망은 오브젝트의 이미지를 입력으로 하여 오브젝트의 형상 속성 정보를 결정한다. 예를 들어, 결정된 형상 속성은 정육면체 및 평탄 면일 수 있다. 정육면체 및 평탄 면의 각각에 대한 에너지 필드에 기초하여 최종 에너지 필드가 계산될 수 있다.
프로세서(220)는 최종 에너지 필드를 이용하여 포인트 클라우드(910) 내의 적어도 하나의 포인트의 위치를 변경함으로써 변경된 포인트 클라우드(920)를 생성한다. 최종 에너지 필드에 기초하여 포인트 클라우드(920)의 포인트들 중 정육면체의 형상에서 벗어나는 노이즈 포인트가 삭제되고, 포인트 클라우드(920)의 형상이 정육면체 및 평탄한 표면을 나타내도록 포인트 클라우드(910)의 포인트의 분포 및 위치가 변경될 수 있다.
도 10은 다른 일 예에 따른 변경된 포인트 클라우드를 도시한다.
깊이 이미지에 기초하여 생성된 포인트 클라우드(1010)는 현실의 오브젝트의 형상을 명확하게 반영하지 않을 수 있다. 오브젝트의 형상은 손잡이 부분을 제외한 몸통 부분이 축 대칭(cylindrical symmetry)인 경우이지만, 생성된 포인트 클라우드(1010)는 축 대칭이지 않을 수 있다.
신경망은 오브젝트의 이미지를 입력으로 하여 오브젝트의 형상 속성 정보를 결정한다. 예를 들어, 결정된 형상 속성은 축 대칭일 수 있다. 축 대칭에 대한 에너지 필드에 기초하여 최종 에너지 필드가 계산될 수 있다.
프로세서(220)는 최종 에너지 필드를 이용하여 포인트 클라우드(1010) 내의 적어도 하나의 포인트의 위치를 변경함으로써 변경된 포인트 클라우드(1020)를 생성한다. 최종 에너지 필드에 기초하여 포인트 클라우드(1010)의 포인트들 중 축 대칭의 형상에서 벗어나는 노이즈 포인트가 삭제되고, 포인트 클라우드(1020)의 형상이 축 대칭을 나타내도록 포인트 클라우드(910)의 포인트의 분포 및 위치가 변경될 수 있다.
도 11은 일 예에 따른 반복적으로 포인트 클라우드 내의 포인트의 위치를 변경하는 방법의 흐름도이다.
일 측면에 따르면, 도 3을 참조하여 전술된 단계(1110 내지 1130)를 포함할 수 있다. 오브젝트에 대해 결정된 형태들 각각에 대한 클라우드 내의 포인트의 위치가 재배치될 수 있다. 예를 들어, 오브젝트에 대해 n 개의 형태들이 결정된 경우, n 번의 포인트 재배치가 수행될 수 있다.
단계(1110)에서, 프로세서(220)는 벡터의 제1 요소에 대응하여 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경한다. 예를 들어, 제1 요소는 전술된 거울 대칭의 형태를 나타낼 수 있고, 포인트 클라우드 내의 포인트들이 거울 대칭이 되도록 위치가 변경될 수 있다.
단계(1120)에서, 프로세서(220)는 벡터의 제2 요소에 대응하여 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경한다. 예를 들어, 제2 요소는 전술된 회전 대칭의 형태를 나타낼 수 있고, 포인트 클라우드 내의 포인트들이 거울 대칭이 되도록 위치가 변경될 수 있다.
단계(1130)에서, 프로세서(220)는 벡터의 제n 요소에 대응하여 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경한다.
도 12는 일 예에 3D 메쉬에 기초하여 가상 오브젝트를 생성하는 방법의 흐름도이다.
도 3을 참조하여 전술된 단계(340)는 아래의 단계들(1210 및 1220)을 포함할 수 있다.
단계(1210)에서, 프로세서(220)는 변경된 포인트 클라우드에 기초하여 3D 메쉬를 생성한다. 포인트 클라우드에 기초하여 복수의 정점들(vertices)이 생성될 수 있다. 복수의 정점들에 기초하여 3D 메쉬가 생성될 수 있다. 두 개의 정점들을 연결한 선은 엣지(edge)이고, 인접한 엣지들에 의해 면(face)이 생성될 수 있다. 3D 메쉬는 폴리곤 메쉬(polygon mesh)일 수 있다. 3D 메쉬가 가상 오브젝트로 명명될 수 있다.
단계(1220)는 3D 메쉬의 정점에 컬러 값의 정보가 존재하는 경우, 선택적으로 수행될 수 있다. 예를 들어, 오브젝트의 컬러 이미지에 기초하여 포인트 클라우드가 생성된 경우 단계(1020)가 수행된다.
단계(1220)에서, 프로세서(220)는 3D 메쉬에 대한 텍스쳐를 생성한다. 예를 들어, 포인트 클라우드가 컬러 이미지에 기초하여 생성된 경우, 포인트 클라우드의 포인트는 포인트에 대응하는 컬러 이미지의 픽셀의 텍스쳐 정보를 가질 수 있다. 3D 메쉬의 정점이 포인트 클라우드의 포인트에 기초하여 생성되므로, 상기의 포인트에 대응하는 정점은 상기의 텍스쳐 정보를 가질 수 있다.
3D 메쉬에 텍스쳐가 생성된 경우, 가상 오브젝트는 실제의 오브젝트와 형상뿐만 아니라, 색상도 유사하게 표현될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
200: 가상 오브젝트 생성 장치
210: 통신부
220: 프로세서
230: 메모리

Claims (20)

  1. 오브젝트에 대한 깊이 지도(depth map)에 기초하여 생성된 오브젝트의 포인트 클라우드(point-clouds)를 획득하는 단계;
    상기 오브젝트를 촬영한 하나 이상의 이미지들에 기초하여 상기 오브젝트의 형태 속성 정보(shape attribute information)를 결정하는 단계 - 상기 형태 속성 정보는 미리 정의된 복수의 형태들을 나타내는 벡터임 -;
    상기 형태 속성 정보에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계; 및
    상기 변경된 포인트 클라우드에 기초하여 상기 오브젝트에 대한 가상 오브젝트(virtual object)를 생성하는 단계
    를 포함하고,
    상기 형태 속성 정보에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계는,
    상기 벡터의 제1 요소에 대응하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계; 및
    상기 벡터의 제2 요소에 대응하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계
    를 포함하는,
    가상 오브젝트 생성 방법.
  2. 제1항에 있어서,
    상기 형태 속성 정보를 결정하는 단계는,
    상기 오브젝트의 형태를 인식하도록 훈련된 신경망(neural network)을 이용하여 상기 형태 속성 정보를 결정하는 단계
    를 포함하는,
    가상 오브젝트 생성 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 벡터의 요소(element)는 이진 값(binary value)인,
    가상 오브젝트 생성 방법.
  5. 제1항에 있어서,
    상기 형태 속성 정보에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계는,
    상기 형태 속성 정보에 기초하여 상기 포인트 클라우드에 대한 에너지 필드를 계산하는 단계; 및
    상기 에너지 필드에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계
    를 포함하는,
    가상 오브젝트 생성 방법.
  6. 제5항에 있어서,
    상기 포인트 클라우드에 대한 에너지 필드를 계산하는 단계는,
    상기 벡터에 기초하여 상기 에너지 필드를 계산하는 단계
    를 포함하는,
    가상 오브젝트 생성 방법.
  7. 제6항에 있어서,
    상기 벡터에 기초하여 상기 에너지 필드를 계산하는 단계는,
    상기 벡터의 각각의 요소에 대한 가중치를 결정하는 단계; 및
    상기 가중치에 기초하여 상기 에너지 필드를 계산하는 단계
    를 포함하는,
    가상 오브젝트 생성 방법.
  8. 삭제
  9. 제1항에 있어서,
    상기 포인트 클라우드를 획득하는 단계는,
    상기 하나 이상의 이미지들에 기초하여 깊이 지도를 생성하는 단계; 및
    상기 깊이 지도에 기초하여 상기 포인트 클라우드를 생성하는 단계
    를 포함하는,
    가상 오브젝트 생성 방법.
  10. 제9항에 있어서,
    상기 깊이 지도를 생성하는 단계는,
    상기 오브젝트의 복수의 시점들(multi views)에 대한 복수의 깊이 지도들을 생성하는 단계
    를 포함하는,
    가상 오브젝트 생성 방법.
  11. 제1항에 있어서,
    상기 포인트 클라우드를 획득하는 단계는,
    깊이 카메라를 이용하여 상기 오브젝트의 깊이 지도를 생성하는 단계; 및
    상기 깊이 지도에 기초하여 상기 포인트 클라우드를 생성하는 단계
    를 포함하는,
    가상 오브젝트 생성 방법.
  12. 제1항에 있어서,
    상기 오브젝트에 대한 가상 오브젝트를 생성하는 단계는,
    상기 변경된 포인트 클라우드에 기초하여 삼차원 메쉬(3 Dimension mesh)를 생성하는 단계; 및
    상기 삼차원 메쉬에 대한 텍스쳐를 생성하는 단계
    를 포함하는,
    가상 오브젝트 생성 방법.
  13. 제1항에 있어서,
    상기 가상 오브젝트는,
    증강 현실(Augmented Reality) 컨텐츠 또는 가상 현실(virtual reality) 컨텐츠 내에 포함되는,
    가상 오브젝트 생성 방법.
  14. 제1항, 제2항, 제4항, 제5항, 제6항, 제7항, 제9항, 제10항, 제11항, 제12항 및 제13항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
  15. 가상 오브젝트 생성 장치에 있어서,
    가상 오브젝트를 생성하는 프로그램이 기록된 메모리; 및
    상기 프로그램을 수행하는 프로세서
    를 포함하고,
    상기 프로그램은,
    오브젝트에 대한 깊이 지도에 기초하여 생성된 오브젝트의 포인트 클라우드 (point-clouds)를 획득하는 단계;
    상기 오브젝트를 촬영한 하나 이상의 이미지들에 기초하여 상기 오브젝트의 형태 속성 정보(shape attribute information)를 결정하는 단계;
    상기 형태 속성 정보에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계; 및
    상기 변경된 포인트 클라우드에 기초하여 상기 오브젝트에 대한 가상 오브젝트(virtual object)를 생성하는 단계
    를 수행하고,
    상기 형태 속성 정보에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계는,
    상기 형태 속성 정보에 기초하여 상기 포인트 클라우드에 대한 에너지 필드를 계산하는 단계; 및
    상기 에너지 필드에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계
    를 포함하는,
    가상 오브젝트 생성 장치.
  16. 제15항에 있어서,
    상기 형태 속성 정보를 결정하는 단계는,
    상기 오브젝트의 형태를 인식하도록 훈련된 신경망(neural network)을 이용하여 상기 형태 속성 정보를 결정하는 단계
    를 포함하는,
    가상 오브젝트 생성 장치.
  17. 제15항에 있어서,
    상기 형태 속성 정보는 미리 정의된 복수의 형태들을 나타내는 벡터인,
    가상 오브젝트 생성 장치.
  18. 삭제
  19. 제17항에 있어서,
    상기 형태 속성 정보에 기초하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계는,
    상기 벡터의 제1 요소에 대응하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계; 및
    상기 벡터의 제2 요소에 대응하여 상기 포인트 클라우드 내의 적어도 하나의 포인트의 위치를 변경하는 단계
    를 포함하는,
    가상 오브젝트 생성 장치.
  20. 제15항에 있어서,
    상기 포인트 클라우드를 획득하는 단계는,
    상기 하나 이상의 이미지들에 기초하여 깊이 지도(depth map)를 생성하는 단계; 및
    상기 깊이 지도에 기초하여 상기 포인트 클라우드를 생성하는 단계
    를 포함하는,
    가상 오브젝트 생성 장치.
KR1020170137757A 2017-10-23 2017-10-23 가상 오브젝트 생성 방법 및 장치 KR102357355B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170137757A KR102357355B1 (ko) 2017-10-23 2017-10-23 가상 오브젝트 생성 방법 및 장치
US15/918,054 US11024073B2 (en) 2017-10-23 2018-03-12 Method and apparatus for generating virtual object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170137757A KR102357355B1 (ko) 2017-10-23 2017-10-23 가상 오브젝트 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190045013A KR20190045013A (ko) 2019-05-02
KR102357355B1 true KR102357355B1 (ko) 2022-01-28

Family

ID=66170663

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170137757A KR102357355B1 (ko) 2017-10-23 2017-10-23 가상 오브젝트 생성 방법 및 장치

Country Status (2)

Country Link
US (1) US11024073B2 (ko)
KR (1) KR102357355B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102215101B1 (ko) * 2019-07-16 2021-02-09 연세대학교 산학협력단 이미지로부터 획득한 객체의 특징을 이용한 포인트 클라우드 생성 장치 및 방법
KR20210069806A (ko) 2019-12-04 2021-06-14 주식회사 이토이랩 휴대단말기의 인공 지능 신경망을 이용한 실상 및 가상의 정합 방법 및 그 장치
KR102346090B1 (ko) * 2020-05-06 2021-12-31 광운대학교 산학협력단 체적 3d 비디오 데이터의 실시간 혼합 현실 서비스를 위해 증강 현실 원격 렌더링 방법
KR102299902B1 (ko) * 2020-07-17 2021-09-09 (주)스마트큐브 증강현실을 제공하기 위한 장치 및 이를 위한 방법
KR20220084842A (ko) * 2020-12-14 2022-06-21 삼성전자주식회사 증강 현실 콘텐츠를 디스플레이하는 전자 장치 및 방법
KR102521565B1 (ko) * 2021-01-04 2023-04-13 광운대학교 산학협력단 3차원 그래프 뉴럴 네트워크 검출을 이용하여 증강현실 서비스를 제공하고 재생하는 장치 및 방법
US11810245B2 (en) * 2021-08-25 2023-11-07 Verizon Patent And Licensing Inc. Methods and systems for prioritized replication of a virtual world
KR20230057851A (ko) * 2021-10-22 2023-05-02 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
CN114840285B (zh) * 2022-03-17 2023-08-11 网易(杭州)网络有限公司 游戏中的处理方法、装置、终端设备及存储介质
KR102594540B1 (ko) * 2023-05-08 2023-10-26 주식회사 그라운드원 딥러닝 기반의 3d 모델링 자동생성 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110194739A1 (en) * 2010-02-10 2011-08-11 Imorphics Limited Image analysis
US20170154471A1 (en) * 2014-06-26 2017-06-01 Korea Advanced Institute Of Science And Technology Apparatus and method for providing augmented reality interaction service

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000357234A (ja) * 1999-06-16 2000-12-26 Canon Inc 画像処理装置およびその方法
US7084868B2 (en) * 2000-04-26 2006-08-01 University Of Louisville Research Foundation, Inc. System and method for 3-D digital reconstruction of an oral cavity from a sequence of 2-D images
JP2002189112A (ja) 2000-12-22 2002-07-05 Canon Inc 回折光学素子の製造方法、回折光学素子の製造方法によって製造したことを特徴とする回折光学素子製造用金型、回折光学素子、および該回折光学素子を有する光学系、光学機器、露光装置、デバイス製造方法、デバイス
US7406220B1 (en) 2006-03-09 2008-07-29 Lockheed Martin Coherent Technologies, Inc. Beam steering and combination
US8179328B2 (en) 2008-03-19 2012-05-15 Astron Wireless Technologies, Inc. Direction finding antenna
US20130051516A1 (en) 2011-08-31 2013-02-28 Carestream Health, Inc. Noise suppression for low x-ray dose cone-beam image reconstruction
US9171393B2 (en) * 2011-12-07 2015-10-27 Microsoft Technology Licensing, Llc Three-dimensional texture reprojection
KR101901961B1 (ko) 2011-12-21 2018-09-28 한국전자통신연구원 부품을 인식하기 위한 장치 및 그 방법
KR102184766B1 (ko) 2013-10-17 2020-11-30 삼성전자주식회사 3차원 모델 복원 시스템 및 방법
CN104570403B (zh) 2013-10-24 2018-08-31 凯沃斯光电技术 可调谐波长滤波器及其在外腔型可调谐波长激光器的应用
EP3175791B1 (en) 2013-11-04 2021-09-08 Ecential Robotics Method for reconstructing a 3d image from 2d x-ray images
US20170116498A1 (en) * 2013-12-04 2017-04-27 J Tech Solutions, Inc. Computer device and method executed by the computer device
US9524582B2 (en) * 2014-01-28 2016-12-20 Siemens Healthcare Gmbh Method and system for constructing personalized avatars using a parameterized deformable mesh
JP6684094B2 (ja) 2015-03-20 2020-04-22 古河電気工業株式会社 波長可変レーザ素子およびレーザモジュール
US20170005416A1 (en) 2015-06-30 2017-01-05 Raytheon Company Multi-beam phased array antenna
KR20170050465A (ko) 2015-10-30 2017-05-11 에스케이텔레콤 주식회사 얼굴 인식 장치 및 방법
US10210669B1 (en) * 2016-06-03 2019-02-19 The United States Of America As Represented By The Scretary Of The Navy Method for 3D object, environment model, and documentation generation using scan point clouds and digital object libraries
US10192345B2 (en) * 2016-07-19 2019-01-29 Qualcomm Incorporated Systems and methods for improved surface normal estimation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110194739A1 (en) * 2010-02-10 2011-08-11 Imorphics Limited Image analysis
US20170154471A1 (en) * 2014-06-26 2017-06-01 Korea Advanced Institute Of Science And Technology Apparatus and method for providing augmented reality interaction service

Also Published As

Publication number Publication date
US20190122414A1 (en) 2019-04-25
US11024073B2 (en) 2021-06-01
KR20190045013A (ko) 2019-05-02

Similar Documents

Publication Publication Date Title
KR102357355B1 (ko) 가상 오브젝트 생성 방법 및 장치
US10165259B2 (en) Generating novel views of a three-dimensional object based on a single two-dimensional image
US9619933B2 (en) Model and sizing information from smartphone acquired image sequences
JP5778237B2 (ja) ポイントクラウド内の埋め戻しポイント
US11189043B2 (en) Image reconstruction for virtual 3D
US10574967B2 (en) Autonomous performance of an operation on an object using a generated dense 3D model of the object
EP3326156B1 (en) Consistent tessellation via topology-aware surface tracking
US20100054579A1 (en) Three-dimensional surface generation method
KR20230042383A (ko) 포인트 클라우드 데이터 생성 방법 및 장치
US20190035148A1 (en) Resolution adaptive mesh that is generated using an intermediate implicit representation of a point cloud
CA2861555A1 (en) Densifying and colorizing point cloud representation of physical surface using image data
CN111094895A (zh) 用于在预构建的视觉地图中进行鲁棒自重新定位的***和方法
KR101851303B1 (ko) 3차원 공간 재구성 장치 및 방법
JP6613749B2 (ja) 視差画像生成方法及び視差画像生成装置
US10726614B2 (en) Methods and systems for changing virtual models with elevation information from real world image processing
CN108495113B (zh) 用于双目视觉***的控制方法和装置
CN111741286A (zh) 使用光线投射法的基于图像的多个深度图像的几何融合
KR102467556B1 (ko) 실측 깊이정보를 이용한 정밀한 360 이미지 제작기법
KR20220008466A (ko) 3차원 점군 데이터의 메쉬 생성 방법 및 장치
EP3676808B9 (en) Methods, devices and computer program products for generation of mesh in constructed 3d images containing incomplete information
CN115349140A (zh) 基于多种特征类型的有效定位
KR20150136348A (ko) 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법
US20220222842A1 (en) Image reconstruction for virtual 3d
KR20230049969A (ko) 글로벌 측위 장치 및 방법
KR101208767B1 (ko) 곡면 투사를 이용한 입체 영상 생성 방법, 장치 및 시스템, 이를 위한 기록 매체

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant