KR102618591B1 - 실물 객체에 대한 정밀한 추적을 위해 카메라 모듈의 내부 및 외부 파라미터를 계산하는 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법 - Google Patents

실물 객체에 대한 정밀한 추적을 위해 카메라 모듈의 내부 및 외부 파라미터를 계산하는 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법 Download PDF

Info

Publication number
KR102618591B1
KR102618591B1 KR1020220159740A KR20220159740A KR102618591B1 KR 102618591 B1 KR102618591 B1 KR 102618591B1 KR 1020220159740 A KR1020220159740 A KR 1020220159740A KR 20220159740 A KR20220159740 A KR 20220159740A KR 102618591 B1 KR102618591 B1 KR 102618591B1
Authority
KR
South Korea
Prior art keywords
camera module
electronic device
points
real object
images
Prior art date
Application number
KR1020220159740A
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 KR1020220159740A priority Critical patent/KR102618591B1/ko
Application granted granted Critical
Publication of KR102618591B1 publication Critical patent/KR102618591B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

일 실시예는, 카메라 모듈의 내부 파라미터와 카메라 모듈의 관성 측정 장치에 대한 외부 파라미터를 자동으로 계산하는 캘리브레이션 자동화 시스템으로서, 상기 카메라 모듈을 포함하는 전자 장치, 상기 전자 장치의 위치를 변경하는 이송 로봇 및 상기 전자 장치와 상기 이송 로봇의 동작을 제어하는 프로세서를 포함하는 컴퓨팅 장치를 포함하는 캘리브레이션 자동화 시스템을 제공한다.

Description

실물 객체에 대한 정밀한 추적을 위해 카메라 모듈의 내부 및 외부 파라미터를 계산하는 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법{An automated calibration system for calculating intrinsic parameter and extrinsic parameter of a camera module for precise tracking a real object, a calibration method, and a method for tracking a real object in an image based on the calibration method and augmenting a virtual model on the real object}
본 실물 객체에 대한 정밀한 추적을 위해 카메라 모듈의 내부 및 외부 파라미터를 계산하는 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법에 관한 것이다.
현대의 컴퓨팅 및 디스플레이 기술들은, 소위 "가상 현실(Virtual Reality, VR)" 또는 "증강 현실(Augmented Reality, AR)" 경험들을 구현할 수 있는 시스템의 개발을 가능하게 한다. 또한, 디지털적으로 재생된 가상 현실 또는 증강 현실의 이미지들은 이들이 실제인 것 같은 또는 실제인 것으로 인식될 수 있는 방식으로 사용자에게 제시된다.
최근, 조작 도구나 작업 대상과 같은 실제 물체에 대해 가상 객체를 증강하여 사용자가 소정의 작업 또는 훈련을 진행할 수 있도록 하는 훈련 프로그램을 제공하는 증강 현실 환경 서비스에 대한 수요가 증가하고 있다. 예를 들어, 스마트 글라스와 같은 증강 현실 제공 장치를 착용한 사용자가 수시로 움직이면서 증강된 조작 도구를 이용하여 실제 작업 대상에 대한 작업 또는 훈련을 할 수 있는 증강 현실 환경 서비스에 대한 수요가 증가하고 있다. 이때, 작업 대상과 같은 실물 객체에 가상의 조작 도구와 같은 가상 객체를 증강하기 위하여 작업 대상의 자세를 추정하는 기술이 필요하다.
예를 들어, 피앤피(Perspective-n-Point, PnP) 또는 호모그래피(Homography) 등의 자세 추정 알고리즘을 이용하여, 증강 현실 제공 장치의 카메라 모듈로 실물 객체를 촬영한 이미지와 증강 현실 제공 장치의 자세 정보를 기초로 실물 객체의 자세를 추정할 수 있다. 이와 같이 자세 추정 알고리즘을 이용하여 실물 객체의 자세를 추정하는 과정에서, 보다 정확한 실물 객체의 자세 추정을 위해 실물 객체의 이미지와 증강 현실 제공 장치의 자세 정보뿐만 아니라 증강 현실 제공 장치의 카메라 모듈의 내부(intrinsic) 파라미터와 외부(extrinsic) 파라미터가 더 필요하다.
실물 객체에 대한 자세 추정은 다양한 카메라 모듈의 내부 파라미터와 외부 파라미터의 영향을 받기 때문에, 동일한 자세 추정 알고리즘을 이용하더라도 카메라 모듈의 타입이 바뀌면 실물 객체에 대한 자세 추정 결과도 다양하게 변화할 수 있다. 이에 따라, 카메라 모듈의 내부 파라미터 및 외부 파라미터 정보에 영향을 받지 않고 동일한 자세 추정 알고리즘으로 동일한 자세 추정 결과를 얻기 위해서는, 카메라 모듈의 내부 파라미터와 외부 파라미터를 고려하여 자세 추정 프로세스를 수행해야 한다. 여기서, 증강 현실 장치의 카메라 모듈의 내부 파라미터는 예를 들어, 초점 거리(Focal length), 주점(Principal point)의 위치, 및 렌즈 왜곡 계수(Lens distortion)를 포함할 수 있다. 또한, 카메라 모듈의 외부 파라미터는 카메라 모듈의 중심점과 증강 현실 장치에 포함된 관성 측정 장치의 중심점 사이의 이격 거리 또는 카메라 모듈의 촬영 타임스탬프와 관성 측정 장치의 센싱 타임스탬프 사이의 차이를 포함할 수 있다.
예를 들어, 카메라 모듈의 내부 파라미터와 외부 파라미터에 대한 정보를 얻기 위해서 사용자가 직접 다양한 시점에서 카메라 모듈을 이용하여 촬영한 기준 객체 이미지를 활용하여 카메라 캘리브레이션(calibration)을 수행할 수 있다. 이와 같이 사용자가 직접 카메라 모듈의 기준 객체에 대한 자세를 변경해가며 기준 객체를 촬영하는 경우, 카메라 캘리브레이션에 필요한 정확한 데이터를 획득하기 어려울 수 있다.
한국공개특허공보 제10-2021-0085549호
본 개시의 다양한 실시예에 따라 실제 세계를 촬영한 이미지 내에서 실물 객체를 검출하기 위해, 실제 세계를 촬영한 카메라 모듈의 내부 파라미터와 외부 파라미터를 정밀하고 효율적으로 계산하는 캘리브레이션 방법을 제공하고자 한다.
본 개시의 다양한 실시예에 따라 이송 로봇을 이용하여 전자 장치를 소정의 궤적을 따라 이동시키면서 기준 객체를 촬영함으로써 전자 장치에 포함된 카메라 모듈의 내부 파라미터와 외부 파라미터를 정밀하게 계산하는 자동화된 캘리브레이션 시스템을 제공하고자 한다.
본 개시의 다양한 실시예에 따라 이송 로봇 기반의 자동화된 캘리브레이션 시스템을 이용하여 실제 세계를 촬영한 이미지 내에서 실물 객체를 높은 정확성으로 추적 및 인식하고, 인식한 실물 객체에 대해 가상 모델을 증강하는 방법을 제공하고자 한다.
본 개시의 다양한 실시예에 따라 인접하는 두 개의 키 지점 사이의 복수 개의 서브 지점에서 촬영하여 획득한 기준 객체의 서브 이미지를 기초로, 카메라 모듈의 내부 파라미터와 외부 파라미터의 신뢰성을 검증하는 방법을 제공하고자 한다.
일 실시예는,
카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 관성 측정 장치에 대한 외부 파라미터를 자동으로 계산하는 캘리브레이션 자동화 시스템으로서, 상기 카메라 모듈과 상기 관성 측정 장치를 포함하는 전자 장치, 상기 전자 장치의 위치를 변경하는 이송 로봇 및 상기 전자 장치와 상기 이송 로봇의 동작을 제어하는 프로세서를 포함하는 컴퓨팅 장치를 포함하는 캘리브레이션 자동화 시스템을 제공한다.
다른 측면에서, 상기 프로세서는, 상기 이송 로봇을 제어하여 상기 전자 장치를 소정의 궤적을 따라 이동시키면서 상기 카메라 모듈을 제어하여 상기 전자 장치가 상기 소정의 궤적 상의 복수 개의 지점에서마다 기준 객체를 촬영하여 상기 기준 객체의 복수 개의 이미지를 획득하도록 하고, 상기 복수 개의 지점에서의 상기 전자 장치의 자세 정보와 상기 복수 개의 이미지를 기초로 상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터를 계산할 수 있다.
다른 측면에서, 상기 카메라 모듈의 내부 파라미터는, 상기 카메라 모듈의 초점 거리, 주점(principal point)의 위치, 및 렌즈왜곡계수 중 적어도 어느 하나를 포함할 수 있다.
다른 측면에서, 상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터는, 상기 카메라 모듈의 중심점과 상기 관성 측정 장치의 중심점 사이의 이격 거리와 상기 카메라 모듈의 제1 타임스탬프와 상기 관성 측정 장치의 제2 타임스탬프 사이의 차이 중 적어도 어느 하나를 포함할 수 있다.
다른 측면에서, 상기 프로세서는, 상기 이송 로봇을 제어하여 상기 전자 장치가 상기 소정의 궤적 상의 상기 기준 객체의 키 이미지를 획득할 수 있는 복수 개의 키 지점에 순차적으로 위치하도록 하고, 상기 복수 개의 키 지점에서마다 상기 카메라 모듈을 제어하여 상기 전자 장치가 상기 기준 객체를 촬영하여 상기 기준 객체의 복수 개의 키 이미지를 획득하도록 하며, 상기 복수 개의 키 지점에서의 상기 전자 장치의 자세 정보와 상기 복수 개의 키 이미지를 기초로 상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터를 계산할 수 있다.
다른 측면에서, 상기 프로세서는, 상기 이송 로봇 및 상기 카메라 모듈을 제어하여 상기 소정의 궤적 상의 복수 개의 키 지점 중에서 인접하는 임의의 제1 키 지점과 제2 키 지점 사이의 복수 개의 서브 지점에서마다 상기 카메라 모듈이 상기 기준 객체를 촬영하도록 하여 상기 기준 객체의 복수 개의 서브 이미지를 획득하도록 하고, 상기 복수 개의 서브 이미지를 기초로, 상기 복수 개의 키 지점에서의 상기 전자 장치의 자세 정보와 상기 복수 개의 키 이미지를 기초로 계산된 상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터의 신뢰성을 검증할 수 있다.
일 실시예는,
이송 로봇에 마련된 전자 장치의 카메라 모듈에 의해 촬영된 이미지를 기초로 상기 이미지 내의 실물 객체를 객체 추적 알고리즘을 이용하여 추적하는 컴퓨팅 장치가 상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 전자 장치에 포함된 관성 측정 장치에 대한 외부 파라미터를 계산하는 캘리브레이션 방법으로서, 상기 컴퓨팅 장치가 상기 이송 로봇을 제어하여 상기 전자 장치를 소정의 궤적을 따라 이동시키면서 상기 카메라 모듈을 제어하여 상기 전자 장치가 상기 소정의 궤적 상의 복수 개의 지점에서마다 기준 객체를 촬영하여 상기 기준 객체의 복수 개의 이미지를 획득하도록 하는 단계 및 상기 컴퓨팅 장치가 상기 복수 개의 지점에서의 상기 전자 장치의 자세 정보와 상기 복수 개의 이미지를 기초로 상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터를 계산하는 단계를 포함하는 캘리브레이션 방법을 제공한다.
다른 측면에서, 상기 소정의 궤적 상의 복수 개의 지점은 상기 기준 객체의 키 이미지를 획득할 수 있는 복수 개의 키 지점일 수 있다.
다른 측면에서, 상기 기준 객체의 복수 개의 이미지를 획득하도록 하는 단계에서는, 상기 컴퓨팅 장치가 상기 이송 로봇을 제어하여 상기 전자 장치를 상기 소정의 궤적의 시작점과 끝점 사이를 반복적으로 이동시킬 수 있다.
다른 측면에서, 상기 소정의 궤적은 폐곡선일 수 있다.
다른 측면에서, 상기 캘리브레이션 방법은, 상기 컴퓨팅 장치가 상기 이송 로봇 및 상기 카메라 모듈을 제어하여 상기 소정의 궤적 상의 복수 개의 지점 중에서 임의의 인접하는 제1 지점과 제2 지점 사이의 복수 개의 서브 지점에서마다 상기 카메라 모듈이 상기 기준 객체를 촬영하도록 하여 상기 기준 객체의 복수 개의 서브 이미지를 획득하도록 하는 단계를 더 포함할 수 있다.
일 실시예는,
카메라 모듈과 관성 측정 장치를 포함하는 전자 장치의 증강현실 프로그램에서 수행하는 실물객체에 가상 모델을 증강하는 방법으로서, 상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터를 계산하는 상기 캘리브레이션 방법을 수행하는 단계, 주변 환경을 촬영하여 촬영 영상을 획득하는 단계, 상기 전자 장치의 자세 정보, 상기 카메라 모듈의 내부 파라미터와 외부 파라미터 및 상기 촬영 영상을 기초로 객체 추적 알고리즘을 이용하여 상기 획득된 촬영 영상 내에서 실물 객체를 검출하고, 상기 실물 객체의 자세를 추정하는 단계 및 상기 검출된 실물 객체에 가상의 증강 콘텐츠를 매칭하여 표시하는 단계를 포함하는, 실물 객체에 가상 모델을 증강하는 방법을 제공한다.
본 개시의 다양한 실시예에 따라 컴퓨팅 장치에 미리 저장된 다양한 자세에서 기준 객체를 촬영하여 획득한 복수 개의 이미지를 기초로 카메라 모듈의 내부 파라미터와 외부 파라미터를 정밀하고 효율적으로 계산할 수 있다.
또한, 이송 로봇을 이용하여 전자 장치를 컴퓨팅 장치에 미리 저장된 소정의 궤적을 따라 정확하게 이동시키면서 기준 객체를 촬영함으로써 전자 장치에 포함된 카메라 모듈의 내부 파라미터와 외부 파라미터를 정밀하게 계산하는 자동화된 캘리브레이션 시스템을 제공할 수 있다.
또한, 본 개시의 다양한 실시예에 따라 이송 로봇 기반의 자동화된 캘리브레이션 시스템을 이용하여 실제 세계를 촬영한 이미지 내에서 실물 객체를 높은 정확성으로 추적 및 인식하고, 인식한 실물 객체에 대해 가상 모델을 증강할 수 있다.
또한, 본 개시의 다양한 실시예에 따라 인접하는 두 개의 키 지점 사이의 복수 개의 서브 지점에서 촬영하여 획득한 기준 객체의 서브 이미지를 기초로, 카메라 모듈의 내부 파라미터와 외부 파라미터의 신뢰성을 검증함으로써 보다 정확하게 카메라 모듈의 내부 파라미터와 외부 파라미터를 계산할 수 있다.
도 1은 일 실시예에 따른 실물 객체에 가상 모델을 증강하는 방법을 구현하기 위한 시스템의 예시적인 블록다이어그램이다.
도 2 및 도 3은 실제 환경에서 컴퓨팅 장치가 실물 객체를 추적 및 인식하여 실물 객체에 증강된 콘텐츠를 정합하여 표시한 화면을 사용자가 전자 장치를 통해 확인하는 것을 묘사한 것이다.
도 4는 일 실시예에 따른 전자 장치와 컴퓨팅 장치의 예시적인 블록다이어그램이다.
도 5는 컴퓨팅 장치가 카메라 모듈을 이용하여 실물 객체의 자세 정보를 추출하는 방법을 설명하기 위한 개념도이다.
도 6은 일 실시예에 따른 전자 장치의 예시적인 구성을 도시한 것이다.
도 7은 일 실시예에 따른 이송 로봇을 이용하여 전자 장치에 포함된 카메라 모듈의 내부 파라미터와 외부 파라미터를 획득하기 위한 캘리브레이션 방법을 설명하기 위한 것이다.
도 8은 일 실시예에 따른 캘리브레이션 방법의 흐름도이다.
도 9는 일 실시예에 따른 카메라 모듈의 촬영 타임스탬프와 관성 측정 장치의 센싱 타임스탬프의 차이를 설명하기 위한 것이다.
도 10은 일 실시예에 따른 캘리브레이션 방법에 기초한 보드 상에 위치한 기준 객체에 대한 전자 장치의 이동 궤적을 도시한 것이다.
도 11은 다른 일 실시예에 따른 캘리브레이션 방법에 기초한 보드 상에 위치한 기준 객체에 대한 전자 장치의 이동 궤적을 도시한 것이다.
도 12는 또 다른 일 실시예에 따른 캘리브레이션 방법에 기초한 보드 상에 위치한 기준 객체에 대한 전자 장치의 이동 궤적을 도시한 것이다.
도 13은 또 다른 일 실시예에 따른 캘리브레이션 방법의 흐름도이다.
도 14는 일 실시예에 따른 캘리브레이션 방법에 기초하여 획득한 카메라 모듈의 내부 파라미터의 신뢰성을 검증하는 방법을 설명하기 위한 것이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서 상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 실물 객체에 가상 모델을 증강하는 방법을 구현하기 위한 시스템(10)의 예시적인 블록다이어그램이다. 그리고, 도 2 및 도 3은 실제 환경에서 컴퓨팅 장치(200)가 실물 객체(30)를 추적 및 인식하여 실물 객체(30)에 증강된 콘텐츠(ac)를 정합하여 표시한 화면을 사용자가 전자 장치(100)를 통해 확인하는 것을 묘사한 것이다. 그리고, 도 4는 일 실시예에 따른 전자 장치와 컴퓨팅 장치(200)의 예시적인 블록다이어그램이다. 그리고, 도 5는 컴퓨팅 장치(200)가 카메라 모듈(161)을 이용하여 실물 객체(30)의 자세 정보를 추출하는 방법을 설명하기 위한 개념도이다. 그리고, 도 6은 일 실시예에 따른 전자 장치(103)의 예시적인 구성을 도시한 것이다. 그리고, 도 7은 일 실시예에 따른 이송 로봇(60)을 이용하여 전자 장치(103)에 포함된 카메라 모듈(13)의 내부 파라미터와 외부 파라미터를 획득하기 위한 캘리브레이션 방법을 설명하기 위한 것이다. 그리고, 도 8은 일 실시예에 따른 캘리브레이션 방법(S100)의 흐름도이다. 그리고, 도 9는 일 실시예에 따른 카메라 모듈(13)의 촬영 타임스탬프와 관성 측정 장치의 센싱 타임스탬프의 차이를 설명하기 위한 것이다. 그리고, 도 10은 일 실시예에 따른 캘리브레이션 방법에 기초한 보드(50) 상에 위치한 기준 객체(40)에 대한 전자 장치(103)의 이동 궤적을 도시한 것이다. 그리고, 도 11은 다른 일 실시예에 따른 캘리브레이션 방법에 기초한 보드(50) 상에 위치한 기준 객체(40)에 대한 전자 장치(103)의 이동 궤적을 도시한 것이다. 그리고, 도 12는 또 다른 일 실시예에 따른 캘리브레이션 방법에 기초한 보드(50) 상에 위치한 기준 객체(40)에 대한 전자 장치(103)의 이동 궤적을 도시한 것이다. 그리고, 도 13은 또 다른 일 실시예에 따른 캘리브레이션 방법(S300)의 흐름도이다. 그리고, 도 14는 일 실시예에 따른 캘리브레이션 방법에 기초하여 획득한 카메라 모듈(13)의 내부 파라미터의 신뢰성을 검증하는 방법을 설명하기 위한 것이다.
- 시스템(10)
도 1 내지 도 3을 참조하면, 본 발명의 실시예에 따른 시스템(10)은 실제 환경(20)의 실물 객체(30)와 가상의 콘텐츠(ac)를 결합하여 생성한 증강 현실 경험을 사용자에게 제공하는 전자 장치(100), 실물 객체 추적을 위한 연산을 수행하는 컴퓨팅 장치(200)를 포함할 수 있다. 시스템(10)은 이미지 내의 실물 객체(30)를 추적 및 인식하여 실물 객체(30)에 다양한 가상의 콘텐츠(ac)를 증강할 수 있다.
전자 장치(100)와 컴퓨팅 장치(200)는 네트워크를 통해 서로 연결될 수 있다. 자세히, 네트워크는, 전자 장치(100), 컴퓨팅 장치(200) 등과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일례에는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
도 1을 참조하면, 전자 장치(100)는 증강 현실을 사용자에게 제공하는 장치를 포함할 수 있다. 예를 들어, 전자 장치(100)는 휴대용 통신 디바이스, 예컨대 모바일 전화기를 포함할 수 있다. 또한, 예를 들어, 전자 장치(100)는 터치 감응형 표면들(예를 들어, 터치 스크린 디스플레이들 및/또는 터치패드들)을 갖는 랩톱 또는 태블릿 PC를 포함할 수도 있다.
또한, 전자 장치(100)는 사용자에게 증강 및/또는 가상 현실 환경에 몰입될 수 있도록 사용자가 가상 환경을 탐색하며 다양한 상이한 유형의 입력들을 통해 가상 환경과 인터렉션할 수 있는 환경을 제공하는 헤드마운트 디스플레이(Head mounted display; HMD)를 포함할 수 있다. 예를 들어, 전자 장치(100)는 마이크로소프트사의 홀로렌즈(HoloLens), 메타사의 메타1/메타2 글래스, 구글사의 구글글래스, 캐논사의 MD-10, Magic Leap사의 Magic Leap One Creator Edition과 같은 상용 제품을 포함할 수 있다. 그러나 이에 한정되는 것은 아니며, 전자 장치(100)는 홀로렌즈, 메타1/메타2 글래스, 구글글래스, MD-10, Magic Leap One Creator Edition과 유사한 기능을 제공하는 장치를 포함할 수도 있다.
전자 장치(100)는 실제 환경(20)의 실물 객체(30)를 촬영할 수 있는 하나 이상의 카메라 모듈을 포함할 수 있다. 후술하는 바와 같이, 전자 장치(100)의 카메라 모듈을 통해 촬영된 이미지를 기반으로 컴퓨팅 장치(200)는 카메라 모듈의 내부 파라미터와 외부 파라미터를 계산하고, 실물 객체(30)를 추적할 수 있다.
- 컴퓨팅 장치(200)
컴퓨팅 장치(200)는 전자 장치(100)의 카메라 모듈에 의해 촬영된 영상 내의 실물 객체(30)의 자세를 추정하는 일련의 프로세스를 수행할 수 있다. 또한, 컴퓨팅 장치(200)는 전자 장치(100)의 카메라 모듈의 내부 파라미터와 외부 파라미터를 계산하는 캘리브레이션 방법을 수행할 수 있다.
컴퓨팅 장치(200)는 데이터 중계서버(210), 프로세서(220), 가상 콘텐츠 데이터베이스(230), 공간 정보 데이터베이스(240), 및 메모리(250)를 포함할 수 있다.
데이터 중계서버(210)는, 데이터 중계를 위한 통신설비 등을 포함할 수 있으며, 유무선 통신 네트워크를 통해 컴퓨팅 장치(200)와 전자 장치(100) 간에 커뮤니케이션 데이터를 송수신하도록 중계할 수 있다.
프로세서(220)는, 각 디바이스의 전박적인 동작을 제어하여 후술할 일련의 동작에 대한 데이터 처리를 수행할 수 있다. 프로세서(220)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 임의의 형태의 프로세서일 수 있다.
프로세서(220)는 전자 장치(100)의 카메라 모듈에 의해 촬영된 영상 내의 실제 객체(30)의 자세를 추정하는 일련의 프로세스를 수행할 수 있다. 또한, 프로세서(220)는 추정된 실제 객체(30)의 자세에 기초하여 실제 객체(30)에 가상의 콘텐츠(ac)를 증강하는 혼합 현실 환경을 제공하는 일련의 프로세스를 수행할 수 있다.
또한, 프로세서(220)는 전자 장치(100)의 카메라 모듈의 내부 파라미터와 외부 파라미터를 계산하는 캘리브레이션 방법을 수행할 수 있다. 이미지 내의 실제 객체(30)의 자세를 정확하게 추정하기 위해서는 이미지를 촬영하는 전자 장치(100)의 카메라 모듈의 내부 파라미터와 외부 파라미터에 대한 정보가 필요하다. 프로세서(220)가 카메라 모듈의 내부 파라미터와 외부 파라미터를 기초로 실물 객체(30)의 자세를 추정하는 방법에 대해서는 도 5 및 도 6을 참조하여 후술한다.
가상 콘텐츠 데이터베이스(230)에는, 증강현실 환경이나, 혼합현실 환경을 구현하기 위한 가상 콘텐츠 데이터가 저장되어 있을 수 있다. 이러한 가상 콘텐츠 데이터베이스(230)는, 가상의 콘텐츠를 실제 객체(예컨대, 마커)나 공간좌표에 매칭시킨 정보를 저장할 수 있다. 또한, 가상 콘텐츠 데이터베이스(230)는, 전자 장치(100)로부터 요청이 있는 경우, 전자 장치(100)의 주변 물리적 공간에 매칭된 가상 콘텐츠를 전달하는 가상 콘텐츠 소스 역할을 수행할 수 있다.
공간 정보 데이터베이스(240)는, 특정 영역의 물리적 공간을 스캔하거나 3차원 공간 모델링하여 물리적 공간에 대한 정보 데이터를 저장할 수 있다. 또한, 공간 정보 데이터베이스(240)에는 실제 환경(20)의 물리적 공간 내의 실제 객체(30), 마커 등을 이미지 학습하여 획득된 특징 정보들이 공간 정보와 매칭되어 저장될 수 있다. 컴퓨팅 장치(200)는, 전자 장치(100)의 주변 물리적 공간에 대한 가상 콘텐츠 데이터와 공간정보 데이터를 함께 송신하여, 전자 장치(100)를 통해 혼합 현실 환경을 제공할 수 있다.
메모리(250)는 데이터 중계서버(210), 프로세서(220), 가상 컨첸츠 데이터베이스(230) 및 공간정보 데이터베이스(240)를 동작하기 위한 명령들을 저장할 수 있다. 메모리(250)는 실제 객체(30)의 자세를 추정하는 일련의 프로세스로 동작하는 명령어들을 포함하는 자세 추적 어플리케이션을 포함할 수 있다. 메모리(250)는 추정된 실제 객체(30)의 자세에 기초하여 실제 객체(30)에 가상의 콘텐츠(ac)를 증강하는 혼합 현실 환경을 제공하는 일련의 프로세스로 동작하는 명령어들을 포함하는 혼합현실 어플리케이션을 저장할 수 있다. 또한, 메모리(250)는 실제 객체(30)의 자세를 추정하기 위해 필요한 전자 장치(100)의 카메라 모듈의 내부 파라미터와 외부 파라미터를 계산하는 일련의 프로세스로 동작하는 명령어들을 포함하는 캘리브레이션 어플리케이션을 포함할 수 있다.
메모리(250)는 ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있다. 그러나 이에 한정되는 것은 아니고, 메모리(250)는 인터넷(internet)상에서 상기 메모리(250)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.
도 2 및 도 3을 참조하면, 일 실시예에 따른 시스템(10)은 전자 장치(100)의 카메라 모듈에 의해 촬영되는 실제 환경(20) 상의 실물 객체(30)를 추적할 수 있다. 또한, 시스템(10)은 추적한 실물 객체(30)에 대해 가상의 증강 콘텐츠(ac)를 매칭하여 표시할 수 있다.
예를 들어, 시스템(10)은 실제 환경(20)을 촬영한 이미지로부터 실물 객체(30)의 특징점을 추출하고, 추출된 실물 객체(30)의 특징점을 이용하여 생성한 객체인식 라이브러리 데이터를 기초로 상기 이미지로부터 실물 객체(30)를 검출할 수 있다. 또한, 시스템(10)은 전자 장치(100)의 자세 정보와 주변 환경의 촬영 영상을 기초로 객체 추적 알고리즘을 이용하여 획득된 촬영 영상 내에서 검출된 실물 객체(30)의 자세를 추정할 수 있다.
시스템(10)은 이미지 내에서 실물 객체(30)를 인식하면, 가상 콘텐츠 데이터베이스(230), 사용자 저작 모듈(미도시) 또는 그 밖의 서버에 저장된 가상의 증강 콘텐츠(ac)를 호출하고, 증강 콘텐츠(ac)를 실물 객체(30)와 정합하여 랜더링하여 증강할 수 있다. 또한, 시스템(10)은 저장된 인터렉션 이벤트가 동작할 수 있도록 이벤트 플래그들을 조정할 수 있다.
나아가, 시스템(10)은 전자 장치(100)의 카메라 모듈의 내부 파라미터와 외부 파라미터를 계산하는 캘리브레이션 방법을 수행할 수 있다. 시스템(10)은 실물 객체(30)의 자세를 추정함에 있어, 카메라 모듈의 내부 파라미터와 외부 파라미터를 이용함으로써 보다 정밀하게 실물 객체(30)의 자세를 추정할 수 있다.
전자 장치(100)의 카메라 모듈이 실물 객체(30)를 관찰하는 각도 및 관찰 거리에 따라 가상의 증강 모델이나 그 밖의 가상의 각종 정보가 여러 측면과 다른 크기를 가질 수 있다. 다양한 실시예에서, 전자 장치(100)는 실물 객체(30)와 관련된 다양한 정보들을 표시할 수 있다.
다양한 실시예에서, 사용자는 전자 장치(100)를 조작하여 전자 장치(100) 상에서 표시된 가상의 증강 콘텐츠(ac)를 조작할 수 있다. 예를 들어, 전자 장치(100)는 사용자가 표시된 가상의 증강 콘텐츠(ac)를 x, y, z축으로 이동 및 회전, 확대, 축소 가능도록 하는 인터페이스를 제공하여 증강 콘텐츠(ac)에 대한 충분하고 상세한 관찰을 할 수 있도록 한다. 또한, 전자 장치(100)는 증강 모델뿐만 아니라 각종 정보를 추가적으로 제공하여 정적인 정보가 아닌 보다 풍부한 동적인 정보를 제공할 수 있다.
또한, 전자 장치(100)는 기존 장치에 대한 증강 모델로 표시되는 새로운 부품의 시공 전과 시공 후의 모습을 제공할 수 있다. 전자 장치(100)는 육안으로 확인이 잘 되지 않는 위위에 가상의 구조물을 증강할 수도 있다. 전자 장치(100)는 x, y, z축의 3차원에 시간 차원이 추가된 4D 개념으로서 시간 순에 따라 순차적으로 변화하는 증강 모델의 시뮬레이션을 진행할 수도 있다. 전자 장치(100)는 인터렉션 기능을 제공할 수 있고, 일부 실시예에서, 인터렉션의 구현을 위해 추가적인 컨트롤러가 사용될 수 있다.
도 4를 참조하면, 전자 장치(100)와 컴퓨팅 장치(200)는 네트워크를 통해 서로 연결될 수 있다.
일 실시예에 따른 전자 장치(100)는, 혼합 현실 어플리케이션(111)을 포함하는 메모리(110), 프로세서 어셈블리(120), 통신 모듈(130), 인터페이스 모듈(140), 입력 시스템(150), 센서 시스템(160) 및 디스플레이 시스템(170)을 포함할 수 있다. 또한, 상기 구성요소들은 전자 장치(100)의 하우징 내에 포함되도록 구현될 수 있다. 또한, 전자 장치(100)에는 하우징 외에 추가 이미지 센서(161-2)가 장착될 수 있다.
메모리(110)에는, 혼합 현실 어플리케이션(111)이 저장되며, 혼합 현실 어플리케이션(111)에는 혼합 현실 환경을 제공하기 위한 가상 콘텐츠, 이미지 버퍼, 위치 엔진, 가상 콘텐츠 디스플레이 엔진 등이 포함될 수 있다. 메모리(110)는 혼합 현실 환경을 생성하기 위해 사용될 수 있는 명령 및 데이터를 저장할 수 있다.
또한, 메모리(110)는, 적어도 하나 이상의 비일시적 컴퓨터 판독 가능 저장매체와, 일시적 컴퓨터 판독 가능 저장매체를 포함할 수 있다. 예를 들어, 메모리(110)는, ROM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet)상에서 상기 메모리(110)의 저장 기능을 수행하는 웹 스토리지(web storage)를 포함할 수 있다.
프로세서 어셈블리(120)는, 혼합 현실 환경을 생성하기 위한 다양한 작업을 수행하기 위해, 메모리(110)에 저장된 혼합 현실 어플리케이션(111)의 명령들을 실행할 수 있는 적어도 하나 이상의 프로세서를 포함할 수 있다.
실시예에서 프로세서 어셈블리(120)는, 혼합 현실 서비스를 제공하기 위하여 메모리(110)의 혼합 현실 어플리케이션(111)을 통해 구성요소의 전반적인 동작을 컨트롤할 수 있다.
예를 들어, 프로세서 어셈블리(120)는, 카메라 모듈(161)을 기반으로 획득된 영상으로부터 실제 객체를 인식할 수 있고, 인식된 실제 객체에 가상 콘텐츠를 매칭한 증강 현실 영상을 생성하고 표시하도록 전자 장치(100)의 구성요소들을 제어할 수 있다.
프로세서 어셈블리(120)는, 중앙처리장치(CPU) 및/또는 그래픽 프로세서 장치(GPU)를 포함할 수 있다. 또한, 프로세서 어셈블리(120)는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 포함하여 구현될 수 있다.
통신 모듈(130)은, 컴퓨팅 장치(200)와 통신하기 위한 하나 이상의 장치를 포함할 수 있다. 이러한 통신 모듈(130)은, 무선 네트워크를 통해 외부 장치와 통신할 수 있다.
자세히, 통신 모듈(130)은, 캘리브레이션 방법을 수행하고 혼합 현실 환경을 구현하기 위한 가상 콘텐츠 소스를 저장한 컴퓨팅 장치(200)와 통신할 수 있으며, 사용자 입력을 받은 컨트롤러와 같은 다양한 사용자 입력 컴포넌트와 통신할 수 있다.
통신 모듈(130)은, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced),5G NR(New Radio), WIFI) 또는 근거리 통신방식 등을 수행할 수 있는 통신장치를 통해 구축된 이동 통신망 상에서 기지국, 외부의 단말, 임의의 서버 중 적어도 하나와 무선으로 데이터를 송수신할 수 있다.
인터페이스 모듈(140)은, 전자 장치(100)를 하나 이상의 다른 장치와 통신 가능하게 연결할 수 있다. 자세히, 인터페이스 모듈(140)은, 하나 이상의 상이한 통신 프로토콜과 호환되는 유선 및/또는 무선 통신 장치를 포함할 수 있다. 인터페이스 모듈(140)을 통해 전자 장치(100)는, 여러 입출력 장치들과 연결될 수 있다. 예를 들어, 인터페이스 모듈(140)은, 헤드셋 포트나 스피커와 같은 오디오 출력장치와 연결되어, 오디오를 출력할 수 있다. 예시적으로 오디오 출력장치가 인터페이스 모듈(140)을 통해 연결되는 것으로 설명하였으나, 전자 장치(100) 내부에 설치되는 실시예도 포함될 수 있다. 이러한 인터페이스 모듈(140)은, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리(110) 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port), 전력 증폭기, RF 회로, 송수신기 및 기타 통신 회로 중 적어도 하나를 포함하여 구성될 수 있다.
입력 시스템(150)은 혼합 현실 환경과 관련된 사용자의 입력(예를 들어, 제스처, 음성 명령, 버튼의 작동 또는 다른 유형의 입력)을 감지할 수 있다.
자세히, 입력 시스템(150)은 버튼, 터치 센서 및 사용자 모션 입력을 수신하는 이미지 센서를 포함할 수 있다.
또한, 입력 시스템(150)은, 인터페이스 모듈(140)을 통해 외부 컨트롤러와 연결되어, 사용자의 입력을 수신할 수 있다.
센서 시스템(160)은, 카메라 모듈(161), 관성 측정 장치(Inertial measurement unit; IMU)(163), 오디오 센서(165)를 포함할 수 있다. 또한, 센서 시스템(160)은 거리 센서, 근접 센서, 접촉 센서 등 다양한 센서를 더 포함할 수 있다.
카메라 모듈(161)은 전자 장치(100) 주위의 물리적 공간에 대한 이미지 및/또는 영상을 캡처할 수 있다. 예를 들어, 카메라 모듈(161)은 실제 객체(30)의 캘리브레이션, 자세 추정 또는 혼합 현실 환경 제공에 관련된 영상을 촬영하여 획득할 수 있다.
또한, 카메라 모듈(161)은, 전자 장치(100)의 전면 또는/및 후면에 배치되어 배치된 방향측을 촬영하여 영상을 획득할 수 있으며, 전자 장치(100)의 외부를 향해 배치된 카메라를 통해 작업 현장과 같은 물리적 공간을 촬영할 수 있다.
카메라 모듈(161)은, 이미지 센서와 영상 처리 모듈을 포함할 수 있다. 여기서 이미지 센서는 예를 들어, CMOS 또는 CCD를 포함할 수 있다. 카메라 모듈(161)은 이미지 센서에 의해 얻어지는 정지영상 또는 동영상을 처리할 수 있다.
또한, 카메라 모듈(161)은, 영상 처리 모듈을 이용하여 이미지 센서를 통해 획득된 정지영상 또는 동영상을 가공해 필요한 정보를 추출하고, 추출된 정보를 프로세서 어셈블리(120) 또는 컴퓨팅 장치(200)의 프로세서(220)에 전달할 수 있다.
카메라 모듈(161)은, 복수의 카메라를 포함하는 카메라 어셈블리일 수 있다. 카메라 어셈블리는, 가시광선 대역을 촬영하는 일반 카메라를 포함할 수 있으며, 적외선 카메라, 스테레오 카메라 등의 특수 카메라를 더 포함할 수 있다. 특히, 전자 장치(100)는 하우징 외부에 별도로 장착된 추가 이미지 센서(161-2)를 포함할 수 있다.
추가 이미지 센서(161-2)는 인터페이스 모듈(140)을 통해 전자 장치(100)와 전기적으로 연결될 수 있다. 이 경우, 전자 장치(100)는 하우징 내에 배치된 카메라 모듈(161)과 하우징 외에 배치된 추가 이미지 센서(161-2)를 이용하여 스테레오 카메라처럼 동작시켜 물리적 공간에 대한 깊이 영상을 촬영할 수 있다. 추가 이미지 센서(161-2)를 통해 획득된 깊이 영상을 이용할 경우, 프로세서 어셈블리(120)는 전자 장치(100)로부터 실제 객체(30)까지의 거리를 정밀하게 측정할 수 있어서 정확한 실제 객체의 자세를 추정할 수 있고, 혼합 현실 환경 제공을 위한 가상의 증강 콘텐츠(ac)를 보다 정밀하게 증강할 수 있다.
IMU(163)는 전자 장치(100)의 움직임 및 가속도 중 적어도 하나 이상을 감지할 수 있다. 예를 들어, IMU(163)는 가속도계, 자이로스코프, 자력계와 같은 다양한 위치 센서의 조합으로 이루어 질 수 있다. 또한, IMU(163)는 통신 모듈(130)에 포함된 GPS와 연동하여 전자 장치(100) 주변의 물리적 공간에 대한 공간 정보를 인식할 수 있다.
예를 들어, IMU(163)는 검출된 위치 및 방향을 기초로 헤드마운트 디스플레이 타입의 전자 장치(100)를 착용한 사용자의 시선 방향 및 머리 움직임에 관한 데이터를 측정할 수 있다.
일부 구현들에서, 혼합 현실 어플리케이션(111)은 IMU(163) 및 카메라 모듈(161)을 사용하여 물리적 공간 내의 사용자의 위치 및 방향을 결정하거나 물리적 공간 내의 특징 또는 객체를 인식할 수 있다.
오디오 센서(165)는, 전자 장치(100) 주변의 소리를 인식할 수 있다. 자세히, 오디오 센서(165)는, 전자 장치(100)의 사용자의 음성 입력을 감지할 수 있는 마이크로폰을 포함할 수 있다. 실시예에서 오디오 센서(165)는 확장현실 커뮤니케이션 서비스를 통해 전송할 커뮤니케이션 데이터의 음성 데이터를 사용자로부터 입력 받을 수 있다.
디스플레이 시스템(170)은 카메라 모듈(161)에 의해 촬영된 실제 환경(20)과 가상의 증강 콘텐츠(ac)가 결합된 영상을 표시하는 디스플레이 장치를 포함할 수 있다. 또한, 디스플레이 시스템(170)은, 전자 장치(100) 주변의 물리적 공간으로부터의 광이 사용자의 눈에 도달하도록 상기 광을 투과시킴과 동시에 디스플레이 시스템(170)에 의해 생성된 가상의 증강 콘텐츠(ac)를 사용자의 눈을 향해 반사시키는 투명한 글래스 디스플레이를 포함할 수 있다.
전자 장치(100)가 스마트 글래스 타입으로 형성될 경우, 디스플레이 시스템(170)은, 전자 장치(100)를 착용한 사용자의 좌안에 대응되는 좌측 디스플레이와, 우안에 대응되는 우측 디스플레이를 포함할 수 있다. 이 경우, 좌측 디스플레이와 우측 디스플레이는 시차에 오프셋을 둔 서로 다른 이미지를 가상 콘텐츠로 출력함으로써, 사용자는 가상 콘텐츠를 3차원 이미지로 인식할 수 있다.
일 실시예에서 디스플레이 시스템(170)은, 혼합 현실 환경 서비스와 관련된 다양한 정보를 그래픽 이미지로 출력할 수 있다.
디스플레이 시스템(170)은, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전자잉크 디스플레이(e-ink display) 중에서 적어도 하나를 포함할 수 있다.
전자 장치(100)는 카메라 모듈(161)을 이용하여 실제 환경(20)을 촬영하여 실물 객체(30)가 포함된 이미지를 획득하고, 이 이미지를 네트워크를 통해 컴퓨팅 장치(200)에 전송할 수 있다. 컴퓨팅 장치(200)는 전자 장치(100)로부터의 이미지를 기초로 카메라 모듈(161)의 내부 파라미터와 외부 파라미터를 계산하는 캘리브레이션 방법을 수행할 수 있다. 또한, 컴퓨팅 장치(200)는 전자 장치(100)로부터의 이미지를 기초로 실물 객체(30)를 추적 및 인식할 수 있다.
도 5를 참조하면, 컴퓨팅 장치(200)는 카메라 모듈(161)이 촬영한 실물 객체(30)의 이미지를 이용하여 실물 객체(30)의 자세를 추정할 수 있다. 여기서, 자세는 실물 객체(30)에 대한 기준 포인트 위치 및 6 자유도(Degrees of freedom)를 포함한다.
기준 포인트 위치는 3차원 공간에서의 기준 포인트의 좌표일 수 있다. 실물 객체(30)의 기준 포인트는 실물 객체(30)의 자세를 추정하기 위한 기준이 되는 실물 객체(30) 상의 적어도 하나 이상의 지점을 의미한다. 이러한 기준 포인트는, 실물 객체(30)에 기초하여 증강 현실을 구현할 때 해당 실물 객체(30)에 매칭된 가상의 콘텐츠(ac) 증강을 위한 기준 파라미터로 이용될 수 있다.
실물 객체(30)의 6 자유도는 3차원 공간에서 기준 포인트를 기준으로 운동하는 실물 객체(30)의 여섯 가지 회전 및 병진 동작 요소를 측정한 자세 추정 정보일 수 있다. 자세히, 6 자유도는, 3차원 직각 좌표계에서 X축 중심의 좌우 회전(roll), Y축 중심의 앞뒤 회전(pitch), Z축 중심의 위아래 회전(yaw) 동작과 앞뒤(forward/back, surge), 좌우(left/right, sway), 위아래(up/down, heave) 병진 동작(translational motion)에 대한 값을 측정한 정보일 수 있다. 다시 말해, 실물 객체(30)의 6 자유도는 실물 객체의 회전 운동 파라미터(R) 값과 평행이동 파리미터(T) 값(RT값)을 포함할 수 있다.
제1 자세(R0, T0)를 가진 전자 장치(100)에 포함된 카메라 모듈(161)은 실물 객체(30)를 촬영하여 이미지(IG)를 획득할 수 있다. 또한, 전자 장치(100)에 포함된 IMU(163)는 전자 장치(100)의 제1 자세(RO, TO)를 측정할 수 있다. 카메라 모듈(161)이 촬영한 이미지(IG)와 IMU(163)가 측정한 제1 자세(RO, TO)에 관한 데이터는 네트워크를 통해 컴퓨팅 장치(200)로 전송될 수 있다.
컴퓨팅 장치(200)는 객체 추적 알고리즘을 활용하여 실제 객체(30)의 이미지(IG), 전자 장치의 제1 자세(RO, TO) 정보를 기초로 실물 객체(30)의 자세 (R1, T1)를 추정할 수 있다. 이 경우, 컴퓨팅 장치(200)는 카메라 모듈(161)의 내부 파라미터를 추가적인 입력 데이터로 활용하여 실물 객체(30)의 자세(R1, T1)를 보다 더 정밀하게 추정할 수 있다.
컴퓨팅 장치(200)는 캘리브레이션 알고리즘을 활용하여 카메라 캘리브레이션을 수행할 수 있다. 예를 들어, 컴퓨팅 장치(200)는 실제 객체(30)의 이미지(IG), 전자 장치의 제1 자세(RO, TO) 정보를 기초로 카메라 모듈(161)의 내부 파리미터를 계산할 수 있다. 여기서, 카메라 모듈(161)의 내부 파라미터는 카메라 모듈(161)에 포함된 렌즈의 초점 거리(Focal length), 주점(Principal point)의 위치, 및 렌즈왜곡계수(Lens distortion)를 포함할 수 있다.
카메라 모듈(161)의 내부 파라미터는 카메라 모듈(161)의 타입에 따라 다양하게 정해질 수 있다. 예를 들어, 전자 장치(101)는 스마트 글래스 타입, 스마트 고글 타입, 및 스마트폰 타입 중 어느 하나일 수 있고, 전자 장치(101)의 타입에 카메라 모듈(161)의 타입도 다양하게 정해질 수 있다. 이 경우, 전자 장치(101)에 포함되는 카메라 모듈(161)의 내부 파라미터가 다양하게 정해질 수 있다. 이에 따라, 컴퓨팅 장치(200)가 동일한 객체 추적 알고리즘을 활용한다고 하더라도, 실물 객체(30)를 촬영한 카메라 모듈(161)의 타입에 따라 실물 객체(30)의 자세(R1, T1)에 대한 추정 결과가 달라질 수 있다. 이에 따라, 전자 장치(100)의 타입이 바뀌어 카메라 모듈(161)의 타입이 바뀔 때마다 카메라 모듈(161)에 대한 캘리브레이션을 수행한 후에 실제 객체(30)에 대한 추적을 수행해야 할 필요가 있다.
카메라 모듈(161)에 대한 캘리브레이션을 수행하기 위해, 사용자는 다양한 자세의 전자 장치(100)의 카메라 모듈(161)을 이용하여 실물 객체(30)를 촬영하여 복수의 이미지를 획득할 수 있다. 다양한 자세를 가지는 전자 장치(100)의 카메라 모듈(161)에 의해 획득된 복수 이미지를 기초로 컴퓨팅 장치(200)는 캘리브레이션 알고리즘을 이용하여 카메라 모듈(161)의 내부 파라미터를 계산할 수 있다. 이와 같이, 사용자가 직접 실물 객체(30)에 대한 카메라 모듈(161)의 자세를 변경해가며 실물 객체(30)를 촬영하여 획득한 복수의 이미지에 기초하여 계산된 카메라 모듈(161)의 내부 파라미터가 실제 객체(30)의 자세 추정에 이용될 경우, 실제 객체(30)의 자세 추정 결과에 오류가 발생할 수 있다. 실제 객체(30)의 자세 추정의 정확도를 높이는 데에 필요한 내부 파라미터를 획득할 수 있는 캘리브레이션 자동화 시스템에 대해 도 7을 참조하여 후술한다.
도 6을 참조하면, 전자 장치(103)의 일 영역에 카메라 모듈(13)이 마련될 수 있다. 또한, 전자 장치(103)의 다른 일 영역 내부에는 IMU(미도시)가 마련될 수 있다. 예를 들어, 전자 장치(103)는 스마트폰 타입일 수 있고, 카메라 모듈(13)은 전자 장치(103)의 후면의 좌측 상단에 마련되고, IMU는 전자 장치(103)의 중앙 영역(AR1) 내부에 마련될 수 있다. 그러나 이에 한정되는 것은 아니고, 카메라 모듈(13)과 IMU 사이의 위치 관계는 다양하게 설정될 수 있다.
도 5를 참조하여 전술한 바와 같이, 실물 객체(30)의 자세를 추정함에 있어, 카메라 모듈(13)이 촬영한 이미지와 IMU가 측정한 전자 장치(103)의 자세 정보를 활용한다. 이 경우, 카메라 모듈(13)과 IMU의 상호 관계와 관련된 외부적 요인에 기초하여 실물 객체(30)의 자세에 대한 추정 결과도 다양하게 바뀔 수 있다. 이에 따라, 실물 객체(30)에 대한 보다 정확학 추적을 위해서, 전자 장치(100)의 타입이 바뀌어 카메라 모듈(13)과 IMU의 상호 관계가 바뀔 때마다 카메라 모듈(13)의 IMU에 대한 외부 파라미터를 계산하는 캘리브레이션을 수행한 후에 실제 객체(30)에 대한 추적을 수행해야 할 필요가 있다.
- 캘리브레이션 자동화 시스템(80)
도 7을 참조하면, 캘리브레이션 자동화 시스템(80)은 카메라 모듈(13)과 IMU(미도시)를 포함하는 전자 장치(103), 전자 장치(103)의 위치를 변경하는 이송 로봇(60), 및 전자 장치(103)와 이송 로봇(60)의 동작을 제어하는 프로세서(220)를 포함하는 컴퓨팅 장치(200)를 포함할 수 있다. 도 7에는 설명의 편의를 위해 컴퓨팅 장치(200)는 생략되어 있으며, 이송 로봇(60) 및 전자 장치(103)가 도시되어 있다. 이하에서 전자 장치(103)와 컴퓨팅 장치(200)에 관한 사항은 도 1 내지 도 6의 내용과 중복되지 않는 내용에 대해서 설명한다.
캘리브레이션 자동화 시스템(80)은 전자 장치(103)의 카메라 모듈(13)의 내부 파라미터와 외부 파라미터를 자동으로 계산할 수 있다. 컴퓨팅 장치(200)의 프로세서(220)는 이송 로봇(60)에 전자 장치(103)가 장착된 상태에서 이송 로봇(60)의 구동을 제어하여 전자 장치(103)가 다양한 자세를 가지도록 할 수 있다. 프로세서(220)는 전자 장치(103)의 다양한 자세에서마다 카메라 모듈(13)의 구동을 제어하여 보드(50) 상의 기준 객체(40)를 촬영함으로써 복수의 이미지를 획득할 수 있다. 여기서, 기준 객체(40)는 소정의 이미지일 수 있다. 예를 들어, 기준 객체(40)는 체크 무늬 이미지일 수 있다. 그러나 이에 한정되는 것은 아니고, 기준 객체(40)는 카메라 모듈(13)의 내부 파라미터를 계산하는 데에 적합한 다양한 이미지를 포함할 수 있다.
기준 객체(40)에 대한 전자 장치(103)의 다양한 자세에 대한 정보는 컴퓨팅 장치(200)의 메모리(250)에 미리 저장되어 있을 수 있다. 예를 들어, 전자 장치(103)의 제1 지점(a1)에서의 제1 자세 정보(Ra, Ta), 제2 지점(a2)에서의 제2 자세 정보(Rb, Tb), 제3 지점(a3)에서의 제3 자세 정보(Rc, Tc), 및 제4 지점(a4)에서의 제4 자세 정보(Rd, Td)가 메모리(110)에 미리 저장되어 있을 수 있다. 제1 지점(a1), 제2 지점(a2), 제3 지점(a3), 및 제4 지점(a4)을 포함하는 제1 궤적(TRJ1)에 대한 정보가 메모리(250)에 미리 저장되어 있을 수 있다.
제1 궤적(TRJ1)은 카메라 모듈(13)의 내부 파라미터와 외부 파라미터를 계산하는 캘리브레이션 방법의 정확도를 높이기 위해 필요한 기준 객체(40)의 이미지를 얻는 최적의 촬영 경로일 수 있다. 컴퓨팅 장치(200)의 프로세서(220)는 이송 로봇(60)을 제어하여 전자 장치(103)를 제1 궤적(TRJ1)의 시작점과 끝점 사이를 반복적으로 이동시킬 수 있다.
프로세서(220)는 메모리(250)에 저장되어 있는 정보를 기초로 전자 장치(103)가 제1 궤적(TRJ1)을 따라 기준 객체(40)를 촬영할 수 있도록 이송 로봇(60)의 동작을 제어할 수 있다.
- 캘리브레이션 방법(S100)
도 8을 참조하면, 캘리브레이션 자동화 시스템(80)이 수행하는 일 실시예에 따른 캘리브레이션 방법(S100)은 프로세서(220)가 이송 로봇(60)을 제어하여 전자 장치(103)를 제1 궤적(TRJ1)을 따라 이동시키면서 카메라 모듈(13)을 제어하여 전자 장치(103)가 제1 궤적(TRJ1) 상의 복수 개의 지점(a1, a2, a3, a4)에서마다 기준 객체(40)를 촬영하여 기준 객체(40)의 복수 개의 이미지를 획득하도록 하는 단계(S101), 및 프로세서(220)가 복수 개의 지점(a1, a2, a3, a4)에서의 전자 장치(103)의 자세 정보와 복수 개의 이미지를 기초로 카메라 모듈(13)의 내부 파라미터와 카메라 모듈(13)의 IMU에 대한 외부 파라미터를 계산하는 단계(S103)를 포함할 수 있다.
제1 궤적(TRJ1)에 포함된 제1 지점(a1), 제2 지점(a2), 제3 지점(a3) 및 제4 지점(a4) 각각은 기준 객체(40)의 키 이미지를 획득할 수 있는 키 지점일 수 있다. 여기서, 키 이미지는 기준 객체(40)를 촬영하여 획득한 복수 개의 이미지 중에서 기준 객체(40)의 특징적인 요소를 포함하는 이미지로서, 키 프레임으로 일컬어질 수 있다.
예를 들어, 기준 객체(40)의 키 이미지를 촬영할 수 있는 키 지점에 대한 정보가 메모리(250)에 미리 저장되어 있을 수 있다. 다시 도 7을 참조하면, 복수 개의 이미지를 획득하도록 하는 단계(S101)에서, 프로세서(220)는 메모리(250)에 저장되어 있는 키 지점에 대한 정보를 기초로 이송 로봇(60)을 제어하여 전자 장치(103)가 제1 궤적(TRJ1)을 따라 기준 객체(40)의 키 이미지를 획득할 수 있는 복수 개의 키 지점(a1, a2, a3, a4)에 순차적으로 위치하도록 할 수 있다. 또한, 프로세서(220)는 복수 개의 키 지점(a1, a2, a3, a4)에서마다 카메라 모듈(13)을 제어하여 전자 장치(103)가 기준 객체(40)를 촬영하여 기준 객체(40)의 복수 개의 키 이미지를 획득하도록 할 수 있다.
예를 들어, 복수 개의 이미지를 획득하도록 하는 단계(S101)에서, 프로세서(220)는 이송 로봇(60)을 제어하여 전자 장치(103)가 제1 자세를 가지도록 하고, 카메라 모듈(13)을 제어하여 전자 장치(103)가 제1 자세에서 기준 객체(40)를 촬영하여 제1 이미지를 획득하도록 할 수 있다. 그 이후, 프로세서(220)는 이송 로봇(60)을 제어하여 전자 장치(103)가 제1 자세와 다른 제2 자세를 가지도록 하고, 카메라 모듈(13)을 제어하여 전자 장치(103)가 제2 자세에서 기준 객체(40)를 촬영하여 제2 이미지를 획득하도록 할 수 있다. 또한, 프로세서(220)는 이송 로봇(60)을 제어하여 전자 장치(103)가 제1 자세 및 제2 자세와 다른 제3 자세를 가지도록 하고, 카메라 모듈(13)을 제어하여 전자 장치(103)가 제3 자세에서 기준 객체(40)를 촬영하여 제3 이미지를 획득하도록 할 수 있다. 나아가, 프로세서(220)는 이송 로봇(60)을 제어하여 전자 장치(103)가 제1 자세, 제2 자세, 및 제3 자세와 다른 제4 자세를 가지도록 하고, 카메라 모듈(13)을 제어하여 전자 장치(103)가 제4 자세에서 기준 객체(40)를 촬영하여 제4 이미지를 획득하도록 할 수 있다.
여기서, 전자 장치(103)의 제1 자세는 제1 지점(a1)에서 특정 각도로 회전된 전자 장치(103)의 상태를 의미할 수 있다. 또한, 전자 장치(103)의 제2 자세는 제2 지점(a2)에서 특정 각도로 회전된 전자 장치(103)의 상태를 의미할 수 있다. 또한, 전자 장치(103)의 제3 자세는 제3 지점(a3)에서 특정 각도로 회전된 전자 장치(103)의 상태를 의미할 수 있다. 나아가, 전자 장치(103)의 제4 자세는 제4 지점(a4)에서 특정 각도로 회전된 전자 장치(103)의 상태를 의미할 수 있다.
한편, 제1 궤적(TRJ1) 상의 복수 개의 지점(a1, a2, a3, a4)은 일 평면 상에 위치할 수 있다. 예를 들어, 제1 지점(a1), 제2 지점(a2), 제3 지점(a3), 및 제4 지점(a4)은 공간 상의 임의의 일 평면 상에 위치할 수 있다. 그러나 이에 한정되는 것은 아니며, 제1 지점(a1), 제2 지점(a2), 제3 지점(a3), 및 제4 지점(a4) 중 적어도 어느 하나는 나머지 지점들이 마련된 일 평면과 다른 일 평면에 위치할 수 있다.
복수 개의 이미지를 기초로 카메라 모듈(13)의 내부 파라미터와 카메라 모듈(13)의 IMU에 대한 외부 파라미터를 계산하는 단계(S103)에서, 프로세서(220)는 캘리브레이션 알고리즘을 활용하여 복수 개의 지점(a1, a2, a3, a4)에서 획득한 기준 객체(40)의 복수 개의 이미지와 복수 개의 지점(a1, a2, a3, a4) 각각에서의 전자 장치(103)의 자세 정보들을 기초로 카메라 모듈(13)의 내부 파라미터와 외부 파라미터를 계산할 수 있다.
예를 들어, 복수 개의 지점(a1, a2, a3, a4) 중에서 제1 지점(a1)에서의 전자 장치(103)의 제1 자세 정보는 기준 객체(40)의 제1 특징 데이터와 함께 메모리(250)에 미리 저장될 수 있다. 여기서 제1 특징 데이터는 카메라 모듈(13)의 내부 파라미터의 영향이 없다고 가정했을 때, 임의의 카메라 모듈(13)이 제1 자세에서 기준 객체(40)를 촬영하여 획득한 이미지로부터 얻어지는 기준 객체(40)에 대한 데이터일 수 있다.
프로세서(220)는 제1 지점(a1)에서 제1 자세를 가지는 전자 장치(103)로 촬영한 기준 객체(40)의 이미지로부터 제2 특징 데이터를 추출할 수 있다. 여기서 제2 특징 데이터는 카메라 모듈(13)의 내부 파라미터의 영향을 받아 얻어지는 데이터로서, 제1 특징 데이터와 다를 수 있다. 프로세서(220)는 제1 특징 데이터와 제2 특징 데이터를 비교하여 카메라 모듈(13)의 내부 파라미터를 역으로 계산할 수 있다.
다시 도 6을 참조하면, 예를 들어, 카메라 모듈(13)의 IMU에 대한 외부 파라미터는 카메라 모듈(13)의 중심점(c1)과 IMU의 중심점(c2) 사이의 이격 거리(d)를 포함할 수 있다. 또한, 카메라 모듈(13)의 IMU에 대한 외부 파라미터는 카메라 모듈(13)의 제1 타임스탬프와 IMU의 제2 타임스탬프 사이의 차이를 포함할 수 있다. 예를 들어, 도 9를 참조하면, 컴퓨팅 장치(200)의 프로세서(220)가 카메라 모듈(13)과 IMU를 동작시키기 위한 구동신호를 생성하여 전자 장치(100)에 전송할 수 있다. 컴퓨팅 장치(200)는 일정한 주기(T1)로 구동신호를 생성할 수 있다. 예를 들어, 컴퓨팅 장치(200)는 일정한 주기(T1)로 초기 시점(0), 제1 시점(t1), 제2 시점(t2), 제3 시점(t3)에 각각 구동신호를 생성하여 전자 장치(100)에 전송할 수 있다.
이 경우, 카메라 모듈(13)의 구동 특성과 IMU의 구동 특성이 서로 다르기 때문에, 컴퓨팅 장치(200)가 카메라 모듈(13)이 촬영한 이미지와 관련 데이터를 수신하는 시점인 제1 타임스탬프와 컴퓨팅 장치(200)가 IMU가 센싱한 전자 장치(103)의 자세 관련 데이터를 수신하는 시점인 제2 타임스탬프 사이에 차이가 발생할 수 있다.
예를 들어, 1000Hz로 동작하는 IMU는 초기 시점(0)에서 제1 시간(T2)이 지난 시점에 전자 장치(103)의 자세 데이터를 측정하여 컴퓨팅 장치(200)에 전송할 수 있다. 30Hz로 동작하는 카메라 모듈(13)은 초기 시점(0)에서 제2 시간(T3)이 지난 시점에 기준 객체(40)를 촬영한 이미지와 관련된 데이터를 측정하여 컴퓨팅 장치(200)에 전송할 수 있다. 여기서 제2 시간(T3)은 제1 시간(T2)보다 길 수 있다. 그러나 이에 한정되는 것은 아니고, 제2 시간(T3)이 제1 시간(T2)보다 짧게 설정될 수도 있다.
이에 따라, 컴퓨팅 장치(200)가 카메라 모듈(13)로부터 기준 객체(40) 이미지 데이터를 수신한 시점인 제1 타임스탬프와 컴퓨팅 장치(200)가 IMU로부터 전자 장치(100)의 자세 데이터를 수신한 시점인 제2 타임스탬프 사이에는 차이(Td)가 발생할 수 있다.
도 10을 참조하면, 프로세서(220)는 메모리(250)에 저장되어 있는 키 지점에 대한 정보를 기초로 이송 로봇(60)을 제어하여 전자 장치(103)가 제2 궤적(TRJ2) 상의 기준 객체(40)의 키 이미지를 획득할 수 있는 복수 개의 키 지점(p1, p2, p3, p4)에 순차적으로 위치하도록 할 수 있다. 또한, 프로세서(220)는 복수 개의 키 지점(p1, p2, p3, p4)에서마다 카메라 모듈(13)을 제어하여 전자 장치(103)가 기준 객체(40)를 촬영하여 기준 객체(40)의 복수 개의 키 이미지를 획득하도록 할 수 있다.
여기서 제2 궤적(TRJ2)은 직선형 궤적일 수 있다. 예를 들어, 제2 궤적(TRJ2)은 기준 객체(40)를 중심에 두고 상하 방향으로 뻗은 직선형 궤적일 수 있다. 컴퓨팅 장치(200)의 프로세서(220)는 이송 로봇(60)을 제어하여 전자 장치(103)를 제2 궤적(TRJ2)의 시작점과 끝점 사이를 반복적으로 이동시키면서, 복수 개의 키 지점(p1, p2, p3, p4)에서마다 카메라 모듈(13)을 제어하여 전자 장치(103)가 기준 객체(40)를 촬영하여 기준 객체(40)의 복수 개의 키 이미지를 획득하도록 할 수 있다.
예를 들어, 제2 궤적(TRJ2) 상의 복수 개의 키 지점(p1, p2, p3, p4)은 일 평면 상에 위치할 수 있다. 그러나 이에 한정되는 것은 아니며, 복수 개의 키 지점(p1, p2, p3, p4) 중 적어도 어느 하나는 다른 키 지점들이 위치하는 일 평면과 다른 일 평면에 위치할 수 있다.
도 11을 참조하면, 프로세서(220)는 메모리(250)에 저장되어 있는 키 지점에 대한 정보를 기초로 이송 로봇(60)을 제어하여 전자 장치(103)가 제3 궤적(TRJ3) 상의 기준 객체(40)의 키 이미지를 획득할 수 있는 복수 개의 키 지점(q1, q2, q3, q4, q5, q6, q7)에 순차적으로 위치하도록 할 수 있다. 또한, 프로세서(220)는 복수 개의 키 지점(q1, q2, q3, q4, q5, q6, q7)에서마다 카메라 모듈(13)을 제어하여 전자 장치(103)가 기준 객체(40)를 촬영하여 기준 객체(40)의 복수 개의 키 이미지를 획득하도록 할 수 있다.
여기서 제3 궤적(TRJ3)은 곡선형 궤적일 수 있다. 예를 들어, 제3 궤적(TRJ3)은 기준 객체(40)를 중심에 두고 상부에 형성된 반원의 호 형태의 곡선형 궤적일 수 있다. 컴퓨팅 장치(200)의 프로세서(220)는 이송 로봇(60)을 제어하여 전자 장치(103)를 제3 궤적(TRJ3)의 시작점과 끝점 사이를 반복적으로 이동시키면서, 복수 개의 키 지점(q1, q2, q3, q4, q5, q6, q7)에서마다 카메라 모듈(13)을 제어하여 전자 장치(103)가 기준 객체(40)를 촬영하여 기준 객체(40)의 복수 개의 키 이미지를 획득하도록 할 수 있다.
예를 들어, 제3 궤적(TRJ3) 상의 복수 개의 키 지점(q1, q2, q3, q4, q5, q6, q7)은 일 평면 상에 위치할 수 있다. 그러나 이에 한정되는 것은 아니며, 복수 개의 키 지점(q1, q2, q3, q4, q5, q6, q7) 중 적어도 어느 하나는 다른 키 지점들이 위치하는 일 평면과 다른 일 평면에 위치할 수 있다.
도 12를 참조하면, 프로세서(220)는 메모리(250)에 저장되어 있는 키 지점에 대한 정보를 기초로 이송 로봇(60)을 제어하여 전자 장치(103)가 제4 궤적(TRJ4) 상의 기준 객체(40)의 키 이미지를 획득할 수 있는 복수 개의 키 지점(r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13)에 순차적으로 위치하도록 할 수 있다. 또한, 프로세서(220)는 복수 개의 키 지점(r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13)에서마다 카메라 모듈(13)을 제어하여 전자 장치(103)가 기준 객체(40)를 촬영하여 기준 객체(40)의 복수 개의 키 이미지를 획득하도록 할 수 있다.
여기서 제4 궤적(TRJ4)은 폐곡선일 수 있다. 예를 들어, 제4 궤적(TRJ4)은 기준 객체(40)를 중심에 둔 시작점과 끝점이 동일한 폐곡선의 궤적일 수 있다. 컴퓨팅 장치(200)의 프로세서(220)는 이송 로봇(60)을 제어하여 전자 장치(103)를 폐곡선을 따라 제4 궤적(TRJ4)의 시작점과 끝점 사이를 반복적으로 이동시키면서, 복수 개의 키 지점(r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13)에서마다 카메라 모듈(13)을 제어하여 전자 장치(103)가 기준 객체(40)를 촬영하여 기준 객체(40)의 복수 개의 키 이미지를 획득하도록 할 수 있다.
예를 들어, 제4 궤적(TRJ4) 상의 복수 개의 키 지점(r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13)은 일 평면 상에 위치할 수 있다. 그러나 이에 한정되는 것은 아니며, 복수 개의 키 지점(r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13) 중 적어도 어느 하나는 다른 키 지점들이 위치하는 일 평면과 다른 일 평면에 위치할 수 있다.
도 7 및 도 13을 참조하면, 캘리브레이션 자동화 시스템(80)이 수행하는 또 다른 일 실시예에 따른 캘리브레이션 방법(S300)은 프로세서(220)가 이송 로봇(60)을 제어하여 전자 장치(103)를 제1 궤적(TRJ1)을 따라 이동시키면서 카메라 모듈(13)을 제어하여 전자 장치(103)가 제1 궤적(TRJ1) 상의 복수 개의 지점(a1, a2, a3, a4)에서마다 기준 객체(40)를 촬영하여 기준 객체(40)의 복수 개의 이미지를 획득하도록 하는 단계(S301), 프로세서(220)가 복수 개의 지점(a1, a2, a3, a4)에서의 전자 장치(103)의 자세 정보와 복수 개의 이미지를 기초로 카메라 모듈(13)의 내부 파라미터를 계산하는 단계(S303), 이송 로봇(60) 및 카메라 모듈(13)을 제어하여 제1 궤적(TRJ1) 상의 복수 개의 지점(a1, a2, a3, a4) 중에서 임의의 인접하는 제1 지점과 제2 지점 사이의 복수 개의 서브 지점에서마다 카메라 모듈(13)이 기준 객체(40)를 촬영하도록 하여 기준 객체(40)의 복수 개의 서브 이미지를 획득하도록 하는 단계(S305), 및 복수 개의 서브 이미지를 기초로, 복수 개의 지점(a1, a2, a3, a4)에서의 전자 장치(103)의 자세 정보와 복수 개의 이미지를 기초로 계산된 카메라 모듈(13)의 내부 파라미터와 카메라 모듈(13)의 IMU에 대한 외부 파라미터의 신뢰성을 검증하는 단계(S307)를 포함할 수 있다.
복수 개의 이미지를 획득하도록 하는 단계(S301)와 복수 개의 이미지를 기초로 카메라 모듈(13)의 내부 파라미터와 외부 파라미터를 계산하는 단계(S303)는 각각 도 8의 단계(S101)와 단계(S103)와 실질적으로 동일한 바, 단계(S301)와 단계(S303)에 대한 설명은 생략한다.
도 14를 참조하면, 복수 개의 서브 이미지를 획득하도록 하는 단계(S305)에서는, 프로세서(220)가 이송 로봇(60) 및 카메라 모듈(13)을 제어하여 제5 궤적(TRJ7) 상의 복수 개의 지점(b1, b2, b3) 중에서 임의의 인접하는 제1 지점(b1)과 제2 지점(b2) 사이의 복수 개의 서브 지점(sb1, sb2, sb3, sb4, sb5)에서마다 카메라 모듈(13)이 기준 객체(40)를 촬영하도록 하여 기준 객체(40)의 복수 개의 서브 이미지를 획득하도록 할 수 있다. 또한, 프로세서(220)가 이송 로봇(60) 및 카메라 모듈(13)을 제어하여 제5 궤적(TRJ5) 상의 복수 개의 지점(b1, b2, b3) 중에서 임의의 인접하는 제2 지점(b2)과 제3 지점(b3) 사이의 복수 개의 서브 지점(sb6, sb7, sb8, sb9)에서마다 카메라 모듈(13)이 기준 객체(40)를 촬영하도록 하여 기준 객체(40)의 복수 개의 서브 이미지를 획득하도록 할 수 있다.
복수 개의 이미지를 기초로 계산된 카메라 모듈(13)의 내부 파라미터와 외부 파라미터의 신뢰성을 검증하는 단계(S307)에서는, 복수 개의 서브 지점(sb1, sb2, sb3, sb4, sb5, sb6, sb7, sb8, sb9)에서 획득한 복수 개의 서브 이미지를 기초로 카메라 모듈(13)의 내부 파라미터와 외부 파라미터를 계산할 수 있다. 나아가, 복수 개의 서브 이미지를 기초로 계산한 카메라 모듈(13)의 내부 파라미터 및 외부 파라미터를 각각 복수 개의 지점(b1, b2, b3)에서 획득한 복수 개의 이미지를 기초로 계산한 카메라 모듈(13)의 내부 파라미터 및 외부 파라미터를 비교할 수 있다. 이 비교 결과에 따라, 복수 개의 지점(b1, b2, b3)에서의 전자 장치(103)의 자세 정보와 복수 개의 이미지를 기초로 계산된 카메라 모듈(13)의 내부 파라미터와 외부 파라미터의 신뢰성을 검증할 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.
10: 시스템 170: 디스플레이 시스템
20: 실제 환경 200: 컴퓨팅 장치
30: 실물 객체 210: 데이터 중계서버
40: 기준 객체 220: 프로세서
50: 보드 230: 가상 컨텐츠 데이터베이스
60: 이송 로봇 240: 공간 정보 데이터베이스
80: 캘리브레이션 자동화 시스템 250: 메모리
100, 103: 전자 장치
110: 메모리
111: 혼합 현실 어플리케이션
120: 프로세서 어셈블리
130: 통신 모듈
140: 인터페이스 모듈
150: 입력 시스템
160: 센서 시스템
11, 13, 161: 카메라 모듈
161-2: 추가 이미지 센서
163: IMU
165: 오디오 센서

Claims (11)

  1. 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 관성 측정 장치에 대한 외부 파라미터를 자동으로 계산하는 캘리브레이션 자동화 시스템으로서,
    상기 카메라 모듈과 상기 관성 측정 장치를 포함하는 전자 장치;
    상기 전자 장치의 위치를 변경하는 이송 로봇; 및
    상기 전자 장치와 상기 이송 로봇의 동작을 제어하는 프로세서를 포함하는 컴퓨팅 장치; 를 포함하며,
    상기 프로세서는,
    상기 이송 로봇을 제어하여 상기 전자 장치를 소정의 궤적을 따라 이동시키면서 상기 카메라 모듈을 제어하여 상기 전자 장치가 상기 소정의 궤적 상의 복수 개의 지점에서마다 기준 객체를 촬영하여 상기 기준 객체의 복수 개의 이미지를 획득하도록 하고,
    상기 복수 개의 지점에서의 상기 전자 장치의 자세 정보와 상기 복수 개의 이미지를 기초로 상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터를 계산하고,
    상기 카메라 모듈의 내부 파라미터는, 상기 카메라 모듈의 초점 거리, 주점(principal point)의 위치, 및 렌즈왜곡계수 중 적어도 어느 하나를 포함하는, 캘리브레이션 자동화 시스템.
  2. 삭제
  3. 제1 항에 있어서,
    상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터는, 상기 카메라 모듈의 중심점과 상기 관성 측정 장치의 중심점 사이의 이격 거리와 상기 카메라 모듈의 제1 타임스탬프와 상기 관성 측정 장치의 제2 타임스탬프 사이의 차이 중 적어도 어느 하나를 포함하는, 캘리브레이션 자동화 시스템.
  4. 제1 항에 있어서,
    상기 프로세서는,
    상기 이송 로봇을 제어하여 상기 전자 장치가 상기 소정의 궤적 상의 상기 기준 객체의 키 이미지를 획득할 수 있는 복수 개의 키 지점에 순차적으로 위치하도록 하고,
    상기 복수 개의 키 지점에서마다 상기 카메라 모듈을 제어하여 상기 전자 장치가 상기 기준 객체를 촬영하여 상기 기준 객체의 복수 개의 키 이미지를 획득하도록 하며,
    상기 복수 개의 키 지점에서의 상기 전자 장치의 자세 정보와 상기 복수 개의 키 이미지를 기초로 상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터를 계산하는, 캘리브레이션 자동화 시스템.
  5. 제4 항에 있어서,
    상기 프로세서는,
    상기 이송 로봇 및 상기 카메라 모듈을 제어하여 상기 소정의 궤적 상의 복수 개의 키 지점 중에서 인접하는 임의의 제1 키 지점과 제2 키 지점 사이의 복수 개의 서브 지점에서마다 상기 카메라 모듈이 상기 기준 객체를 촬영하도록 하여 상기 기준 객체의 복수 개의 서브 이미지를 획득하도록 하고,
    상기 복수 개의 서브 이미지를 기초로, 상기 복수 개의 키 지점에서의 상기 전자 장치의 자세 정보와 상기 복수 개의 키 이미지를 기초로 계산된 상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터의 신뢰성을 검증하는, 캘리브레이션 자동화 시스템.
  6. 이송 로봇에 마련된 전자 장치의 카메라 모듈에 의해 촬영된 이미지를 기초로 상기 이미지 내의 실물 객체를 객체 추적 알고리즘을 이용하여 추적하는 컴퓨팅 장치가 상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 전자 장치에 포함된 관성 측정 장치에 대한 외부 파라미터를 계산하는 캘리브레이션 방법으로서,
    상기 컴퓨팅 장치가 상기 이송 로봇을 제어하여 상기 전자 장치를 소정의 궤적을 따라 이동시키면서 상기 카메라 모듈을 제어하여 상기 전자 장치가 상기 소정의 궤적 상의 복수 개의 지점에서마다 기준 객체를 촬영하여 상기 기준 객체의 복수 개의 이미지를 획득하도록 하는 단계; 및
    상기 컴퓨팅 장치가 상기 복수 개의 지점에서의 상기 전자 장치의 자세 정보와 상기 복수 개의 이미지를 기초로 상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터를 계산하는 단계; 를 포함하고,
    상기 카메라 모듈의 내부 파라미터는, 상기 카메라 모듈의 초점 거리, 주점(principal point)의 위치, 및 렌즈왜곡계수 중 적어도 어느 하나를 포함하는, 캘리브레이션 방법.
  7. 제6 항에 있어서,
    상기 소정의 궤적 상의 복수 개의 지점은 상기 기준 객체의 키 이미지를 획득할 수 있는 복수 개의 키 지점인, 캘리브레이션 방법.
  8. 제6 항에 있어서,
    상기 기준 객체의 복수 개의 이미지를 획득하도록 하는 단계에서는,
    상기 컴퓨팅 장치가 상기 이송 로봇을 제어하여 상기 전자 장치를 상기 소정의 궤적의 시작점과 끝점 사이를 반복적으로 이동시키는, 캘리브레이션 방법.
  9. 제6 항에 있어서,
    상기 소정의 궤적은 폐곡선인, 캘리브레이션 방법.
  10. 제6 항에 있어서,
    상기 컴퓨팅 장치가 상기 이송 로봇 및 상기 카메라 모듈을 제어하여 상기 소정의 궤적 상의 복수 개의 지점 중에서 임의의 인접하는 제1 지점과 제2 지점 사이의 복수 개의 서브 지점에서마다 상기 카메라 모듈이 상기 기준 객체를 촬영하도록 하여 상기 기준 객체의 복수 개의 서브 이미지를 획득하도록 하는 단계; 를 더 포함하는, 캘리브레이션 방법.
  11. 카메라 모듈과 관성 측정 장치를 포함하는 전자 장치의 증강현실 프로그램에서 수행하는 실물객체에 가상 모델을 증강하는 방법으로서,
    상기 카메라 모듈의 내부 파라미터와 상기 카메라 모듈의 상기 관성 측정 장치에 대한 외부 파라미터를 계산하는 상기 제6 항의 캘리브레이션 방법을 수행하는 단계;
    주변 환경을 촬영하여 촬영 영상을 획득하는 단계;
    상기 전자 장치의 자세 정보, 상기 카메라 모듈의 내부 파라미터와 외부 파라미터 및 상기 촬영 영상을 기초로 객체 추적 알고리즘을 이용하여 상기 획득된 촬영 영상 내에서 실물 객체를 검출하고, 상기 실물 객체의 자세를 추정하는 단계; 및
    상기 검출된 실물 객체에 가상의 증강 콘텐츠를 매칭하여 표시하는 단계; 를 포함하는, 실물 객체에 가상 모델을 증강하는 방법.
KR1020220159740A 2022-11-24 2022-11-24 실물 객체에 대한 정밀한 추적을 위해 카메라 모듈의 내부 및 외부 파라미터를 계산하는 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법 KR102618591B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220159740A KR102618591B1 (ko) 2022-11-24 2022-11-24 실물 객체에 대한 정밀한 추적을 위해 카메라 모듈의 내부 및 외부 파라미터를 계산하는 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220159740A KR102618591B1 (ko) 2022-11-24 2022-11-24 실물 객체에 대한 정밀한 추적을 위해 카메라 모듈의 내부 및 외부 파라미터를 계산하는 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법

Publications (1)

Publication Number Publication Date
KR102618591B1 true KR102618591B1 (ko) 2023-12-27

Family

ID=89377678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220159740A KR102618591B1 (ko) 2022-11-24 2022-11-24 실물 객체에 대한 정밀한 추적을 위해 카메라 모듈의 내부 및 외부 파라미터를 계산하는 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법

Country Status (1)

Country Link
KR (1) KR102618591B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050131582A1 (en) * 2003-10-01 2005-06-16 Arif Kazi Process and device for determining the position and the orientation of an image reception means
US7257237B1 (en) * 2003-03-07 2007-08-14 Sandia Corporation Real time markerless motion tracking using linked kinematic chains
KR20080002241A (ko) * 2006-06-30 2008-01-04 엘지.필립스 엘시디 주식회사 기판이송로봇 및 이의 정렬방법
KR20210081939A (ko) * 2019-12-24 2021-07-02 엘지전자 주식회사 Xr 디바이스 및 그 제어 방법
KR20210085549A (ko) 2019-12-30 2021-07-08 주식회사 버넥트 카메라로 촬영된 객체 추적을 위한 자세 추정 방법 및 시스템
KR20210101518A (ko) * 2020-02-10 2021-08-19 삼성전자주식회사 Ar 객체를 배치하는 방법 및 전자 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257237B1 (en) * 2003-03-07 2007-08-14 Sandia Corporation Real time markerless motion tracking using linked kinematic chains
US20050131582A1 (en) * 2003-10-01 2005-06-16 Arif Kazi Process and device for determining the position and the orientation of an image reception means
KR20080002241A (ko) * 2006-06-30 2008-01-04 엘지.필립스 엘시디 주식회사 기판이송로봇 및 이의 정렬방법
KR20210081939A (ko) * 2019-12-24 2021-07-02 엘지전자 주식회사 Xr 디바이스 및 그 제어 방법
KR20210085549A (ko) 2019-12-30 2021-07-08 주식회사 버넥트 카메라로 촬영된 객체 추적을 위한 자세 추정 방법 및 시스템
KR20210101518A (ko) * 2020-02-10 2021-08-19 삼성전자주식회사 Ar 객체를 배치하는 방법 및 전자 장치

Similar Documents

Publication Publication Date Title
US12079439B2 (en) Shared augmented reality session recording and playback
KR102520183B1 (ko) 디지털 트윈을 이용한 증강현실 기반 현장 모니터링 시스템 및 방법
US11481982B2 (en) In situ creation of planar natural feature targets
EP2915140B1 (en) Fast initialization for monocular visual slam
JP5790692B2 (ja) 情報処理装置、情報処理方法および記録媒体
US10665014B2 (en) Tap event location with a selection apparatus
JP2020531965A (ja) 支援型の拡張現実
TW202113759A (zh) 三維場景工程類比與實景融合系統及方法
CN103105926A (zh) 多传感器姿势识别
US11288871B2 (en) Web-based remote assistance system with context and content-aware 3D hand gesture visualization
CN116348916A (zh) 用于卷帘快门相机的方位跟踪
KR102442637B1 (ko) 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템
Afif et al. Orientation control for indoor virtual landmarks based on hybrid-based markerless augmented reality
JP7405083B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US11769293B2 (en) Camera motion estimation method for augmented reality tracking algorithm and system therefor
KR102618591B1 (ko) 실물 객체에 대한 정밀한 추적을 위해 카메라 모듈의 내부 및 외부 파라미터를 계산하는 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법
CN110888530A (zh) 一种基于电子地图的3d可视化编辑器和编辑方法
KR102614102B1 (ko) 실물 객체에 대한 정밀한 추적을 위한 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법
KR20220040293A (ko) 증강 현실을 제공하기 위한 방법 및 장치
KR102245760B1 (ko) 테이블 탑 디바이스 및 이를 포함하는 테이블 탑 시스템
KR20240095671A (ko) Ar 객체 트래킹 방법 및 시스템
WO2020244576A1 (zh) 基于光通信装置叠加虚拟对象的方法和相应的电子设备
KR20240095672A (ko) 딥러닝 기반의 ar 객체 트래킹 서비스 제공 방법 및 시스템
Tsai Geometry-aware augmented reality for remote collaboration
TW202147173A (zh) 基於光通信裝置疊加虛擬物件的方法、電子設備以及電腦可讀取記錄媒體

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant