KR20230130110A - 구조 평면도에 3d 증강 장면의 등록 - Google Patents

구조 평면도에 3d 증강 장면의 등록 Download PDF

Info

Publication number
KR20230130110A
KR20230130110A KR1020237027799A KR20237027799A KR20230130110A KR 20230130110 A KR20230130110 A KR 20230130110A KR 1020237027799 A KR1020237027799 A KR 1020237027799A KR 20237027799 A KR20237027799 A KR 20237027799A KR 20230130110 A KR20230130110 A KR 20230130110A
Authority
KR
South Korea
Prior art keywords
model
data set
geometric data
specific area
planes
Prior art date
Application number
KR1020237027799A
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 스팍스 에이피피 리미티드
Publication of KR20230130110A publication Critical patent/KR20230130110A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • 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
    • 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
    • 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/2016Rotation, translation, scaling

Landscapes

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

Abstract

본 개시는 증강현실(AR) 장면을 특정 영역의 3D 모델에 등록하기 위한 방법 및 시스템으로서, 활성 AR 세션 동안 이미징 센서에 의해 캡처된 시각 데이터를 기반으로 특정 영역의 기하학적 데이터 세트를 축적하는 단계, 상기 특정 영역의 3D 모델을 획득하는 단계, 상기 기하학적 데이터 세트 및 상기 회전된 3D 모델에서 식별된 대응 평면의 평행성에 기초하여 여러 후보의 주 회전 각도로 회전된 상기 3D 모델과 비교하여 상기 기하학적 데이터 세트에 대한 유사성 점수를 계산하는 단계, 가장 높은 점수 주 회전 각도를 선택하는 단계, 상기 대응 평면 사이의 거리를 기준으로 상기 선택된 주 회전 각도에 대한 복수의 미세 조정 회전 각도 각각에 대한 병진 벡터를 계산하는 단계, 최소 거리 미세 조정 회전 각도를 선택하는 단계, 그리고 상기 선택된 미세 조정 회전 각도 및 해당 병진 벡터에 따라 상기 기하학적 데이터 세트를 상기 3D 모델에 등록하는 단계를 포함한다.

Description

구조 평면도에 3D 증강 장면의 등록
본 출원은 2021년 7월 6일에 출원된 미국 특허 출원 제17/367,707호의 우선권을 주장하며, 이 출원은 2021년 1월 17일에 출원된 미국 가특허 출원 제63/138,473호의 우선권을 주장하며, 그 내용은 전체적으로 참조로 여기에 포함된다.
본 발명은, 일부 실시예에서, 3차원(3D) 증강 현실 장면을 등록하는 것에 관한 것으로, 더 구체적으로는, 배타적이지는 않지만, 장면 위치의 평면도를 기반으로 생성된 장면의 구조 모델에 3D 증강 현실 장면을 등록하는 것에 관한 것이다.
현실 세계 장면에 시각 데이터, 오디오 데이터, 촉각 데이터 등의 데이터를 추가, 오버레이, 레이어링, 중첩 등 하는 증강현실(Augmented Reality, AR)이 최근 빠르게 진화하고 있다. AR 기술, 시스템 및 애플리케이션은 광범위하게 확산되고 있으며 의료 절차 교육 및 실습 애플리케이션에서 거래, 쇼핑, 게임 및 레저 애플리케이션을 통해 산업/군사 교육 애플리케이션에 이르기까지 다양하고 다양한 요구, 애플리케이션, 시장 등을 대상으로 할 수 있다.
고유한 이점으로 인해 AR 기술은 사실적이고 효율적이며 따라서 인간 사용자와 상호 작용하여 사용자에게 현실적, 인위적 및/또는 그들의 조합, 가청, 촉각 및/또는 기타 감각 시뮬레이션과 선택적으로 결합된 추가 시각 데이터를 포함하도록 증강된 현실 세계 장면을 제공하기 위한 매우 매력적인 플랫폼일 수 있다. 상호작용은 복수의 다양한 장면, 시나리오, 이벤트, 상황, 경우, 조건 등을 사실적으로 시뮬레이션하기 위해 사용될 수 있다.
본 발명의 목적은 특정 영역의 하나 이상의 평면도를 기초로 생성된 특정 영역의 하나 이상의 3D 모델에 특정 영역의 AR 장면을 등록하기 위한 방법, 시스템 및 소프트웨어 프로그램 제품을 제공하는 것이다. 전술한 목적 및 기타 목적은 독립항의 특징에 의해 달성된다. 추가 구현 형태는 종속항, 설명 및 도면으로부터 명백하다.
본 발명의 제1 양태에 따르면, 특정 영역의 증강 현실(AR) 장면을 상기 특정 영역의 3차원(3D) 모델에 등록하는 방법이 제공되며, 이는 다음을 위해 구성된 하나 이상의 프로세서를 사용하는 단계를 포함한다:
- 활성 AR 세션 동안 적어도 하나의 이미징 센서에 의해 캡처된 시각 데이터를 기반으로 특정 영역의 기하학적 데이터 세트를 축적하는 단계.
- 상기 특정 영역의 3D 모델을 획득하는 단계.
- 복수의 주 회전 각도 각각에서 회전된 상기 3D 모델과 비교하여 상기 기하학적 데이터 세트에 대한 유사성 점수를 계산하는 단계. 상기 유사성 점수는 상기 기하학적 데이터 세트 및 상기 회전된 3D 모델에서 식별된 복수의 대응 평면의 평행성을 나타낸다.
- 가장 높은 유사성 점수를 생성하는 주 회전 각도를 선택하는 단계.
- 상기 대응 평면 사이의 거리를 기준으로 상기 선택된 주 회전 각도에 대한 복수의 미세 조정 회전 각도 각각에 대한 병진 벡터를 계산하는 단계.
- 상기 대응 평면 사이의 최소 거리를 생성하는 미세 조정 회전 각도를 선택하는 단계.
- 상기 선택된 미세 조정 회전 각도 및 해당 병진 벡터에 따라 상기 기하학적 데이터 세트를 상기 3D 모델에 등록하는 단계.
본 발명의 제2 양태에 따르면, 특정 영역의 증강현실(AR) 장면을 상기 특정 영역의 3D 모델에 등록하기 위한 시스템이 제공되며, 코드를 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 코드는 다음을 포함한다:
- 활성 AR 세션 동안 적어도 하나의 이미징 센서에 의해 캡처된 시각 데이터를 기반으로 특정 영역의 기하학적 데이터 세트를 축적하기 위한 코드 명령어.
- 상기 특정 영역의 3D 모델을 획득하기 위한 코드 명령어.
- 복수의 주 회전 각도 각각에서 회전된 상기 3D 모델과 비교하여 상기 기하학적 데이터 세트에 대한 유사성 점수를 계산하기 위한 코드 명령어. 상기 유사성 점수는 상기 기하학적 데이터 세트 및 상기 회전된 3D 모델에서 식별된 복수의 대응 평면의 평행성을 나타낸다.
- 가장 높은 유사성 점수를 생성하는 주 회전 각도를 선택하기 위한 코드 명령어.
- 상기 대응 평면 사이의 거리를 기준으로 상기 선택된 주 회전 각도에 대한 복수의 미세 조정 회전 각도 각각에 대한 병진 벡터를 계산하기 위한 코드 명령어.
- 상기 대응 평면 사이의 최소 거리를 생성하는 미세 조정 회전 각도를 선택하기 위한 코드 명령어.
- 상기 선택된 미세 조정 회전 각도 및 각각의 해당 병진 벡터에 따라 상기 기하학적 데이터 세트를 상기 3D 모델에 등록하기 위한 코드 명령어.
본 발명의 제3 양태에 따르면, 증강현실(AR) 세션을 위한 매칭 평면도를 식별하기 위한 컴퓨터 프로그램 제품에 있어서, 다음을 갖는 적어도 하나의 컴퓨터 판독 가능 저장 매체를 포함하는 제품이 제공된다:
- 적어도 하나의 프로세서가 활성 AR 세션 동안 적어도 하나의 이미징 센서에 의해 캡처된 시각 데이터에 기초하여 특정 영역의 기하학적 데이터 세트를 축적하기 위한 명령어를 코딩하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제1 프로그램 명령어.
- 상기 적어도 하나의 프로세서가 상기 특정 영역의 3D 모델을 얻도록 하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제2 프로그램 명령어.
- 상기 적어도 하나의 프로세서가 복수의 주 회전 각도 각각에서 회전된 상기 3D 모델과 비교하여 상기 기하학적 데이터 세트에 대한 유사성 점수를 계산하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제3 프로그램 명령어. 상기 유사성 점수는 상기 기하학적 데이터 세트 및 상기 회전된 3D 모델에서 식별된 복수의 대응 평면의 평행성을 나타낸다.
- 상기 적어도 하나의 프로세서가 가장 높은 유사성 점수를 생성하는 주 회전 각도를 선택하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제4 프로그램 명령어.
- 상기 적어도 하나의 프로세서가 상기 대응 평면 사이의 거리를 기준으로 상기 선택된 주 회전 각도에 대한 복수의 미세 조정 회전 각도 각각에 대한 병진 벡터를 계산하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제5 프로그램 명령어.
- 상기 적어도 하나의 프로세서가 상기 대응 평면 사이의 최소 거리를 생성하는 미세 조정 회전 각도를 선택하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제6 프로그램 명령어.
- 상기 적어도 하나의 프로세서가 상기 선택된 미세 조정 회전 각도 및 각각의 해당 병진 벡터에 따라 상기 기하학적 데이터 세트를 상기 3D 모델에 등록하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제7 프로그램 명령어.
상기 제1, 제2 및/또는 제3 양태의 선택적 구현 형태에서, 최소 거리가 일정 임계값을 초과하는 경우 상기 선택된 회전 각도 및 병진 벡터에 따른 등록은 실패된다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 기하학적 데이터 세트 및 각각의 회전된 3D 모델은 상기 유사성 점수를 계산하기 전에 상기 특정 영역의 양의 수직 축 및 0 층 높이 주위에 먼저 정렬된다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 미세 조정 회전 각도 각각에 대한 상기 병진 벡터를 계산하는 단계는 다음을 포함한다:
- 슬라이딩 윈도우가 상기 기하학적 데이터 세트와 상기 3D 모델을 커버하는 복수의 윈도우 위치에 위치하도록 상기 각각의 미세 조정 회전 각도에 따라 회전된 상기 기하학적 데이터 세트 및 상기 3D 모델 위에 상기 슬라이딩 윈도우를 적용하는 단계.
- 상기 복수의 윈도우 위치 각각에서, 상기 기하학적 데이터 세트의 상기 윈도우와 상기 3D 모델의 상기 윈도우에서 식별된 각 평면 사이의 거리를 계산하는 단계.
- 상기 복수의 윈도우 위치에서 식별된 복수의 대응 평면에 대해 계산된 복수의 거리 값을 집계하여 상기 각각의 미세 조정 회전 각도의 상기 병진 벡터를 계산하는 단계.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 병진 벡터를 계산하기 위해 상기 복수의 거리 값을 집계하는 단계는 상기 복수의 거리 값에 대한 평균값을 계산하는 단계를 포함한다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 3D 모델은 상기 특정 영역의 적어도 하나의 평면도에 기초하여 생성된다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 복수의 평면 각각은 벽, 바닥, 천장, 문 및 윈도우로 구성된 그룹의 구성원이다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 복수의 주 회전 각도는 3D 모델의 원점과 정렬된 제1 각도, 상기 제1 각도 + pi/2, 상기 제1 각도 + pi 및 상기 제1 각도 + pi*3/2로 구성된 그룹의 구성원이다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 기하학적 데이터 세트에서 식별된 대응 평면과 각 미세 조정 회전 각도에 따라 회전된 상기 3D 모델 사이의 거리는 상기 각 평면의 법선의 내적에 기초하여 산출된다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 기하학적 데이터 세트는 상기 기하학적 데이터 세트에서 식별되는 3D 모델의 적어도 하나의 기준 면에 기초하여 상기 3D 모델에 등록된다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 병진 벡터는 상기 특정 영역과 잠재적으로 관련될 수 있는 복수의 3D 모델에 대한 상기 기하학적 데이터 세트에 대해 계산되고, 상기 복수의 3D 모델 중 상기 대응 평면 사이의 최소 거리를 생산하는 하나를 선택하며, 상기 복수의 3D 모델 각각은 각각의 평면도를 기초로 생성된다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 3D 모델로 상기 기하학적 데이터 세트의 상기 등록은 상기 적어도 하나의 이미징 센서의 시점 및/또는 위치의 변화로 인한 잠재적인 드리프팅을 극복하기 위해 상기 선택된 미세 조정 회전 각도 및 각각의 병진 벡터를 조정함으로써 추적된다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 등록은 상기 기하학적 데이터 세트에서 식별된 복수의 평면과 3D 모델에서 식별된 대응 평면 사이에서 계산된 상기 거리 값에 기초하여 상기 병진 벡터를 계산함으로써 조정되며, 여기서 상기 복수의 평면 각각은 각각의 가중치가 할당된다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 복수의 평면 각각에 할당된 가중치는 다음 중 적어도 하나에 기초하여 계산된다:
- 가까운 평면에는 더 높은 가중치가 할당되고 더 먼 평면에는 더 낮은 가중치가 할당되도록 상기 적어도 하나의 이미징 센서로부터 상기 각각의 평면의 거리.
- 보다 최근에 검출된 평면에 더 높은 가중치가 할당되고 덜 최근에 검출된 평면에 더 낮은 가중치가 할당되도록 상기 각 평면이 식별된 가장 최근 시간.
- 상기 기하학적 데이터 세트에서 파생된 상기 각 평면의 위치 및/또는 방향.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 등록은 다음에 의해 조정된다:
- 상기 기하학적 데이터 세트에서 최근에 업데이트된 평면과 해당 상기 3D 모델의 대응 평면을 각각 나열하는 단계.
- 상기 3D 모델에서 상기 대응 평면의 정적 위치를 기반으로 상기 기하학적 데이터 세트에서 상기 각 평면의 위치를 계산하는 단계.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 특정 영역의 상기 3D 모델은 상기 기하학적 데이터 세트로부터 추출된 상기 복수의 평면 중 적어도 하나에 대한 적어도 하나의 기하학적 특징에 기초하여 업데이트된다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 사실적인 3D 모델은 상기 3D 모델 위에 상기 시각 데이터의 적어도 일부를 오버레이하여 생성된다.
상기 제1, 제2 및/또는 제3 양태의 추가 구현 형태에서, 상기 특정 영역의 상기 3D 모델은 상기 특정 영역에서의 적어도 하나의 이전 AR 세션 동안 생성된 적어도 하나의 이전 기하학적 데이터 세트에 기초하여 생성된다. 상기 적어도 하나의 이전 기하학적 데이터 세트는 상기 적어도 하나의 이전 AR 세션 동안 적어도 하나의 AR 장치에 의해 캡처된 시각 데이터에 기초하여 생성된다.
본 개시의 다른 시스템, 방법, 특징 및 이점은 다음 도면 및 상세한 설명을 검토할 때 당업자에게 명백하거나 명백해질 것이다. 이러한 모든 추가 시스템, 방법, 특징 및 이점은 본 명세서 내에 포함되고, 본 개시의 범위 내에 있으며, 첨부된 청구범위에 의해 보호되는 것으로 의도된다.
달리 정의되지 않는 한, 여기에 사용된 모든 기술 및/또는 과학 용어는 본 발명이 속하는 기술 분야의 통상의 기술자가 일반적으로 이해하는 것과 동일한 의미를 갖는다. 본 명세서에 기술된 것과 유사하거나 동등한 방법 및 재료가 본 발명의 실시예의 실행 또는 테스트에 사용될 수 있지만, 예시적인 방법 및/또는 재료가 아래에 기술된다. 상충하는 경우 정의를 포함한 특허 사양이 우선한다. 또한, 재료, 방법 및 실시예는 예시일 뿐이며 반드시 제한하려는 의도는 아니다.
본 발명의 실시예의 방법 및/또는 시스템의 구현은 선택된 과제를 자동으로 수행하거나 완료하는 것을 포함할 수 있다. 더욱이, 본 발명의 방법 및/또는 시스템의 실시예의 실제 기구 및 장비에 따르면, 몇몇 선택된 과제는 운영 체제를 사용하여 하드웨어, 소프트웨어 또는 펌웨어 또는 이들의 조합에 의해 구현될 수 있다.
예를 들어, 본 발명의 실시예에 따라 선택된 과제를 수행하기 위한 하드웨어는 칩 또는 회로로 구현될 수 있다. 소프트웨어로서, 본 발명의 실시예에 따른 선택된 과제는 임의의 적절한 운영 체제를 사용하는 컴퓨터에 의해 실행되는 복수의 소프트웨어 명령어로 구현될 수 있다. 본 발명의 예시적인 실시예에서, 본 명세서에 기술된 방법 및/또는 시스템의 예시적인 실시예에 따른 하나 이상의 과제는 복수의 명령어를 실행하기 위한 컴퓨팅 플랫폼과 같은 데이터 프로세서에 의해 수행된다. 선택적으로, 데이터 프로세서는 명령 및/또는 데이터를 저장하기 위한 휘발성 메모리 및/또는 명령 및/또는 데이터를 저장하기 위한 비휘발성 저장 장치, 예를 들어 자기 하드 디스크 및/또는 이동식 매체를 포함한다. 선택적으로 네트워크 연결도 제공된다. 디스플레이 및/또는 키보드 또는 마우스와 같은 사용자 입력 장치도 선택적으로 제공된다.
본 발명의 일부 실시예는 첨부된 도면을 참조하여 단지 예로서 본 명세서에서 설명된다. 이제 도면을 구체적으로 참조하면, 특정 사항이 예로서 그리고 본 발명의 실시예의 예시적 논의를 목적으로 도시된다는 것이 강조된다. 이와 관련하여, 도면과 함께 취해진 설명은 본 발명의 실시예가 실시될 수 있는 방법을 당업자에게 명백하게 한다.
도면에서:
도 1은 본 발명의 일부 실시예에 따라 특정 영역의 3D 증강 현실 장면을 특정 영역의 구조 모델에 등록하는 예시적인 과정의 흐름도이다;
도 2는 본 발명의 일부 실시예에 따라 특정 영역의 구조 모델에 특정 영역의 3D 증강 현실 장면을 등록하기 위한 예시적인 시스템의 개략도이다;
도 3은 본 발명의 일부 실시예에 따라 특정 영역의 하나 이상의 평면도에 기초하여 특정 영역에 대해 생성된 예시적인 3D 구조 모델의 개략도이다;
도 4는 본 발명의 일부 실시예에 따라 특정 영역의 3D 증강 현실 장면을 위해 생성된 예시적인 기하학적 데이터 세트를 특정 주 회전 각도로 회전된 특정 영역의 3D 구조 모델에 등록하는 것에 대한 개략도이다; 그리고
도 5는 본 발명의 일부 실시예에 따라 특정 영역의 3D 증강 현실 장면을 위해 생성된 예시적인 기하학적 데이터 세트를 특정 미세 조정 회전 각도로 회전된 특정 영역의 3D 구조 모델에 등록하는 것에 대한 개략도이다.
본 발명은, 일부 실시예에서, 3D 증강 현실 장면을 등록하는 것에 관한 것으로, 배타적이지는 않지만 보다 구체적으로 장면 위치의 평면도(들)에 기초하여 생성된 장면의 구조 모델에 3D 증강 현실 장면을 등록하는 것에 관한 것이다.
본 발명의 일부 실시예에 따르면, 기하학적 데이터 세트가 생성되고 AR 세션 중에 캡처된 시각 데이터를 기반으로 점진적으로 축적되는 특정 영역의 기하학적 데이터 세트를 특정 영역의 3D 구조 모델로 등록함으로써 액티브 AR 세션 동안 특정 영역의 3D 증강 현실(AR) 장면을 특정 영역의 3D 구조 모델에 등록하기 위한 방법, 시스템 및 컴퓨터 프로그램 제품이 제공된다.
AR(Augmented Reality) 장치, 예를 들어 입체 고글, 3D HMD(Helmet Mounted Display), 사용자가 휴대하는 스마트폰, 태블릿, 노트북 등은 AR 세션 중에 특정 장소에서 사용될 수 있다. 예를 들어 방, 아파트, 집, 건물, 사무실, 상점, 쇼핑몰 및 거의 모든 실내 및/또는 실외 건축 구조물에서 특정 영역의 시각적 장면을 기반으로 AR 장면을 생성한다.
특히, 하나 이상의 가상 요소, 예를 들어, 객체, 기호, 아이콘, 텍스트 등과 같은 AR 장면이 AR 장치를 통해 사용자에게 제시(표시)됨으로써, 하나 이상의 이미징 센서, 예를 들어 AR 장치에 통합, 장착, 부착 및/또는 결합된 카메라, 비디오 카메라, 파노라마 이미징 센서, 360 이미징 센서 어레이 등에 의해 캡처된 현실 세계 장면을 증강한다.
그러나 신뢰할 수 있고 일관된 AR 세션을 생성하기 위해서는 추가된 가상 요소가 특정 영역의 실제 장면에 정확하게 배치되고 위치해야 하며 AR 장면을 현실 세계 장면에 정확하게 등록해야 할 수 있다.
이를 위해, AR 장치를 휴대한 사용자가 특정 영역을 이동하는 동안 이미징 센서(들)에 의해 캡처된 시각 데이터를 기반으로 특정 영역에 대한 기하학적 데이터 세트를 생성하고 축적하여, 하나 이상의 관점, 하나 이상의 시야각 등으로부터 시각 데이터가 특정 영역 내의 복수의 위치에서 특정 영역 및/또는 그 일부를 묘사할 수 있다. 기하학적 데이터 세트는 특히 특정 영역, 예를 들어 벽, 바닥, 천장, 문, 윈도우 등에서 식별된 특정 구조적 요소에서 식별된 하나 이상의 요소 및/또는 객체의 기하학적 표현(예: 장소, 위치, 방향, 치수 등)을 포함할 수 있다. 기하학적 데이터 세트는 특정 위치에 적용되는 좌표계, 예를 들어 데카르트 좌표계 등과 관련하여 각각의 평면을 추가로 위치, 배치 및/또는 설치할 수 있다.
그런 다음 기하학적 데이터 세트는 예를 들어 SparX 형식 등과 같은 당업계에 알려진 하나 이상의 형식으로 사용 가능할 수 있는 특정 영역의 기하학적 특징을 포함하는 기준 기하학적 데이터 세트를 표현하는 특정 영역에 사용 가능한 3D 구조 모델(들)에 등록될 수 있다. 3D 모델은 크레틴 영역의 하나 이상의 평면도, 예를 들어 도면, 디자인, 윤곽선 등에 기초하여 생성될 수 있다. 특히, 평면도(들)는 특정 영역의 하나 이상의 관점에서 축적하기 위한 도면을 포함할 수 있다. 또한, 특정 영역에 축적된 기하학적 데이터 세트를 어느 하나에 등록하려는 시도에서 각각의 평면도에 기초하여 각각 생성된 특정 영역에 관련될 수 있는 복수의 3D 모델을 획득할 수 있다. 그러나 간결함을 위해 단일 3D 모델이 이후에 설명된다.
구체적으로, 액티브 AR 세션 동안 특정 영역에 축적된 기하학적 데이터 세트는 두 단계(시기)에 걸쳐 특정 영역의 3D 모델에 등록될 수 있다. 첫번째로, 기하학적 데이터 세트가 3D 모델과 가장 잘 일치하는 주 회전 각도를 식별할 수 있다. 두 번째 단계에서, 기하학적 데이터 세트가 3D 모델과 가장 잘 일치하는 선택된 주 회전 각도에서 오프셋된 미세 조정 회전 각도를 식별하고 그에 따라 AR 장면을 3D 모델에 등록하기 위해 선택할 수 있다.
첫 번째 단계에서, 기하학적 데이터 세트는 예를 들어, 3D 모델의 원점과 정렬된 제1 각도, 제1 각도 + pi/2, 제1 각도 + pi 및/또는 제1 + pi*3/2 같은 복수의 (후보) 주 회전 각도 각각으로 회전되는 동안 3D 모델과 비교될 수 있다. 구체적으로, 공통 좌표계와 원점을 공유하도록 각 주 회전 각도로 회전된 기하학적 데이터 세트와 3D 모델을 정렬한 후, 회전된 각 3D 모델과 비교하여 기하학적 데이터 세트에 대한 유사성 점수를 계산할 수 있다. 기하학적 데이터 세트의 대응 평면과 회전된 3D 모델 사이의 거리에 기초하여 계산된 유사성 점수는 기하학적 데이터 세트에서 식별된 복수의 평면과 회전된 3D 모델에서 식별된 대응 평면의 평행성을 나타낸다.
3D 모델의 회전이 미세 조정되는 등록의 두 번째 단계에 대한 시작점으로 가장 높은 유사성 점수를 생성하는 주 회전 각도가 선택될 수 있다. 이 단계에서 기하학적 데이터 세트는 선택된 주 회전 각도에 대해 복수의 (후보) 미세 조정 회전 각도 각각에서 회전된 3D 모델과 비교될 수 있다. 즉, 미세 조정 회전 각도는 선택된 주 회전 각도에서 시작하여 변환 및/또는 증분된다.
병진 벡터(Translation Vector)는 복수의 미세 조정 회전 각도 각각에 대해 계산될 수 있고, 병진, 회전, 스케일 등을 표현하는 변환 행렬에 기초할 수 있는 병진 벡터는 기하학적 데이터 세트에서 식별된 각 평면을 미세 조정된 회전된 3D 모델의 각 평면에 매핑할 수 있다.
병진 벡터는 기하학적 데이터 세트 및 각각의 회전된 3D 모델에서 식별된 대응 평면에 가장 잘 맞도록 각각의 미세 조정 회전 각도로 회전된 3D 모델 및 기하학적 데이터 세트를 통한 테이블(표) 검색에 기초하여 계산될 수 있다. 테이블 검색은 예를 들어 기하학적 데이터 세트와 회전된 3D 모델의 제한적이고 일반적으로 작은 섹션만을 커버하는 슬라이딩 윈도우를 사용하여 기하학적 데이터 세트와 회전된 3D 모델 위에 적용된 그리드를 기반으로 할 수 있다. 슬라이딩 윈도우는 기하학적 데이터 세트 및 각각의 회전된 3D 모델을 커버하는 복수의 윈도우 위치에 슬라이딩 윈도우가 위치하도록 기하학적 데이터 세트 및 회전된 3D 모델 위로 이동될 수 있다. 각각의 윈도우 위치에서 기하학적 데이터 세트에서 식별된 각 평면과 회전된 3D 모델의 대응 평면 사이의 거리가 계산될 수 있다. 그 후 복수의 윈도우 위치에서 계산된 거리 값은 예를 들어 평균(평균값)으로 집계되어 각각의 미세 조정 회전 각도의 병진 벡터를 계산할 수 있다.
또한, 각각의 미세 조정 회전 각도에 대해, 기하학적 데이터 세트에서 식별된 평면과 미세 조정 회전된 3D 모델의 대응 평면 사이에 집계된 거리 값이 계산될 수 있으며 최소 거리를 생성하는 미세 조정 회전 각도가 선택될 수 있다.
3D 모델에 대한 기하학적 데이터 세트는 선택된 미세 조정 회전 각도에 대해 계산된 병진 벡터를 사용하여 선택된 미세 조정 회전 각도에 따라 회전된 3D 모델과 함께 등록될 수 있다.
선택적으로, 등록이 불충분하다고 판단되는 경우, 예를 들어 복수의 미세 조정 회전 각도 중 최저 합산 거리 값이 일정 임계값을 초과하는 경우 등록에 실패한다.
기하학적 데이터 세트가 특정 영역의 3D 모델에 성공적으로 등록된 후, 3D 모델은 복수의 애플리케이션 중 하나 이상의 AR 세션 동안 사용될 수 있다. 예를 들어, 3D 모델로 표현된 지리적 영역의 하나 이상의 구조적 요소의 장소, 위치, 방향, 하나 이상의 치수 등이 특정 영역의 현실 세계 장면을 증강하는 AR 장면의 하나 이상의 시각적 개체, 요소, 기호, 아이콘, 텍스트 등을 제시(전시)하기 위해 AR 세션 동안 사용될 수 있다. 예를 들어, 하나 이상의 객체, 예를 들어 가구(예: 테이블, 의자, 소파, 카펫 등), 가전 제품(예: 주방 용품, 텔레비전)이 있는 인테리어 디자인 애플리케이션을 향한 AR 세션은 특정 위치, 특히 특정 영역이 실제로 비어 있는 동안 AR 장면에서 시뮬레이션될 수 있다. 다른 예에서, AR 세션은 하나 이상의 게임 객체, 요소, 심볼, 아이콘, 텍스트 등이 AR 장면에 제시될 수 있는 게임 애플리케이션으로 향할 수 있다.
본 발명의 일부 실시예에 따르면, 특정 영역에서 AR 세션 동안 축적된 기하학적 데이터 세트와 3D 모델 사이의 등록은 높은 신뢰성 등록을 유지하고 특정 영역에서 이미징 센서의 시점 및/또는 위치 변경으로 인해 발생할 수 있는 기하학적 데이터 세트와 3D 모델 사이의 잠재적인 드리프팅을 극복하기 위해 추적되고 동적으로 조정될 수 있다.
동적 등록 조정은 기하학적 데이터 세트에서 식별된 평면에 할당된 가중치를 기반으로 기하학적 데이터 세트를 3D 모델에 매핑하는 병진 벡터를 재계산 및/또는 조정하는 것을 기반으로 한다. 따라서 등록에 긍정적인 기여를 한 것으로 추정되는 평면(예: 더 가까운 평면, 더 최근에 감지된 평면 등)에 더 높은 가중치가 할당될 수 있는 반면, 등록에 대한 감소 및/또는 부정적인 기여도를 갖는 것으로 추정되는 평면에 더 낮은 가중치가 할당될 수 있다(예: 더 멀리 있는 더 가까운 평면, 덜 최근에 감지된 평면 등).
선택적으로, AR 세션 동안 특정 영역에 대해 축적된 기하학적 데이터 세트로부터 추출된 기하학적 데이터에 따라 특정 영역의 3D 모델이 조정, 업데이트 및/또는 수정될 수 있다. 또한, AR 세션 동안 AR 장치의 이미징 센서(들)에 의해 특정 영역에서 캡처된 하나 이상의 이미지는 특정 영역의 3D 모델을 풍부하게 하기 위해 사용될 수 있다, 예를 들어 3D 모델에 이미지를 오버레이하여 특정 영역의 시각적이고 사실적인 3D 모델을 만든다.
본 발명의 일부 실시예에 따르면, 특정 영역의 3D 모델은 특정 영역에서 하나 이상의 이전 AR 세션 동안 축적된 하나 이상의 기하학적 데이터 세트를 기반으로 생성될 수 있다. 즉, 특정 영역의 평면도를 기반으로 3D 모델을 생성하는 것이 아니라 하나 이상의 AR 세션의 하나 이상의 AR 장치에서 생성 및 축적된 하나 이상의 기하학적 데이터 세트에서 추출한 현실 세계 데이터를 기반으로 3D 모델을 생성할 수 있고, 특정 영역에서 하나 이상의 향후 AR 세션 동안 캡처된 기하학적 데이터 세트를 등록하는 데 사용됨을 의미한다.
2단계 등록 방식을 이용하여 특정 영역의 3D 모델에 특정 영역의 장면을 증강시킨 증강 현실 장면을 등록하는 것은 기존의 증강 현실 장면 등록 방법 및 시스템에 비해 상당한 이점과 이점을 제공할 수 있다.
첫째, AR 기술이 보다 보편화되고 널리 사용됨에 따라, 특히 정확한 엔지니어링 및 건축 데이터 세트 및 모델에 문서화된 대로 AR 장면을 실제 물리적 영역 및 위치에 등록한 후 다수의 애플리케이션이 AR 이점 및 기능을 활용할 수 있다. 그런 다음 가상 기호, 개체, 요소, 텍스트 등을 정확하게 추가하여 실제 장면을 보강하고 실제 영역의 구조적 요소의 정확한 위치, 장소, 방향 및/또는 치수를 표현하는 실제 건축 모델을 기반으로 매우 정확하고 신뢰할 수 있으며 일관된 AR 장면을 생성할 수 있다. 따라서 증가된 정확도의 AR 장면은 새로운 AR 기능을 활성화, 지원 및 도입하고 안정성을 높이는 등 사용자 경험을 크게 향상시킬 수 있다. 예를 들어, 홈 디자인 애플리케이션, 숙박 시설 제공 애플리케이션 및/또는 유사물은 예를 들어 아파트, 집, 사무실, 상점 등과 같은 하나 이상의 영역에서 AR 세션 동안 가구, 기구, 장식 등의 시뮬레이션 및 시각화를 그러한 객체가 비어있는 동안 가능하게 할 수 있다.
또한 4개의 후보 중에서 먼저 주 회전각을 선택하는 2단계 등록 접근 방식을 적용하면 본질적으로 다중 자유도를 갖는 다차원 문제인 등록 문제를 각각 2개의 자유도만을 갖는 4개의 경우로 줄일 수 있으므로 문제의 복잡성을 크게 줄인다. 등록 문제의 차원을 줄이는 것은 컴퓨팅 리소스, 예를 들어 처리 리소스, 저장 리소스, 처리 시간 등을 크게 줄일 수 있다. 필요한 컴퓨팅 리소스를 줄이면 컴퓨팅 리소스가 제한된 저사양 AR 장치를 사용하여 각각의 3D 모델에 정확하고 안정적으로 등록되는 고품질 AR 세션을 생성하고 유지할 수 있다. 또한, 등록 시간을 단축하면 AR 세션을 실시간으로 정확하게 등록할 수 있어 AR 세션 동안 사용자의 사용자 경험을 더욱 향상시킬 수 있다.
또한, AR 장면을 추적하고 이에 따라 AR 장면의 등록을 3D 모델에 동적으로 조정하면 AR 장치의 움직임으로 인해 발생할 수 있는 드리프팅 효과를 해결할 수 있으며, 이는 AR 장면에 추가된 추가 시각 데이터의 정확도를 유지할 수 있으므로 사용자 경험을 더욱 향상시킨다.
또한, AR 세션은 종종 하나 이상의 이유로 중단될 수 있다. 예를 들어 AR 장치(사용자가 휴대)가 위치 및/또는 시점을 변경하는 동안 AR 애플리케이션이 닫히거나 중단될 수 있으므로 추적 및 등록이 중단되고 손실될 수 있고, 이미징 센서(들)가 차단되고 시각 데이터 캡처, 거울에 장면 또는 그 일부의 반사 등을 중지할 수 있다. 2단계 등록을 적용하면 이러한 AR 중단 시나리오에서 AR 세션을 쉽고 빠르고 강력하게 복구할 수 있다.
또한 기하학적 데이터 및/또는 기하학적 데이터 세트에서 추출한 특징에 따라 특정 영역의 3D 모델을 업데이트하면 3D 모델의 정확도, 신뢰성 및/또는 무결성이 크게 증가하여 특정 영역의 향후 AR 세션 동안 등록 프로세스 및/또는 사용자의 경험을 개선할 수 있다. 또한 AR 세션 중에 캡처된 이미지를 사용하여 특정 영역의 시각적이고 사실적인 3D 모델을 생성하면 3D 모델의 사실적인 모양이 더욱 향상되어 특정 영역의 향후 AR 동안 등록 프로세스 및/또는 사용자의 경험을 더욱 향상시킬 수 있다.
이전 AR 세션(들) 동안 캡처된 시각 데이터, 특히 이전 AR 세션(들) 동안 축적된 기하학적 데이터 세트(들)를 기반으로 특정 영역의 3D 모델을 생성하면 특정 영역의 평면도가 필요없이 후속 AR 세션에서 AR 장면을 정확하게 등록할 수 있다. 이는 특정 영역의 평면도를 사용할 수 없는 애플리케이션에 매우 유용할 수 있다. 예를 들어, 아파트, 주택, 사무실 및/또는 이와 유사한 것과 같은 복수의 영역에서 AR 세션 및/또는 가상 여행을 지원하도록 구성된 하나 이상의 숙박 제공 애플리케이션(예: Airbnb, 예약 등)에는 이 영역의 평면도에 대한 액세스가 없을 수 있다. 하지만 기존에 축적된 기하학적 데이터 세트를 기반으로 생성된 3D 모델을 사용하면 각 3D 모델에 AR 장면을 정확하게 등록하여 해당 영역의 실제 평면도 없이도 사용자 경험을 향상시킬 수 있다.
본 발명의 적어도 하나의 실시예를 상세히 설명하기 전에, 본 발명은 다음의 설명 및/또는 구성요소 및/또는 방법의 구성 및 배열의 세부 사항에 대한 적용 및/또는 도면의 예시 및/또는 실시예에 있어서 반드시 제한되지 않는다는 것을 이해해야 한다. 본 발명은 다른 실시예가 가능하거나 다양한 방식으로 실행되거나 수행될 수 있다.
당업자라면 이해할 수 있는 바와 같이, 본 발명의 양태는 시스템, 방법 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 따라서, 본 발명의 양태는 전적으로 하드웨어 실시예, 전적으로 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로코드 등 포함) 또는 모두 여기서 "회로", "모듈" 또는 "시스템"으로 지칭되는 일반적으로 언급될 수 있는 소프트웨어 및 하드웨어 양태를 결합한 실시예의 형태를 취할 수 있다. 또한, 본 발명의 양태는 컴퓨터 판독가능 프로그램 코드가 구현된 하나 이상의 컴퓨터 판독가능 매체(들)에 구현된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
하나 이상의 컴퓨터 판독 가능 매체(들)의 임의의 조합이 이용될 수 있다. 컴퓨터 판독 가능 저장 매체는 명령 실행 장치에 의한 사용을 위해 명령을 유지하고 저장할 수 있는 유형의 장치일 수 있다. 컴퓨터 판독 가능 저장 매체는 예를 들어, 전자 저장 장치, 자기 저장 장치, 광학 저장 장치, 전자기 저장 장치, 반도체 저장 장치 또는 이들의 임의의 적절한 조합일 수 있지만 이에 제한되지 않는다. 컴퓨터가 판독 가능 저장 매체의 보다 구체적인 예의 비제한적 목록은 다음을 포함한다: 휴대용 컴퓨터 디스켓, 하드 디스크, RAM(Random Access Memory), ROM(Read-Only Memory), 소거 가능한 프로그램 가능한 전용 메모리(EPROM 또는 플래시 메모리), SRAM(정적 임의 액세스 메모리), 휴대용 CD-ROM(컴팩트 디스크 읽기 전용 메모리), DVD(디지털 다목적 디스크), 메모리 스틱, 플로피 디스크, 펀치 카드 또는 그 위에 기록된 지침이 있는 홈의 융기 구조와 같은 인코딩된 장치 및 전술한 것의 임의의 적절한 조합. 여기에 사용된 컴퓨터 판독 가능 저장 매체는 그 자체로 전파 또는 기타 자유롭게 전파하는 전자기파, 도파관 또는 기타 전송 매체를 통해 전파하는 전자기파(예를 들어, 광섬유 케이블) 또는 와이어를 통해 전송되는 전기 신호와 같은 일시적인 신호로 해석되어서는 안된다.
컴퓨터 판독 가능 매체에 구현된 컴퓨터 판독 가능 프로그램 명령을 포함하는 컴퓨터 프로그램 코드는 무선, 유선, 광섬유 케이블, RF 등 또는 이들의 임의의 적절한 조합을 포함하지만 이에 제한되지 않는 임의의 적절한 매체를 사용하여 전송될 수 있다.
본 명세서에 기술된 컴퓨터 판독 가능 프로그램 명령은 컴퓨터 판독 가능 저장 매체로부터 각각의 컴퓨팅/처리 장치로 또는 네트워크, 예를 들어 인터넷, 근거리 통신망, 광역 통신망 및/또는 무선 네트워크를 통해 외부 컴퓨터 또는 외부 저장 장치로 다운로드될 수 있다. 네트워크는 구리 전송 케이블, 광 전송 섬유, 무선 전송, 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 에지 서버를 포함할 수 있다. 각 컴퓨팅/처리 장치의 네트워크 어댑터 카드 또는 네트워크 인터페이스는 네트워크로부터 컴퓨터 판독 가능 프로그램 명령을 수신하고 각각의 컴퓨팅/처리 장치 내의 컴퓨터 판독 가능 저장 매체에 저장하기 위해 컴퓨터 판독 가능 프로그램 명령을 전달한다.
본 발명의 동작을 수행하기 위한 컴퓨터 판독가능 프로그램 명령어는 예를 들어 어셈블러 명령어, ISA(instruction-set-architecture) 명령어, 기계 명령어, 기계 의존형 명령어, 마이크로코드, 펌웨어 명령, 상태 설정 데이터, 또는 Smalltalk, C++ 등과 같은 객체 지향 프로그래밍 언어 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어와 같은 기존의 절차적 프로그래밍 언어를 포함하여 하나 이상의 프로그래밍 언어의 조합으로 작성된 소스 코드 또는 객체 코드와 같은 하나 이상의 프로그래밍 언어의 임의의 조합으로 작성될 수 있다.
컴퓨터 판독 가능 프로그램 명령은 전적으로 사용자 컴퓨터에서, 부분적으로는 사용자 컴퓨터에서, 독립형 소프트웨어 패키지로, 부분적으로는 사용자 컴퓨터에서, 부분적으로는 원격 컴퓨터에서, 또는 전체적으로 원격 컴퓨터 또는 서버에서 실행될 수 있다. 후자의 시나리오에서 원격 컴퓨터는 LAN(Local Area Network) 또는 WAN(Wide Area Network)을 포함한 모든 유형의 네트워크를 통해 사용자의 컴퓨터에 연결될 수 있다(예를 들어, 인터넷 서비스 공급자를 사용하여 인터넷을 통해). 일부 실시예에서, 예를 들어 프로그래밍 가능 논리 회로, FPGA(field-programmable gate arrays) 또는 PLA(programmable logic arrays)를 포함하는 전자 회로는 본 발명의 양태를 수행하기 위해 컴퓨터 판독 가능 프로그램 명령의 상태 정보를 이용하여 컴퓨터 판독 가능 프로그램 명령을 실행하여 전자 회로를 개인화 할 수 있다.
본 발명의 양태는 본 발명의 실시예에 따른 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 흐름도 예시 및/또는 블록도를 참조하여 설명된다. 흐름도 그림 및/또는 블록도의 각 블록, 및 흐름도 그림 및/또는 블록도의 블록 조합은 컴퓨터 판독 가능 프로그램 명령에 의해 구현될 수 있음을 이해할 것이다.
도면의 흐름도 및 블록도는 본 발명의 다양한 실시예에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현의 아키텍처, 기능 및 동작을 예시한다. 이와 관련하여, 흐름도 또는 블록도의 각 블록은 지정된 논리 기능(들)을 구현하기 위한 하나 이상의 실행 가능한 명령을 포함하는 모듈, 세그먼트 또는 명령의 일부를 나타낼 수 있다. 일부 대안적인 구현에서, 블록에 언급된 기능은 도면에 언급된 순서를 벗어나 발생할 수 있다. 예를 들어, 연속으로 표시된 두 개의 블록은 실제로 실질적으로 동시에 실행될 수 있거나 관련된 기능에 따라 블록이 때때로 역순으로 실행될 수 있다. 블록도 및/또는 흐름도 그림의 각 블록과 블록도 및/또는 흐름도 그림의 블록 조합은 지정된 기능 또는 동작을 수행하거나 특수 목적 하드웨어와 컴퓨터 명령의 조합을 수행하는 특수 목적 하드웨어 기반 시스템에 의해 구현될 수 있다.
이제 도면을 참조하면, 도 1은 본 발명의 일부 실시예에 따라 특정 영역의 3D 증강 현실 장면을 특정 영역의 구조 모델에 등록하는 예시적인 과정의 흐름도이다.
구조 모델과 함께 AR 세션 동안 촬영된 시각 데이터를 기반으로 점진적으로 축적되어 생성되는 특정 영역의 기하학적 데이터 세트를 등록하여 AR 세션 동안 특정 영역의 3D 증강현실 장면을 해당 영역의 구조 모델에 등록하는 프로세스(100)가 실행될 수 있다.
구체적으로, 본질적으로 다중 자유도를 갖는 다차원 문제인 등록은 각각 2개의 자유도를 갖는 4개의 경우로 축소될 수 있으므로 문제의 복잡성을 크게 줄일 수 있다.
AR 장면의 등록 문제의 차원을 3D 구조 모델로 줄이면 매우 정확하고 일관되며 신뢰할 수 있는 등록을 유지하면서 컴퓨팅 리소스 및/또는 등록 시간을 크게 줄일 수 있다.
또한 도 2를 참조하면, 본 발명의 일부 실시예에 따라 특정 영역의 3D 증강 현실 장면을 특정 영역의 구조 모델에 등록하는 예시적인 시스템의 개략도이다.
AR 클라이언트 장치(202), 특히 모바일 AR 장치는 실제로 임의의 위치를 포함할 수 있지만 일반적으로 실내 위치와 관련될 수 있는 특정 영역(206)의 장면에 걸쳐 증강 현실 환경을 생성하기 위해 AR 세션 동안 사용자(204)에 의해 사용될 수 있다. 따라서 특정 영역(206)은 예를 들어 방, 아파트, 집, 건물, 사무실, 상점, 쇼핑몰 및 거의 모든 실내 및/또는 실외 건축 구조물을 포함할 수 있다.
AR 장치(202), 예를 들어 입체 고글, 3D HMD, 스마트폰, 태블릿, 랩탑 등은 네트워크 인터페이스(212), 프로세서(들)(214), 스토리지(216), 사용자 인터페이스(218) 및 하나 이상의 이미징 센서(220) 등을 포함할 수 있다.
네트워크 인터페이스(212)는 하나 이상의 유선 및/또는 무선 네트워크, 예를 들어 LAN(Local Area Network), WAN(Wide Area Network), MAN(Metropolitan Area Network), WLAN(Wireless LAN), 셀룰러 네트워크 및/또는 예를 들어, 서버, 스토리지 서버, 데이터베이스, 클라우드 서비스 및/또는 플랫폼 등과 같은 더 많은 원격 네트워크 리소스(210)와의 통신을 용이하게 하기 위한 인터넷을 포함하는 네트워크(208)에 연결하기 위한 하나 이상의 유선 및/또는 무선 인터페이스를 포함할 수 있다.
동종 또는 이종 프로세서(들)(214)는 클러스터로서 및/또는 하나 이상의 멀티 코어 프로세서로서 병렬 처리를 위해 배열된 하나 이상의 프로세서를 포함할 수 있다. 스토리지(216)는 하나 이상의 비일시적 영구 저장 장치, 예를 들어 ROM(Read Only Memory), 플래시 어레이, SSD(Solid State Drive), HDD(Hard Drive) 등을 포함할 수 있다. 스토리지(216)는 또한 하나 이상의 휘발성 장치, 예를 들어 RAM(Random Access Memory) 구성 요소, 캐시 등을 포함할 수 있다.
사용자 인터페이스(218)는 사용자(204)와 상호작용하기 위한 하나 이상의 HMI(Human-Machine Interfaces)를 포함할 수 있다. 특히, 사용자 인터페이스(218)는 프레젠테이션을 위한 디스플레이, 스크린, 프로젝터, 터치스크린 등을 포함할 수 있다. 그러나 사용자 인터페이스(218)는 일반적으로 사용자(204)와의 추가 상호 작용, 입력 및/또는 출력을 위한 하나 이상의 추가 HMI 인터페이스, 예를 들어 키보드, 터치패드, 포인팅 디바이스, 디지털 펜, 스피커, 이어폰, 마이크 등을 더 포함할 수 있다.
이미징 센서(들)(220), 예를 들어, 카메라, 비디오 카메라, 파노라마 이미징 센서, 360 이미징 센서 어레이 등, 예를 들어, 하나 이상의 이미지와 같은 특정 영역(206)의 시각 데이터를 캡처하도록 구성됨, 특히 이미지 시퀀스(들), 비디오 스트림(들) 등은 AR 장치(202), 특히 프로세서(들)(214)에 통신 가능하게 결합될 수 있다.
이미징 센서(들)(220)는 하나 이상의 방법, 구현 및/또는 배치, 예를 들어 통합, 장착, 부착 등을 사용하여 AR 장치(202)에 기계적으로 연결될 수 있다. 따라서 이미징 센서(들)(220)는 AR 장치(202) 내부 및/또는 이미징 센서(들)(220)의 배치에 따라 외부에 있을 수 있는 하나 이상의 통신 채널, 인터페이스 및/또는 네트워크를 통해 프로세서(들)(214)와 통신할 수 있다.
프로세서(들)(214)는 예를 들어 각각 스토리지(216)와 같은 비일시적 매체(프로그램 저장소)에 저장되고 프로세서(들)(214)와 같은 하나 이상의 프로세서에 의해 실행되는 복수의 프로그램 명령어를 포함하는 프로세스, 스크립트, 애플리케이션, 에이전트, 유틸리티, 도구, 운영 체제(OS) 등과 같은 하나 이상의 소프트웨어 모듈을 실행할 수 있다. 프로세서(들)(214)는 선택적으로 AR 장치(202)에서 통합, 활용 및/또는 이용 가능한 하나 이상의 하드웨어 요소(모듈)를 통합, 이용 및/또는 용이하게 할 수 있다, 예를 들어, 회로, 부품, 집적 회로(IC), 주문형 집적 회로(ASIC), 필드 프로그래밍 가능 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 그래픽 처리 장치(GPU) 및 /등.
따라서 프로세서(들)(214)는 하나 이상의 소프트웨어 모듈, 하나 이상의 하드웨어 모듈 및/또는 이들의 조합, 예를 들어 프로세스(100)를 실행하기 위한 등록 엔진(222)을 사용하여 구현된 하나 이상의 기능 모듈을 실행할 수 있다.
102에 도시된 바와 같이, 프로세스(100)는 활성 AR 세션 중 AR 장치(202)의 이미징 센서(220) 중 하나 이상에 의해 캡처된 특정 영역(206)의 시각 데이터를 수신하는 등록 엔진(222)으로 시작할 수 있다.
사용자(204)는 AR 장치(202)를 사용, 보유 및/또는 다른 방식으로 휴대하면서 영역(206)을 통해 이동할 수 있으며, 이미징 센서(들)(220)는 하나 이상의 캡처 모드에서, 예를 들어 연속적으로, 주기적으로 및/또는 명령에 따라 특정 영역(206)의 시각 데이터를 캡처한다.
따라서 등록 엔진(222)은 시각 데이터가 복수의 시점, 시야각 및/또는 이와 유사한 것으로부터 특정 영역(206) 내의 복수의 위치로부터 특정 영역 및/또는 그 일부를 묘사할 수 있도록 AR 장치(202)를 휴대하는 사용자(204)가 특정 영역에서 이동하는 동안 캡처된 시각 데이터를 수집 및 축적할 수 있다.
104에 도시된 바와 같이, 수집되고 축적된 시각 데이터에 기초하여, 등록 엔진(222)은 특정 영역(206)의 기하학적 데이터 세트를 생성, 축적 및 업데이트할 수 있다.
기하학적 데이터 세트는 특정 영역(206)에서 식별된 하나 이상의 요소 및/또는 객체, 특히 특정 영역(206)의 구조적 요소, 예를 들어 벽, 바닥, 천장, 문, 윈도우 등의 기하학적 표현을 포함할 수 있다.
따라서 축적된 기하학적 데이터 세트는 AR 세션 동안 특정 영역(206)에서 식별된 각각의 구조 요소를 나타내는 하나 이상의 평면을 포함 및/또는 기술할 수 있다. 구체적으로, 기하학적 데이터 세트는 각각의 평면의 하나 이상의 치수, 예를 들어 길이, 폭, 높이, 깊이 등을 포함 및/또는 기술할 수 있다. 기하학적 데이터 세트는 특정 위치(206)에 적용되는 좌표계, 예를 들어 데카르트 좌표계 등과 관련하여 각각의 평면을 추가로 위치, 배치 및/또는 설치할 수 있다.
106에 도시된 바와 같이, 등록 엔진(222)은 잠재적으로 특정 영역(206)과 관련될 수 있는 하나 이상의 3D 모델을 얻을 수 있다. 각각의 3D 모델은 각각의 영역의 기준 기하학적 데이터 세트를 표현할 수 있고 잠재적으로 특정 영역과 관련이 있을 수 있는 각각의 영역의 기하학적 특징을 포함할 수 있다. 3D 모델은 예를 들어 SparX 형식 및/또는 기타와 같은 당업계에 공지된 하나 이상의 형식으로 이용 가능할 수 있다.
각각의 3D 모델은 해당 영역의 하나 이상의 평면도, 예를 들어 도면, 디자인, 개요 등에 기초하여 생성될 수 있다. 특히, 각 평면도는 각 영역의 평면도, 측면도, 저면도 등으로부터 축척된 도면일 수 있다. 따라서 각 영역의 3D 모델은 표현, 구체적으로 본 명세서에서 이전에 설명된 바와 같이 예를 들어 벽, 바닥, 천장, 문, 윈도우 등을 포함할 수 있는 각 영역의 각 구조적 요소의 기하학적 표현을 포함할 수 있다.
일부 실시예에서, 특정 영역(206)이 결정적으로 식별될 수 있는 경우, 등록 엔진(222)은 특정 영역(206)의 하나 이상의 평면도에 기초하여 생성된 특정 영역(206)의 단일 3D 모델을 얻을 수 있다. 예를 들어, 등록 엔진(222)이 특정 영역(206)의 정확한 지리적 위치, 예를 들어 주소, 좌표 등을 결정 및/또는 식별할 수 있다고 가정한다. 예를 들어, 특정 영역(206)이 특정 거리에 위치한 집이라고 가정하면, 등록 엔진(222)은 특정 집과 관련된 3D 모델을 얻을 수 있다. 다른 예에서, 특정 영역이 특정 쇼핑몰의 매장이라고 가정하면 매장 번호, 식별자 등에 의해 식별될 수 있다. 이러한 경우, 등록 엔진(222)이 특정 쇼핑몰에 있는 상점의 하나 이상의 3D 모델에 액세스할 수 있다고 가정하면 등록 엔진(222)은 특정 주택과 관련된 3D 모델을 얻을 수 있다.
등록 엔진(222)은 하나 이상의 방법 및/또는 기술 및/또는 구현을 사용하여 특정 영역(206)을 식별할 수 있다. 예를 들어, 사용자(204)는 특정 영역(206)의 식별자, 예를 들어 그 지리적 위치를 제공하기 위해 사용자 인터페이스(218)를 통해 등록 엔진(222)과 상호작용할 수 있다. 다른 예에서, 등록 엔진(222)은 AR 장치(202)의 하나 이상의 지리 위치 센서, 예를 들어 GPS(Global Positioning System) 센서와 통신하여 AR 장치(202)와 그에 따른 특정 영역(206)의 현재 지리적 위치(지리적 위치 판독) 및 신원을 얻을 수 있다. 다른 예에서, 등록 엔진(222)은 AR 장치(202)의 하나 이상의 센서, 예를 들어 이미징 센서(220) 중 하나와 통신하여 특정 영역(206)을 식별하기 위해 분석될 수 있는 하나 이상의 이미지를 수신할 수 있다. 예를 들어, 이미지(들)의 분석에 기초하여, 등록 엔진(222)은 거리 주소 표지, 플레이트 등을 식별할 수 있고 그에 따라 특정 영역(206)을 식별할 수 있다.
그러나 다른 실시예에서, 구체적으로 특정 영역(206)이 결정적으로 식별되지 않을 수 있을 때, 등록 엔진(222)은 잠재적으로 특정 영역(206)과 일치 및/또는 관련될 수 있는 복수의 영역의 복수의 3D 모델을 얻을 수 있다. 복수의 3D 모델은 특정 영역(206)과 같은 복수의 서로 다른 영역 중 각각의 하나 이상의 평면도에 기초하여 생성될 수 있다.
도 3은 본 발명의 일부 실시예에 따라 특정 영역의 하나 이상의 평면도에 기초하여 특정 영역에 대해 생성된 예시적인 3D 구조 모델의 개략도이다. 특정 영역(206)과 같은 특정 영역의 3D(구조) 모델(300)은 예를 들어, 평면도, 측면도, 저면도 등의 하나 이상의 뷰로부터 특정 영역(206)의 스케일을 위한 하나 이상의 도면과 같은 특정 영역(206)의 하나 이상의 평면도에 기초하여 만들어질 수 있다.
다시 한 번 도 1을 참조한다.
108에 도시된 바와 같이, 등록 엔진(222)은 복수의 (후보) 주 회전 각도 각각에서 회전된 3D 모델과 비교하여 기하학적 데이터 세트에 대한 유사성 점수를 계산할 수 있다. 유사성 점수는 기하학적 데이터 세트 및 회전된 3D 모델에서 식별된 복수의 대응 평면의 평행성을 나타내며, 여기에서 이전에 설명된 바와 같이 평면은 기하학적 데이터 세트 및 각각의 주 회전 각도로 회전된 3D 모델에서 식별된 하나 이상의 구조적 요소에 관련될 수 있다.
간결함을 위해 단계 108은 특정 영역(206)의 단일 3D 모델에 대해 설명된다. 그러나 동일한 프로세스가 각각의 주 회전 각도로 회전된 복수의 3D 모델 각각에 대한 유사성 점수를 계산하도록 확장될 수 있기 때문에 이것은 제한적인 것으로 해석되어서는 안 된다.
복수의 주 회전 각도는, 예를 들어, 특정 영역(206)의 3D 모델의 원점에 정렬된 제1 각도, 제1 각도 + pi/2, 제1 각도 + pi 및/또는 제1 각도+pi*3/2를 포함할 수 있다. 특정 영역(206)의 3D 모델의 원점은 당업계에 공지된 것으로 정의될 수 있으며, 예를 들어 좌표계의 원점 등이 정의될 수 있다.
등록 엔진(222)은 먼저 기하학적 데이터 세트 및 회전된 3D 모델을 공통 좌표계, 예를 들어 데카르트 좌표계 주위의 공통 배향으로 정렬할 수 있다. 예를 들어, 등록 엔진(222)은 기하학적 데이터 세트 및 회전된 3D 모델을 특정 영역(206)의 양의 수직 축(Y축) 및 Y축이 중력 축과 정렬되는 제로 바닥 높이 주위에 정렬할 수 있다.
구체적으로, 등록 엔진(222)은 AR 장치(202)에 연관, 결합, 통합 및/또는 부착된 하나 이상의 관성 센서에 의해 캡처 및/또는 측정된 방향 데이터를 사용하여 회전된 3D 모델의 좌표계에 축적된 기하학적 데이터 세트를 정렬할 수 있다. 방향 데이터는 예를 들어, AR 장치(202)가 미리 정의되고 알려져 있는 것에 대한 이미징 센서(들)(220)의 포지셔닝 이후 기하학적 데이터 세트의 방향을 나타낼 수 있는 AR 장치(202)의 피치, 롤 및 요(yaw) 자세각을 나타낼 수 있다.
기하학적 데이터 세트가 각각의 주 회전각으로 회전된 3D 모델과 정렬된 후, 등록 엔진(222)은 기하학적 데이터 세트 및 각각의 주 회전 각도로 회전된 3D 모델에서 식별된 하나 이상의 구조적 요소와 관련된 대응 평면의 평행성을 평가하기 위해 각각의 주 회전각으로 회전된 3D 모델에 대한 기하학적 데이터 세트에 대한 유사성 점수를 계산할 수 있다.
등록 엔진(222)은 유사성 점수를 계산하기 위한 하나 이상의 방법, 알고리즘 및/또는 공식을 적용할 수 있다. 예를 들어, 등록 엔진(222)은 기하학적 데이터 세트 및 공통 좌표계에 대한 장소, 위치 및/또는 방향을 기준으로 회전된 3D 모델의 대응 평면에서 하나 이상의 평면을 식별하기 위해 기하학적 데이터 세트 및 각각의 회전된 3D 모델을 분석할 수 있다. 예를 들어, 등록 엔진(222)은 식별된 평면들 사이의 거리를 최소화하여 대응 평면들을 서로 연관시켜 대응 평면들을 식별할 수 있다.
예를 들어, 등록 엔진(222)은 각 평면 p에 대응하는 특정 평면 s를 가장 높은 확률로 식별하기 위해 아래 수학식 1과 같이 각 회전된 3D 모델(j = 1, 2, 3, 4 주 회전 각도 θ)에서 각 평면 , 평면에 대한 각 평면 의 거리 함수 parallel_distance를 최소화하는 기하학적 데이터 세트의 각 평면 평면에 대한 parallel_set_distance 값을 계산할 수 있다.
수학식 1:
where:
등록 엔진(222)은 기하학적 데이터 세트 및 수용 주 회전 각도에서 회전된 3D 모델에서 식별된 모든 대응 평면에 대해 계산된 parallel_distance 값을 집계하여, 예를 들어 아래 수학식 2에 따라, 각각의 주 회전 각도 θ에 대한 집계 거리 값을 생성할 수 있다.
수학식 2:
따라서 각 주 회전 각도 , , , 에서 회전된 3D 모델에 대한 기하학적 데이터 세트에 대해 계산된 집계 거리 값은 각 주 회전 각도에서 회전된 3D 모델에 대한 기하학적 데이터 세트의 유사성 점수를 표현할 수 있다.
이제 도 4를 참조하면, 도 4는 본 발명의 일부 실시예에 따라 특정 영역의 3D 증강 현실 장면을 위해 생성된 예시적인 기하학적 데이터 세트를 특정 주 회전 각도로 회전된 특정 영역의 3D 구조 모델에 등록하는 것을 개략적으로 도시한 개략도이다.
특정 영역(206)과 같은 특정 영역에 대해 생성된 3D 모델(300)과 같은 3D 모델은 복수의 주 회전 각도, 예를 들어 3D 모델(300)의 원점에 정렬된 제1 각도, 특정 영역(206)에 대해 생성, 누적 및 업데이트된 기하학적 데이터 세트(400)에 대한 제1 각도 + pi/2, 제1 각도 + pi 및/또는 제1 각도 + pi*3/2로 회전될 수 있다.
도시된 바와 같이, 기하학적 데이터 세트(400)는 회전된 3D 모델(300)에 대해, 예를 들어 특정 영역(206)의 양의 수직 중력 축(Y축) 및 공통 좌표계 원점을 설정하기 위해 바닥 높이가 0인 곳에 정렬될 수 있다.
다시 한 번 도 1을 참조한다.
110에 도시된 바와 같이, 등록 엔진(222)은 선택된 주 회전 각도에서 회전된 3D 모델이 예를 들어 기하학적 데이터 세트에 대한 방향에서 가장 유사하다는 것을 나타내는 가장 높은 유사성 점수를 생성하는 주 회전 각도를 선택할 수 있다.
112에 도시된 바와 같이, 등록 엔진(222)은 각각의 미세 조정 회전 각도에서 3D 모델이 선택된 주 회전 각도로부터 더 약간 회전되는 복수의 미세 조정 회전 각도 각각에 대한 병진 벡터를 계산할 수 있다. 미세 조정된 회전 각도는 예를 들어 1도, 2도, 3도 등의 고정된 단계만큼 이동 및/또는 증분될 수 있다.
당업계에 공지된 변환, 회전, 스케일 등을 표현하는 변환 매트릭스에 기초할 수 있는 병진 벡터는 기하학적 데이터 세트의 평면을 회전된 3D 모델의 각각의 평면에 매핑할 수 있다.
등록 엔진(222)은 기하학적 데이터 세트 및 각각의 회전된 3D 모델에서 대응 평면에 가장 잘 맞도록 각각의 미세 조정 회전 각도로 회전된 기하학적 데이터 세트 및 3D 모델을 통해 표(table) 검색을 적용함으로써 병진 벡터를 계산할 수 있다.
예를 들어, 등록 엔진(222)은 기하학적 데이터 세트 및 회전된 3D 모델에 대해 그리드를 생성할 수 있고 기하학적 데이터 세트 및 회전된 3D 모델의 제한적이고 일반적으로 작은 크기 섹션만을 커버하는 슬라이딩 윈도우를 적용할 수 있다. 등록 엔진(222)은 슬라이딩 윈도우가 기하학적 데이터 세트 및 각 회전된 3D 모델을 커버하는 복수의 윈도우 위치에 위치하도록 각각의 미세 조정 회전 각도에 따라 회전된 기하학적 데이터 세트 및 3D 모델 위로 슬라이딩 윈도우를 이동할 수 있다.
복수의 윈도우 위치 각각에 대해, 등록 엔진(222)은 기하학적 데이터 세트의 윈도우와 각 회전된 3D 모델의 대응하는 윈도우에서 식별된 각 평면 사이의 거리 값을 계산할 수 있다. 윈도우 크기 및/또는 윈도우 이동(스텝) 크기는 미리 정의될 수 있다, 예를 들어 슬라이딩 윈도우의 크기는 예를 들어 5미터, 7.5미터, 10미터 등으로 현실 세계 특정 영역(206)에서 반영하도록 설정될 수 있고, 슬라이딩 윈도우 이동(단계)은 예를 들어 0.5미터, 1미터 등으로 설정될 수 있다.
전체 격자 형상 데이터 세트 및 각 회전된 3D 모델 위로 슬라이딩 윈도우를 이동시킨 후, 등록 엔진(222)은 복수의 윈도우 위치에서 식별된 복수의 대응 평면에 대해 계산된 복수의 거리 값을 집계함으로써 각각의 미세 조정 회전 각도의 병진 벡터를 계산할 수 있다.
등록 엔진(222)은 하나 이상의 계산 및/또는 공식을 적용하여 복수의 평면에 대해 계산된 복수의 거리 값을 집계할 수 있으며, 예를 들어 등록 엔진(222)은 각 미세 조정 회전 각도의 병진 벡터에 사용할 수 있는 거리의 평균값을 계산하기 위해 복수의 거리 값을 평균화할 수 있다.
이제 도 5를 참조하면, 도 5는 본 발명의 일부 실시예에 따른 특정 영역의 3D 증강 현실 장면을 위해 생성된 예시적인 기하학적 데이터 세트를 특정 미세 조정 회전 각도로 회전된 특정 영역의 3D 구조 모델에 등록하는 것을 개략적으로 나타낸 도면이다.
특정 영역(206)과 같은 특정 영역에 대해 생성된 3D 모델(300)과 같은 3D 모델은 특정 영역(206)에 대해 생성, 축적 및 업데이트된 기하학적 데이터 세트(400)와 같은 기하학적 데이터 세트에 대한 주 회전 각도 중 선택된 하나에 대한 고정된 단계(예를 들어, 1도, 2도, 3도 등)만큼 이동 및/또는 증가된 복수의 미세 조정 회전 각도로 회전될 수 있다.
다시 한 번 도 1을 참조한다.
114에 도시된 바와 같이, 복수의 미세 조정 회전 각도 각각에 대해, 등록 엔진(222)은 집계된 거리 값, 예를 들어 기하학적 데이터 세트 및 각각의 미세 조정 회전 각도에 따라 회전된 3D 모델에서 식별된 대응 평면 사이의 평균 값을 계산할 수 있다.
등록 엔진(222)은 대응 평면 사이의 거리 값을 계산하기 위해 하나 이상의 방법, 기술 및/또는 공식을 적용할 수 있다, 예를 들어 등록 엔진(222)은 수학식 1의 내적 기반 계산을 적용하여 각각의 미세 조정 회전 각도에 대해 집계된(예를 들어, 평균, 중간값) 거리 값을 계산할 수 있다.
116에 도시된 바와 같이, 등록 엔진(222)은 대응 평면 사이의 가장 낮은 거리, 특히 가장 낮은 총 거리 값, 예를 들어 최소 중간(평균) 값을 생성하는 미세 조정 회전 각도 중 하나를 선택할 수 있다.
118에 도시된 바와 같이, 등록 엔진(222)은 선택된 미세 조정 회전 각도 및 선택된 미세 조정 회전 각도에 대해 계산된 각각의 병진 벡터에 따라 기하학적 데이터 세트를 3D 모델에 등록할 수 있다.
선택적으로, 등록 엔진(222)은 등록이 비효율적 및/또는 만족스럽지 않을 수 있다고 판단하는 경우 등록에 실패할 수 있다. 특히, 등록 엔진(222)은 최소 거리, 즉 임의의 미세 조정 회전 각도에서 회전된 기하학적 데이터 세트와 3D 모델 사이의 최저 집계 거리가 특정 값을 초과(즉, 더 큰)하는 경우 등록에 실패할 수 있다. 한계점.
등록 엔진(222)은 표시, 예를 들어 등록이 실패했음을 나타내는 메시지 등을 추가로 출력할 수 있다.
기하학적 데이터 세트가 특정 영역(206)의 3D 모델에 성공적으로 등록된 후, 특정 영역(206)의 3D 모델은 복수의 애플리케이션 중 하나 이상에 대한 AR 세션 동안 사용될 수 있다. 특히, 3D 모델에서 표현되고 기술된 바와 같은 지리적 영역(206)의 하나 이상의 구조적 요소의 위치, 하나 이상의 치수 및/또는 이와 유사한 것이 AR 장면에서 하나 또는 그 이상의 개체, 요소, 기호, 아이콘, 텍스트 등을 제시(디스플레이)하기 위해 AR 세션 동안 사용될 수 있다.
예를 들어, AR 세션은 AR 장면에서 특히 특정 위치(206)가 비어있는 동안, 예를 들어 특정 위치(206)에 있는 가구(예를 들어 테이블, 의자, 소파, 카페트 등), 가전 제품(예를 들어 주방 가전, 텔레비전 등)과 같은 하나 이상의 객체를 시뮬레이션하고 시각화하기 위해 인테리어 디자인 애플리케이션으로 향할 수 있다. 그러한 경우에, 시뮬레이트된 객체는 특정 영역(206)의 3D 모델에 반영된 바와 같이 지리적 영역(206)의 하나 이상의 구조적 요소의 위치 및/또는 치수(들)에 따라 규모로 AR 장면에 제시(표시)될 수 있다. 다른 예에서, AR 세션은 AR 장면에서 특정 영역(206)의 3D 모델의 구조적 요소의 치수(들) 및/또는 위치에 따라 하나 이상의 객체, 요소, 기호, 텍스트 등이 제시(표시)될 수 있는 게임 애플리케이션으로 향할 수 있다.
본 발명의 일부 실시예에 따르면, 특정 영역(206)에서 AR 세션 동안 축적된 기하학적 데이터 세트와 3D 모델 사이의 등록은 높은 신뢰성 등록을 유지하고 기하학적 데이터 세트와 선택된 미세 회전 각도에 따라 회전된 3D 모델 사이의 잠재적인 드리프팅을 극복하기 위해 추적되고 동적으로 조정된다. 구체적으로, 등록 엔진(222)은 이미징 센서(들)(220)의 움직임 및/또는 시점 변화를 보상하고 조정하기 위해 미세 조정 회전 각도 및 각각의 계산된 병진 벡터를 동적으로 조정함으로써 등록을 추적할 수 있다.
AR 장치(202)를 휴대한 사용자(204)가 특정 영역(206)을 여행 및 이동하는 동안, 증강 장면을 생성하는 데 사용되는 시각 데이터를 캡처하는 AR 장치(202)의 이미징 센서(들)(220)는 기하학적 데이터 세트와 선택된 미세 조정 회전 각도에 따라 회전된 3D 모델 사이의 드리프트를 초래할 수 있는 특정 영역(206) 내의 시점 및/또는 위치를 변경할 수 있다. 눈에 띄는 랜드마크가 거의 없는 영역(206), 특히 기하학적 데이터 세트를 3D 모델에 등록하는 데 사용될 수 있는 구조적 요소의 평면에서 드리프팅 효과가 증가하고 강조될 수 있다.
따라서 등록 엔진(222)은 특정 영역(206)의 기하학적 데이터 세트의 등록을 특정 영역(206)의 3D 모델에 추적하고 동적으로 조정하기 위한 하나 이상의 방법, 기술 및/또는 알고리즘을 적용할 수 있다.
제1 예시적인 실시예에서, 등록 엔진(222)은 기하학적 데이터 세트에서 식별된 평면에 가중치를 적용함으로써 등록을 추적할 수 있다. 특히, 등록 엔진(222)은 새로운 병진 벡터를 계산하고/하거나 선택된 미세 조정 회전 각도에 대해 초기에 계산된 병진 벡터를 업데이트하기 위해 각각의 가중치에 따라 기하학적 데이터 세트의 평면과 3D 모델의 대응 평면 사이에서 계산된 거리 값을 조정할 수 있다. 등록 엔진(222)은 기하학적 데이터 세트에서 식별된 평면에 가중치를 할당하기 위해 하나 이상의 동작 모드를 적용할 수 있다.
예를 들어, 등록 엔진(222)은 AR 장치(202), 특히 기하학적 데이터 세트를 생성하기 위해 처리된 시각 데이터를 캡처하는 이미징 센서(들)(220)로부터의 평면의 거리에 기초하여 기하학적 데이터 세트에서 식별된 평면에 가중치를 할당할 수 있다. 구체적으로, 등록 엔진(222)은 이미징 센서(들)(220)에 더 가까운 평면에 더 높은 가중치를 할당하고 이미징 센서(들)(220)로부터 더 멀리 위치한 평면에 더 낮은 가중치를 할당할 수 있다. 이와 같이 더 가까운 평면은 멀리 떨어져 있는 평면에 비해 병진 벡터에 더 높은 기여도를 가질 수 있으므로 특히 사용자(204)의 인접 및 근접 환경에 대해 등록을 향상시킬 수 있다.
다른 예에서, 등록 엔진(222)은 평면이 특정 영역(206)에 축적된 기하학적 데이터 세트에서 식별된 가장 최근 시간에 기초하여 기하학적 데이터 세트에서 식별된 평면에 가중치를 할당할 수 있으며, 이는 평면이 AR 장면에서 감지된 가장 최근 시간으로 변환될 수 있다. 구체적으로, 등록 엔진(222)은 더 최근에 검출(식별)된 평면에 더 높은 가중치를 할당하고 덜 최근에 검출된 평면에 더 낮은 가중치를 할당할 수 있다. 이미징 센서(들)(220)로부터 더 멀리 위치된다. 이와 같이, 가장 업데이트된 데이터, 즉 병진 벡터에 대해 더 최근에 식별된 평면의 기여도는 증가하는 반면, 더 오래된 데이터, 즉 덜 최근에 검출된 평면의 기여도는 감소할 수 있다. 이는 예를 들어 이전에 방문한 방 및/또는 공간에서 식별되었을 수 있는 덜 최근의 평면이 병진 벡터에 덜 기여할 수 있으므로 사용자(204)의 현재 위치에 대한 기하학적 데이터 세트의 등록을 향상시킬 수 있음을 의미한다.
다른 예에서, 등록 엔진(222)은 기하학적 데이터 세트로부터 유도된 평면의 위치 및/또는 방향에 기초하여 기하학적 데이터 세트에서 식별된 평면에 가중치를 할당할 수 있다. 구체적으로, 등록 엔진(222)은 AR 장면에서 현재 볼 수 있고 그에 따라 위치 및/또는 방향이 될 수 있는 평면에 더 높은 가중치를 할당할 수 있고 위치 및/또는 방향이 추론될 수 없거나 적어도 정확하게 추론될 수 없는 현재 보이지 않는 평면에 더 낮은 가중치를 할당할 수 있습니다. 따라서 위치 및/또는 방향이 정확하게 결정된 평면은 위치 및/또는 방향이 결정되지 않은 평면에 비해 더 높은 기여도를 가질 수 있습니다.
다른 예시적인 실시예에서, 등록 엔진(222)은 기하학적 데이터 세트에서 최근에 업데이트된 각각의 평면을 나열하고 3D 모델에서 식별된 대응 평면을 추가로 나열함으로써 등록을 추적할 수 있다. 그러면 등록 엔진(222)은 3D 모델에서 대응 평면의 정적 위치에 기초하여 기하학적 데이터 세트에서 검출된 각 나열된 평면의 위치를 계산하고 병진 벡터를 업데이트 및/또는 재계산하여 등록을 지속적으로 업데이트할 수 있다.
선택적으로, 등록 엔진(222)은 기하학적 데이터 세트로부터 기하학적 데이터 및/또는 AR 세션 동안 AR 장면에서 검출된 하나 이상의 평면에 관한 특징을 추출할 수 있다. 특정 영역(206)의 3D 모델은 각 평면(들)의 실제 특징(들)을 표현하는 추출된 기하학적 데이터에 따라 조정, 업데이트 및/또는 수정될 수 있으므로 3D 모델의 정확도, 신뢰성 등을 높일 수 있다.
선택적으로, 등록 엔진(222)은 특정 영역(206)의 시각 데이터의 적어도 일부, 예를 들어 AR 세션 동안 하나 이상의 이미징 센서(들)(220)에 의해 캡처된 하나 이상의 이미지를 사용할 수 있다. 캡처된 이미지는 특정 영역의 3D 모델을 풍부하게 하는 데 사용될 수 있다, 예를 들어 3D 모델에 이미지(들)를 오버레이하여 기하학적 3D 모델과 정확하게 결합된 현실 세계 시각(이미지) 데이터를 나타내는 특정 영역의 시각적이고 사실적인 3D 모델을 생성할 수 있다.
본 발명의 일부 실시예에 따르면, 평면도(들)를 사용하는 대신에, 특정 영역(206)의 3D 모델은 특정 영역에서 하나 이상의 이전 AR 세션 동안 축적된 하나 이상의 기하학적 데이터 세트에 기초하여 생성될 수 있다. 특정 영역(206)의 시각 데이터를 캡처할 수 있는 AR 장치(202)와 같은 하나 이상의 AR 장치를 사용하여 특정 영역(206)에서 하나 이상의 AR 세션이 수행될 수 있다. 캡처된 시각 데이터를 기반으로 AR 세션 동안 각각의 기하학적 데이터 세트가 생성되고 축적될 수 있다. 특정 영역(206)에서 검출된 하나 이상의 평면의 기하학적 데이터 및/또는 기하학적 특징은 특정 영역(206)의 3D 모델을 생성 및/또는 업데이트하는 데 사용될 수 있다. 특정 영역(206)에서 하나 이상의 후속 AR 세션 동안, AR 장면, 특히 후속 AR 세션(들) 동안 축적된 기하학적 데이터는 후속 AR 세션(들)에서 캡처된 데이터를 기반으로 생성된 3D 모델에 등록될 수 있다.
본 발명의 다양한 실시예에 대한 설명은 예시의 목적으로 제공되었지만, 개시된 실시예로 제한되거나 배타적인 것으로 의도되지 않는다. 설명된 실시예의 범위 및 사상을 벗어나지 않고 많은 수정 및 변형이 당업자에게 명백할 것이다. 본 명세서에서 사용된 용어는 실시예의 원리, 시장에서 발견되는 기술에 대한 실제 적용 또는 기술적 개선을 가장 잘 설명하기 위해, 또는 당업자가 본 명세서에 개시된 실시예를 이해할 수 있도록 선택되었다.
이 출원에서 성숙되는 특허의 수명 동안 많은 관련 시스템, 방법 및 컴퓨터 프로그램이 개발될 것으로 예상되며 AR 장치라는 용어의 범위는 이러한 모든 신기술을 선험적으로 포함하도록 의도된다.
본원에서 사용되는 용어 "약"은 ± 10%를 의미한다.
용어 "구성하다", "구성하는", "포함하다", "포함하는", "갖는" 및 이들의 결합어는 "포함하지만 이에 제한되지 않는"을 의미한다. 이 용어는 "구성되는" 및 "본질적으로 구성되는"이라는 용어를 포함한다.
"본질적으로 이루어진"이라는 어구는 조성물 또는 방법이 추가 성분 및/또는 단계를 포함할 수 있지만, 추가 성분 및/또는 단계가 청구된 조성물 또는 방법의 기본적이고 신규한 특징을 실질적으로 변경하지 않는 경우에만 의미한다.
본 명세서에서 사용된 바와 같이, 단수형 "a", "an" 및 "the"는 문맥상 명백하게 달리 지시하지 않는 한 복수 참조를 포함한다. 예를 들어, "화합물" 또는 "적어도 하나 이상의 화합물"이라는 용어는 이들의 혼합물을 포함하는 복수의 화합물을 포함할 수 있다.
여기서 "예시적인"이라는 단어는 "예, 실례 또는 예시로서 제공하는 것"을 의미하는 데 사용된다. "예시적인" 것으로 기술된 임의의 실시예는 반드시 다른 실시예에 비해 바람직하거나 유리한 것으로 해석되거나 다른 실시예로부터 특징의 통합을 배제하는 것으로 해석되어서는 안 된다.
"선택적으로"라는 단어는 "일부 실시예에서는 제공되고 다른 실시예에서는 제공되지 않음"을 의미하는 것으로 본원에서 사용된다. 본 발명의 임의의 특정 실시예는 그러한 특징이 충돌하지 않는 한 복수의 "선택적인" 특징을 포함할 수 있다.
본 출원 전반에 걸쳐, 본 발명의 다양한 실시예는 범위 형식으로 제시될 수 있다. 범위 형식의 설명은 단지 편의와 간결함을 위한 것이며 본 발명의 범위에 대한 융통성 없는 제한으로 해석되어서는 안 됨을 이해해야 한다. 따라서 범위에 대한 설명은 모든 가능한 하위 범위와 해당 범위 내의 개별 수치 값을 구체적으로 개시한 것으로 간주되어야 한다. 예를 들어, 1 내지 6과 같은 범위의 설명은 1 내지 3, 1 내지 4, 1 내지 5, 2 내지 4, 2 내지 6, 3과 같은 구체적으로 개시된 하위 범위를 갖는 것으로 간주되어야 한다. 1, 2, 3, 4, 5, 6과 같이 해당 범위 내의 개별 숫자뿐만 아니라 범위의 폭에 관계없이 적용된다.
본 명세서에서 수치 범위가 표시될 때마다, 이는 표시된 범위 내의 임의의 인용된 숫자(분수 또는 정수)를 포함하는 것을 의미한다. 제1 표시 번호와 제2 표시 번호 "사이의 범위" 및 제1 표시 번호 "에서" 제2 표시 번호 "까지의 범위"라는 어구는 본 명세서에서 상호교환적으로 사용되며 제1 표시 번호와 제2 표시 번호 그리고 그 사이에 있는 모든 분수와 정수를 포함하는 것을 의미한다.
여기서 "예시적인"이라는 단어는 "예, 실례 또는 예시로서 제공하는 것"을 의미하는 데 사용다. "예시적인" 것으로 기술된 임의의 실시예는 반드시 다른 실시예에 비해 바람직하거나 유리한 것으로 해석되거나 다른 실시예로부터 특징의 통합을 배제하는 것으로 해석되어서는 안 된다.
"선택적으로"라는 단어는 "일부 실시예에서는 제공되고 다른 실시예에서는 제공되지 않음"을 의미하는 것으로 본원에서 사용된다. 본 발명의 임의의 특정 실시예는 그러한 특징이 충돌하지 않는 한 복수의 "선택적인" 특징을 포함할 수 있다.
명료함을 위해 별도의 실시예의 맥락에서 설명된 본 발명의 특정 특징은 또한 단일 실시예에서 조합되어 제공될 수 있음이 이해된다. 역으로, 간결함을 위해 단일 실시예의 맥락에서 설명된 본 발명의 다양한 특징은 또한 개별적으로 또는 임의의 적합한 하위 조합으로 또는 본 발명의 임의의 다른 설명된 실시예에 적합하게 제공될 수 있다. 실시예가 그러한 요소 없이 작동하지 않는 한, 다양한 실시예의 맥락에서 설명된 특정 특징은 해당 실시예의 필수 특징으로 간주되지 않는다.
본 발명이 그의 특정 실시예와 관련하여 설명되었지만, 많은 대안, 수정 및 변형이 당업자에게 명백할 것이라는 것이 명백하다. 따라서 첨부된 특허청구범위의 정신 및 넓은 범위에 속하는 이러한 모든 대안, 수정 및 변형을 포함하는 것으로 의도된다.
본 명세서에 언급된 모든 간행물, 특허 및 특허 출원은 마치 참조에 의해 본 명세서에 포함되어야 한다고 언급된 경우 각각의 개별 간행물, 특허 또는 특허 출원이 구체적이고 개별적으로 이루어진 것처럼 전체가 참조에 의해 명세서에 통합되는 것이 출원인의 의도이다. 또한, 본 출원에서 참조의 인용 또는 확인은 이러한 참조가 본 발명의 선행 기술로 이용 가능하다는 것을 인정하는 것으로 해석되어서는 안 된다. 섹션 제목이 사용되는 한 반드시 제한하는 것으로 해석되어서는 안 된다. 또한, 이 출원의 모든 우선권 문서(들)는 그 전체가 참조로 여기에 포함된다.

Claims (20)

  1. 특정 영역의 증강 현실(AR) 장면을 상기 특정 영역의 3차원(3D) 모델에 등록하는 방법에 있어서,
    다음을 위해 구성된 프로세서를 적어도 하나 이상 사용하는 단계를 포함하는 방법:
    활성 AR 세션 동안 적어도 하나의 이미징 센서에 의해 캡처된 시각 데이터를 기반으로 특정 영역의 기하학적 데이터 세트를 축적하는 단계;
    상기 특정 영역의 3D 모델을 획득하는 단계;
    복수의 주 회전 각도 각각에서 회전된 상기 3D 모델과 비교하여 상기 기하학적 데이터 세트에 대한 유사성 점수를 계산하는 단계 - 상기 유사성 점수는 상기 기하학적 데이터 세트 및 상기 회전된 3D 모델에서 식별된 복수의 대응 평면의 평행성을 나타낸다 -;
    가장 높은 유사성 점수를 생성하는 주 회전 각도를 선택하는 단계;
    상기 대응 평면 사이의 거리를 기준으로 상기 선택된 주 회전 각도에 대한 복수의 미세 조정 회전 각도 각각에 대한 병진 벡터(Translation Vector)를 계산하는 단계;
    상기 대응 평면 사이의 최소 거리를 생성하는 미세 조정 회전 각도를 선택하는 단계; 그리고
    상기 선택된 미세 조정 회전 각도 및 해당 병진 벡터에 따라 상기 기하학적 데이터 세트를 상기 3D 모델에 등록하는 단계.
  2. 제1항에 있어서, 최소 거리가 일정 임계값을 초과하는 경우 상기 선택된 회전 각도 및 병진 벡터에 따른 상기 등록을 실패시키는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 기하학적 데이터 세트 및 각각의 회전된 3D 모델은 상기 유사성 점수를 계산하기 전에 상기 특정 영역의 양의 수직 축 및 0 층 높이 주위에 먼저 정렬되는 방법.
  4. 제1항에 있어서, 상기 미세 조정 회전 각도 각각에 대한 상기 병진 벡터를 계산하는 단계는 다음을 포함하는 방법:
    슬라이딩 윈도우가 상기 기하학적 데이터 세트와 상기 3D 모델을 커버하는 복수의 윈도우 위치에 위치하도록 상기 각각의 미세 조정 회전 각도에 따라 회전된 상기 기하학적 데이터 세트 및 상기 3D 모델 위에 상기 슬라이딩 윈도우를 적용하는 단계,
    상기 복수의 윈도우 위치 각각에서, 상기 기하학적 데이터 세트의 상기 윈도우와 상기 3D 모델의 상기 윈도우에서 식별된 각 평면 사이의 거리를 계산하는 단계,
    상기 복수의 윈도우 위치에서 식별된 복수의 대응 평면에 대해 계산된 복수의 거리 값을 집계하여 상기 각각의 미세 조정 회전 각도의 상기 병진 벡터를 계산하는 단계.
  5. 제4항에 있어서, 상기 병진 벡터를 계산하기 위해 상기 복수의 거리 값을 집계하는 단계는 상기 복수의 거리 값에 대한 평균값을 계산하는 단계를 포함하는 방법.
  6. 제1항에 있어서, 상기 3D 모델은 상기 특정 영역의 적어도 하나의 평면도에 기초하여 생성되는 방법.
  7. 제1항에 있어서, 상기 복수의 평면 각각은 벽, 바닥, 천장, 문 및 윈도우로 구성된 그룹의 구성원인 방법.
  8. 제1항에 있어서, 상기 복수의 주 회전 각도는 3D 모델의 원점과 정렬된 제1 각도, 상기 제1 각도 + pi/2, 상기 제1 각도 + pi 및 상기 제1 각도 + pi*3/2로 구성된 그룹의 구성원인 방법.
  9. 제1항에 있어서, 상기 기하학적 데이터 세트에서 식별된 대응 평면과 각 미세 조정 회전 각도에 따라 회전된 상기 3D 모델 사이의 거리는 상기 각 평면의 법선의 내적에 기초하여 산출되는 방법.
  10. 제1항에 있어서, 상기 기하학적 데이터 세트에서 식별되는 3D 모델의 적어도 하나의 기준 면에 기초하여 상기 3D 모델에 상기 기하학적 데이터 세트를 등록하는 단계를 더 포함하는 방법.
  11. 제1항에 있어서, 상기 특정 영역과 잠재적으로 관련될 수 있는 복수의 3D 모델에 대한 상기 기하학적 데이터 세트에 대한 상기 병진 벡터를 계산하고, 상기 복수의 3D 모델 중 상기 대응 평면 사이의 최소 거리를 생산하는 하나를 선택하는 단계를 더 포함하는 방법 - 상기 복수의 3D 모델 각각은 각각의 평면도를 기초로 생성된다 -.
  12. 제1항에 있어서, 상기 적어도 하나의 이미징 센서의 시점 및/또는 위치의 변화로 인한 잠재적인 드리프팅을 극복하기 위해 상기 선택된 미세 조정 회전 각도 및 각각의 병진 벡터를 조정함으로써 상기 3D 모델로 상기 기하학적 데이터 세트의 상기 등록을 추적하는 단계를 더 포함하는 방법.
  13. 제12항에 있어서, 상기 등록은 상기 기하학적 데이터 세트에서 식별된 복수의 평면과 3D 모델에서 식별된 대응 평면 사이에서 계산된 상기 거리 값에 기초하여 상기 병진 벡터를 계산함으로써 조정되며, 여기서 상기 복수의 평면 각각은 각각의 가중치가 할당되는 방법.
  14. 제13항에 있어서, 상기 복수의 평면 각각에 할당된 가중치는 다음 중 적어도 하나에 기초하여 계산되는 방법:
    - 가까운 평면에는 더 높은 가중치가 할당되고 더 먼 평면에는 더 낮은 가중치가 할당되도록 상기 적어도 하나의 이미징 센서로부터 상기 각각의 평면의 거리,
    - 보다 최근에 검출된 평면에 더 높은 가중치가 할당되고 덜 최근에 검출된 평면에 더 낮은 가중치가 할당되도록 상기 각 평면이 식별된 가장 최근 시간, 및
    - 상기 기하학적 데이터 세트에서 파생된 상기 각 평면의 위치 및/또는 방향.
  15. 제12항에 있어서, 상기 등록은 다음에 의해 조정되는 방법:
    상기 기하학적 데이터 세트에서 최근에 업데이트된 평면과 해당 상기 3D 모델의 대응 평면을 각각 나열하는 단계, 그리고
    상기 3D 모델에서 상기 대응 평면의 정적 위치를 기반으로 상기 기하학적 데이터 세트에서 상기 각 평면의 위치를 계산하는 단계.
  16. 제1항에 있어서, 상기 기하학적 데이터 세트로부터 추출된 상기 복수의 평면 중 적어도 하나에 대한 적어도 하나의 기하학적 특징에 기초하여 상기 특정 영역의 상기 3D 모델을 업데이트하는 단계를 더 포함하는 방법.
  17. 제1항에 있어서, 상기 3D 모델 위에 상기 시각 데이터의 적어도 일부를 오버레이하여 사실적인 3D 모델을 생성하는 단계를 더 포함하는 방법.
  18. 제1항에 있어서, 상기 특정 영역에서의 적어도 하나의 이전 AR 세션 동안 생성된 적어도 하나의 이전 기하학적 데이터 세트에 기초하여 상기 특정 영역의 상기 3D 모델을 생성하는 단계를 더 포함하고, 상기 적어도 하나의 이전 기하학적 데이터 세트는 상기 적어도 하나의 이전 AR 세션 동안 적어도 하나의 AR 장치에 의해 캡처된 시각 데이터에 기초하여 생성되는 방법.
  19. 특정 영역의 증강현실(AR) 장면을 상기 특정 영역의 3차원(3D) 모델에 등록하기 위한 시스템에 있어서,
    코드를 실행하도록 구성된 적어도 하나의 프로세서를 포함하는 시스템, 상기 코드는 다음을 포함한다:
    활성 AR 세션 동안 적어도 하나의 이미징 센서에 의해 캡처된 시각 데이터를 기반으로 특정 영역의 기하학적 데이터 세트를 축적하기 위한 코드 명령어;
    상기 특정 영역의 3D 모델을 획득하기 위한 코드 명령어;
    복수의 주 회전 각도 각각에서 회전된 상기 3D 모델과 비교하여 상기 기하학적 데이터 세트에 대한 유사성 점수를 계산하기 위한 코드 명령어 - 상기 유사성 점수는 상기 기하학적 데이터 세트 및 상기 회전된 3D 모델에서 식별된 복수의 대응 평면의 평행성을 나타낸다 -;
    가장 높은 유사성 점수를 생성하는 주 회전 각도를 선택하기 위한 코드 명령어;
    상기 대응 평면 사이의 거리를 기준으로 상기 선택된 주 회전 각도에 대한 복수의 미세 조정 회전 각도 각각에 대한 병진 벡터를 계산하기 위한 코드 명령어;
    상기 대응 평면 사이의 최소 거리를 생성하는 미세 조정 회전 각도를 선택하기 위한 코드 명령어; 그리고
    상기 선택된 미세 조정 회전 각도 및 각각의 해당 병진 벡터에 따라 상기 기하학적 데이터 세트를 상기 3D 모델에 등록하기 위한 코드 명령어.
  20. 증강현실(AR) 세션을 위한 매칭 평면도를 식별하기 위한 컴퓨터 프로그램 제품에 있어서,
    다음을 갖는 적어도 하나의 컴퓨터 판독 가능 저장 매체를 포함하는 제품:
    적어도 하나의 프로세서가 활성 AR 세션 동안 적어도 하나의 이미징 센서에 의해 캡처된 시각 데이터에 기초하여 특정 영역의 기하학적 데이터 세트를 축적하기 위한 명령어를 코딩하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제1 프로그램 명령어;
    상기 적어도 하나의 프로세서가 상기 특정 영역의 3D 모델을 얻도록 하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제2 프로그램 명령어;
    상기 적어도 하나의 프로세서가 복수의 주 회전 각도 각각에서 회전된 상기 3D 모델과 비교하여 상기 기하학적 데이터 세트에 대한 유사성 점수를 계산하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제3 프로그램 명령어 - 상기 유사성 점수는 상기 기하학적 데이터 세트 및 상기 회전된 3D 모델에서 식별된 복수의 대응 평면의 평행성을 나타낸다 -;
    상기 적어도 하나의 프로세서가 가장 높은 유사성 점수를 생성하는 주 회전 각도를 선택하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제4 프로그램 명령어;
    상기 적어도 하나의 프로세서가 상기 대응 평면 사이의 거리를 기준으로 상기 선택된 주 회전 각도에 대한 복수의 미세 조정 회전 각도 각각에 대한 병진 벡터를 계산하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제5 프로그램 명령어;
    상기 적어도 하나의 프로세서가 상기 대응 평면 사이의 최소 거리를 생성하는 미세 조정 회전 각도를 선택하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제6 프로그램 명령어; 그리고
    상기 적어도 하나의 프로세서가 상기 선택된 미세 조정 회전 각도 및 각각의 해당 병진 벡터에 따라 상기 기하학적 데이터 세트를 상기 3D 모델에 등록하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 제7 프로그램 명령어.
KR1020237027799A 2021-01-17 2022-01-17 구조 평면도에 3d 증강 장면의 등록 KR20230130110A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163138473P 2021-01-17 2021-01-17
US63/138,473 2021-01-17
US17/367,707 2021-07-06
US17/367,707 US11315339B1 (en) 2021-01-17 2021-07-06 Registration of 3D augmented scene to structural floor plans
PCT/IL2022/050066 WO2022153315A1 (en) 2021-01-17 2022-01-17 Registration of 3d augmented scene to structural floor plans

Publications (1)

Publication Number Publication Date
KR20230130110A true KR20230130110A (ko) 2023-09-11

Family

ID=81259987

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237027799A KR20230130110A (ko) 2021-01-17 2022-01-17 구조 평면도에 3d 증강 장면의 등록

Country Status (7)

Country Link
US (2) US11315339B1 (ko)
EP (1) EP4275180A1 (ko)
JP (1) JP2024503135A (ko)
KR (1) KR20230130110A (ko)
AU (1) AU2022208470A1 (ko)
CA (1) CA3204640A1 (ko)
WO (1) WO2022153315A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117690095B (zh) * 2024-02-03 2024-05-03 成都坤舆空间科技有限公司 一种基于三维场景的智慧社区管理系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11468639B2 (en) * 2015-02-20 2022-10-11 Microsoft Technology Licensing, Llc Selective occlusion system for augmented reality devices
US10733800B2 (en) * 2018-09-17 2020-08-04 Facebook Technologies, Llc Reconstruction of essential visual cues in mixed reality applications

Also Published As

Publication number Publication date
CA3204640A1 (en) 2022-07-21
US20230368482A1 (en) 2023-11-16
AU2022208470A1 (en) 2023-08-24
US11315339B1 (en) 2022-04-26
JP2024503135A (ja) 2024-01-24
WO2022153315A1 (en) 2022-07-21
EP4275180A1 (en) 2023-11-15

Similar Documents

Publication Publication Date Title
US11238644B2 (en) Image processing method and apparatus, storage medium, and computer device
US11989895B2 (en) Capturing environmental features using 2D and 3D scans
KR102534637B1 (ko) 증강 현실 시스템
US10896497B2 (en) Inconsistency detecting system, mixed-reality system, program, and inconsistency detecting method
JP6088094B1 (ja) 複合現実環境を作成するためのシステム等
AU2022256192B2 (en) Multi-sync ensemble model for device localization
CN107407567B (zh) 增强现实导航
CN110473293A (zh) 虚拟对象处理方法及装置、存储介质和电子设备
CN104360729A (zh) 基于Kinect和Unity3D的多交互方法与装置
JP2023507500A (ja) マッピングデバイスからのローカルマップのマージング
Kasperi et al. Occlusion in outdoor augmented reality using geospatial building data
JP2018106661A (ja) 不整合検出システム、複合現実システム、プログラム及び不整合検出方法
Yuan et al. A survey on indoor 3D modeling and applications via RGB-D devices
US20240078701A1 (en) Location determination and mapping with 3d line junctions
US20230368482A1 (en) Registration of 3d augmented scene to structural floor plans
US11302067B2 (en) Systems and method for realistic augmented reality (AR) lighting effects
WO2023088127A1 (zh) 室内导航方法、服务器、装置和终端
JP6134874B1 (ja) 複合現実環境を作成するためのシステム等
Kaur et al. Computer vision and sensor fusion for efficient hybrid tracking in augmented reality systems
Suganya et al. Real-time camera tracking of augmented reality in landmarks environments
Asiminidis Augmented and Virtual Reality: Extensive Review
JP2023011218A (ja) マップ情報生成装置、位置特定装置、マップ情報生成方法、位置特定方法、プログラム及び記録媒体
Irmler et al. IoT-An Opportunity for Autonomous BIM Reconstruction?
Boj et al. The Hybrid City: augmented reality for interactive artworks in the public space
Mahfoud et al. Mixed-Reality Platform for Coordination and Situation Awareness in Smart Buildings