KR20240053898A - 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체의 디지털 모델에 대응되는 실물 객체에 가상 모델을 증강하는 방법 - Google Patents

타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체의 디지털 모델에 대응되는 실물 객체에 가상 모델을 증강하는 방법 Download PDF

Info

Publication number
KR20240053898A
KR20240053898A KR1020220133999A KR20220133999A KR20240053898A KR 20240053898 A KR20240053898 A KR 20240053898A KR 1020220133999 A KR1020220133999 A KR 1020220133999A KR 20220133999 A KR20220133999 A KR 20220133999A KR 20240053898 A KR20240053898 A KR 20240053898A
Authority
KR
South Korea
Prior art keywords
digital model
edge
target object
area
extracting
Prior art date
Application number
KR1020220133999A
Other languages
English (en)
Inventor
코르피취 토르스텐
Original Assignee
주식회사 버넥트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 버넥트 filed Critical 주식회사 버넥트
Priority to KR1020220133999A priority Critical patent/KR20240053898A/ko
Priority to US18/489,407 priority patent/US20240127456A1/en
Publication of KR20240053898A publication Critical patent/KR20240053898A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

일 실시예는, 저작 컴퓨팅 장치의 컴퓨터 지원 설계 프로그램이 수행하는 타겟 객체를 학습하는 방법으로서, 영상 인식 대상인 타겟 객체의 디지털 모델을 표시하는 단계, 상기 타겟 객체의 디지털 모델의 제1 영역으로부터 임계값 이상의 시인성(visibility)을 가지는 제1 에지를 추출하는 단계, 상기 타겟 객체의 디지털 모델의 상기 제1 영역과 다른 제2 영역으로부터 임계값 이상의 시인성을 가지는 제2 에지를 검출하는 단계, 상기 제1 에지 및 상기 제2 에지를 기초로 상기 타겟 객체의 디지털 모델에 대응되는 실물객체를 인식하기 위한 객체인식 라이브러리 데이터를 생성하는 단계를 포함하는, 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법을 제공한다.

Description

타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체의 디지털 모델에 대응되는 실물 객체에 가상 모델을 증강하는 방법{A method for learning a target object by extracting an edge from a digital model of the target object, and a method for augmenting a virtual model on a real object corresponding to the digital model of the target object using the same}
본 발명은 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체의 디지털 모델에 대응되는 실물 객체에 가상 모델을 증강하는 방법에 관한 것이다.
증강현실은 현실 이미지 위에 3차원 모델을 정합하여 직관적으로 3차원 모델 정보를 가시화할 수 있는 가시화 기술이다. 그러나, 엔지니어가 바라보는 관점에서의 실물 모델의 자세를 추정하기 위해서는 이미지 상에 이미 알고 있는 기준 정보가 필요한데, 기존에는 실물 모델의 다양한 각도에서 바라보았을 때의 모습을 데이터 베이스화하여 입력된 영상과 비교하거나 사용자에 의하여 초기자세를 시스템에 입력한 이후 마커(Marker)를 트래킹(Tracking)하는 방법 등이 사용된 바 있다. 그러나, 생산 중인 제품에 대하여 이러한 방법을 적용하기는 어렵고 사용자가 초기 자세를 정의하기 위하여 많은 시간과 노력이 요구되는 단점이 있으며 마커를 필요로 한다는 제한 조건 때문에 상품화 및 산업으로는 적용이 제약적이다.
마커리스 기반은 마커를 사용하는 경우보다 일반적이고 적용 분야도 넓기 때문에 근래에는 마커리스 증강현실의 연구가 활발하다. 마커기반 증강현실의 단점을 보완하기 위하여 도입된 마커리스 트래킹 기술은 말 그대로 마커를 사용하지 않는데, 일반적인 잡지, 포스터 등의 그래픽 정보나 실 물체의 특징 정보를 그대로 사용할 수 있다는 특징이 있다. 고도의 인식 기술을 요구하며 해당 객체를 인식하여 그와 관련된 정보를 추가 제공하는 방식으로 활용한다.
다만, 마커리스의 경우도 밝기 등의 환경 정보, 배경 상의 다양한 객체들의 형태나 위치가 달라질 경우 정합의 추출의 정확도가 떨어지는 문제가 있다. 정확도 향상을 위해 딥러닝을 사용하여 정합의 정확도를 향상시키는 방법도 제안되었으나, 여전히 다양하고 복잡한 실세계나 실세계 상의 객체로부터 특징 정보를 추출하데는 상당한 노력과 시간을 요한다는 점에서 한계가 있다.
또한, 실물 객체의 추적과 인식 및 실물 객체와 증강 모델 사이의 정합의 매우 높은 수준의 정확도를 요하는 의료 분야나 정밀 산업 분야에서의 증강현실 기술의 활용하기 위해서나 증강현실의 몰입도를 높이기 위해서는 실물 객체의 특징 정보를 빠르고 정확하게 검출하는 것이 요구된다.
한국공개특허공보 제10-2021-0108897호 중국공개특허공보 제108038761호 중국등록특허공보 제110559075호 미국공개특허공보 제2016-0171768호
실시예는 실물 객체를 학습함에 있어 다양한 환경적 요인에 의한 정확도 감소 문제, 고도의 비전 기술을 요하는 문제 등으로부터 비롯된 실물 객체의 학습의 지연이나 비용 등의 문제를 해결할 수 있는 방법을 제공한다.
또한, 실시예는 새로운 또는 일부 구성이 변경된 실물 객체의 학습을 위한 실물 모형의 반복된 제조를 강요하지 않으면서 실물 객체의 학습이 가능한 방법을 제공한다.
또한, 실시에는 실물 객체의 특징 정보를 정확하고 빠르게 학습하기 위하여 컴퓨터 지원 설계 프로그램 상에서 타겟 객체의 디지털 모델을 학습하는 방법을 제공한다.
또한, 실물 객체를 추적 및 인식의 정확도를 높여 콘텐츠의 증강의 정교함을 향상시키는 컴퓨터 지원 설계 프로그램 상에서 타겟 객체의 디지털 모델을 학습하는 방법을 제공한다.
또한, 실시예는 타겟 객체의 디지털 모델로부터 추출한 임계값 이상의 시인성(visibility)을 가지는 에지를 기초로 학습한 데이터를 이용하여 연산량을 축소시킴으로써 향상된 속도로 실물 객체의 포즈를 트래킹하는 방법을 제공한다.
실시예는,
저작 컴퓨팅 장치의 컴퓨터 지원 설계 프로그램이 수행하는 타겟 객체를 학습하는 방법으로서, 영상 인식 대상인 타겟 객체의 디지털 모델을 표시하는 단계, 상기 타겟 객체의 디지털 모델의 제1 영역으로부터 임계값 이상의 시인성을 가지는 제1 에지를 추출하는 단계, 상기 타겟 객체의 디지털 모델의 상기 제1 영역과 다른 제2 영역으로부터 임계값 이상의 시인성을 가지는 제2 에지를 검출하는 단계, 및 상기 제1 에지 및 상기 제2 에지를 기초로 상기 타겟 객체의 디지털 모델에 대응되는 실물객체를 인식하기 위한 객체인식 라이브러리 데이터를 생성하는 단계를 포함하는, 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법을 제공한다.
다른 측면에서, 상기 제1 에지를 추출하는 단계 및 상기 제2 에지를 추출하는 단계에서는, 상기 타겟 객체의 디지털 모델의 구성 요소를 포함하는 서로 인접한 면들 각각의 법선 벡터가 이루는 각도 정보에 기초하여 상기 제1 에지와 상기 제2 에지를 각각 추출할 수 있다.
다른 측면에서, 상기 제1 에지를 추출하는 단계에서는, 상기 타겟 객체의 디지털 모델의 구성 요소를 포함하는 상기 제1 영역의 복수의 면들 중에서 임의의 서로 인접한 면들 각각의 법선 벡터가 이루는 각도의 크기가 임계 각도 이상인 경우, 해당 인접한 면들이 이루는 에지를 상기 제1 에지로 선택할 수 있다.
다른 측면에서, 상기 제2 에지를 추출하는 단계에서는, 상기 타겟 객체의 디지털 모델의 구성 요소를 포함하는 상기 제2 영역의 복수의 면들 중에서 임의의 서로 인접한 면들 각각의 법선 벡터가 이루는 각도의 크기가 임계 각도 이상인 경우, 해당 인접한 면들이 이루는 에지를 상기 제2 에지로 선택할 수 있다.
다른 측면에서, 상기 제1 에지를 추출하는 단계에서는, 상기 디지털 모델의 상기 제1 영역으로부터 제1 초기 에지를 결정하고 상기 제1 초기 에지 중에서 임계값 이상의 시인성을 가지는 상기 제1 에지를 선택할 수 있다.
다른 측면에서, 상기 제2 에지를 추출하는 단계에서는, 상기 디지털 모델의 상기 제2 영역으로부터 제2 초기 에지를 결정하고 상기 제2 초기 에지 중에서 임계값 이상의 시인성을 가지는 상기 제2 에지를 선택할 수 있다.
다른 측면에서, 상기 타겟 객체의 디지털 모델의 상기 제1 영역은 제1 시점에서 상기 디지털 모델을 바라본 영역이고, 상기 타겟 객체의 디지털 모델의 상기 제2 영역은 상기 제1 시점과 다른 제2 시점에서 상기 디지털 모델을 바라본 영역일 수 있다.
다른 측면에서, 상기 타겟 객체의 디지털 모델의 상기 제1 영역은 상기 디지털 모델과 이격된 제1 위치에서 상기 디지털 모델을 바라봤을 때 보이는 영역이며, 상기 타겟 객체의 디지털 모델의 상기 제2 영역은 상기 디지털 모델과 이격된 상기 제1 위치와 다른 제2 위치에서 상기 디지털 모델을 바라봤을 때 보이는 영역일 수 있다.
다른 측면에서, 상기 타겟 객체의 디지털 모델로부터 에지를 검출하여 타겟 객체를 학습하는 방법은 증강 콘텐츠를 생성하고 상기 타겟 객체의 디지털 모델에 상기 증강 콘텐츠를 정합하며, 상기 디지털 모델에 대해 상기 증강 콘텐츠가 정합된 콘텐츠를 저장하는 단계를 더 포함할 수 있다.
다른 일 실시예는, 카메라를 포함하는 단말의 증강현실 프로그램에서 수행하는 실물객체에 가상 모델을 증강하는 방법으로서, 상기 객체인식 라이브러리 데이터를 수신하고 저장하는 단계, 주변 환경을 촬영하여 촬영 영상을 획득하는 단계, 상기 획득된 촬영 영상 내에서 상기 저장된 객체인식 라이브러리 데이터와 매칭되는 실물객체를 검출하는 단계 및 상기 검출된 실물객체에 증강 콘텐츠를 상기 실물객체에 매칭하여 표시하는 단계를 포함하는, 실물객체에 가상 모델을 증강하는 방법을 제공한다.
다른 측면에서, 획득된 촬영 영상 내에서 상기 저장된 객체인식 라이브러리 데이터와 매칭되는 실물객체를 검출하는 단계는, 타겟 객체의 디지털 모델의 제1 영역으로부터 검출된 임계값 이상의 시인성을 가지는 상기 제1 에지와 상기 제1 영역과 다른 제2 영역으로부터 검출된 임계값 이상의 시인성을 가지는 제2 에지에 기초하여 상기 촬영 영상 내에서 실물객체를 검출하는 단계를 포함할 수 있다.
다른 측면에서, 상기 제1 에지 및 상기 제2 에지 각각을 이루는 인접한 면들 각각의 법선 벡터가 이루는 각도의 크기는 임계 각도 이상일 수 있다.
실시예는, 실물 객체의 특징 정보를 효율적인 학습이 가능하고, 실물 객체를 추적 및 인식의 정확도를 높여 콘텐츠의 증강의 정교함을 향상시킬 수 있다.
또한, 실시예는 임계값 이상의 시인성을 가지는 에지를 기초로 수행됨으로써 연산량이 축서되어 향상된 속도를 가지는 타겟 객체의 디지털 모델을 학습하는 방법을 제공한다.
또한, 실시예는 실물 객체의 제작 전 이를 설계하는 단계에서부터 증강 현실 구현을 위해 실물 객체를 학습시킬 수 있다.
또한, 실시예는 실물객체의 다양한 포즈에 대한 인식의 강건한 특성을 가지는 타겟 객체의 학습 데이터를 생성할 수 있다.
또한, 객체인식 라이브러리 데이터는 클라우드 데이터 베이스를 통해 여러 유저 컴퓨팅 장치에 공유되어 사용될 수 있어, 타겟 객체에 대한 학습 데이터의 활용도를 높일 수 있다.
도 1은 일 실시예에 따른 타겟 객체의 디지털 모델로부터 추출한 에지를 기초로 타겟 객체를 학습하여 타켓 객체의 디지털 모델에 대응되는 실물 객체에 가상 모델을 증강하는 방법을 구현하기 위한 시스템의 예시적은 블록다이어그램이다.
도 2 및 도 3은 실제 환경에서 유저 컴퓨팅 장치가 실물 객체를 추적 및 인식하여 실물 객체에 증강된 콘텐츠를 정합하여 표시한 화면을 사용자가 유저 컴퓨팅 장치를 통해 확인하는 것을 묘사한 것이다.
도 4는 일 실시예에 따른 타겟 객체의 디지털 모델로부터 추출한 에지를 기초로 타겟 객체를 학습하는 방법에 대한 흐름도이다.
도 5는 일 실시예에 따른 저작 컴퓨팅 장치에서 실행되는 컴퓨터 지원 설계 프로그램의 유저 인터페이스에 예시적인 타겟 객체의 디지털 모델이 표시된 모습을 개략적으로 묘사한 것이다.
도 6은 일 실시예에 따른 타겟 객체의 디지털 모델로부터 제1 에지와 제2 에지를 추출하는 방법을 설명하기 위한 흐름도이다.
도 7은 예시적인 타겟 객체의 디지털 모델의 다양한 영역으로부터 에지를 추출하는 방법을 설명하기 위한 것이다.
도 8은 일 실시예에 따른 저작 컴퓨팅 장치에서 실행되는 컴퓨터 지원 설계 프로그램의 유저 인터페이스에서 타겟 객체의 디지털 모델의 다양한 영역으로부터 에지가 추출되는 방법을 설명하기 위한 것이다.
도 9는 일 실시예에 따른 타겟 객체의 디지털 모델의 제1 영역으로부터 제1 에지를 추출하는 방법을 설명하기 위한 흐름도이다.
도 10은 일 실시예에 따른 타겟 객체의 디지털 모델의 제2 영역으로부터 제2 에지를 추출하는 방법을 설명하기 위한 흐름도이다.
도 11은 일 실시예에 따른 저작 컴퓨팅 장치에서 실행되는 컴퓨터 지원 설계 프로그램의 유저 인터페이스에 예시적인 타겟 객체의 디지털 모델 및 증강 콘텐츠가 표시된 모습을 개략적으로 묘사한 것이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 타겟 객체의 디지털 모델로부터 추출한 에지를 기초로 타겟 객체를 학습하여 타켓 객체의 디지털 모델에 대응되는 실물 객체에 가상 모델을 증강하는 방법을 구현하기 위한 시스템의 예시적은 블록다이어그램이다. 그리고, 도 2 및 도 3은 실제 환경에서 유저 컴퓨팅 장치가 실물 객체를 추적 및 인식하여 실물 객체에 증강된 콘텐츠를 정합하여 표시한 화면을 사용자가 유저 컴퓨팅 장치를 통해 확인하는 것을 묘사한 것이다. 그리고, 도 4는 일 실시예에 따른 타겟 객체의 디지털 모델로부터 추출한 에지를 기초로 타겟 객체를 학습하는 방법에 대한 흐름도이다. 그리고, 도 5는 일 실시예에 따른 저작 컴퓨팅 장치에서 실행되는 컴퓨터 지원 설계 프로그램의 유저 인터페이스에 예시적인 타겟 객체의 디지털 모델이 표시된 모습을 개략적으로 묘사한 것이다. 그리고, 도 6은 일 실시예에 따른 타겟 객체의 디지털 모델로부터 제1 에지와 제2 에지를 추출하는 방법을 설명하기 위한 흐름도이다. 그리고, 도 7은 예시적인 타겟 객체의 디지털 모델의 다양한 영역으로부터 에지를 추출하는 방법을 설명하기 위한 것이다. 그리고, 도 8은 일 실시예에 따른 저작 컴퓨팅 장치에서 실행되는 컴퓨터 지원 설계 프로그램의 유저 인터페이스에서 타겟 객체의 디지털 모델의 다양한 영역으로부터 에지가 추출되는 방법을 설명하기 위한 것이다. 그리고, 도 9는 일 실시예에 따른 타겟 객체의 디지털 모델의 제1 영역으로부터 제1 에지를 추출하는 방법을 설명하기 위한 흐름도이다. 그리고, 도 10은 일 실시예에 따른 타겟 객체의 디지털 모델의 제2 영역으로부터 제2 에지를 추출하는 방법을 설명하기 위한 흐름도이다. 또한, 도 11은 일 실시예에 따른 저작 컴퓨팅 장치에서 실행되는 컴퓨터 지원 설계 프로그램의 유저 인터페이스에 예시적인 타겟 객체의 디지털 모델 및 증강 콘텐츠가 표시된 모습을 개략적으로 묘사한 것이다.
- 시스템
도 1 내지 도 3을 참조하면, 본 발명의 실시예에 따른 시스템(10)은 저작 컴퓨팅 장치(100), 유저 컴퓨팅 장치(200)를 포함할 수 있다.
본 발명의 실시예에 따른 시스템(10)은 타겟 객체의 디지털 모델로부터 추출한 에지를 기초로 타겟 객체를 학습하고, 학습된 데이터를 이용하여 실제 환경(20)에서 실물 객체(30)를 추적 및 인식하여 실물 객체(30)에 다양한 콘텐츠(ac)를 증강할 수 있다.
저작 컴퓨팅 장치(100)는 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 환경을 제공한다. 또한, 저작 컴퓨팅 장치(100)는 다양한 객체의 3D 모델의 드로잉을 생성하기 위한 환경, 다양한 객체에 다양한 증강 모델이나 각종 정보 등의 콘텐츠를 생성, 편집하기 위한 환경을 제공할 수 있다. 저작 컴퓨팅 장치(100)는 다양한 콘텐츠의 드로잉을 위한 다양한 도구를 제공할 수 있으나, 이에 제한되지 않고 이미지, 2D 또는 3D 객체들을 포함하는 기존 파일들을 임포팅(importing)하기 위한 메커니즘들을 포함할 수 있다.
본 발명의 실시예에서 유저 컴퓨팅 장치(200)로 지칭되는 증강현실을 위한 컴퓨터 시스템들은 증강 현실 환경들을 생성하는 전자 디바이스들을 포함한다. 전자 디바이스와 전자 디바이스에 대한 사용자 인터페이스들, 전자 디바이스를 사용하기 위해 연관된 프로세스들의 실시예들이 기술된다. 일부 실시예에서 유저 컴퓨팅 장치(200)는 휴대용 통신 디바이스, 예컨대 모바일 전화기이다. 또한, 터치 감응형 표면들(예를 들어, 터치 스크린 디스플레이들 및/또는 터치패드들)을 갖는 랩톱 또는 태블릿 컴퓨터들과 같은 다른 휴대용 전자 디바이스들이 옵션적으로 사용된다. 일부 실시예에서, 유저 컴퓨팅 장치(200)는 휴대용 통신 디바이스가 아니라 하나 이상의 카메라들을 포함하거나 이들과 통신하는 컴퓨터 장치가 될 수 있다. 또한, 유저 컴퓨팅 장치(200)는 디바이스를 착용한 증강 및/또는 가상 현실 환경에 몰입된 사용자는 가상 환경을 탐색하고 다양한 상이한 유형의 입력들을 통해 가상 환경과 인터렉션할 수 있는 HMD(Head Mounted Display)를 포함할 수 있다. 일부 실시예에서, 유저 컴퓨팅 장치(200)는 마이크로소프트사의 홀로렌즈(HoloLens), 메타사의 메타1/메타2 글래스, 구글사의 구글글래스, 캐논사의 MD-10, Magic Leap사의 Magic Leap One Creator Edition와 같은 상용 제품이 사용되거나, 동일 내지 유사한 기능을 제공하는 디바이스가 될 수도 있다.
- 컴퓨터 지원 설계 프로그램
저작 컴퓨팅 장치(100) 상에는 컴퓨터 지원 설계 프로그램(100p)이 설치된다. 컴퓨터 지원 설계 프로그램(100p)에는 다양한 Software Developer Kit(SDK)나 라이브러리 형태의 ToolKit가 적용될 수 있다.
도 5에 예시적으로 도시된 바와 같이, 저작 컴퓨팅 장치(100)에서 실행되는 컴퓨터 지원 설계 프로그램(100p)은 실물 객체(30)를 제조하기 전에 실물 객체(30)의 디지털 모델(to)을 제작할 수 있도록 한다. 예를 들어, 컴퓨터 지원 설계 프로그램(100p)은 크루아상의 제1 디지털 모델(to1), 칼판의 제2 디지털 모델(to2)을 2D 드로잉 또는 3D 모델의 형태로 제작할 수 있도록 한다.
또한, 도 11에 예시적으로 도시된 바와 같이 컴퓨터 지원 설계 프로그램(100p)은 실물 객체(30) 상에 증강되는 콘텐츠(ac)인 3차원 모델 정보나 가상 정보를 디지털로 제작할 수 있도록 한다. 또한, 컴퓨터 지원 설계 프로그램(100p)은 실물 객체(30)에 대응하는 타겟 객체의 디지털 모델(to)과 증강 콘텐츠(ac) 사이의 상호간의 물리적, 시각적인 조합을 구현하고 디지털 모델(to)과 증간 콘텐츠(ac)의 위치를 정합할 수 있도록 한다.
다시 도 5를 참조하면, 컴퓨터 지원 설계 프로그램(100p)은 타겟 객체의 모델링을 위한 타겟 객체 모델링 인터페이스(100u1)를 제공할 수 있다. 타겟 객체 모델링 인터페이스(100u1) 상에서 타겟 객체의 디지털 모델(to)의 2D 드로잉이나 3D 모델을 제작할 수 있다.
도 8에 예시적으로 도시된 바와 같이 컴퓨터 지원 설계 프로그램(100p)은 에지 추출 인터페이스(100u2)를 제공할 수 있다. 다양한 실시예에서, 에지 추출 인터페이스(100u2)는 타겟 객체 모델링 인터페이스(100u1)와 하나의 인터페이스로 통합될 수 있다. 다양한 실시예에서, 에지 추출 인터페이스(100u2)는 타겟 객체 모델링 인터페이스(100u1) 상의 특정 어포던스의 선택에 따라 실행되어 타겟 객체 모델링 인터페이스(100u1)와 중첩하여 표시될 수 있다. 또한, 에지 추출 인터페이스(100u2)는 타겟 객체의 에지의 추출, 추출된 에지의 수정, 에지의 편집을 위한 도구를 제공할 수 있다.
도 11에 예시적으로 도시된 바와 같이 컴퓨터 지원 설계 프로그램(100p)은 증강 모델 구현 인터페이스(100u3)를 제공하여 증강 모델의 드로잉을 위한 다양한 도구를 제공할 수 있다. 다양한 실시예에서, 증강 모델 구현 인터페이스(100u3)는 타겟 객체 모델링 인터페이스(100u1)와 하나의 인터페이스로 통합된 형태의 인터페이스가 될 수도 있다.
- 타겟 객체를 학습하는 방법
도 4를 참조하면, 일 실시예에 따른 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법(S100)은 영상 인식 대상인 타겟 객체의 디지털 모델을 표시하는 단계(S101), 디지털 모델의 제1 영역으로부터 임계값 이상의 시인성을 가지는 제1 에지를 추출하는 단계(S103), 디지털 모델의 제1 영역과 다른 제2 영역으로부터 임계값 이상의 시인성을 가지는 제2 에지를 추출하는 단계(S105), 객체인식 라이브러리 데이터를 생성하는 단계(S107), 디지털 모델과 증강 콘텐츠를 정합하는 단계(S109) 및 객체인식 라이브러리 데이터를 전송하는 단계(S111)를 포함할 수 있다.
이하 도면을 참조하여 각 단계를 구체적으로 설명한다.
- 영상 인식 대상인 타겟 객체의 디지털 모델을 표시하는 단계(S101)
도 5에 도시된 바와 같이 컴퓨터 지원 설계 프로그램(100p)은 타겟 객체의 디지털 모델(to)을 표시할 수 있다. 표시된 타겟 객체의 디지털 모델(to)은 예시적으로 3차원 모델로서 타겟 객체 모델링 인터페이스(100u1)를 통해 제작될 수 있다. 일부 실시예에서, 컴퓨터 지원 설계 프로그램(100p)은 미리 저장된 타겟 객체의 디지털 모델(to)을 불러드려 표시할 수 있다. 일부 실시예에 따르면, 타겟 객체의 디지털 모델(to)은 다른 방식의 컴퓨터 지원 설계 프로그램 상에서 제작될 수 있다. 그리고, 컴퓨터 지원 설계 프로그램(100p)은 다른 방식의 컴퓨터 지원 설계 프로그램 상에서 제작된 타겟 객체의 디지털 모델(to)이나 2D 이미지를 임포팅(importing)하여 표시할 수도 있다.
- 디지털 모델로부터 제1 에지 및 제2 에지를 추출하는 단계(S103, S105)
컴퓨터 지원 설계 프로그램(100p)은 디지털 모델(to)의 속성 정보에 기초하여 디지털 모델(to) 상의 에지를 결정할 수 있다. 디지털 모델(to)의 속성 정보는 디지털 모델(to)을 구성하는 각 요소들의 좌표 정보를 포함할 수 있다. 여기서의 요소는 디지털 모델(to)을 이루는 점, 선, 면 중 적어도 하나를 포함할 수 있다. 또한, 다양한 실시예에서, 디지털 모델(to)의 속성 정보는 디지털 모델(to)을 구성하는 각 요소들의 색상 정보를 포함할 수 있다.
디지털 모델(to)의 에지를 결정하기 위하여 다양한 에지 추출 알고리즘이 활용될 수 있다. 예시적으로, 컴퓨터 지원 설계 프로그램(100p)은 디지털 모델(to)의 외형을 구성하는 임의의 지점을 포함하는 평면들의 법선 벡터들 사이의 각도 정보에 기초하여 에지를 추출할 수 있으나 이에 제한되는 것은 아니다.
도 6을 참조하면, 디지털 모델(to)로부터 제1 에지를 추출하는 단계(S103)는 디지털 모델(to)의 제1 영역으로부터 제1 초기 에지를 결정하는 단계(S1031)와 제1 초기 에지 중에서 임계값 이상의 시인성을 가지는 제1 에지를 선택하는 단계(S1032)를 포함할 수 있다. 또한, 디지털 모델(to)로부터 제2 에지를 추출하는 단계(S105)는 디지털 모델(to)의 제2 영역으로부터 제1 초기 에지를 결정하는 단계(S1051)와 제1 초기 에지 중에서 임계값 이상의 시인성을 가지는 제1 에지를 선택하는 단계(S1052)를 포함할 수 있다.
여기서 시인성이란 에지의 보여지는 강도를 의미하며, 시인성이 높은 에지는 에지 추출 알고리즘에 의해 인식이 잘되는 에지일 수 있다. 또한, 시인성의 임계값은 사용자에 의해 다양하게 설정될 수 있다.
이하에서는, 제1 에지를 추출하는 단계(S103)와 제2 에지를 추출하는 단계(S105)에 대해 도 7 및 도 8을 참조하여 상술한다.
도 7에 도시된 바와 같이, 예시적인 디지털 모델(to0)은 복수 개의 에지(E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13)를 포함할 수 있다. 디지털 모델(to0)은 에지 추출 인터페이스(100u2) 상에 표시될 수 있다. 도 7에는 설명의 편의를 위해 에지 추출 인터페이스(100u2)는 생략되었다.
디지털 모델(to0)의 복수 개의 에지(E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13)는 각각 고유의 시인성(V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13)을 가진다. 복수 개의 에지(E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13) 각각의 시인성(V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13)은 서로 다른 값을 가질 수 있다.
예를 들어, 디지털 모델(to0)은 직육면체와 유사한 형상을 가질 수 있다. 디지털 모델(to0)의 제1 영역(a1)으로부터 에지(E1, E2, E3, E4, E5)가 결정될 수 있다. 제1 영역(a1)은 제1 시점에서 디지털 모델(to0)을 바라본 영역일 수 있다. 여기서 제1 시점은 디지털 모델(to0)의 전방 좌측 상단 코너로부터 이격된 제1 위치에서 디지털 모델(to0)을 바라본 시점일 수 있다.
이처럼, 제1 시점에서 디지털 모델(to0)을 바라봤을 때 보여지는 제1 영역(a1)의 에지(E1, E2, E3, E4, E5)는 '제1 초기 에지' 로 지칭될 수 있다. 제1 초기 에지(E1, E2, E3, E4, E5)는 비교적 높은 시인성(V1, V2, V3)을 가지는 에지(E1, E2, E3)와 비교적 낮은 시인성(V4, V5)을 가지는 에지(E4, E5)를 포함할 수 있다. 예를 들어, 에지(E1, E2, E3)의 시인성(V1, V2, V3)은 소정의 임계값 이상이고, 에지(E4, E5)의 시인성(V4, V5)은 소정의 임계값보다 작을 수 있다. 여기서 소정의 임계값은 사용자에 의해 다양하게 설정될 수 있다. 임계값 이상의 시인성(V1, V2, V3)을 가지는 에지(E1, E2, E3)는 임계값 이하의 시인성(V4, V5)을 가지는 에지(E4, E5)에 비해 에지 추출 알고리즘에 의해 인식이 보다 더 잘 될 수 있다.
제1 에지를 추출하는 단계(S103)에서는, 제1 시점에서 디지털 모델(to0)을 바라봤을 때 보여지는 제1 영역(a1)의 제1 초기 에지(E1, E2, E3, E4, E5)를 결정하고(S1031), 제1 초기 에지(E1, E2, E3, E4, E5) 중에서 임계값 이상의 시인성(V1, V2, V3)을 가지는 제1 에지(E1, E2, E3)를 선택할 수 있다(S1032).
또한, 디지털 모델(to0)의 제2 영역(a2)으로부터 에지(E2, E6, E7, E9, E9)가 결정될 수 있다. 제2 영역(a2)은 제1 시점과 다른 제2 시점에서 디지털 모델(to0)을 바라본 영역일 수 있다. 여기서 제2 시점은 디지털 모델(to0)의 전방 우측 상단 코너로부터 이격된 제2 위치에서 디지털 모델(to0)을 바라본 시점일 수 있다.
이처럼, 제2 시점에서 디지털 모델(to0)을 바라봤을 때 보여지는 제2 영역(a2)의 에지(E2, E6, E7, E8, E9)는 '제2 초기 에지' 로 지칭될 수 있다. 제2 초기 에지(E2, E6, E7, E8, E9)는 비교적 높은 시인성(V2, V6, V7)을 가지는 에지(E2, E6, E7)와 비교적 낮은 시인성(V8, V9)을 가지는 에지(E8, E9)를 포함할 수 있다. 예를 들어, 에지(E2, E6, E7)의 시인성(V2, V6, V7)은 소정의 임계값 이상이고, 에지(E8, E9)의 시인성(V8, V9)은 소정의 임계값보다 작을 수 있다. 여기서 소정의 임계값은 사용자에 의해 다양하게 설정될 수 있다. 임계값 이상의 시인성(V2, V6, V7)을 가지는 에지(E2, E6, E7)는 임계값 이하의 시인성(V8, V9)을 가지는 에지(E8, E9)에 비해 에지 추출 알고리즘에 의해 인식이 보다 더 잘 될 수 있다.
제2 에지를 추출하는 단계(S105)에서는, 제2 시점에서 디지털 모델(to0)을 바라봤을 때 보여지는 제2 영역(a2)의 제2 초기 에지(E2, E6, E7, E8, E9)를 결정하고(S1051), 제2 초기 에지(E2, E6, E7, E8, E9) 중에서 임계값 이상의 시인성(V2, V6, V7)을 가지는 제2 에지(E2, E6, E7)를 선택할 수 있다(S1052).
이와 마찬가지로, 디지털 모델(to0)의 제3 영역(a3)으로부터 에지(E7, E10, E11, E12, E13)가 결정될 수 있다. 제3 영역(a2)은 제1 시점 및 제2 시점과 다른 제3 시점에서 디지털 모델(to0)을 바라본 영역일 수 있다. 여기서 제3 시점은 디지털 모델(to0)의 후방 우측 상단 코너로부터 이격된 제3 위치에서 디지털 모델(to0)을 바라본 시점일 수 있다.
이처럼, 제3 시점에서 디지털 모델(to0)을 바라봤을 때 보여지는 제3 영역(a3)의 에지(E7, E10, E11, E12, E13)는 '제3 초기 에지' 로 지칭될 수 있다. 제3 초기 에지(E7, E10, E11, E12, E13)는 비교적 높은 시인성(V7, V10, V11)을 가지는 에지(E7, E10, E11)와 비교적 낮은 시인성(V12, V13)을 가지는 에지(E12, E13)를 포함할 수 있다. 예를 들어, 에지(E7, E10, E11)의 시인성(V7, V10, V11)은 소정의 임계값 이상이고, 에지(E12, E13)의 시인성(V12, V13)은 소정의 임계값보다 작을 수 있다. 여기서 소정의 임계값은 사용자에 의해 다양하게 설정될 수 있다. 임계값 이상의 시인성(V7, V10, V11)을 가지는 에지(E7, E10, E11)는 임계값 이하의 시인성(V12, V13)을 가지는 에지(E12, E13)에 비해 에지 추출 알고리즘에 의해 인식이 보다 더 잘 될 수 있다.
제3 에지를 추출하는 단계에서는, 제3 시점에서 디지털 모델(to0)을 바라봤을 때 보여지는 제3 영역(a3)의 제3 초기 에지(E7, E10, E11, E12, E13)를 결정하고, 제3 초기 에지(E7, E10, E11, E12, E13) 중에서 임계값 이상의 시인성(V7, V10, V11)을 가지는 제3 에지(E7, E10, E11)를 선택할 수 있다.
이상에서 설명한 바와 같이, 디지털 모델(to0)로부터 이격된 서로 다른 제1 위치, 제2 위치 및 제3 위치를 포함하는 복수의 위치에서 순차적으로 디지털 모델(to0)을 바라봤을 때 보여지는 제1 영역, 제2 영역 및 제3 영역을 포함하는 복수의 영역 각각으로부터 초기 에지를 결정할 수 있다. 또한, 제1 영역, 제2 영역 및 제3 영역을 포함하는 복수의 영역 각각의 해당 초기 에지로부터 임계값 이상의 시인성을 가지는 에지를 선택하여 추출할 수 있다. 여기서, 제1 위치는 디지털 모델(to0)로부터 제1 방향으로 제1 거리만큼 이격된 위치이고, 제2 위치는 디지털 모델(to0)로부터 제2 방향으로 제2 거리만큼 이격된 위치이며, 제3 위치는 디지털 모델(to0)로부터 제3 방향으로 제3 거리만큼 이격된 위치일 수 있다.
제1 방향 내지 제3 방향과 제1 거리 내지 제3 거리는 제1 위치 내지 제3 위치가 서로 달라지도록 설정될 수 있다. 예를 들어, 제1 방향, 제2 방향 및 제3 방향이 모두 동일한 경우, 제1 거리, 제2 거리 및 제3 거리는 모두 서로 다를 수 있다. 또한, 예를 들어, 제1 거리, 제2 거리 및 제3 거리가 모두 동일한 경우, 제1 방향, 제2 방향 및 제3 방향은 모두 서로 다를 수 있다.
일 실시예에 따르면, 디지털 모델(to0)로부터 서로 다른 방향으로 모두 동일한 거리만큼 이격된 복수의 위치에서 순차적으로 디지털 모델(to0)을 바라봤을 때 보이는 모든 영역 각각으로부터 초기 에지를 결정할 수 있다.
도 8을 참조하면, 컴퓨터 지원 설계 프로그램(100p)이 제공하는 에지 추출 인터페이스(100u2) 상에 크루아상 형태의 타겟 객체의 디지털 모델(to1)이 표시될 수 있다. 컴퓨터 지원 설계 프로그램(100p)은 디지털 모델(to1)의 제1 영역(a4)으로부터 제1 에지(E14)를 추출하고, 제2 영역(a5)으로부터 제2 에지(E15)를 추출하며, 제3 영역(a6)으로부터 제3 에지(E16)를 추출할 수 있다.
이 경우, 제1 에지(E14)는 디지털 모델(to1)의 제1 영역(a4)으로부터 보여지는 에지 중에서 임계값 이상의 시인성을 가지는 에지일 수 있다. 또한, 제2 에지(E15)는 디지털 모델(to1)의 제2 영역(a5)으로부터 보여지는 에지 중에서 임계값 이상의 시인성을 가지는 에지일 수 있다. 나아가, 제3 에지(E16)는 디지털 모델(to1)의 제3 영역(a6)으로부터 보여지는 에지 중에서 임계값 이상의 시인성을 가지는 에지일 수 있다.
이하에서는 도 9 및 도 10을 참조하여, 예시적인 초기 에지 중에서 임계값 이상의 시인성을 가지는 에지를 선택하는 방법에 대해 설명한다. 그러나, 초기 에지 중에서 임계값 이상의 시인성을 가지는 에지를 선택하는 방법은 도 9 및 도 10을 참조하여 설명하는 방법에 한정되는 것은 아니고, 도 9 및 도 10의 방법 이외의 다양한 방법에 의해서 이루어질 수 있다.
도 9를 참조하면, 제1 초기 에지(E1, E2, E3, E4, E5) 중에서 임계값 이상의 시인성을 가지는 제1 에지(E1, E2, E3)를 선택하는 단계(S1032)는 디지털 모델(to0)의 제1 영역(a1)으로부터 결정된 제1 초기 에지(E1, E2, E3, E4, E5)를 복수의 특성 별로 분류하는 단계(S201) 및 분류된 제1 초기 에지(E1, E2, E3, E4, E5) 중에서, 제1 초기 에지(E1, E2, E3, E4, E5) 중 임의의 어느 하나를 이루는 인접한 면들 각각의 법선 벡터 사이각의 크기가 임계 각도 이상인 경우, 해당 제1 초기 에지(E1, E2, E3)를 제1 에지(E1, E2, E3)로 선택하는 단계(S202)를 포함할 수 있다.
예를 들어, 컴퓨터 지원 설계 프로그램(100p)이 디지털 모델(to0)의 다양한 영역으로부터 결정된 초기 에지들을 특성 별로 분류할 수 있다. 예를 들어, 결정된 초기 에지들은 샤프 에지(Sharp-Edge), 덜 에지(Dull-Edge) 및 플랫 에지(Flat edge)로 분류될 수 있다.
디지털 모델(to0)에서 결정된 초기 에지들 중에서 에지를 형성하는 면과 면의 법선 벡터가 제1 각도 크기 범위를 가지는 경우 샤프 에지로 분류될 수 있고, 에지를 형성하는 면과 면의 법선 벡터가 제1 각도 크기 범위(b1~b2) 내의 최소 각도 크기(b1)보다 작은 각도 크기를 최대 크기로 하는 제2 각도 크기 범위(c1~c2, c2<b1)를 가지는 경우 덜 에지로 분류될 수 있다. 일부 실시예에서, 제2 각도 크기 범위(c1~c2)내의 최소 각도 크기(c1)보다 작은 각도 크기를 최대 크기로 하는 제3 각도 크기 범위(d1~d2, d2<c1)를 가지는 에지는 디지털 모델(to0)에서 가시적인 특징을 생성하지 않는다고 판단하고 해당 에지를 논에지(non-edge)로 판단할 수 있다. 여기서의 제3 각도 크기 범위를 가지는 면과 면 각각의 법선 벡터가 이루는 각도의 크기가 실질적으로 0에 가까운 각도를 가질 수 있다.
또한, 디지털 모델(to0)의 평면의 면 상에는 에지가 존재하지 않아 해당 평면 상에서는 에지가 검출되지 않을 것이다. 그러나, 평면 상에 라인이 도시된 경우를 가정하면, 컴퓨터 지원 설계 프로그램(100p)은 평면 상의 라인을 에지로 결정하여 플랫 에지로 분류할 수 있다. 즉, 라인의 적어도 일부 지점 및 이와 인접한 디지털 모델(to0)의 구성 요소들을 포함하는 평면의 법선 벱터와 라인 주변의 디지털 모델(to0)의 구성 요소를 이루는 평면의 법선 벡터의 사이각은 0도가 되는 경우 해당 라인은 플랫 에지로 분류될 수 있다.
다시 도 9를 참조하면, 디지털 모델(to0)의 제1 영역(a1)으로부터 결정된 제1 초기 에지(E1, E2, E3, E4, E5)를 복수의 특성 별로 분류하는 단계(S201)에서는, 제1 초기 에지(E1, E2, E3, E4, E5)가 샤프 에지(Sharp-Edge), 덜 에지(Dull-Edge) 및 플랫 에지(Flat edge)로 분류될 수 있다.
이 경우, 디지털 모델(to0)의 제1 영역(a1)으로부터 결정된 제1 초기 에지(E1, E2, E3, E4, E5) 중에서, 에지(E1, E2, E3)는 샤프 에지로 분류되고, 에지(E4, E5)는 덜 에지 또는 플랫 에지로 분류될 수 있다.
또한, 제1 초기 에지(E1, E2, E3, E4, E5) 중 임의의 어느 하나를 이루는 인접한 면들 각각의 법선 벡터 사이각의 크기가 임계 각도 이상인 경우의 해당 제1 초기 에지(E1, E2, E3)를 제1 에지(E1, E2, E3)로 선택하는 단계(S202)에서는, 샤프 에지로 분류된 에지(E1, E2, E3)가 제1 에지(E1, E2, E3)로 선택되고, 덜 에지 또는 플랫 에지로 분류된 에지(E4, E5)는 선택에서 제외될 수 있다. 그러나 이에 한정되는 것은 아니고, 덜 에지로 분류된 에지도 제1 에지로 선택되도록 임계 각도 설정이 변경될 수 있다.
이처럼, 제1 초기 에지 중에서 샤프 에지로 분류된 에지가 제1 에지로 선택되도록 임계 각도가 설정될 수도 있고, 이와 달리, 제1 초기 에지 중에서 샤프 에지 및 덜 에지로 분류된 에지가 제1 에지로 선택되도록 임계 각도가 설정될 수도 있다.
또한, 도 10을 참조하면, 제2 초기 에지(E2, E6, E7, E8, E9) 중에서 임계값 이상의 시인성을 가지는 제2 에지(E2, E6, E7)를 선택하는 단계(S1052)는 디지털 모델(to0)의 제2 영역(a2)으로부터 결정된 제2 초기 에지(E2, E6, E7, E8, E9)를 복수의 특성 별로 분류하는 단계(S301) 및 분류된 제2 초기 에지(E2, E6, E7, E8, E9) 중에서, 제2 초기 에지(E2, E6, E7, E8, E9) 중 임의의 어느 하나를 이루는 인접한 면들 각각의 법선 벡터 사이각의 크기가 임계 각도 이상인 경우, 해당 제2 초기 에지(E2, E6, E7)를 제1 에지(E2, E6, E7)로 선택하는 단계(S302)를 포함할 수 있다.
- 객체인식 라이브러리 데이터를 생성하는 단계(S107)
컴퓨터 지원 설계 프로그램(100p)은 추출된 에지에 기초하여 객체인식 라이브러리 데이터를 생성할 수 있다.
일부 실시예에서, 객체인식 라이브러리 데이터는 타겟 객체의 디지털 모델(to)의 위치 정보, 타겟 객체의 디지털 모델(to) 상의 에지의 위치, 에지들 간의 상대적인 위치, 에지의 특성 중 적어도 하나를 포함할 수 있다.
다양한 실시예에서, 컴퓨터 지원 설계 프로그램(100p)은 기 학습된 딥러닝 뉴럴 네트워크를 통해 디지털 모델(to)로부터 추출된 에지를 학습하여 타겟 객체의 디지털 모델(to)에 대한 강건한 특성의 특징 정보를 검출할 수도 있다.
예를 들어, 도 8의 디지털 모델(to1)로부터 추출된 임계값 이상의 시인성을 가지는 제1 에지(E14), 제2 에지(E15), 및 제3 에지(E16)를 학습하여 타겟 객체의 디지털 모델(to1)에 대한 강건한 특성의 특징 정보를 검출할 수 있다. 이 경우, 데이터 학습은 디지털 모델(to1)의 제1 영역(a4), 제2 영역(a5), 제3 영역(a6) 각각으로부터 보여지는 모든 에지 중에서, 임계값 이상의 시인성을 가지는 제1 에지(E14), 제2 에지(E15), 및 제3 에지(E16)를 이용하여 이루어져 연산량이 감소하므로 데이터 학습의 속도가 모든 에지를 이용하는 경우에 비해 향상될 수 잇다.
다양한 실시예에서, 컴퓨터 지원 설계 프로그램(100p)은 검출된 샘플 포인트의 강건성을 테스트하는 환경을 제공할 수 있다.
- 디지털 모델과 증강 콘텐츠 정합하는 단계(S109)
도 11을 참조하면, 컴퓨터 지원 설계 프로그램(100p)은 타겟 객체의 디지털 모델(to)과 정합될 증강 콘텐츠(ac)를 제작할 수 있도록 하는 다양한 도구를 제공할 수 있다. 다양한 실예에서, 컴퓨터 지원 설계 프로그램(100p)은 미리 저장된 증강 콘텐츠(ac)를 불러드려 표시할 수 있다. 일부 실시예에 따르면, 증강 콘텐츠(ac)는 다른 방식의 컴퓨터 지원 설계 프로그램 상에서 제작될 수 있다. 그리고, 컴퓨터 지원 설계 프로그램(100p)은 다른 방식의 컴퓨터 지원 설계 프로그램 상에서 제작된 증강 콘텐츠(ac)를 임포팅(importing)하여 표시할 수도 있다.
컴퓨터 지원 설계 프로그램(100p)은 표시된 증강 콘텐츠(ac)를 x, y, z축으로 이동 및 회전, 확대, 축소 가능도록 하는 인터페이스를 제공하여 증강 콘텐츠(ac)와 타겟 객체의 디지털 모델(to) 상호간의 충분하고 상세하게 정합이 가능하게 한다. 여기서의 정합은 증강 콘텐츠(ac)와 타겟 객체의 디지털 모델(to) 상호간의 물리적인 접촉뿐만 아니라 타겟 객체의 디지털 모델(to)로부터의 이격된 거리의 설정, 타겟 객체의 디지털 모델(to)을 중심으로 증강 콘텐츠(ac)의 표시 위치의 설정을 포함하는 개념임을 유의해야 한다. 또한, 컴퓨터 지원 설계 프로그램(100p)은 증강 콘텐츠(ac)가 시계열적으로 위치 및/또는 형태가 변화하며 시뮬레이션할 수 있도록 동적 속성을 부여하기 위한 도구를 제공할 수 있다. 또한, 컴퓨터 지원 설계 프로그램(100p)은 증강 모델뿐만 아니라 각종 정보를 추가할 수 있도록 하는 인터페이스를 제공할 수도 있다.
- 객체인식 라이브러리 데이터를 전송하는 단계(S111)
저작 컴퓨팅 장치(100)는 외부 장치의 전송 요청에 응답하여 객체인식 라이브러리 데이터를 외부 장치로 전송할 수 있다. 여기서의 외부 장치는 유저 컴퓨팅 장치(200)가 될 수 있으나 이에 한정하는 것은 아니다.
유저 컴퓨팅 장치(200)는 객체인식 라이브러리 데이터를 저장한 예컨대 저작 컴퓨팅 장치(100)로부터 객체인식 라이브러리 데이터를 수신할 수 있다.
다시 도 2 및 도 3을 참조하면, 유저 컴퓨팅 장치(200)는 촬영되는 실제 환경(20) 상의 객체들로부터 타겟 객체의 디지털 모델(to)에 대응하는 실물 객체(30)를 추적할 수 있다. 유저 컴퓨팅 장치(200)는 타겟 객체의 디지털 모델(to) 상에서 추출된 에지에 기초하여 촬영되는 영상 내에서 실물 객체(30)를 검출할 수 있다. 유저 컴퓨팅 장치(200)는 에지 추출 알고리즘을 적용하여 실물 객체를 추적하는 동안 촬영된 이미지로부터 샘플 포인트로서의 특징 정보 추출하고, 객체인식 라이브러리 데이터와 비교하여 실물 객체(30)를 인식할 수 있다.
유저 컴퓨팅 장치(200)는 실물 객체(30)를 인식하면, 데이터베이스나 저작 컴퓨팅 장치(100) 또는 그 밖의 서버에 저장된 증강 콘텐츠(ac)를 호출하고, 증강 콘텐츠(ac)를 실물 객체(30)와 정합하여 랜더링하여 증강하고, 저장된 인터렉션 이벤트가 동작할 수 있도록 이벤트 플래그들을 조정할 수 있다.
유저 컴퓨팅 장치(200)의 카메라가 실물 객체(30)를 관찰하는 각도 및 관찰 거리에 따라 증강된 가상 모델이나 그 밖의 가상의 각종 정보가 여러 측면과 다른 크기의 모습을 관찰할 수 있다. 다양한 실시예에서, 유저 컴퓨팅 장치(200)는 실물 객체(30)와 관련된 다양한 정보들을 표시할 수 있다.
다양한 실시예에서, 사용자는 유저 컴퓨팅 장치(200)의 조작을 통해 유저 컴퓨팅 장치(200) 상에서 표시된 증강된 콘텐츠(ac)를 조작할 수 있다.
다양한 실시예에서, 유저 컴퓨팅 장치(200)는 사용자가 표시된 증강 콘텐츠(ac)를 x, y, z축으로 이동 및 회전, 확대, 축소 가능도록 하는 인터페이스를 제공하여 증강 콘텐츠(ac)에 대한 충분하고 상세한 관찰을 할 수 있도록 한다. 또한, 증강 모델뿐만 아니라 각종 정보를 추가할 수 있도록 하여 정적인 정보가 아닌 보다 풍부한 정보를 제공한다. 또한, 유저 컴퓨팅 장치(200)는 기존 장치에서 증강 모델로 표시되는 새로운 부품의 시공전과 시공 후의 확인이나, 육안으로 확인이 잘 되지 않는 부위에 가상의 구조물을 증강하거나, x, y, z축의 3차원에 시간 차원이 추가된 4D 개념으로서 시간 순에 따라 순차적으로 변화하는 증강 모델의 시뮬레이션을 진행할 수도 있다. 다양한 실시예에서, 유저 컴퓨팅 장치(200)는 인터렉션 기능을 제공할 수 있고, 일부 실시예에서, 인터렉션의 구현을 위해 추가적인 컨트롤러가 사용될 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.
10: 시스템
20: 실제 환경
30: 실물 객체
100: 저작 컴퓨팅 장치
200: 유저 컴퓨팅 장치
ac: 증강 콘텐츠
100p: 컴퓨터 지원 설계 프로그램
100u1: 타겟 객체 모델링 인터페이스
100u2: 에지 추출 인터페이스
100u3: 증강 모델 구현 인터페이스
to, to0, to1,to2: 디지털 모델

Claims (10)

  1. 저작 컴퓨팅 장치의 컴퓨터 지원 설계 프로그램이 수행하는 타겟 객체를 학습하는 방법으로서,
    영상 인식 대상인 타겟 객체의 디지털 모델을 표시하는 단계;
    상기 타겟 객체의 디지털 모델의 제1 영역으로부터 임계값 이상의 시인성(visibility)을 가지는 제1 에지를 추출하는 단계;
    상기 타겟 객체의 디지털 모델의 상기 제1 영역과 다른 제2 영역으로부터 임계값 이상의 시인성을 가지는 제2 에지를 검출하는 단계; 및
    상기 제1 에지 및 상기 제2 에지를 기초로 상기 타겟 객체의 디지털 모델에 대응되는 실물객체를 인식하기 위한 객체인식 라이브러리 데이터를 생성하는 단계; 를 포함하는, 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법.
  2. 제1 항에 있어서,
    상기 제1 에지를 추출하는 단계 및 상기 제2 에지를 추출하는 단계에서는,
    상기 타겟 객체의 디지털 모델의 구성 요소를 포함하는 서로 인접한 면들 각각의 법선 벡터가 이루는 각도 정보에 기초하여 상기 제1 에지와 상기 제2 에지를 각각 추출하는, 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법.
  3. 제1 항에 있어서,
    상기 제1 에지를 추출하는 단계에서는,
    상기 타겟 객체의 디지털 모델의 구성 요소를 포함하는 상기 제1 영역의 복수의 면들 중에서 임의의 서로 인접한 면들 각각의 법선 벡터가 이루는 각도의 크기가 임계 각도 이상인 경우, 해당 인접한 면들이 이루는 에지를 상기 제1 에지로 선택하고,
    상기 제2 에지를 추출하는 단계에서는,
    상기 타겟 객체의 디지털 모델의 구성 요소를 포함하는 상기 제2 영역의 복수의 면들 중에서 임의의 서로 인접한 면들 각각의 법선 벡터가 이루는 각도의 크기가 임계 각도 이상인 경우, 해당 인접한 면들이 이루는 에지를 상기 제2 에지로 선택하는, 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법.
  4. 제1 항에 있어서,
    상기 제1 에지를 추출하는 단계에서는, 상기 디지털 모델의 상기 제1 영역으로부터 제1 초기 에지를 결정하고 상기 제1 초기 에지 중에서 임계값 이상의 시인성을 가지는 상기 제1 에지를 선택하며,
    상기 제2 에지를 추출하는 단계에서는, 상기 디지털 모델의 상기 제2 영역으로부터 제2 초기 에지를 결정하고 상기 제2 초기 에지 중에서 임계값 이상의 시인성을 가지는 상기 제2 에지를 선택하는, 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법.
  5. 제1 항에 있어서,
    상기 타겟 객체의 디지털 모델의 상기 제1 영역은 제1 시점에서 상기 디지털 모델을 바라본 영역이고, 상기 타겟 객체의 디지털 모델의 상기 제2 영역은 상기 제1 시점과 다른 제2 시점에서 상기 디지털 모델을 바라본 영역인, 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법.
  6. 제1 항에 있어서,
    상기 타겟 객체의 디지털 모델의 상기 제1 영역은 상기 디지털 모델과 이격된 제1 위치에서 상기 디지털 모델을 바라봤을 때 보이는 영역이며,
    상기 타겟 객체의 디지털 모델의 상기 제2 영역은 상기 디지털 모델과 이격된 상기 제1 위치와 다른 제2 위치에서 상기 디지털 모델을 바라봤을 때 보이는 영역인, 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법.
  7. 제1 항에 있어서,
    증강 콘텐츠를 생성하고 상기 타겟 객체의 디지털 모델에 상기 증강 콘텐츠를 정합하며, 상기 디지털 모델에 대해 상기 증강 콘텐츠가 정합된 콘텐츠를 저장하는 단계; 를 더 포함하는, 타겟 객체의 디지털 모델로부터 에지를 검출하여 타겟 객체를 학습하는 방법.
  8. 카메라를 포함하는 단말의 증강현실 프로그램에서 수행하는 실물객체에 가상 모델을 증강하는 방법으로서,
    상기 제1 항의 객체인식 라이브러리 데이터를 수신하고 저장하는 단계;
    주변 환경을 촬영하여 촬영 영상을 획득하는 단계;
    상기 획득된 촬영 영상 내에서 상기 저장된 객체인식 라이브러리 데이터와 매칭되는 실물객체를 검출하는 단계; 및
    상기 검출된 실물객체에 증강 콘텐츠를 상기 실물객체에 매칭하여 표시하는 단계; 를 포함하는, 실물객체에 가상 모델을 증강하는 방법.
  9. 제8 항에 있어서,
    상기 획득된 촬영 영상 내에서 상기 저장된 객체인식 라이브러리 데이터와 매칭되는 실물객체를 검출하는 단계는,
    타겟 객체의 디지털 모델의 제1 영역으로부터 검출된 임계값 이상의 시인성을 가지는 상기 제1 에지와 상기 제1 영역과 다른 제2 영역으로부터 검출된 임계값 이상의 시인성을 가지는 제2 에지에 기초하여 상기 촬영 영상 내에서 실물객체를 검출하는 단계를 포함하는, 실물객체에 가상 모델을 증강하는 방법.
  10. 제9 항에 있어서,
    상기 제1 에지 및 상기 제2 에지 각각을 이루는 인접한 면들 각각의 법선 벡터가 이루는 각도의 크기는 임계 각도 이상인, 실물객체에 가상 모델을 증강하는 방법.
KR1020220133999A 2022-10-18 2022-10-18 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체의 디지털 모델에 대응되는 실물 객체에 가상 모델을 증강하는 방법 KR20240053898A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220133999A KR20240053898A (ko) 2022-10-18 2022-10-18 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체의 디지털 모델에 대응되는 실물 객체에 가상 모델을 증강하는 방법
US18/489,407 US20240127456A1 (en) 2022-10-18 2023-10-18 Method for learning a target object by extracting an edge from a digital model of the target object, and a method for augmenting a virtual model on a real object corresponding to the digital model of the target object using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220133999A KR20240053898A (ko) 2022-10-18 2022-10-18 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체의 디지털 모델에 대응되는 실물 객체에 가상 모델을 증강하는 방법

Publications (1)

Publication Number Publication Date
KR20240053898A true KR20240053898A (ko) 2024-04-25

Family

ID=90626607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220133999A KR20240053898A (ko) 2022-10-18 2022-10-18 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체의 디지털 모델에 대응되는 실물 객체에 가상 모델을 증강하는 방법

Country Status (2)

Country Link
US (1) US20240127456A1 (ko)
KR (1) KR20240053898A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210108897A (ko) 2020-02-25 2021-09-03 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 에지를 기반으로 하는 증강현실 3차원 추적 등록 방법, 장치 및 전자 기기

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210108897A (ko) 2020-02-25 2021-09-03 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 에지를 기반으로 하는 증강현실 3차원 추적 등록 방법, 장치 및 전자 기기

Also Published As

Publication number Publication date
US20240127456A1 (en) 2024-04-18

Similar Documents

Publication Publication Date Title
US10732725B2 (en) Method and apparatus of interactive display based on gesture recognition
Zubizarreta et al. A framework for augmented reality guidance in industry
US10977818B2 (en) Machine learning based model localization system
US10964049B2 (en) Method and device for determining pose of camera
Bhattacharya et al. Augmented reality via expert demonstration authoring (AREDA)
EP3769509B1 (en) Multi-endpoint mixed-reality meetings
KR101890459B1 (ko) 3차원으로 디스플레이된 오브젝트의 사용자 선택 제스쳐에 응답하기 위한 방법 및 시스템
EP2814000B1 (en) Image processing apparatus, image processing method, and program
US10950056B2 (en) Apparatus and method for generating point cloud data
Han et al. Line-based initialization method for mobile augmented reality in aircraft assembly
CN112363629B (zh) 一种新的非接触式人机交互方法及系统
WO2021167586A1 (en) Systems and methods for object detection including pose and size estimation
Huang et al. Network algorithm real-time depth image 3D human recognition for augmented reality
KR102442637B1 (ko) 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템
US20230206573A1 (en) Method of learning a target object by detecting an edge from a digital model of the target object and setting sample points, and method of augmenting a virtual model on a real object implementing the target object using the learning method
JP2023529790A (ja) フロアプランを生成するための方法、装置およびプログラム
CN113129362A (zh) 一种三维坐标数据的获取方法及装置
Tian et al. Registration and occlusion handling based on the FAST ICP-ORB method for augmented reality systems
US20230162434A1 (en) Camera motion estimation method for augmented reality tracking algorithm and system therefor
KR20240053898A (ko) 타겟 객체의 디지털 모델로부터 에지를 추출하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체의 디지털 모델에 대응되는 실물 객체에 가상 모델을 증강하는 방법
Schlattmann et al. Markerless 4 gestures 6 DOF real‐time visual tracking of the human hand with automatic initialization
Kim et al. Method for user interface of large displays using arm pointing and finger counting gesture recognition
KR101588409B1 (ko) 마커를 이용하여 표출되는 증강 현실 객체에 대한 입체 사운드 제공 방법
US20230215040A1 (en) Method and system for tracking a cad model in real time based on particle filters
EP4207090A1 (en) A method of learning a target object using a virtual viewpoint camera and a method of augmenting a virtual model on a real object that implements the target object using the same