KR102442637B1 - System and Method for estimating camera motion for AR tracking algorithm - Google Patents

System and Method for estimating camera motion for AR tracking algorithm Download PDF

Info

Publication number
KR102442637B1
KR102442637B1 KR1020210194396A KR20210194396A KR102442637B1 KR 102442637 B1 KR102442637 B1 KR 102442637B1 KR 1020210194396 A KR1020210194396 A KR 1020210194396A KR 20210194396 A KR20210194396 A KR 20210194396A KR 102442637 B1 KR102442637 B1 KR 102442637B1
Authority
KR
South Korea
Prior art keywords
camera
target object
trajectory
real
virtual camera
Prior art date
Application number
KR1020210194396A
Other languages
Korean (ko)
Inventor
김기영
홀러 벤자민
Original Assignee
주식회사 버넥트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 버넥트 filed Critical 주식회사 버넥트
Application granted granted Critical
Publication of KR102442637B1 publication Critical patent/KR102442637B1/en
Priority to US17/992,915 priority Critical patent/US11769293B2/en
Priority to EP22208878.3A priority patent/EP4191529A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Abstract

A method for estimating a camera motion for an AR tracking algorithm according to an embodiment is a method for estimating a camera motion for an AR tracking algorithm performed by a sequence production application executed by a processor of a computing device. The method comprises the steps of: displaying a target object on a sequence authoring interface; setting a virtual camera trajectory on the displayed target object; generating an image sequence by rendering an image viewed from the target object along the set virtual camera trajectory; and reproducing the generated image sequence.

Description

증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템 {System and Method for estimating camera motion for AR tracking algorithm}Camera motion estimation method and system for augmented reality tracking algorithm {System and Method for estimating camera motion for AR tracking algorithm}

본 발명은 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템에 관한 것이다. 자세히, 본 발명은 객체 추적 알고리즘에서 벤치마킹의 기준이 되는 기 정한 정답(Ground-truth)의 이미지 시퀀스에 대한 가상 카메라 움직임을 추정하는 방법에 관한 것이다. The present invention relates to a camera motion estimation method and system for an augmented reality tracking algorithm. In detail, the present invention relates to a method of estimating a virtual camera motion with respect to an image sequence of a predetermined ground-truth that is a benchmark for benchmarking in an object tracking algorithm.

증강 현실(Augmented Reality: AR)은, 가상 물체들 또는 매체를 실제-세계 뷰(real-world view)에 겹쳐 놓음(superimposing)으로써 실제-세계 뷰의 지각(perception)에 예를 들어 라이브 비디오 피드(live video feed)를 추가하거나 보태는 것을 의미한다. Augmented Reality (AR) is applied to the perception of a real-world view by superimposing virtual objects or media on the real-world view, for example a live video feed ( live video feed) is added or added.

이러한 증강 현실은 실제-세계 및 그 물체들과 관련된 인공적인(artificial) 또는 시뮬레이션된(simulated) 정보가 실제-세계 뷰 상에 오버레이되는(overlaid) 것을 가능하게 한다. 증강 현실은 가상 현실(virtual reality: VR)과는 다르지만 가상 현실과 관련이 있는데, 가상 현실은 실제 세계 뷰를 인공적인 또는 시뮬레이션된 뷰(view)로 교체한다. 증강 현실은 엔터테인먼트, 비디오 게임들, 스포츠, 및 휴대폰 어플리케이션들과 같은 어플리케이션들에서 사용되어 왔다.Such augmented reality enables artificial or simulated information related to the real-world and its objects to be overlaid on the real-world view. Augmented reality is different from but related to virtual reality (VR), in which virtual reality replaces a real-world view with an artificial or simulated view. Augmented reality has been used in applications such as entertainment, video games, sports, and cell phone applications.

다양한 AR 시스템들에서, 3D 공간에서의 다양한 실제 세계 물체들 및 카메라의 위치 및 방향을 추적하기(track) 위해서 추적 시스템이 이용된다. In various AR systems, a tracking system is used to track the position and orientation of various real-world objects and cameras in 3D space.

예를 들어, 추적 시스템은 카메라가 보고(view)/캡쳐(capture)하여 촬영된 영상 내에서 실제 객체를 추적할 수 있다. 다양한 AR 시스템들은, 카메라에 의해 캡쳐되는 바와 같은 실제 세계 장면(다양한 실제 세계 물체들을 포함함) 및 오버레이된(overlaid) 가상 매체 및/또는 물체들을 포함하는 증강 장면을 생성하는 것을 시도할 수 있다. For example, the tracking system may track a real object in an image captured by the camera as viewed/captured. Various AR systems may attempt to create an augmented scene that includes a real-world scene (including various real-world objects) as captured by a camera and an overlaid virtual medium and/or objects.

증강 장면을 생성하기 위하여, 추적 시스템은 가상 좌표 프레임을 생성할 수 있고, 이 좌표 프레임에서 실제 세계 물체들의 표현들을 추적 또는 "배치(place)"할 수 있다. To create the augmented scene, the tracking system may generate a virtual coordinate frame in which it may track or “place” representations of real-world objects.

다양한 AR 시스템들은 증강 장면을 생성하기 위하여 좌표 프레임에 다양한 가상 물체들(예컨대, CAD 모델들/물체들)을 "배치(place)"하는 것을 시도할 수 있다. 가상 물체들/모델들은 추적 시스템의 좌표 프레임에 가상 물체를 배치하기 위하여 그 자신의 디폴트(default) 또는 임의의 참조 프레임(예컨대, 3D 위치 및 방향)을 가질 수 있고, 추적 시스템의 좌표 프레임과 가상 물체 참조 프레임 간의 맵핑(mapping) 또는 변환(transform)이 결정되어야 한다. Various AR systems may attempt to “place” various virtual objects (eg, CAD models/objects) in a coordinate frame to create an augmented scene. Virtual objects/models may have their own default or arbitrary reference frame (eg 3D position and orientation) for placing the virtual object in the tracking system's coordinate frame, and the tracking system's coordinate frame and virtual A mapping or transform between object reference frames has to be determined.

게다가, 카메라(예컨대, 실제 세계 장면을 캡쳐하는 카메라)가 이동하면, AR 시스템은 가상 물체들의 뷰(view)를 변경하길 시도할 수 있다. 정밀성을 가지고 이것을 하기 위해서, AR 시스템은 카메라의 위치 및 방향을 추적할 필요가 있을 수 있다. In addition, if a camera (eg, a camera that captures a real-world scene) moves, the AR system may attempt to change the view of the virtual objects. To do this with precision, the AR system may need to track the position and orientation of the camera.

이와 같이 AR을 구현하기 위해 카메라가 실제 객체를 촬영하는 시점의 카메라와 실제 객체의 포즈(예컨대, 위치 및 자세)를 검출하고 추적해야만, 정확한 증강이 가능함을 알 수 있다. As such, in order to implement AR, it can be seen that accurate augmentation is possible only when the camera and the pose (eg, position and posture) of the real object are detected and tracked at the point in time when the camera captures the real object.

따라서, 실제 객체를 추적하는 다양한 객체 추적 어플리케이션이 개발되고 있으며, 다양한 객체 추적 어플리케이션은 다양한 환경과 다양한 단말에 설치되어 구동됨에 따라서, 이와 같은 다양한 파라미터 조건에 따라 실제 객체의 추적이 정확하게 되고 있는지 판단할 필요가 있다. Therefore, various object tracking applications for tracking real objects are being developed, and as various object tracking applications are installed and driven in various environments and various terminals, it is possible to determine whether tracking of real objects is being performed accurately according to such various parameter conditions. There is a need.

미국 공개특허공보 US 2014-0118339 A1US Patent Publication US 2014-0118339 A1

객체 추적 어플리케이션에서 객체 추적이 정확하게 이루어지고 있는지 판단하기 위해서는, 객체 추적 어플리케이션이 실제 객체를 촬영하여 실제 객체의 포즈를 추적한 데이터와 벤치마크(benchmark)하기 위한 기준이되는 기 정한 정답(Groud-truth)가 필요하다. In order to determine whether object tracking is being performed accurately in the object tracking application, the object tracking application captures the real object and tracks the pose of the real object with the ground-truth data that serves as a benchmark for benchmarking. ) is required.

본 발명은 벤치마크에 기준이 되는 이미지 시퀀스를 생성하기 위한 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템를 제공하고자 한다. An object of the present invention is to provide a camera motion estimation method and a system for an augmented reality tracking algorithm for generating an image sequence that is a benchmark.

또한, 본 발명은 벤치마크에 기준이 되는 이미지 시퀀스를 생성하기 위한 가상 카메라의 움직임(Trajectory)을 생성하는 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템를 제공하고자 한다.In addition, an object of the present invention is to provide a camera motion estimation method and system for an augmented reality tracking algorithm that generates a trajectory of a virtual camera for generating an image sequence that is a reference for a benchmark.

또한, 본 발명은 생성된 이미지 시퀀스를 활용하여 객체 추적 알고리즘의 정확도를 평가하고, 파라미터를 수정하여 추적 성능을 향상시키는 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템를 제공하고자 한다.Another object of the present invention is to provide a camera motion estimation method and system for an augmented reality tracking algorithm that evaluates the accuracy of an object tracking algorithm using a generated image sequence and improves tracking performance by modifying parameters.

실시예에 따른 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법은, 컴퓨팅 장치의 프로세서가 실행된 시퀀스 제작 어플리케이션이 수행하는 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법으로서, 시퀀스 제작 인터페이스 상에 타겟 객체를 표시하는 단계; 상기 표시된 타겟 객체 상에 가상 카메라 궤적을 설정하는 단계; 상기 설정된 가상 카메라 궤적을 따라서 상기 타겟 객체를 바라본 이미지를 랜더링하여 이미지 시퀀스를 생성하는 단계; 및 상기 생성된 이미지 시퀀스를 재생하는 단계를 포함한다. A camera motion estimation method for an augmented reality tracking algorithm according to an embodiment is a camera motion estimation method for an augmented reality tracking algorithm performed by a sequence production application in which a processor of a computing device is executed, and displays a target object on a sequence production interface to do; setting a virtual camera trajectory on the displayed target object; generating an image sequence by rendering an image looking at the target object along the set virtual camera trajectory; and reproducing the generated image sequence.

이때, 상기 시퀀스 제작 인터페이스 상에 타겟 객체를 표시하는 단계는, 상기 타겟 객체에 해당하는 기 설계된 3차원 모델을 임포트하는 단계와, 상기 임포트된 3차원 모델을 3차원 공간좌표의 원점에 배치하는 단계를 포함할 수 있다. In this case, the displaying of the target object on the sequence production interface includes: importing a pre-designed 3D model corresponding to the target object; and placing the imported 3D model at the origin of 3D spatial coordinates. may include.

또한, 상기 표시된 타겟 객체 상에 가상 카메라 궤적을 설정하는 단계는, 상기 시퀀스 제작 인터페이스를 통한 유저 입력에 따라서 가상 카메라를 배치하는 단계와, 상기 배치된 가상 카메라를 이동시키는 단계와, 상기 가상 카메라가 이동한 궤적을 가상 카메라 궤적으로 설정하는 단계를 포함할 수 있다. In addition, the step of setting the virtual camera trajectory on the displayed target object includes: arranging a virtual camera according to a user input through the sequence creation interface; moving the placed virtual camera; The method may include setting the moved trajectory as a virtual camera trajectory.

또한, 상기 표시된 타겟 객체 상에 가상 카메라 궤적을 설정하는 단계는, 카메라 디바이스로부터 실제 객체를 촬영하고 추적하여 생성한 실제 카메라 궤적을 수신하는 단계와, 상기 실제 카메라 궤적에 대응하는 가상 카메라 궤적을 생성하는 단계와, 상기 생성된 가상 카메라 궤적을 상기 타겟 객체에 대한 가상 카메라 궤적으로 설정하는 단계를 포함할 수 있다. In addition, the setting of the virtual camera trajectory on the displayed target object includes: receiving a real camera trajectory generated by photographing and tracking a real object from a camera device; and generating a virtual camera trajectory corresponding to the real camera trajectory and setting the generated virtual camera trajectory as a virtual camera trajectory for the target object.

또한, 상기 카메라 디바이스로부터 실제 객체를 촬영하고 추적하여 생성한 실제 카메라 궤적을 수신하는 단계는, 상기 카메라 디바이스가 움직이며 실제 객체를 촬영하는 단계와, 상기 실제 객체를 촬영한 시점 별로 상기 카메라 디바이스의 실제 카메라가 실제 객체에 대한 포즈값을 산출하는 단계와, 상기 실제 카메라 포즈값의 변화를 포함하여 실제 카메라 궤적을 결정하는 단계를 포함할 수 있다. In addition, the step of receiving the real camera trajectory generated by photographing and tracking the real object from the camera device includes: photographing the real object while the camera device moves; The method may include calculating, by a real camera, a pose value for a real object, and determining an actual camera trajectory including a change in the real camera pose value.

또한, 상기 실제 카메라 궤적에 대응하는 가상 카메라 궤적을 생성하는 단계는, 상기 실제 객체에 대한 실제 카메라 포즈값을 상기 타겟 객체에 대한 상기 가상 카메라의 포즈값으로 변환하는 단계를 포함할 수 있다. The generating of the virtual camera trajectory corresponding to the real camera trajectory may include converting a real camera pose value for the real object into a pose value of the virtual camera for the target object.

또한, 상기 설정된 가상 카메라 궤적을 따라서 상기 타겟 객체를 바라본 이미지를 랜더링하여 이미지 시퀀스를 생성하는 단계는, 상기 가상 카메라 궤적에 따라서 가상 카메라를 이동하는 단계와, 상기 이동하는 가상 카메라의 일 시점의 가상 카메라 포즈에서 상기 타겟 객체를 바라본 프레임 이미지를 랜더링하여 프레임 이미지를 생성하는 단계를 포함할 수 있다. In addition, the generating an image sequence by rendering an image looking at the target object along the set virtual camera trajectory includes: moving a virtual camera according to the virtual camera trajectory; The method may include generating a frame image by rendering a frame image looking at the target object in a camera pose.

또한, 상기 설정된 가상 카메라 궤적을 따라서 상기 타겟 객체를 바라본 이미지를 랜더링하여 이미지 시퀀스를 생성하는 단계는, 상기 랜더링된 각 프레임 이미지 촬영시점의 가상 카메라 포즈값과 해당 프레임 이미지를 매칭하여 가상 이미지 시퀀스에 포함시키는 단계를 포함할 수 있다. In addition, the step of generating an image sequence by rendering the image looking at the target object along the set virtual camera trajectory may include matching the virtual camera pose value at the time of photographing each rendered frame image with the corresponding frame image in the virtual image sequence. It may include the step of including.

또한, 실시예의 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법은, 상기 생성된 가상 이미지 시퀀스를 벤치마크에 기준이 되는 기 정한 정답(Ground-truth)로 설정하는 단계를 더 포함할 수 있다. In addition, the method for estimating camera motion for the augmented reality tracking algorithm of the embodiment may further include setting the generated virtual image sequence as a ground-truth as a reference for a benchmark.

또한, 실시예의 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법은, 단말의 객체 추적 어플리케이션으로부터 실제 이미지 시퀀스를 수신하는 단계와, 상기 수신한 실제 이미지 시퀀스와 상기 기 정한 정답을 비교하여 상기 객체 추적 어플리케이션의 정확도 파라미터를 산출하는 단계를 더 포함할 수 있다. In addition, the camera motion estimation method for the augmented reality tracking algorithm of the embodiment comprises the steps of: receiving an actual image sequence from an object tracking application of a terminal; The method may further include calculating an accuracy parameter.

본 발명의 실시예예 따른 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템은, 벤치마크에 기준이 되는 이미지 시퀀스를 빠르고 정확하게 생성할 수 있다. A camera motion estimation method and system for an augmented reality tracking algorithm according to an embodiment of the present invention can quickly and accurately generate an image sequence as a reference for a benchmark.

또한, 본 발명의 실시예예 따른 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템은, 벤치마크에 기준이 되는 이미지 시퀀스를 생성하기 위한 가상 카메라의 움직임(Trajectory)을 실제 카메라 움직임처럼 사실적으로 생성할 수 있다. In addition, the method and system for estimating camera motion for an augmented reality tracking algorithm according to an embodiment of the present invention realistically generate a motion (trajectory) of a virtual camera for generating an image sequence that is a benchmark as a reference as a real camera motion. can do.

또한, 본 발명의 실시예예 따른 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템은, 생성된 이미지 시퀀스를 활용하여 객체 추적 알고리즘의 정확도를 평가하고, 파라미터를 수정하여 추적 성능을 향상시킬 수 있다. In addition, the camera motion estimation method and system for an augmented reality tracking algorithm according to an embodiment of the present invention evaluate the accuracy of the object tracking algorithm by using the generated image sequence, and improve the tracking performance by modifying the parameters. .

도 1은 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 시스템의 예시적인 블록다이어 그램이다.
도 2 및 도 3은 실제 환경에서 카메라 디바이스가 실제 객체를 추적 및 인식하고, 실제 객체에 증강된 콘텐츠를 정합하여 표시한 화면을 사용자가 카메라 디바이스를 통해 확인하는 것을 묘사한 것이다.
도 4는 본 발명의 실시예에 따른 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법에 대한 흐름도이다.
도 5는 본 발명의 실시예에 따른 이미지 시퀀스를 생성하는 프로그램의 유저 인터페이스의 예시를 도시한 것이다.
도 6은 본 발명의 실시예에 따른 가상 카메라 궤적을 생성하는 개념을 개략적으로 나타낸 것이다.
1 is an exemplary block diagram of a camera motion estimation system for an augmented reality tracking algorithm.
2 and 3 depicts a camera device tracking and recognizing a real object in a real environment, and a user checking a screen displayed by matching augmented content with a real object through the camera device.
4 is a flowchart of a camera motion estimation method for an augmented reality tracking algorithm according to an embodiment of the present invention.
5 shows an example of a user interface of a program for generating an image sequence according to an embodiment of the present invention.
6 schematically illustrates the concept of generating a virtual camera trajectory according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.Since the present invention can apply various transformations and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. Effects and features of the present invention, and a method for achieving them, will become apparent with reference to the embodiments described below in detail in conjunction with the drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various forms. In the following embodiments, terms such as first, second, etc. are used for the purpose of distinguishing one component from another, not in a limiting sense. Also, the singular expression includes the plural expression unless the context clearly dictates otherwise. In addition, terms such as include or have means that the features or components described in the specification are present, and do not preclude the possibility that one or more other features or components will be added. In addition, in the drawings, the size of the components may be exaggerated or reduced for convenience of description. For example, since the size and thickness of each component shown in the drawings are arbitrarily indicated for convenience of description, the present invention is not necessarily limited to the illustrated bar.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and when described with reference to the drawings, the same or corresponding components are given the same reference numerals, and the overlapping description thereof will be omitted. .

도 1은 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 시스템의 예시적인 블록다이어 그램이고, 도 2 및 도 3은 실제 환경에서 카메라 디바이스가 실제 객체를 추적 및 인식하고, 실제 객체에 증강된 콘텐츠를 정합하여 표시한 화면을 사용자가 카메라 디바이스를 통해 확인하는 것을 묘사한 것이다.1 is an exemplary block diagram of a camera motion estimation system for an augmented reality tracking algorithm, and FIGS. 2 and 3 show that a camera device tracks and recognizes a real object in a real environment, and matches the augmented content to the real object. It depicts the user checking the displayed screen through the camera device.

도 1 내지 도 3을 참조하면, 본 발명의 실시예에 따른 시스템(10)은 컴퓨팅 장치(100) 및 카메라 디바이스(200)를 포함할 수 있다.1 to 3 , a system 10 according to an embodiment of the present invention may include a computing device 100 and a camera device 200 .

- 컴퓨팅 장치(100)- Computing device 100

본 발명의 실시예에 따른 컴퓨팅 장치(100)는, 이미지 시퀀스를 생성하기 위한 시퀀스 제작 어플리케이션이 설치될 수 있으며, 생성된 이미지 시퀀스를 기 정한 정답(Ground-truth)로 객체 추적 어플리케이션에서 타겟 객체를 추적한 데이터(예컨대, 카메라 궤적에 따른 시퀀스)를 벤치마킹하여 정확도를 산출하는 벤치마킹 어플리케이션이 설치될 수 있다. In the computing device 100 according to an embodiment of the present invention, a sequence production application for generating an image sequence may be installed, and a target object in the object tracking application as a predetermined correct answer (Ground-truth) for the generated image sequence. A benchmarking application that benchmarks the tracked data (eg, a sequence according to a camera trajectory) to calculate accuracy may be installed.

또한 시퀀스 제작 어플리케이션은 다양한 객체의 3D 모델의 드로잉을 생성하기 위한 환경, 다양한 객체에 다양한 증강 모델이나 각종 정보 등의 콘텐츠를 생성, 편집하기 위한 환경을 제공할 수 있다. 시퀀스 제작 어플리케이션은 다양한 콘텐츠의 드로잉을 위한 다양한 도구를 제공할 수 있으나, 이에 제한되지 않고 이미지, 2D 또는 3D 객체들을 포함하는 기존 파일들을 임포팅(importing)하기 위한 메커니즘들을 포함할 수 있다.In addition, the sequence production application may provide an environment for creating drawings of 3D models of various objects, and an environment for creating and editing content such as various augmented models or various types of information for various objects. The sequence creation application may provide various tools for drawing various contents, but is not limited thereto, and may include mechanisms for importing existing files including images, 2D or 3D objects.

시퀀스 제작 어플리케이션은 다양한 Software Developer Kit(SDK)나 라이브러리 형태의 ToolKit가 적용될 수 있다.Various Software Developer Kit (SDK) or library-type ToolKit can be applied to sequence creation application.

상기 컴퓨팅 장치(100)는 어플리케이션이 설치된 스마트 폰이나 테블릿 PC와 같은 모바일 장치일 수 있다. 예를 들어, 컴퓨팅 장치(100)는, 스마트 폰(smart phone), 휴대폰, 디지털방송용 디바이스, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC(tablet PC) 등이 포함될 수 있다. The computing device 100 may be a mobile device such as a smart phone or a tablet PC on which an application is installed. For example, the computing device 100 may include a smart phone, a mobile phone, a digital broadcasting device, personal digital assistants (PDA), a portable multimedia player (PMP), a tablet PC, and the like.

다만, 실시예에 따라서 컴퓨팅 장치는, 데스크탑 타입 컴퓨팅 장치(100)를 포함할 수도 있다. 여기서, 데스크탑 타입 컴퓨팅 장치(100)는, 어플리케이션이 설치된 고정형 데스크탑 PC, 노트북 컴퓨터(laptop computer), 울트라북(ultrabook)과 같은 퍼스널 컴퓨터 등과 같이 유/무선 통신을 기반으로 맵 타겟 추적 서비스를 실행하기 위한 프로그램이 설치된 장치 등을 포함할 수 있다.However, according to an embodiment, the computing device may include the desktop type computing device 100 . Here, the desktop type computing device 100 executes a map target tracking service based on wired/wireless communication, such as a fixed desktop PC in which an application is installed, a personal computer such as a laptop computer, and an ultrabook. It may include a device in which a program is installed for the purpose.

또한, 실시예에서 컴퓨팅 장치(100)는, 이미지 시퀀스를 생성하는 환경이나 벤치마킹을 위한 환경을 제공하는 소정의 서버(Server) 컴퓨팅 디바이스를 더 포함할 수도 있다.Also, in an embodiment, the computing device 100 may further include a predetermined server computing device that provides an environment for generating an image sequence or an environment for benchmarking.

이러한 컴퓨팅 장치(100)는, 메모리, 프로세서 어셈블리, 통신 프로세서, 인터페이스부, 입력 시스템 및 디스플레이 시스템을 포함할 수 있다. The computing device 100 may include a memory, a processor assembly, a communication processor, an interface unit, an input system, and a display system.

자세히, 메모리에는, 어플리케이션이 저장되며, 어플리케이션은 이미지 시퀀스를 생성하기 위한 위한 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다. In detail, an application is stored in the memory , and the application may store any one or more of various application programs, data, and commands for generating an image sequence.

예를 들어, 메모리는, ROM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet) 상에서 상기 메모리의 저장 기능을 수행하는 웹 스토리지(web storage)를 포함할 수 있다. For example, the memory may be various storage devices such as a ROM, an EPROM, a flash drive, a hard drive, and the like, and may include a web storage that performs a storage function of the memory on the Internet.

프로세서 어셈블리는, 이미지 시퀀스를 생성하기 위한 다양한 작업을 수행하기 위해, 메모리에 저장된 어플리케이션의 명령들을 실행할 수 있는 적어도 하나 이상의 프로세서를 포함할 수 있다. The processor assembly may include at least one processor capable of executing instructions of an application stored in a memory to perform various operations for generating an image sequence.

이러한 프로세서 어셈블리는, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 컴퓨팅 장치에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리에 저장된 운영체제(OS) 및/또는 응용 프로그램 등을 실행할 수 있고, 컴퓨팅 장치에 탑재된 각 구성요소들을 제어할 수 있다. Such a processor assembly may be a system-on-a-chip (SOC) suitable for a computing device including a central processing unit (CPU) and/or a graphics processing unit (GPU), and an operating system (OS) and/or application program stored in a memory and the like, and may control each component mounted on the computing device.

또한, 프로세서 어셈블리는, 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), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 포함하여 구현될 수 있다. In addition, the processor assembly, ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), controllers (controllers), micro It may be implemented by including at least one of controllers (micro-controllers), microprocessors, and other electrical units for performing functions.

통신 프로세서은, 외부의 장치와 통신하기 위한 하나 이상의 장치를 포함할 수 있다. 이러한 통신 프로세서은, 무선 네트워크를 통해 통신할 수 있다.The communication processor may include one or more devices for communicating with an external device. Such a communication processor may communicate via a wireless network.

자세히, 통신 프로세서(130)은, 이미지 시퀀스를 생성하기 위하여 소정의 카메라를 포함하는 디바이스와 통신할 수 있으며, 사용자 입력을 받은 컨트롤러와 같은 다양한 사용자 입력 컴포넌트와 통신할 수 있다. Specifically, the communication processor 130 may communicate with a device including a predetermined camera to generate an image sequence, and may communicate with various user input components such as a controller that has received user input.

이러한 통신 프로세서은, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced),5G NR(New Radio), WIFI) 또는 근거리 통신방식 등을 수행할 수 있는 통신장치를 통해 구축된 이동 통신망 상에서 기지국, 외부의 컴퓨팅 장치, 임의의 서버 중 적어도 하나와 무선으로 데이터를 송수신할 수 있다.Such a communication processor, the technical standards or communication methods for mobile communication (eg, LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), 5G NR (New Radio), WIFI) or short-range communication method Data may be wirelessly transmitted/received with at least one of a base station, an external computing device, and an arbitrary server on a mobile communication network constructed through a communication device capable of performing the following operations.

인터페이스부은, 컴퓨팅 장치를 하나 이상의 다른 장치와 통신 가능하게 연결할 수 있다. 자세히, 인터페이스부은, 하나 이상의 상이한 통신 프로토콜과 호환되는 유선 및/또는 무선 통신 장치를 포함할 수 있다. The interface unit may communicatively connect the computing device to one or more other devices. Specifically, the interface unit may include a wired and/or wireless communication device compatible with one or more different communication protocols.

이러한 인터페이스부을 통해 컴퓨팅 장치는, 여러 입출력 장치들과 연결될 수 있다. 예를 들어, 인터페이스부은, 헤드셋 포트나 스피커와 같은 오디오 출력장치와 연결되어, 오디오를 출력할 수 있다. The computing device may be connected to various input/output devices through such an interface unit. For example, the interface unit may be connected to an audio output device such as a headset port or a speaker to output audio.

또한, 예를 들면 인터페이스부은, 키보드 및/또는 마우스와 같은 입력장치와 연결되어, 사용자 입력을 획득할 수 있다. 예시적으로 키보드 및/또는 마우스가 인터페이스부을 통해 연결되는 것으로 설명하였으나, 컴퓨팅 장치 내부에 설치되는 실시예도 포함될 수 있다. Also, for example, the interface unit may be connected to an input device such as a keyboard and/or a mouse to obtain a user input. For example, although the keyboard and/or mouse have been described as being connected through the interface unit, embodiments in which the keyboard and/or mouse are installed inside the computing device may also be included.

이러한 인터페이스부은, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port), 전력 증폭기, RF 회로, 송수신기 및 기타 통신 회로 중 적어도 하나를 포함하여 구성될 수 있다. Such an interface unit, a wired / wireless headset port (port), an external charger port (port), a wired / wireless data port (port), a memory card (memory card) port, a port for connecting a device equipped with an identification module (port) , audio input/output (I/O) ports, video I/O (input/output) ports, earphone ports, power amplifiers, RF circuits, transceivers, and other communication circuits. may be included.

입력 시스템은 사용자의 입력(예를 들어, 제스처, 음성 명령, 버튼의 작동 또는 다른 유형의 입력)을 감지할 수 있다. 자세히, 입력 시스템은 소정의 버튼, 터치 센서 및/또는 사용자 모션 입력을 수신하는 이미지 센서 등을 포함할 수 있다. The input system may detect a user's input (eg, a gesture, voice command, actuation of a button, or other type of input). Specifically, the input system may include a predetermined button, a touch sensor and/or an image sensor for receiving user motion input, and the like.

또한, 입력 시스템은, 인터페이스부을 통해 외부 컨트롤러와 연결되어, 사용자의 입력을 수신할 수 있다. Also, the input system may be connected to an external controller through an interface unit to receive a user's input.

디스플레이 시스템은, 이미지 시퀀스와 같이 다양한 정보를 그래픽 이미지로 출력할 수 있다. The display system may output various information such as an image sequence as a graphic image.

이러한 디스플레이는, 액정 디스플레이(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) 중에서 적어도 하나를 포함할 수 있다.Such displays include a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED), and a flexible display. , a three-dimensional display (3D display), may include at least one of the electronic ink display (e-ink display).

- 카메라 디바이스(200)- Camera device 200

그리고 카메라 디바이스(200) 주변을 촬영하여 이미지를 센싱하는 카메라를 포함하는 단말일 수 있다. And it may be a terminal including a camera that senses an image by photographing the camera device 200 periphery.

이러한 카메라 디바이스(200)는 객체를 추적하는 객체 추적 어플리케이션이 설치될 수 있으며, 객체 추적 어플리케이션은 추적된 객체 상에 증강 콘텐츠를 정합하여 표시하도록 제어하여, 증강현실 환경을 제공할 수도 있다. The camera device 200 may be installed with an object tracking application for tracking an object, and the object tracking application may provide an augmented reality environment by controlling to match and display augmented content on the tracked object.

카메라 디바이스(200)는, 사용자에 의해 카메라의 촬영시점(viewpoint) 변경이 가능한 모바일 타입 단말일 수 있다. 예를 들어, 카메라 디바이스(200)는, 스마트 폰(smart phone), 휴대폰, 디지털방송용 디바이스, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC(tablet PC) 등이 포함될 수 있다.The camera device 200 may be a mobile-type terminal capable of changing a viewing point of a camera by a user. For example, the camera device 200 may include a smart phone, a mobile phone, a digital broadcasting device, personal digital assistants (PDA), a portable multimedia player (PMP), a tablet PC, and the like.

또한, 카메라 디바이스(200)는, 디바이스를 착용한 증강 및/또는 가상 현실 환경에 몰입된 사용자는 가상 환경을 탐색하고 다양한 상이한 유형의 입력들을 통해 가상 환경과 인터렉션할 수 있는 HMD(Head Mounted Display)를 포함할 수 있다. In addition, the camera device 200 is a head mounted display (HMD) in which a user immersed in the augmented and/or virtual reality environment wearing the device can navigate the virtual environment and interact with the virtual environment through various different types of inputs. may include.

일부 실시예에서, 카메라 디바이스(200)는 마이크로소프트사의 홀로렌즈(HoloLens), 메타사의 메타1/메타2 글래스, 구글사의 구글글래스, 캐논사의 MD-10, Magic Leap사의 Magic Leap One Creator Edition와 같은 상용 제품이 사용되거나, 동일 내지 유사한 기능을 제공하는 디바이스가 될 수도 있다.In some embodiments, the camera device 200 may include Microsoft's HoloLens, Meta's Meta1/Meta2 Glass, Google's Google Glass, Canon's MD-10, Magic Leap's Magic Leap One Creator Edition, etc. Commercial products may be used, or devices providing the same or similar functions may be used.

도 2와 같이, 이러한 카메라 디바이스(200)의 객체 추적 프로그램은 타겟 객체(30)를 검출하면, 데이터베이스나 컴퓨팅 장치(100) 또는 그 밖의 서버나 메모리에 저장된 증강 콘텐츠(ac)를 호출하고, 증강 콘텐츠(ac)를 타겟 객체(30)와 정합하여 랜더링하여 증강하고, 저장된 인터렉션 이벤트가 동작할 수 있도록 이벤트 플래그들을 조정할 수 있다.As shown in FIG. 2 , when the object tracking program of the camera device 200 detects the target object 30 , it calls the augmented content ac stored in the database or computing device 100 or other server or memory, and augments it. The content ac is matched with the target object 30 to be rendered and augmented, and event flags can be adjusted so that the stored interaction event can be operated.

이때, 카메라 디바이스(200)의 카메라가 타겟 객체(30)를 관찰하는 각도 및 관찰 거리에 따른 타겟 객체(30)의 포즈에 따라서 증강 콘텐츠(ac)와 타겟 객체와의 매칭관계에 기초해 증강 콘텐츠(ac)를 타겟 객체(30)에 정합함으로써, 증강된 가상 모델이나 그 밖의 가상의 각종 정보가 여러 측면과 다른 크기의 모습을 관찰할 수 있다. 따라서, 카메라 디바이스(200)는 타겟 객체(30)와 관련된 다양한 정보들을 증강 콘텐츠(ac)를 통해 표시할 수 있다.At this time, the augmented content based on the matching relationship between the augmented content ac and the target object according to the pose of the target object 30 according to the angle at which the camera of the camera device 200 observes the target object 30 and the observation distance By matching (ac) to the target object 30, the augmented virtual model or other virtual information can be observed in various aspects and different sizes. Accordingly, the camera device 200 may display various pieces of information related to the target object 30 through the augmented content ac.

다양한 실시예에서, 사용자는 카메라 디바이스(200)의 조작을 통해 카메라 디바이스(200) 상에서 표시된 증강된 콘텐츠(ac)를 조작할 수 있다.In various embodiments, the user may manipulate the augmented content ac displayed on the camera device 200 through manipulation of the camera device 200 .

다양한 실시예에서, 객체 추적 프로그램은 사용자가 표시된 증강 콘텐츠(ac)를 x, y, z축으로 이동 및 회전, 확대, 축소 가능도록 하는 인터페이스를 제공하여 증강 콘텐츠(ac)에 대한 충분하고 상세한 관찰을 할 수 있도록 한다.In various embodiments, the object tracking program provides an interface that allows the user to move and rotate, enlarge, and reduce the displayed augmented content (ac) in the x, y, and z axes for sufficient and detailed observation of the augmented content (ac). to be able to do

이하, 시스템이 타겟 객체에 대한 이미지 시퀀스를 생성하고, 이미지 시퀀스를 통해 객체 추적 어플리케이션의 객체 추적 정확도를 평가하는 방법을 상세히 설명한다. Hereinafter, how the system generates an image sequence for a target object and evaluates the object tracking accuracy of an object tracking application through the image sequence will be described in detail.

- 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 - Camera motion estimation method for augmented reality tracking algorithm

3차원 타겟 객체의 포즈를 추적하는 정확도를 판단하기 위해서, 객체 추적 어플리케이션이 카메라의 촬영시점을 이동시킴에 따른 카메라 궤적을 따라서 타겟 객체를 촬영하여 실제 카메라 궤적에 따른 시퀀스를 획득하고, 실제 카메라 궤적에 따른 시퀀스를 기 정한 정답(ground-truth, GT)과 비교(benchmeark)하여 정확도를 산출할 수 있다. In order to determine the accuracy of tracking the pose of the 3D target object, the object tracking application acquires a sequence according to the actual camera trajectory by photographing the target object along the camera trajectory according to the movement of the camera shooting point, and the actual camera trajectory The accuracy can be calculated by comparing (benchmeark) the sequence according to the predetermined correct answer (ground-truth, GT).

이를 위해서는, 이상적인 값에 가까운 기 정한 정답(GT)이 많이 설정되어 있을수록 벤치마크 데이터셋(benchmark datasets)이 더욱 풍부해지므로, 다양한 실제 카메라 궤적에 따른 시퀀스에 대하여 더 정밀한 정확도 평가가 가능하며, 정밀한 정확도 평가를 통해 객체 추적 어플리케이션의 파라미터를 수정하여 추적 정확도 또한 향상시킬 수 있다. To this end, the more preset correct answers (GTs) close to the ideal value are set, the richer the benchmark datasets become, so more precise accuracy evaluation is possible for sequences according to various actual camera trajectories. Through precise accuracy evaluation, the tracking accuracy can also be improved by modifying the parameters of the object tracking application.

"포즈(Pose)", "카메라 궤적(viewpoint trajectory), "이미지 시퀀스(image sequence)", "타겟 객체"라는 용어는 본 명세서 전반에 걸쳐서 사용하며, "포즈"라는 용어는 "위치 및 방향(position and orientation)"의 약칭이며, 3차원 공간에서 3차원 위치(예컨대, X, Y, Z 좌표들) 및 3차원 방향(예컨대, 롤(roll), 피치(pitch), 요(yaw)) 즉 6 자유도(6DOF)를 지칭할 수 있다.The terms “pose”, “viewpoint trajectory,” “image sequence,” and “target object” are used throughout this specification, and the term “pose” refers to “position and orientation ( position and orientation), and a three-dimensional position (e.g., X, Y, Z coordinates) and a three-dimensional orientation (e.g., roll, pitch, yaw) in three-dimensional space, i.e. 6 degrees of freedom (6DOF).

그리고 "카메라 포즈"는, 3차원 공간에서 검출 및 추적 대상인 타겟 객체에 대한 상대적인 위치 및 방향을 의미할 수 있다. 실시예에서는, 타겟 객체가 6자유도의 원점으로 하였을 때, 카메라의 6 자유도를 카메라 포즈라고 정의할 수도 있다. And “camera pose” may mean a relative position and direction with respect to a target object to be detected and tracked in a three-dimensional space. In an embodiment, when the target object is the origin of 6 degrees of freedom, the 6 degrees of freedom of the camera may be defined as a camera pose.

또한, "카메라 궤적"은, 카메라 포즈의 경로를 의미하며, 카메라 궤적에 따라서 카메라 포즈가 변경되며 타겟 객체를 촬영(또는, 랜더링)하여 이미지 시퀀스가 획득될 수 있다. Also, "camera trajectory" means a path of a camera pose, the camera pose is changed according to the camera trajectory, and an image sequence may be obtained by photographing (or rendering) a target object.

"카메라 궤적"이 라인으로 정의되면, 이미지 시퀀스를 구성하는 프레임 이미지의 간격 별로 변경되는 라인 상에 카메라 포즈값을 의미할 수 있다. When “camera trajectory” is defined as a line, it may mean a camera pose value on a line that is changed for each interval of frame images constituting an image sequence.

실시예에서, 카메라 궤적은 라인으로 설정되며, FPS(frames per second)에 따라서 라인을 따라 움직이는 카메라가 타겟 객체를 바라보는 시점(viewpoint)에서의 카메라 포즈값이 결정되고, 일 카메라 포즈값에서 타겟 객체를 바라본 프레임 이미지와 매칭되어 이미지 시퀀스를 이룰 수 있다. In an embodiment, the camera trajectory is set as a line, and a camera pose value at a viewpoint at which a camera moving along the line looks at a target object is determined according to frames per second (FPS), and the target at one camera pose value is determined. An image sequence can be formed by matching the frame image looking at the object.

"이미지 시퀀스"는, 카메라 궤적에 따라 카메라가 움직이며 각 프레임 촬영시점 별로 카메라 포즈값에 따라서 타겟 객체를 바라본 장면(예컨대, 프레임 이미지)들로 구성될 수 있다. The "image sequence" may be composed of scenes (eg, frame images) in which the camera moves according to the camera trajectory and the target object is viewed according to the camera pose value for each frame photographing time point.

실시예에서, "가상 이미지 시퀀스"는, 가상 카메라 궤적에 따라서 가상 카메라를 이동시키며 가상 카메라 포즈를 변경하면서 타겟 객체를 바라보는 프레임 이미지(예컨대, 2차원 이미지)를 랜더링하여 생성하고, 각 프레임 이미지 촬영시점의 가상 카메라 포즈값이 프레임 이미지에 매칭되어 저장될 수 있다. 여기서, 랜더링은 타겟 객체를 가상 카메라의 일 포즈에서 바라보았을 때의 장면을 2차원 이미지로 변환한 것을 의미한다. In an embodiment, the "virtual image sequence" is generated by rendering a frame image (eg, a two-dimensional image) looking at a target object while moving the virtual camera according to the virtual camera trajectory and changing the virtual camera pose, and each frame image The virtual camera pose value at the time of photographing may be matched to the frame image and stored. Here, rendering means converting a scene when the target object is viewed from one pose of the virtual camera into a two-dimensional image.

실시예에서, "실제 이미지 시퀀스"는, 실제 카메라 궤적에 따라서 카메라가 이동하면서 타겟 객체를 촬영하여 프레임 이미지를 획득하며, 프레임 이미지 촬영시 실제 카메라 포즈값이 매칭되어 저장될 수 있다. In an embodiment, in the "real image sequence", a frame image is obtained by photographing a target object while a camera moves according to an actual camera trajectory, and an actual camera pose value may be matched and stored when the frame image is photographed.

"타겟 객체"는, 검출 및 추적에 대상이 되는 객체를 포함할 수 있다. 예컨대, 캐드(CAD)에서 저작된 3차원 모델, 실제 객체를 촬영하여 3차원 모델링한 실제 객체 모델, 실제 객체를 촬영 및 학습하여 특징점으로 구성한 모델, 2차원 식별코드(예컨대, QR 코드 등)을 포함할 수 있다. "Target object" may include an object to be detected and tracked. For example, a three-dimensional model authored in CAD, a real object model obtained by photographing a real object and three-dimensional modeling, a model composed of feature points by photographing and learning a real object, and a two-dimensional identification code (eg, QR code, etc.) may include

또한, "타겟 객체"는, 추적된 객체 상에 정합되어 증강되는 가상 객체를 포함할 수 있다. 예컨대, 캐드(CAD)에서 저작되어 추적되는 객체 상에 증강시킬 3차원 증강 콘텐츠 등을 포함할 수 있다. Also, the “target object” may include a virtual object that is augmented by being registered on the tracked object. For example, it may include 3D augmented content to be augmented on an object that is authored and tracked in CAD.

도 4는 본 발명의 실시예에 따른 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법에 대한 흐름도이고, 도 5는 본 발명의 실시예에 따른 이미지 시퀀스를 생성하는 프로그램의 유저 인터페이스의 예시를 도시한 것이며, 도 6은 본 발명의 실시예에 따른 가상 카메라 궤적을 생성하는 개념을 개략적으로 나타낸 것이다. 4 is a flowchart of a camera motion estimation method for an augmented reality tracking algorithm according to an embodiment of the present invention, and FIG. 5 shows an example of a user interface of a program for generating an image sequence according to an embodiment of the present invention. , FIG. 6 schematically illustrates the concept of generating a virtual camera trajectory according to an embodiment of the present invention.

이하 도 4내지 도 6을 참조하여, 컴퓨팅 장치(100)의 프로세서에서 수행되는 시퀀스 제작 어플리케이션이 가상 이미지 시퀀스를 생성하고, 이를 기초로 실제 이미지 시퀀스를 밴치마크하여 카메라 디바이스(200)의 객체 추적 정확도를 산출하는 방법을 상세히 설명한다. Hereinafter, with reference to FIGS. 4 to 6 , a sequence creation application executed in the processor of the computing device 100 generates a virtual image sequence, and benchmarks an actual image sequence based on this to benchmark the object tracking accuracy of the camera device 200 . A method of calculating , will be described in detail.

먼저, 시퀀스 제작 어플리케이션은, 타겟 객체를 어플리케이션에 임포트(import)하고 시퀀스 제작 인터페이스(GUI) 상에 표시할 수 있다. (S101)First, the sequence creation application may import a target object into the application and display it on a sequence creation interface (GUI). (S101)

표시된 타겟 객체의 타겟 객체는 예시적으로 3차원 모델로서 캐드를 통해 제작된 모델일 수 있다. The target object of the displayed target object may be, for example, a model manufactured through CAD as a three-dimensional model.

또한, 시퀀스 제작 어플리케이션은 미리 저장된 타겟 객체를 불러드려 표시할 수 있다. Also, the sequence creation application may call and display a pre-stored target object.

일부 실시예에 따르면, 타겟 객체는 다른 방식의 컴퓨터 지원 설계 프로그램(CAD) 상에서 제작될 수 있다. 그리고, 시퀀스 제작 어플리케이션은 다른 방식의 컴퓨터 지원 설계 프로그램 상에서 제작된 타겟 객체나 2D 이미지를 임포팅(importing)하여 표시할 수도 있다.According to some embodiments, the target object may be built on another computer-aided design program (CAD). In addition, the sequence production application may import and display a target object or a 2D image produced on another computer-aided design program.

도 5를 참조하면, 시퀀스 제작 어플리케이션가 제공하는 시퀀스 제작 인터페이스(GUI)의 3D Model 어포던스를 통해 타겟 객체에 대한 파일에 대한 경로를 지정하여 로딩하고자 하는 타겟 객체를 결정하고, 결정된 타겟 객체를 3차원 공간의 원점 상에 표시할 수 있다. Referring to FIG. 5 , the target object to be loaded is determined by specifying the path to the file for the target object through the 3D Model affordance of the sequence creation interface (GUI) provided by the sequence production application, and the determined target object is stored in a three-dimensional space. can be displayed on the origin of

다음으로, 시퀀스 제작 어플리케이션은 표시된 타겟 객체에 대한 가상 카메라 궤적을 설정할 수 있다 (S103)Next, the sequence creation application may set a virtual camera trajectory for the displayed target object (S103)

시퀀스 제작 어플리케이션은 타겟 객체를 랜더링 하여 가상 이미지 시퀀스를 생성하기 위한 가상 카메라 궤적을 설정할 수 있다. The sequence creation application may set a virtual camera trajectory for creating a virtual image sequence by rendering a target object.

일 실시예에서, 시퀀스 제작 어플리케이션은 시퀀스 제작 인터페이스를 통한 사용자 입력에 따라서 가상 카메라를 3차원 공간 상의 일 위치에 가상 카메라를 배치시킨 후 가상 카메라를 이동시켜, 가상 카메라가 이동하는 경로를 가상 카메라 궤적으로 생성할 수 있다. In one embodiment, the sequence creation application moves the virtual camera after placing the virtual camera at a position in the 3D space according to a user input through the sequence creation interface, so that the path of the virtual camera is traced by the virtual camera. can be created with

예를 들어, 사용자는 시퀀스 제작 인터페이스를 통해 키보드의 방향키와 마우스 드래그 등을 입력하여 가상 카메라를 이동시켜 가상 카메라 궤적을 수동으로 입력할 수 있다. For example, a user may manually input a virtual camera trajectory by moving a virtual camera by inputting a direction key on a keyboard and a mouse drag through the sequence creation interface.

이때, 사용자는 시퀀스 제작 인터페이스에서 입력에 따른 가상 카메라의 이동 속도를 조정할 수 있다. In this case, the user may adjust the moving speed of the virtual camera according to an input in the sequence creation interface.

예컨대, 방향키를 통해 가상 카메라를 X-Y축 평면 상에서 이동시킬 수 있고, 다른 두개의 키를 통해 가상 카메라를 Z축 상에서 위아래로 이동시켜, 가상 카메라의 포즈값을 변경시킴에 따라서 가상 카메라 궤적이 설정될 수 있다. For example, the virtual camera can be moved on the X-Y axis plane through the direction keys, and the virtual camera trajectory is set by changing the pose value of the virtual camera by moving the virtual camera up and down on the Z axis through the other two keys. can

이와 같이 생성된 가상 카메라 궤적은, 각 프레임 이미지를 랜더링하는 시점의 가상 카메라 포즈값이 정확하게 설계될 수 있다. As for the virtual camera trajectory generated as described above, the virtual camera pose value at the time of rendering each frame image may be accurately designed.

시퀀스 제작 어플리케이션은 시퀀스 제작 인터페이스 상에서 가상 카메라 궤적 뿐만 아니라, 가상 시퀀스 이미지를 생성하기 위한 다양한 파라미터를 설정할 수 있다. The sequence creation application may set various parameters for generating a virtual sequence image as well as a virtual camera trajectory on the sequence creation interface.

도 5를 참조하면, 3D Model에서 타겟 객체의 파일 경로 뿐만 아니라, 타겟 객체의 스케일을 조정하여, 표시되는 타겟 객체가 대응하는 실제 객체의 크기를 나타내도록 스케일을 조정할 수 있다. Referring to FIG. 5 , by adjusting the scale of the target object as well as the file path of the target object in the 3D model, the scale may be adjusted so that the displayed target object represents the size of the corresponding real object.

또한, 표시된 타겟 객체를 3차원 공간 상에서 이동시키거나 자세를 정렬시켜 타겟 객체가 3차원 공간의 원점 상에 위치하도록 보정하거나, 미리 정의된 다른 텍스처를 설정할 수 있다. In addition, by moving the displayed target object in the 3D space or aligning the posture, the target object may be corrected to be positioned on the origin of the 3D space, or another predefined texture may be set.

시퀀스 제작 인터페이스를 통해 가상 시점에서 랜더링한 장면에서 비활성화할 수 있는 스케일 가이드(실제 크기의 3D 모델에 맞게)를 변경할 수 있다. The sequence creation interface allows you to change the scale guides (to fit a full-scale 3D model) that can be disabled in scenes rendered from a virtual viewpoint.

또한, 시퀀스 제작 인터페이스는 표준화된 카메라 보정 패턴에 대한 파라미터를 수정할 수 있고, 카메라 궤적의 시각화를 토글할 수 있다. Additionally, the sequence creation interface can modify parameters for standardized camera calibration patterns and toggle visualization of camera trajectories.

또한, 시퀀스 제작 인터페이스를 통해 미리 정의된 배경과 3D 환경 중에서 선택하여 다양한 렌더링을 수행할 수 있다. 예를 들어, 장면별 조명 및 그림자 동작도 조정할 수 있습니다.In addition, various renderings can be performed by selecting from predefined backgrounds and 3D environments through the sequence creation interface. For example, you can also adjust scene-specific lighting and shadow behavior.

또한, 시퀀스 제작 인터페이스를 통해 FPS 컨트롤러를 사용하여 녹화의 목표 FPS를 설정할 수 있다. 가상 카메라가 시퀀스 제작 인터페이스에서 움직이는 동작은 200FPS로 실행할 수 있지만, 이미지 시퀀스에 대한 랜더링 FPS는 15로 설정할 수 있다. 도 6에서 빨간색 가상 카메라 궤적(PTracked)프레임 속도를 나타낸다. You can also set the target FPS for recording using the FPS controller through the sequence creation interface. The motion of the virtual camera moving in the sequence creation interface can be executed at 200 FPS, but the rendering FPS for the image sequence can be set to 15. In FIG. 6 , the red virtual camera track (P Tracked ) represents the frame rate.

또한, 시퀀스 제작 인터페이스는, 이미지 시퀀스의 녹음을 시작/중지하는 START/STOP 버튼을 포함할 수 있다. In addition, the sequence creation interface may include a START/STOP button to start/stop recording of an image sequence.

시퀀스 제작 어플리케이션은, 녹화가 활성화되면 가상 카메라 궤적의 정의에 따라서 가상 카메라를 움직이며 기 설정된 프레임 속도로 타겟 객체를 녹화(랜더링)하여 가상 이미지 시퀀스를 생성할 수 있다. When recording is activated, the sequence creation application may generate a virtual image sequence by moving the virtual camera according to the definition of the virtual camera trajectory and recording (rendering) the target object at a preset frame rate.

시퀀스 제작 인터페이스에서 생성된 가상 이미지 시퀀스를 내보내려면 경로를 지정하고 내보내기를 클릭하여 파일로 생성할 수 있다. To export a virtual image sequence created in the sequence creation interface, you can create it as a file by specifying the path and clicking Export.

이러한 가상 이미지 시퀀스는, 각 프레임 이미지 랜더링 시점의 가상 카메라 포즈가 매칭되어 저장될 수 있다. Such a virtual image sequence may be stored by matching a virtual camera pose at each frame image rendering time.

예를 들어, 가상 이미지 시퀀스는, 가상 카메라의 포즈를 나타내는 CSV 형식의 데이터와, 프레임 이미지, 그리고 프레임 이미지와 가상 카메라 포즈를 매칭시키는 Json 형식의 데이터를 포함할 수 있다. For example, the virtual image sequence may include CSV format data representing a pose of a virtual camera, a frame image, and Json format data matching the frame image and the virtual camera pose.

이와 같이 사용자가 시퀀스 제작 인터페이스를 통해 수동으로 설계한 가상 카메라 궤적은 가상 카메라의 이동을 일일이 수동으로 지정해야 한다. 또한, 수동으로 설계된 가상 카메라 궤적은 실제 환경에서 실제 카메라가 이동하면서 촬영한 실제 카메라 궤적의 사실적인 움직임을 나타내지 않을 수 있다. As described above, for the trajectory of the virtual camera manually designed by the user through the sequence creation interface, the movement of the virtual camera must be manually specified one by one. In addition, the manually designed virtual camera trajectory may not represent the realistic movement of the real camera trajectory captured while the real camera moves in the real environment.

다른 실시예에서, 시퀀스 제작 어플리케이션은 카메라 디바이스가 실제 객체를 촬영한 실제 카메라 궤적을 기초로 가상 카메라 궤적을 설정할 수 있다. In another embodiment, the sequence creation application may set the virtual camera trajectory based on the real camera trajectory in which the camera device captures the real object.

자세히, 도 5를 참조하면, 사용자는 시퀀스 제작 인터페이스에서 2D Target 파트를 통해 카메라 디바이스가 촬영할 실제 객체를 결정할 수 있다. 이때, 실제 객체는 2차원 식별코드나 기 학습된 2차원 이미지와 같이, 객체 추적이 용이한 객체인 것이 바람직 하다. In detail, referring to FIG. 5 , the user may determine an actual object to be photographed by the camera device through the 2D target part in the sequence creation interface. In this case, it is preferable that the real object is an object that is easy to track, such as a two-dimensional identification code or a pre-learned two-dimensional image.

그리고 사용자는 결정된 실제 객체를 카메라 디바이스(200)의 객체 추적 어플리케이션을 통해 카메라를 움직이며 촬영하며 실제 객체를 추적할 수 있다. 객체 추적 어플리케이션은, 실제 객체를 추적하여 촬영된 영상의 프레임 이미지에서의 실제 카메라 포즈값을 산출하여, 카메라의 움직임에 따른 카메라 포즈값의 변화를 실제 카메라 궤적으로 생성할 수 있다. In addition, the user can track the real object by moving the camera through the object tracking application of the camera device 200 to capture the determined real object. The object tracking application may track a real object and calculate an actual camera pose value in a frame image of a captured image, and generate a change in the camera pose value according to the movement of the camera as an actual camera trajectory.

시퀀스 제작 어플리케이션은, 카메라 디바이스(200)로부터 실제 카메라 궤적을 수신하고, 수신된 실제 카메라 궤적에 대응하는 가상 카메라 궤적을 생성하여, 시퀀스 제작 인터페이스 상에 표시할 수 있다. The sequence creation application may receive the real camera trajectory from the camera device 200 , generate a virtual camera trajectory corresponding to the received real camera trajectory, and display it on the sequence creation interface.

즉, 도 6을 참조하면, 사용자는 카메라 디바이스(200)의 카메라(CR)를 움지이면서 실제 타겟 객체(TR)을 촬영하면, 객체 추적 어플리케이션은 촬영된 영상에서 실제 타겟 객체(TR)를 추적하여 실제 카메라의 포즈를 산출하여, 산출된 실제 카메라 포즈값의 변화를 나타내는 실제 카메라 궤적(Poriginal)을 생성할 수 있다. 그리고 촬영 영상의 프레임 이미지와 실제 카메라 포즈가 매칭된 실제 이미지 시퀀스 또한 생성될 수 있다. That is, referring to FIG. 6 , when a user shoots a real target object ( TR ) while moving the camera ( CR ) of the camera device 200, the object tracking application performs an actual target object ( TR ) in the captured image. It is possible to calculate the pose of the real camera by tracking , and generate an actual camera trajectory (P original ) indicating a change in the calculated actual camera pose value. In addition, an actual image sequence in which a frame image of a captured image and an actual camera pose are matched may also be generated.

시퀀스 제작 어플리케이션(3D simulation)은, 실제 카메라 궤적(Poriginal)을 획득하여 이를 기초로 타겟 객체(Tv)에 대한 가상 카메라(Cv)의 가상 카메라 궤적(PTracked)을 생성할 수 있다. 예를 들어, 시퀀스 제작 어플리케이션의 궤적 제작 모듈(Alg 1)은 실제 객체에 대한 실제 카메라의 포즈 변화값을 타겟 객체에 대한 가상 카메라의 포즈 변화값으로 변환하여, 실제 카메라 궤적(Poriginal)에 대응하는 가상 카메라 궤적(PTracked)을 생성할 수 있다.The sequence production application (3D simulation) may acquire the actual camera trajectory P original and generate a virtual camera trajectory P Tracked of the virtual camera C v for the target object T v based on this. For example, the trajectory creation module (Alg 1) of the sequence production application converts the pose change value of the real camera with respect to the real object into the pose change value of the virtual camera with respect to the target object, and corresponds to the real camera trajectory (P original ) A virtual camera trajectory (P Tracked ) can be created.

이와 같이 실제 카메라 궤적을 기초로 생성한 가상 카메라 궤적은 실제 카메라의 사실적인 움직임에 따라서 생성될 수 있으며, 가상 카메라의 궤적을 수동으로 설계할 필요가 없는 장점이 있다. As described above, the virtual camera trajectory generated based on the real camera trajectory can be generated according to the realistic movement of the real camera, and there is an advantage in that there is no need to manually design the virtual camera trajectory.

실제 카메라 궤적을 가상 카메라 궤적으로 변환시키는 과정에서 오프셋(offset)이 발생할 수 있으며, 가상 카메라 궤적에 따른 이미지 시퀀스는 가상 카메라 포즈에 따라 랜더링되어 생성되므로, 가상 카메라 포즈에 정확하게 매칭되는 프레임 이미지로 구성될 수 있다. An offset may occur in the process of converting the actual camera trajectory to the virtual camera trajectory. Since the image sequence according to the virtual camera trajectory is rendered and generated according to the virtual camera pose, it is composed of a frame image that accurately matches the virtual camera pose. can be

따라서, 이와 같이 생성된 가상 이미지 시퀀스는, 실제 카메라 움직임에 대응한 이상적인 프레임 이미지를 가지므로, 벤치마크에 기준이 되는 그라운드 트루스(GT)로 사용하기 적합하다. Therefore, since the generated virtual image sequence has an ideal frame image corresponding to the actual camera movement, it is suitable for use as a ground truth (GT) as a reference for a benchmark.

그러므로 시퀀스 제작 어플리케이션은, 이상적인 가상 이미지 시퀀스를 손쉽게 생성하여 벤치마크 데이터셋을 생성할 수 있다. Therefore, a sequence creation application can easily create an ideal virtual image sequence to create a benchmark dataset.

그리고 시퀀스 제작 어플리케이션은 이와 같이 생성한 가상 이미지 시퀀스를 시퀀스 제작 어플리케이션을 통해 재생할 수 있다. (S109)In addition, the sequence production application may reproduce the virtual image sequence generated in this way through the sequence production application. (S109)

도 5의 익스포트(Export) 파트에 가상 이미지 시퀀스를 입력하여 재생할 수 있다. The virtual image sequence may be input and reproduced in the export part of FIG. 5 .

또한, 시퀀스 제작 어플리케이션은 이와 같이 생성한 가상 이미지 시퀀스를 타겟 객체에 대한 기 정한 정답(GT)로 설정하여 벤치마크 데이터셋을 생성할 수있다. (S111)In addition, the sequence production application can create a benchmark dataset by setting the generated virtual image sequence as a predetermined correct answer (GT) for the target object. (S111)

이후, 시퀀스 제작 어플리케이션은, 다양한 카메라 디바이스의 다양한 객체 추적 어플리케이션에서 타겟 객체에 대응하는 실제 객체를 촬영하고 추적하여 획득한 실제 이미지 시퀀스를 수신할 수 있다. (S113)Thereafter, the sequence production application may receive an actual image sequence obtained by photographing and tracking a real object corresponding to the target object in various object tracking applications of various camera devices. (S113)

시퀀스 제작 어플리케이션은, 수신한 실제 이미지 시퀀스와 기 정한 정답(GT)를 비교(benchmark)하여 상기 실제 이미지 시퀀스를 송신한 카메라 디바이스의 객체 추적 어플리케이션에 정확도를 산출할 수 있다. (S115)The sequence production application may benchmark the received real image sequence and a predetermined correct answer (GT) to calculate accuracy in the object tracking application of the camera device that has transmitted the real image sequence. (S115)

또한, 시퀀스 제작 어플리케이션은, 산출된 정확도 등의 파라미터를 통해 객체 추적 어플리케이션의 알고리즘 파라미터를 수정하거나, 타겟 객체 자체를 수정하여, 객체 추적 성능을 향상시킬 수 있다. In addition, the sequence production application may improve the object tracking performance by modifying an algorithm parameter of the object tracking application through parameters such as calculated accuracy or by modifying the target object itself.

이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and used by those skilled in the art of computer software. Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floppy disks. medium), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. A hardware device may be converted into one or more software modules to perform processing in accordance with the present invention, and vice versa.

본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific implementations described in the present invention are only examples, and do not limit the scope of the present invention in any way. For brevity of the specification, descriptions of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connections or connecting members of the lines between the components shown in the drawings exemplify functional connections and/or physical or circuit connections, and in an actual device, various functional connections, physical connections that are replaceable or additional may be referred to as connections, or circuit connections. In addition, unless there is a specific reference such as "essential", "importantly", etc., it may not be a necessary component for the application of the present invention.

또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.In addition, although the detailed description of the present invention has been described with reference to a preferred embodiment of the present invention, those skilled in the art or those having ordinary knowledge in the art will appreciate the spirit of the present invention described in the claims to be described later. And it will be understood that various modifications and variations of the present invention can be made without departing from the technical scope. Accordingly, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification, but should be defined by the claims.

Claims (10)

컴퓨팅 장치의 프로세서가 실행된 시퀀스 제작 어플리케이션이 수행하는 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법으로서,
시퀀스 제작 인터페이스 상에 타겟 객체를 표시하는 단계;
상기 표시된 타겟 객체 상에 가상 카메라 궤적을 설정하는 단계;
상기 설정된 가상 카메라 궤적을 따라서 상기 타겟 객체를 바라본 이미지를 랜더링하여 이미지 시퀀스를 생성하는 단계; 및
상기 생성된 이미지 시퀀스를 재생하는 단계를 포함하고,
상기 시퀀스 제작 인터페이스 상에 타겟 객체를 표시하는 단계는, 사용자 입력에 따라서 실제 객체에 대응하는 기 설계된 3차원 모델인 상기 타겟 객체를 결정하는 단계를 포함하고,
상기 생성된 가상 이미지 시퀀스를 벤치마크에 기준이 되는 기 정한 정답(Ground-truth)로 설정하는 단계와,
단말의 객체 추적 어플리케이션으로부터 상기 타겟 객체에 대응하는 실제 객체를 촬영하고 추적하여 획득한 실제 이미지 시퀀스를 수신하는 단계와,
상기 수신한 실제 이미지 시퀀스와 상기 기 정한 정답을 비교하여 상기 객체 추적 어플리케이션의 정확도 파라미터를 산출하는 단계를 더 포함하는
증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법.
As a camera motion estimation method for an augmented reality tracking algorithm performed by a sequence production application executed by a processor of a computing device,
displaying the target object on the sequence creation interface;
setting a virtual camera trajectory on the displayed target object;
generating an image sequence by rendering an image looking at the target object along the set virtual camera trajectory; and
reproducing the generated image sequence;
The step of displaying the target object on the sequence production interface includes determining the target object, which is a pre-designed three-dimensional model corresponding to the real object, according to a user input,
setting the generated virtual image sequence as a ground-truth that is a standard for a benchmark;
Receiving a real image sequence obtained by photographing and tracking a real object corresponding to the target object from an object tracking application of the terminal;
Comparing the received actual image sequence with the predetermined correct answer, further comprising the step of calculating an accuracy parameter of the object tracking application
Camera motion estimation method for augmented reality tracking algorithm.
제 1 항에 있어서,
상기 시퀀스 제작 인터페이스 상에 타겟 객체를 표시하는 단계는,
상기 타겟 객체에 해당하는 기 설계된 3차원 모델을 임포트하는 단계와,
상기 임포트된 3차원 모델을 3차원 공간좌표의 원점에 배치하는 단계를 포함하는
증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법.
The method of claim 1,
Displaying the target object on the sequence production interface comprises:
importing a pre-designed three-dimensional model corresponding to the target object;
arranging the imported 3D model at the origin of 3D spatial coordinates
Camera motion estimation method for augmented reality tracking algorithm.
제 1 항에 있어서,
상기 표시된 타겟 객체 상에 가상 카메라 궤적을 설정하는 단계는,
상기 시퀀스 제작 인터페이스를 통한 유저 입력에 따라서 가상 카메라를 배치하는 단계와,
상기 배치된 가상 카메라를 이동시키는 단계와,
상기 가상 카메라가 이동한 궤적을 가상 카메라 궤적으로 설정하는 단계를 포함하는
증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법.
The method of claim 1,
Setting a virtual camera trajectory on the displayed target object comprises:
arranging a virtual camera according to a user input through the sequence production interface;
moving the placed virtual camera;
and setting the trajectory of the virtual camera as a trajectory of the virtual camera.
Camera motion estimation method for augmented reality tracking algorithm.
제 1 항에 있어서,
상기 표시된 타겟 객체 상에 가상 카메라 궤적을 설정하는 단계는,
카메라 디바이스로부터 실제 객체를 촬영하고 추적하여 생성한 실제 카메라 궤적을 수신하는 단계와,
상기 실제 카메라 궤적에 대응하는 가상 카메라 궤적을 생성하는 단계와,
상기 생성된 가상 카메라 궤적을 상기 타겟 객체에 대한 가상 카메라 궤적으로 설정하는 단계를 포함하는
증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법.
The method of claim 1,
Setting a virtual camera trajectory on the displayed target object comprises:
Receiving a real camera trajectory generated by photographing and tracking a real object from a camera device;
generating a virtual camera trajectory corresponding to the real camera trajectory;
setting the generated virtual camera trajectory as a virtual camera trajectory for the target object
Camera motion estimation method for augmented reality tracking algorithm.
제 4 항에 있어서,
상기 카메라 디바이스로부터 실제 객체를 촬영하고 추적하여 생성한 실제 카메라 궤적을 수신하는 단계는,
상기 카메라 디바이스가 움직이며 실제 객체를 촬영하는 단계와,
상기 실제 객체를 촬영한 시점 별로 상기 카메라 디바이스의 실제 카메라가 실제 객체에 대한 포즈값을 산출하는 단계와,
상기 실제 카메라 포즈값의 변화를 포함하여 실제 카메라 궤적을 결정하는 단계를 포함하는
증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법.
5. The method of claim 4,
Receiving a real camera trajectory generated by photographing and tracking a real object from the camera device,
moving the camera device and photographing a real object;
calculating, by the real camera of the camera device, a pose value for the real object for each time point at which the real object is photographed;
Determining an actual camera trajectory including a change in the actual camera pose value
Camera motion estimation method for augmented reality tracking algorithm.
제 5 항에 있어서,
상기 실제 카메라 궤적에 대응하는 가상 카메라 궤적을 생성하는 단계는,
상기 실제 객체에 대한 실제 카메라 포즈값을 상기 타겟 객체에 대한 상기 가상 카메라의 포즈값으로 변환하는 단계를 포함하는
증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법.
6. The method of claim 5,
The step of generating a virtual camera trajectory corresponding to the real camera trajectory comprises:
converting a real camera pose value for the real object into a pose value of the virtual camera for the target object
Camera motion estimation method for augmented reality tracking algorithm.
제 1 항에 있어서,
상기 설정된 가상 카메라 궤적을 따라서 상기 타겟 객체를 바라본 이미지를 랜더링하여 이미지 시퀀스를 생성하는 단계는,
상기 가상 카메라 궤적에 따라서 가상 카메라를 이동하는 단계와,
상기 이동하는 가상 카메라의 일 시점의 가상 카메라 포즈에서 상기 타겟 객체를 바라본 프레임 이미지를 랜더링하여 프레임 이미지를 생성하는 단계를 포함하는
증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법.
The method of claim 1,
The step of generating an image sequence by rendering an image looking at the target object along the set virtual camera trajectory comprises:
moving the virtual camera according to the virtual camera trajectory;
generating a frame image by rendering a frame image looking at the target object from a virtual camera pose at one point of view of the moving virtual camera
Camera motion estimation method for augmented reality tracking algorithm.
제 7 항에 있어서,
상기 설정된 가상 카메라 궤적을 따라서 상기 타겟 객체를 바라본 이미지를 랜더링하여 이미지 시퀀스를 생성하는 단계는,
상기 랜더링된 각 프레임 이미지 촬영시점의 가상 카메라 포즈값과 해당 프레임 이미지를 매칭하여 가상 이미지 시퀀스에 포함시키는 단계를 포함하는
증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법.
8. The method of claim 7,
The step of generating an image sequence by rendering an image looking at the target object along the set virtual camera trajectory comprises:
and matching the frame image with the virtual camera pose value at the time of capturing each of the rendered frame images and including the corresponding frame image in a virtual image sequence.
Camera motion estimation method for augmented reality tracking algorithm.
삭제delete 삭제delete
KR1020210194396A 2021-11-23 2021-12-31 System and Method for estimating camera motion for AR tracking algorithm KR102442637B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/992,915 US11769293B2 (en) 2021-11-23 2022-11-22 Camera motion estimation method for augmented reality tracking algorithm and system therefor
EP22208878.3A EP4191529A1 (en) 2021-11-23 2022-11-22 Camera motion estimation method for augmented reality tracking algorithm and system therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210161957 2021-11-23
KR20210161957 2021-11-23

Publications (1)

Publication Number Publication Date
KR102442637B1 true KR102442637B1 (en) 2022-09-13

Family

ID=83286874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210194396A KR102442637B1 (en) 2021-11-23 2021-12-31 System and Method for estimating camera motion for AR tracking algorithm

Country Status (1)

Country Link
KR (1) KR102442637B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102614102B1 (en) * 2022-11-24 2023-12-14 주식회사 버넥트 An automated calibration system 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
CN117395378A (en) * 2023-12-07 2024-01-12 北京道仪数慧科技有限公司 Road product acquisition method and acquisition system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118724A (en) * 2009-12-04 2011-06-16 Nippon Hoso Kyokai <Nhk> Apparatus and program for estimating posture of camera
US20140118339A1 (en) 2012-10-31 2014-05-01 The Boeing Company Automated frame of reference calibration for augmented reality
JP2016517982A (en) * 2013-04-12 2016-06-20 アセルサン・エレクトロニク・サナイ・ヴェ・ティジャレット・アノニム・シルケティAselsan Elektronik Sanayi ve Ticaret Anonim Sirketi System and method for optimizing fiducial marker and camera position / orientation
KR20200067882A (en) * 2017-11-03 2020-06-12 페이스북, 인크. Dynamic progressive degradation of augmented reality effects
KR102282730B1 (en) * 2020-12-16 2021-07-29 주식회사 버넥트 Method and system for object detection and posture estimation based on object-customized image feature detection algorithm

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118724A (en) * 2009-12-04 2011-06-16 Nippon Hoso Kyokai <Nhk> Apparatus and program for estimating posture of camera
US20140118339A1 (en) 2012-10-31 2014-05-01 The Boeing Company Automated frame of reference calibration for augmented reality
JP2016517982A (en) * 2013-04-12 2016-06-20 アセルサン・エレクトロニク・サナイ・ヴェ・ティジャレット・アノニム・シルケティAselsan Elektronik Sanayi ve Ticaret Anonim Sirketi System and method for optimizing fiducial marker and camera position / orientation
KR20200067882A (en) * 2017-11-03 2020-06-12 페이스북, 인크. Dynamic progressive degradation of augmented reality effects
KR102282730B1 (en) * 2020-12-16 2021-07-29 주식회사 버넥트 Method and system for object detection and posture estimation based on object-customized image feature detection algorithm

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Koji Makita 등, A prototype tool in TrakMark to generate benchmark data sets for visual tracking methods using virtualized reality models, TrackMark2011.(2011.) *
Koji Makita 등, Virtualized reality model-based benchmarking of AR/MR camera tracking methods in TrakMark, ISMAR2012.(2012.11.05.)* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102614102B1 (en) * 2022-11-24 2023-12-14 주식회사 버넥트 An automated calibration system 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
CN117395378A (en) * 2023-12-07 2024-01-12 北京道仪数慧科技有限公司 Road product acquisition method and acquisition system
CN117395378B (en) * 2023-12-07 2024-04-09 北京道仪数慧科技有限公司 Road product acquisition method and acquisition system

Similar Documents

Publication Publication Date Title
US11481982B2 (en) In situ creation of planar natural feature targets
KR102638526B1 (en) Modifying scenes in augmented reality using parameterized markers
WO2019184889A1 (en) Method and apparatus for adjusting augmented reality model, storage medium, and electronic device
JP6258953B2 (en) Fast initialization for monocular visual SLAM
JP2019071048A (en) System and method for deep learning based hand gesture recognition from first person view point
US20220319139A1 (en) Multi-endpoint mixed-reality meetings
KR102442637B1 (en) System and Method for estimating camera motion for AR tracking algorithm
US10650609B2 (en) Virtual prototyping and assembly validation
US10983661B2 (en) Interface for positioning an object in three-dimensional graphical space
WO2022095468A1 (en) Display method and apparatus in augmented reality scene, device, medium, and program
CN109688343A (en) The implementation method and device of augmented reality studio
WO2022140001A1 (en) Image data annotation system
CN109816791B (en) Method and apparatus for generating information
CN104345885A (en) Three-dimensional tracking state indicating method and display device
US11769293B2 (en) Camera motion estimation method for augmented reality tracking algorithm and system therefor
US20220351465A1 (en) Methods and Systems for Augmented Reality Tracking Based on Volumetric Feature Descriptor Data
Siegl et al. An augmented reality human–computer interface for object localization in a cognitive vision system
KR20230101469A (en) A method for learning a target object by detecting an edge from a digital model of the target object and setting sample points, and a method for augmenting a virtual model on a real object implementing the target object using the same
CN108845669B (en) AR/MR interaction method and device
KR102614102B1 (en) An automated calibration system 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
KR102618591B1 (en) 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
US20230206566A1 (en) Method of learning a target object using a virtual viewpoint camera and a method of augmenting a virtual model on a real object implementing the target object using the same
US20230360333A1 (en) Systems and methods for augmented reality video generation
CN115268626A (en) Industrial simulation system
KR20220050253A (en) Apparatus for constructing a 3D map for providing augmented reality based on pose information and depth information, and a method therefor

Legal Events

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