KR20220139139A - Device, method and computer program for correcting posture of camera based on image - Google Patents

Device, method and computer program for correcting posture of camera based on image Download PDF

Info

Publication number
KR20220139139A
KR20220139139A KR1020210045400A KR20210045400A KR20220139139A KR 20220139139 A KR20220139139 A KR 20220139139A KR 1020210045400 A KR1020210045400 A KR 1020210045400A KR 20210045400 A KR20210045400 A KR 20210045400A KR 20220139139 A KR20220139139 A KR 20220139139A
Authority
KR
South Korea
Prior art keywords
key frame
frame
posture
feature points
target frame
Prior art date
Application number
KR1020210045400A
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 주식회사 케이티
Priority to KR1020210045400A priority Critical patent/KR20220139139A/en
Publication of KR20220139139A publication Critical patent/KR20220139139A/en

Links

Images

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
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

The present invention relates to a device for correcting a posture of a camera based on an image, comprising: a key frame setting unit setting a key frame based on two or more frames included in the image; a feature point extraction unit extracting a feature point from a target frame included in the image; an estimation unit estimating a posture value on the target frame based on the extracted feature points of the target frame and the key frame; a conversion unit converting the feature points of the target frame into three-dimensional feature points based on the estimated posture value; a classification unit matching the converted three-dimensional feature points with one or more reference planes drawn from the key frame and classifying the converted three-dimensional feature points into one or more groups; a plane configuration unit configuring one or more target planes drawn from the target frame based on the three-dimensional feature points included in the classified groups; and a correction unit correcting the posture value for the target frame based on a normal vector on the reference plane. The present invention is able to more precisely estimate a posture of a camera.

Description

영상을 통해 카메라의 자세를 보정하는 장치, 방법 및 컴퓨터 프로그램{DEVICE, METHOD AND COMPUTER PROGRAM FOR CORRECTING POSTURE OF CAMERA BASED ON IMAGE}DEVICE, METHOD AND COMPUTER PROGRAM FOR CORRECTING POSTURE OF CAMERA BASED ON IMAGE

본 발명은 영상을 통해 카메라의 자세를 보정하는 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.The present invention relates to an apparatus, a method, and a computer program for correcting the posture of a camera through an image.

영상에 기반한 카메라의 자세 추정은 촬영 영상에서 특징점을 추출하고, 추출된 특징점을 이용하여 카메라의 자세(예: 이동값 및 회전값 등)를 추정하게 된다. 예를 들어, 영상에 포함된 객체의 각 모서리를 특징점으로 추출하여 추출된 특징점으로부터 카메라의 이동값 및 회전값을 산출할 수 있다. In the image-based posture estimation, a feature point is extracted from a captured image, and the camera posture (eg, movement value and rotation value, etc.) is estimated using the extracted feature point. For example, each corner of an object included in the image may be extracted as a feature point, and a movement value and a rotation value of the camera may be calculated from the extracted feature point.

이와 관련하여, 선행기술인 한국등록특허공보 제 1942646호는 영상 특징점 기반의 실시간 카메라 자세 추정 장치에 관한 것으로, 촬영 이미지에서 객체에 대한 키포인트들과 객체에 대해 기 저장된 키포인트들 간의 1차 매칭을 수행하고, 1차 매칭 결과에 기초하여 촬영된 이미지들의 객체의 키 포인트들에 대한 2차 매칭을 수행하여 카메라의 자세를 추정하는 구성을 개시하고 있다.In this regard, the prior art Korean Patent Publication No. 1942646 relates to a real-time camera posture estimation apparatus based on image feature points, and performs primary matching between key points for an object in a photographed image and key points previously stored for the object. , discloses a configuration for estimating a camera posture by performing secondary matching on key points of an object of photographed images based on a primary matching result.

그러나, 종래 선행기술은 객체에 대해 미리 저장된 키포인트들과 촬영 이미지의 객체에 대한 키포인트들 간의 매칭 만으로 카메라의 자세를 추정하므로, 다양한 변수를 포함할 수 있는 카메라의 촬영 영상을 통해 카메라의 자세를 정확하게 추정하는데 한계가 존재한다.However, in the prior art, since the camera posture is estimated only by matching between key points stored in advance for an object and key points for an object in a photographed image, the posture of the camera is accurately determined through the photographed image of the camera, which may include various variables. There are limits to the estimation.

한국등록특허공보 제 1942646호 (2019. 1. 21. 등록)Korea Patent Publication No. 1942646 (Registered on January 21, 2019) 한국등록특허공보 제 1880185호 (2018. 7. 13. 등록)Korean Patent Publication No. 1880185 (Registered on July 13, 2018)

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 영상으로부터 카메라의 자세를 추정하고 추정된 자세의 보정을 병렬적으로 수행하여 보다 정확하게 영상으로부터 자세를 추정할 수 있는 자세 보정 장치를 제공하고자 한다. The present invention is to solve the problems of the prior art described above, and to provide a posture correction device capable of estimating a posture from an image more accurately by estimating the posture of a camera from an image and performing correction of the estimated posture in parallel do.

또한, 영상으로부터 평면을 추정하고 추정된 평면을 이용하여 카메라의 자세를 보다 안정적으로 자세를 추정할 수 있는 자세 보정 장치를 제공하고자 한다. Another object of the present invention is to provide a posture correction device capable of estimating a plane from an image and estimating the posture of a camera more stably using the estimated plane.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problems to be achieved by the present embodiment are not limited to the technical problems described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 영상을 통해 카메라의 자세를 보정하는 장치에 있어서, 상기 영상에 포함된 적어도 둘의 프레임에 기초하여 키 프레임을 설정하는 키 프레임 설정부; 상기 영상에 포함된 대상 프레임에서 특징점을 추출하는 특징점 추출부; 상기 추출된 대상 프레임의 특징점 및 상기 키 프레임의 특징점에 기초하여 상기 대상 프레임에 대한 자세값을 추정하는 추정부; 상기 추정된 자세값에 기초하여 상기 대상 프레임의 특징점을 3차원 특징점으로 변환하는 변환부; 상기 변환된 3차원 특징점을 상기 키 프레임으로부터 도출된 적어도 하나의 기준 평면과 매칭시켜 적어도 하나의 그룹으로 분류하는 분류부; 상기 분류된 그룹에 포함된 3차원 특징점에 기초하여 상기 대상 프레임으로부터 도출된 적어도 하나의 대상 평면을 구성하는 평면 구성부 및 상기 기준 평면에 대한 법선 벡터에 기초하여 상기 대상 프레임에 대한 자세값을 보정하는 보정부를 포함하는 자세 보정 장치를 제공 할 수 있다. As a means for achieving the above-described technical problem, an embodiment of the present invention is an apparatus for correcting the posture of a camera through an image, a key for setting a key frame based on at least two frames included in the image frame setting unit; a feature point extraction unit for extracting a feature point from the target frame included in the image; an estimator for estimating a posture value with respect to the target frame based on the extracted feature points of the target frame and the key frame; a transformation unit converting the feature points of the target frame into three-dimensional feature points based on the estimated posture value; a classification unit for classifying the transformed 3D feature points into at least one group by matching them with at least one reference plane derived from the key frame; Correcting an attitude value for the target frame based on a plane component constituting at least one target plane derived from the target frame based on the three-dimensional feature points included in the classified group and a normal vector to the reference plane It is possible to provide a posture correcting device including a correcting unit.

본 발명의 다른 실시예는, 영상을 통해 카메라의 자세를 보정하는 방법에 있어서, 상기 영상에 포함된 적어도 둘의 프레임에 기초하여 키 프레임을 설정하는 단계; 상기 영상에 포함된 대상 프레임에서 특징점을 추출하는 단계; 상기 추출된 대상 프레임의 특징점 및 상기 키 프레임의 특징점에 기초하여 상기 대상 프레임에 대한 자세값을 추정하는 단계; 상기 추정된 자세값에 기초하여 상기 대상 프레임의 특징점을 3차원 특징점으로 변환하는 단계; 상기 변환된 3차원 특징점을 상기 키 프레임으로부터 도출된 적어도 하나의 기준 평면과 매칭시켜 적어도 하나의 그룹으로 분류하는 단계; 상기 분류된 그룹에 포함된 3차원 특징점에 기초하여 상기 대상 프레임으로부터 도출된 적어도 하나의 대상 평면을 구성하는 단계 및 상기 기준 평면에 대한 법선 벡터에 기초하여 상기 대상 프레임에 대한 자세값을 보정하는 단계를 포함하는 자세 보정 방법을 제공할 수 있다. Another embodiment of the present invention provides a method of correcting a camera posture through an image, the method comprising: setting a key frame based on at least two frames included in the image; extracting a feature point from a target frame included in the image; estimating a posture value of the target frame based on the extracted feature points of the target frame and the key frame; converting the feature point of the target frame into a three-dimensional feature point based on the estimated posture value; classifying the transformed 3D feature points into at least one group by matching them with at least one reference plane derived from the key frame; constructing at least one target plane derived from the target frame based on three-dimensional feature points included in the classified group, and correcting a posture value for the target frame based on a normal vector to the reference plane It is possible to provide a posture correction method comprising a.

본 발명의 또 다른 실시예는, 영상을 통해 카메라의 자세를 보정하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 상기 영상에 포함된 적어도 둘의 프레임에 기초하여 키 프레임을 설정하고, 상기 영상에 포함된 대상 프레임에서 특징점을 추출하고, 상기 추출된 대상 프레임의 특징점 및 상기 키 프레임의 특징점에 기초하여 상기 대상 프레임에 대한 자세값을 추정하고, 상기 추정된 자세값에 기초하여 상기 대상 프레임의 특징점을 3차원 특징점으로 변환하고, 상기 변환된 3차원 특징점을 상기 키 프레임으로부터 도출된 적어도 하나의 기준 평면과 매칭시켜 적어도 하나의 그룹으로 분류하고, 상기 분류된 그룹에 포함된 3차원 특징점에 기초하여 상기 대상 프레임으로부터 도출된 적어도 하나의 대상 평면을 구성하고, 상기 기준 평면에 대한 법선 벡터에 기초하여 상기 대상 프레임에 대한 자세값을 보정하도록 하는 명령어들의 시퀀스를 포함하는, 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램을 제공할 수 있다. Another embodiment of the present invention is a computer program stored in a computer-readable recording medium including a sequence of instructions for correcting the posture of a camera through an image, wherein the computer program is stored on the image when executed by a computing device. A key frame is set based on at least two included frames, a feature point is extracted from a target frame included in the image, and an attitude toward the target frame based on the extracted feature point of the target frame and the key frame feature point estimating a value, converting the feature point of the target frame into a three-dimensional feature point based on the estimated posture value, and matching the converted three-dimensional feature point with at least one reference plane derived from the key frame to obtain at least one Classify into groups, configure at least one target plane derived from the target frame based on 3D feature points included in the classified group, and pose values for the target frame based on a normal vector to the reference plane It is possible to provide a computer program stored in a computer-readable recording medium, including a sequence of instructions to correct the.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary, and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 영상에 포함된 적어도 둘의 프레임으로부터 추출된 특징점, 3차원 특징점 및 평면을 이용하여 카메라의 자세를 추정하고 추정된 자세의 보정을 병렬적으로 수행함으로써, 보다 정확하게 카메라의 자세를 추정할 수 있는 자세 보정 장치를 제공할 수 있다. According to any one of the above-described problem solving means of the present invention, the posture of the camera is estimated using the feature points extracted from at least two frames included in the image, the three-dimensional feature points and the plane, and the correction of the estimated posture is performed in parallel By doing so, it is possible to provide a posture correcting device capable of more accurately estimating the posture of the camera.

또한, 영상에 포함된 적어도 둘의 프레임으로부터 평면을 추정하고 추정된 평면을 이용하여 추정된 카메라의 자세를 보정함으로써, 보다 안정적으로 카메라의 자세를 추정할 수 있는 자세 보정 장치를 제공할 수 있다.In addition, by estimating a plane from at least two frames included in an image and correcting the estimated camera posture using the estimated plane, it is possible to provide a posture correcting apparatus capable of estimating the camera posture more stably.

도 1은 본 발명의 일 실시예에 따른 자세 보정 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 프레임 간의 특징점 매칭을 설명하기 위한 예시적인 도면이다.
도 3은 본 발명의 일 실시예에 따른 3차원 특징점을 적어도 하나의 그룹으로 분류하는 과정을 설명하기 위한 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 기준 평면에 대한 법선 벡터에 기초하여 프레임의 자세값을 보정하는 과정을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 키 프레임 후보자에 따른 점군 데이터의 한정을 설명하기 위한 예시적인 도면이다.
도 6은 본 발명의 일 실시예에 따른 자세값 보정을 설명하기 위한 예시적인 도면이다.
도 7은 본 발명의 일 실시예에 따른 자세값 보정 방법의 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 프레임의 자세값의 보정 전과 후를 설명하기 위한 예시적인 도면이다.
도 9는 본 발명의 일 실시예에 따른 자세 보정 방법의 순서도이다.
1 is a configuration diagram of a posture correcting apparatus according to an embodiment of the present invention.
FIG. 2 is an exemplary diagram for describing feature point matching between frames according to an embodiment of the present invention.
3 is an exemplary diagram for explaining a process of classifying 3D feature points into at least one group according to an embodiment of the present invention.
4 is an exemplary diagram for explaining a process of correcting a posture value of a frame based on a normal vector with respect to a reference plane according to an embodiment of the present invention.
5 is an exemplary diagram for explaining the limitation of point cloud data according to key frame candidates according to an embodiment of the present invention.
6 is an exemplary view for explaining posture value correction according to an embodiment of the present invention.
7 is a flowchart of a posture value correction method according to an embodiment of the present invention.
8 is an exemplary view for explaining before and after correction of the posture value of the frame according to an embodiment of the present invention.
9 is a flowchart of a posture correction method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Throughout the specification, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. . Also, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated, and one or more other features However, it is to be understood that the existence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded in advance.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In this specification, a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. In addition, one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.Some of the operations or functions described as being performed by the terminal or device in this specification may be instead performed by a server connected to the terminal or device. Similarly, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the corresponding server.

이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 자세 보정 장치의 구성도이다. 도 1을 참조하면, 자세 보정 장치(100)는 키 프레임 설정부(110), 특징점 추출부(120), 추정부(130), 변환부(140), 분류부(150), 평면 구성부(160), 보정부(170) 및 후보자 설정부(180)를 포함할 수 있다. 다만 위 구성 요소들(110 내지 180)은 자세 보정 장치(100)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것일 뿐이다. 1 is a configuration diagram of a posture correcting apparatus according to an embodiment of the present invention. Referring to FIG. 1 , the posture correcting apparatus 100 includes a key frame setting unit 110 , a feature point extracting unit 120 , an estimating unit 130 , a transforming unit 140 , a classifying unit 150 , and a planar construction unit ( 160 ), a correction unit 170 , and a candidate setting unit 180 . However, the above components 110 to 180 are merely illustrative of components that can be controlled by the posture correcting apparatus 100 .

도 1의 자세 보정 장치(100)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 자세 보정 장치(100)는 동시에 또는 시간 간격을 두고 연결될 수 있다. Each component of the posture correction apparatus 100 of FIG. 1 is generally connected through a network. For example, as shown in FIG. 1 , the posture correcting apparatus 100 may be connected simultaneously or at intervals of time.

네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다. A network refers to a connection structure that allows information exchange between each node, such as terminals and servers, and includes a local area network (LAN), a wide area network (WAN), and the Internet (WWW: World). Wide Web), wired and wireless data communication networks, telephone networks, wired and wireless television networks, and the like. Examples of wireless data communication networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi, Bluetooth communication, infrared communication, ultrasound communication, Visible Light Communication (VLC), LiFi, and the like, but are not limited thereto.

본 발명의 일 실시예에 따른 자세 보정 장치(100)는 영상에 포함된 적어도 둘의 프레임으로부터 추출된 특징점, 3차원 특징점 및 평면을 이용하여 카메라의 자세를 추정하고 추정된 자세의 보정을 병렬적으로 수행할 수 있다. The posture correction apparatus 100 according to an embodiment of the present invention estimates the posture of the camera using feature points, three-dimensional feature points, and planes extracted from at least two frames included in an image, and performs correction of the estimated posture in parallel. can be done with

또한, 자세 보정 장치(100)는 영상에 포함된 적어도 둘의 프레임으로부터 평면을 추정하고 추정된 평면을 이용하여 추정된 카메라의 자세를 보정함으로써, 보다 안정적으로 카메라의 자세를 추정할 수 있다.Also, the posture correcting apparatus 100 may more stably estimate the camera posture by estimating a plane from at least two frames included in the image and correcting the estimated camera posture using the estimated plane.

이하, 자세 보정 장치(100)의 각 구성에 대해 자세히 살펴보도록 한다. Hereinafter, each configuration of the posture correcting apparatus 100 will be described in detail.

본 발명의 일 실시예에 따른 키 프레임 설정부(110)는 영상에 포함된 적어도 둘의 프레임에 기초하여 키 프레임을 설정할 수 있다. 키 프레임 설정부(110)는 기 설정된 기준에 따라 영상에 포함된 프레임을 키 프레임으로 설정할 수 있다. 여기서, 키 프레임의 설정 과정은 초기화 과정에 해당할 수 있다. 키 프레임 설정부(110)는 초기화 과정을 통해 기준 원점을 정의할 수 있고, 기준 키 프레임, 기준 점군 데이터 및 기준 평면을 생성할 수 있다. The key frame setting unit 110 according to an embodiment of the present invention may set a key frame based on at least two frames included in an image. The key frame setting unit 110 may set a frame included in an image as a key frame according to a preset standard. Here, the process of setting the key frame may correspond to the initialization process. The key frame setting unit 110 may define a reference origin through an initialization process, and may generate a reference key frame, reference point cloud data, and a reference plane.

키 프레임은 후술하는 대상 프레임의 자세값을 추정하고 보정하기 위한 기준 프레임이 될 수 있다. 일 예로, 키 프레임은 카메라 영상이 전환된 시점의 프레임일 수 있다. The key frame may be a reference frame for estimating and correcting an attitude value of a target frame, which will be described later. For example, the key frame may be a frame at which the camera image is switched.

예를 들어, 키 프레임 설정부(110)는 제 1 프레임(ft-1)과 제 2 프레임(ft)의 특징점을 매칭시키고, 매칭된 특징점에 대한 정보를 포함하는 매칭 정보를 이용하여 제 2 프레임(ft)의 자세값을 추정하는 과정에서 매칭된 특징점의 개수가 일정 개수인 경우 제 1 프레임(ft-1)과 제 2 프레임(ft)을 키 프레임으로 설정할 수 있다. 여기서, 제 1 프레임(ft-1)과 제 2 프레임(ft)은 바로 이웃하는 프레임일 수 있고, 시간적으로 떨어진 프레임일 수 있다. 시간적으로 떨어진 프레임일지라도, 제 1 프레임(ft-1)과 제 2 프레임(ft) 간의 매칭된 특징점의 개수가 일정 개수 이상인 경우 두 프레임은 모두 기준 키 프레임으로 설정될 수 있다. 만약, 키 프레임 설정부(110)는 매칭 정보를 이용하여 제 2 프레임(ft)의 자세값을 추정하는 과정에서 매칭된 특징점의 개수가 일정 개수 미만인 경우, 다음 프레임을 이용하여 전술한 과정을 반복 수행할 수 있다.For example, the key frame setting unit 110 matches the feature points of the first frame (f t-1 ) and the second frame (f t ), and uses matching information including information on the matched feature points. When the number of matched feature points in the process of estimating the posture value of the second frame f t is a constant number, the first frame f t-1 and the second frame f t may be set as key frames. Here, the first frame f t-1 and the second frame f t may be immediately adjacent frames or may be temporally separated frames. Even in frames separated in time, when the number of matched feature points between the first frame f t-1 and the second frame f t is a predetermined number or more, both frames may be set as reference key frames. If the number of matched feature points is less than a certain number in the process of estimating the posture value of the second frame f t using the matching information, the key frame setting unit 110 performs the above-described process using the next frame. can be repeated.

키 프레임 설정부(110)는 매칭 정보를 이용하여 제 1 프레임(ft-1)을 기준으로 제 2 프레임(ft)의 자세값을 추정할 수 있다. 구체적으로, 키 프레임 설정부(110)는 제 1 프레임(ft-1)과 제 2 프레임(ft)을 이용하여 호모그래피(Homography) 또는 기초 행렬 분해(Fundamental matrix decomposition) 등을 통해 제 2 프레임(ft)의 회전 및 이동 정보를 추정할 수 있다. 이 때, 키 프레임 설정부(110)는 호모그래피(Homography) 또는 기초 행렬 분해(Fundamental matrix decomposition)의 계산 과정에서 제 1 프레임(ft-1)과 제 2 프레임(ft) 간의 맞지 않는 매칭점은 제거할 수 있다. 이 과정에서 제 1 프레임(ft-1)과 제 2 프레임(ft) 간의 매칭된 특징점이 일정 개수를 유지하지 못하게 되면 다음 프레임을 이용하여 전술한 과정을 반복할 수 있다. The key frame setting unit 110 may estimate the posture value of the second frame f t based on the first frame f t-1 by using the matching information. Specifically, the key frame setting unit 110 uses the first frame (f t-1 ) and the second frame (f t ) to perform homography or fundamental matrix decomposition using the second frame. Rotation and movement information of the frame f t can be estimated. At this time, the key frame setting unit 110 does not match between the first frame f t-1 and the second frame f t in the calculation process of homography or fundamental matrix decomposition. Dots can be removed. In this process, if a predetermined number of matched feature points between the first frame f t-1 and the second frame f t is not maintained, the above-described process may be repeated using the next frame.

키 프레임 설정부(110)는 제 2 프레임(ft)의 자세값을 추정하는 과정에서 매칭된 특징점이 일정 개수 이상 존재하는 경우, 매칭된 특징점 및 추정된 자세값을 이용하여 특징점을 3차원 특징점으로 변환할 수 있다. 생성된 3차원 특징점은 초기 점군 데이터에 해당할 수 있다. In the process of estimating the posture value of the second frame f t , the key frame setting unit 110 sets the feature point as a three-dimensional feature point using the matched feature point and the estimated posture value when a certain number of matched feature points exist. can be converted to The generated 3D feature point may correspond to initial point cloud data.

즉, 매칭된 특징점이 일정 개수 이상 존재하는 경우 초기화가 이루어질 수 있다. 이 때, 제 1 프레임(ft-1)의 중심을 기준으로 제 2 프레임(ft)의 매칭된 특징점을 3차원 특징점으로 변환할 수 있고, 제 1 프레임(ft-1)의 중심은 기준 원점으로 정의될 수 있다. 정의된 원점은 점군 데이터의 원점일 수 있고, 추정된 자세값, 즉 추정된 카메라의 위치 정보 및 회전 정보 등의 원점일 수 있다. That is, when a certain number of matched feature points exist, initialization may be performed. At this time, the matched feature point of the second frame f t may be converted into a three-dimensional feature point based on the center of the first frame f t-1 , and the center of the first frame f t-1 is It can be defined as a reference origin. The defined origin may be the origin of the point cloud data, and may be the origin of the estimated posture value, that is, the estimated camera position information and rotation information.

키 프레임 설정부(110)는 변환된 3차원 특징점을 이용하여 제 2 프레임(ft)에 대한 기준 평면을 생성할 수 있다. 예를 들어, 키 프레임 설정부(110)는 변환된 3차원 특징점을 이용하여 제 2 프레임(ft)에 대한 수직 또는 수평의 평면을 생성할 수 있다.The key frame setting unit 110 may generate a reference plane for the second frame f t by using the transformed 3D feature point. For example, the key frame setting unit 110 may generate a vertical or horizontal plane for the second frame f t by using the converted 3D feature points.

키 프레임 설정부(110)는 키 프레임을 설정하는 과정, 즉, 초기화 과정에서 생성된 특징점, 3차원 특징점 및 기준 평면에 대한 정보를 점군 데이터에 저장할 수 있다. 본 발명의 일 실시예에 따른 점군 데이터는 키 프레임의 특징점, 키 프레임의 특징점에 대한 서술 정보, 키 프레임의 3차원 특징점 및 기준 평면에 대한 법선 벡터를 포함할 수 있다. 예를 들어, 점군 데이터는 제 1 프레임(ft-1)의 중심을 점군 데이터의 원점으로 설정할 수 있다. 즉, 점군 데이터는 초기화 과정을 통해 원점을 설정할 수 있고, 설정된 원점을 기준으로 점군 데이터의 위치를 정의할 수 있다. The key frame setting unit 110 may store the key frame setting process, that is, information about the key frame generated during the initialization process, the three-dimensional feature point, and the reference plane in the point cloud data. Point cloud data according to an embodiment of the present invention may include key frame feature points, narration information on key frame feature points, 3D key frame feature points, and normal vectors with respect to a reference plane. For example, the point cloud data may set the center of the first frame f t-1 as the origin of the point cloud data. That is, the origin of the point cloud data may be set through an initialization process, and the location of the point cloud data may be defined based on the set origin.

본 발명의 일 실시예에 따른 특징점 추출부(120)는 영상에 포함된 대상 프레임에서 특징점을 추출할 수 있다. 예를 들어, 특징점 추출부(120)는 대상 프레임에서 모서리 부분과 같이 영상의 형태, 크기 및 위치가 달라지거나 카메라의 시점 및 조명이 달라져도 식별이 용이한 픽셀을 특징점으로 추출할 수 있다. 예를 들어, 특징점 추출부(120)는 해리스 코너 검출(Harris Corner Detection), AGAST 코너 검출(Adaptive and Generic Corner Detection Based on the Accelerated Segment Test) 및 FAST 코너 검출(FAST Corner Detection) 등의 알고리즘을 이용하여 대상 프레임에서 특징점을 추출할 수 있다. The keypoint extractor 120 according to an embodiment of the present invention may extract a keypoint from a target frame included in an image. For example, the keypoint extractor 120 may extract a pixel that is easy to identify as a keypoint even if the shape, size, and position of an image, such as a corner portion of the target frame, or the viewpoint and lighting of a camera change. For example, the feature extraction unit 120 uses algorithms such as Harris Corner Detection, Adaptive and Generic Corner Detection Based on the Accelerated Segment Test, and FAST Corner Detection. Thus, a feature point can be extracted from the target frame.

특징점 추출부(120)는 특징점 서술(Feature Description)을 이용하여 추출된 특징점을 정의할 수 있다. 예를 들어, 특징점 추출부(120)는 추출된 특징점에 대한 방향 성분 및 크기를 검출하여 서술자를 생성할 수 있다. 예를 들어, 특징점 추출부(120)는 ORB, SIFT, SURF, BRIEF 및 BRISK 등의 알고리즘을 이용하여 대상 프레임에서 추출된 특징점에 대한 서술자를 생성할 수 있다. The feature point extractor 120 may define the extracted feature point using a feature description. For example, the keypoint extractor 120 may generate a descriptor by detecting a direction component and a size of the extracted keypoint. For example, the keypoint extractor 120 may generate a descriptor for the keypoint extracted from the target frame by using algorithms such as ORB, SIFT, SURF, BRIEF, and BRISK.

본 발명의 일 실시예에 따른 추정부(130)는 추출된 대상 프레임의 특징점 및 키 프레임의 특징점에 기초하여 대상 프레임에 대한 자세값을 추정할 수 있다. 여기서, 대상 프레임에 대한 자세값은 해당 프레임이 찍혔던 카메라의 위치 정보와 회전 정보를 포함할 수 있다. 예를 들어, 추정부(130)는 대상 프레임에서 정의된 특징점 서술 정보와 키 프레임의 특징점 서술 정보를 비교하여 동일한 특징점을 매칭시킬 수 있다. 특징점 매칭은 특징점 서술 알고리즘에 따라 매칭 방법이 달라질 수 있다. The estimator 130 according to an embodiment of the present invention may estimate the posture value of the target frame based on the extracted feature points of the target frame and the key frame. Here, the posture value for the target frame may include position information and rotation information of a camera in which the frame was taken. For example, the estimator 130 may match the same feature point by comparing the feature point description information defined in the target frame with the feature point description information of the key frame. For keypoint matching, a matching method may vary depending on the keypoint description algorithm.

도 2는 본 발명의 일 실시예에 따른 프레임 간의 특징점 매칭을 설명하기 위한 예시적인 도면이다. 도 2를 참조하면, 추정부(130)는 키 프레임(210)의 특징점 서술 정보와 대상 프레임(220)의 특징점 서술 정보를 비교하여 동일한 특징점을 매칭시킬 수 있다. 추정부(130)는 매칭된 특징점에 대한 정보를 포함하는 매칭 정보를 이용하여 키 프레임(210)을 기준으로 대상 프레임(220)의 자세값(A)을 추정할 수 있다. 추정된 자세값(A)은 키 프레임(210)을 기준으로 대상 프레임(220)의 회전값 및 이동값을 포함할 수 있다. FIG. 2 is an exemplary diagram for describing feature point matching between frames according to an embodiment of the present invention. Referring to FIG. 2 , the estimator 130 may match the same feature point by comparing the feature point description information of the key frame 210 with the feature point description information of the target frame 220 . The estimator 130 may estimate the posture value A of the target frame 220 based on the key frame 210 using matching information including information on the matched feature points. The estimated posture value A may include a rotation value and a movement value of the target frame 220 based on the key frame 210 .

추정부(130)는 키 프레임(210)과 대상 프레임(220)을 이용하여 호모그래피(Homography) 또는 기초 행렬 분해(Fundamental matrix decomposition) 등을 통해 대상 프레임(220)의 회전 및 이동 정보를 추정할 수 있다. 추정부(130)는 호모그래피(Homography) 또는 기초 행렬 분해(Fundamental matrix decomposition)의 계산 과정에서 키 프레임(210)과 대상 프레임(220)간의 맞지 않는 매칭점은 제거할 수 있다. The estimator 130 uses the key frame 210 and the target frame 220 to estimate rotation and movement information of the target frame 220 through homography or fundamental matrix decomposition. can The estimator 130 may remove an inconsistent matching point between the key frame 210 and the target frame 220 in a calculation process of homography or fundamental matrix decomposition.

이 과정에서 키 프레임(210)과 대상 프레임(220) 간의 매칭된 특징점이 일정 개수를 유지하지 못하게 되면 다음 프레임을 이용하여 전술한 과정을 반복할 수 있다. 본 발명의 일 실시예에 따른 추정부(130)는 키 프레임(210) 중 대상 프레임(220)과 시간적으로 근접한 어느 하나의 키 프레임(210)의 특징점을 대상 프레임(220)의 특징점과 매칭시킬 수 있다. 예를 들어, 추정부(130)는 키 프레임(210)과 대상 프레임(220) 간의 매칭된 특징점이 일정 개수를 유지하지 못하게 되면 키 프레임(210) 중 대상 프레임(220)과 시간적으로 근접한 키 프레임(210)에 기초하여 전술한 과정을 반복하여 수행할 수 있다. In this process, if the matched feature points between the key frame 210 and the target frame 220 do not maintain a predetermined number, the above-described process may be repeated using the next frame. The estimator 130 according to an embodiment of the present invention is configured to match the feature points of any one key frame 210 temporally close to the target frame 220 among the key frames 210 with the feature points of the target frame 220 . can For example, if the estimator 130 fails to maintain a predetermined number of matched feature points between the key frame 210 and the target frame 220 , the key frame 210 is temporally close to the target frame 220 . Based on (210), the above-described process may be repeatedly performed.

본 발명의 일 실시예에 따른 변환부(140)는 추정된 자세값에 기초하여 대상 프레임(220)의 특징점을 3차원 특징점으로 변환할 수 있다. 예를 들어, 변환부(140)는 호모그래피(Homography) 또는 기초 행렬 분해(Fundamental matrix decomposition)의 계산 과정에서 키 프레임(210)과 대상 프레임(220)간의 매칭된 특징점이 일정 개수 이상인 경우, 대상 프레임(220)의 추정된 자세값을 보정하기 위한 다음 과정을 수행할 수 있다. The conversion unit 140 according to an embodiment of the present invention may convert the feature point of the target frame 220 into a 3D feature point based on the estimated posture value. For example, in the process of calculating homography or fundamental matrix decomposition, the transform unit 140 may perform a target matching feature point between the key frame 210 and the target frame 220 if a certain number or more. The following process for correcting the estimated posture value of the frame 220 may be performed.

변환부(140)는 추출된 대상 프레임(220)의 특징점 및 키 프레임(210)의 특징점을 매칭시키고, 매칭된 대상 프레임(220)의 특징점의 개수가 기 설정된 개수 이상일 경우, 추출된 대상 프레임(220)의 특징점을 3차원 특징점으로 변환할 수 있다. The conversion unit 140 matches the extracted feature points of the target frame 220 and the key frame 210, and when the number of the matched feature points of the target frame 220 is greater than or equal to a preset number, the extracted target frame ( 220) can be converted into a three-dimensional feature point.

도 3은 본 발명의 일 실시예에 따른 3차원 특징점을 적어도 하나의 그룹으로 분류하는 과정을 설명하기 위한 예시적인 도면이다. 도 3을 참조하면, 본 발명의 일 실시예에 따른 분류부(150)는 변환된 3차원 특징점을 키 프레임(310)으로부터 도출된 적어도 하나의 기준 평면(311, 312, 313)과 매칭시켜 적어도 하나의 그룹(321, 322, 323)으로 분류할 수 있다. 3 is an exemplary diagram for explaining a process of classifying 3D feature points into at least one group according to an embodiment of the present invention. Referring to FIG. 3 , the classification unit 150 according to an embodiment of the present invention matches the transformed 3D feature point with at least one reference plane 311 , 312 , 313 derived from the key frame 310 to at least It can be classified into one group (321, 322, 323).

예를 들어, 분류부(150)는 키 프레임(310)의 제 1 기준 평면(311)과 매칭되는 대상 프레임(320)의 3차원 특징점을 제 1 그룹(321)으로 분류할 수 있고, 키 프레임(310)의 제 2 기준 평면(312)과 매칭되는 대상 프레임(320)의 3차원 특징점을 제 2 그룹(322)으로 분류할 수 있고, 키 프레임(310)의 제 3 기준 평면(313)과 매칭되는 대상 프레임(320)의 3차원 특징점을 제 3 그룹(323)으로 분류할 수 있다. For example, the classification unit 150 may classify 3D feature points of the target frame 320 matching the first reference plane 311 of the key frame 310 into the first group 321 , and the key frame The three-dimensional feature points of the target frame 320 matching the second reference plane 312 of 310 may be classified into a second group 322 , and the third reference plane 313 of the key frame 310 and 3D feature points of the matching target frame 320 may be classified into a third group 323 .

본 발명의 일 실시예에 따른 평면 구성부(160)는 분류된 그룹(321, 322, 323)에 포함된 3차원 특징점에 기초하여 대상 프레임(320)으로부터 도출된 적어도 하나의 대상 평면을 구성할 수 있다. 예를 들어, 평면 구성부(160)는 분류된 그룹(321, 322, 323)에 포함된 3차원 특징점의 개수가 일정 개수 이상인 경우 해당 그룹으로 대상 평면을 구성할 수 있다. 일 예로, 대상 평면을 구성하기 위해 필요한 특징점의 개수가 3개인 경우, 평면 구성부(160)는 도 3에 도시된 대상 프레임(320)에서 3개의 3차원 특징점을 포함하는 제 2 그룹(323) 및 4개의 3차원 특징점을 포함하는 제 3 그룹(323)이 3차원 특징점에 기초하여 대상 평면을 구성할 수 있다. The plane configuration unit 160 according to an embodiment of the present invention configures at least one target plane derived from the target frame 320 based on the 3D feature points included in the classified groups 321 , 322 , 323 . can For example, when the number of 3D feature points included in the classified groups 321 , 322 , and 323 is a predetermined number or more, the plane configuration unit 160 may configure the target plane in the corresponding group. As an example, when the number of feature points required to configure the target plane is three, the planar configuration unit 160 includes a second group 323 including three three-dimensional feature points in the target frame 320 shown in FIG. 3 . and a third group 323 including four 3D feature points may configure a target plane based on the 3D feature points.

도 4는 본 발명의 일 실시예에 따른 기준 평면에 대한 법선 벡터에 기초하여 프레임의 자세값을 보정하는 과정을 설명하기 위한 예시적인 도면이다. 도 4를 참조하면, 보정부(170)는 기준 평면(410)에 대한 법선 벡터(411)에 기초하여 대상 프레임에 대한 자세값을 보정할 수 있다. 예를 들어, 보정부(170)는 대상 프레임의 대상 평면(420)과 키 프레임의 기준 평면(410)을 비교하여 대상 프레임의 자세값을 보정할 수 있다. 구체적으로, 보정부(170)는 기준 평면(410)의 법선 벡터(411)를 대상 평면(420)의 법선 벡터(421)로 적용시킬 수 있다. 4 is an exemplary diagram for explaining a process of correcting a posture value of a frame based on a normal vector with respect to a reference plane according to an embodiment of the present invention. Referring to FIG. 4 , the correction unit 170 may correct the posture value of the target frame based on the normal vector 411 with respect to the reference plane 410 . For example, the corrector 170 may correct the posture value of the target frame by comparing the target plane 420 of the target frame with the reference plane 410 of the key frame. Specifically, the corrector 170 may apply the normal vector 411 of the reference plane 410 as the normal vector 421 of the target plane 420 .

본 발명의 일 실시예에 따른 자세 보정 장치(100)는 후보자 설정부(180)를 더 포함할 수 있다. 후보자 설정부(180)는 매칭된 대상 프레임의 특징점의 개수가 키 프레임의 특징점에 대해 기 설정된 비율 미만인 경우, 대상 프레임을 키 프레임 후보자로 설정할 수 있다. 예를 들어, 후보자 설정부(180)는 대상 프레임의 자세를 추정하는 과정에서 대상 프레임의 특징점과 키 프레임의 특징점 간의 매칭된 특징점의 개수가 일정 개수 미만인 경우, 대상 프레임을 키 프레임 후보자로 이용할 수 있다. The posture correcting apparatus 100 according to an embodiment of the present invention may further include a candidate setting unit 180 . The candidate setting unit 180 may set the target frame as a key frame candidate when the number of key frame points of the matched target frame is less than a preset ratio with respect to the key frame key frame key points. For example, in the process of estimating the posture of the target frame, the candidate setting unit 180 may use the target frame as a key frame candidate if the number of matched feature points between the feature points of the target frame and the key frame is less than a predetermined number. have.

도 5는 본 발명의 일 실시예에 따른 키 프레임 후보자에 따른 점군 데이터의 한정을 설명하기 위한 예시적인 도면이다. 도 5를 참조하면, 후보자 설정부(180)는 키 프레임 후보자의 자세값(510)에 기초하여 키 프레임에 대한 점군 데이터(520)를 한정할 수 있다. 예를 들어, 후보자 설정부(180)는 키 프레임 후보자의 이동값 및 회전값, 즉, 키 프레임 후보자에 해당하는 사용자 단말에서의 화각 및 사용자 단말과 특징점 간의 거리를 기준으로 점군 데이터(520)를 한정할 수 있다. 키 프레임 후보자의 자세값(510)에 기초하여 점군 데이터(520)를 한정함으로써, 후보자 설정부(180)는 키 프레임 후보자에 대한 처리 속도를 향상시킬 수 있다. 5 is an exemplary diagram for explaining the limitation of point cloud data according to key frame candidates according to an embodiment of the present invention. Referring to FIG. 5 , the candidate setting unit 180 may define the point cloud data 520 for the key frame based on the posture value 510 of the key frame candidate. For example, the candidate setting unit 180 sets the point cloud data 520 based on the movement value and rotation value of the key frame candidate, that is, the angle of view in the user terminal corresponding to the key frame candidate and the distance between the user terminal and the feature point. can be limited By limiting the point cloud data 520 based on the posture value 510 of the key frame candidate, the candidate setting unit 180 may improve the processing speed of the key frame candidate.

키 프레임 설정부(110)는 한정된 점군 데이터와 키 프레임 후보자의 특징점을 매칭시키고 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수에 해당하는 경우, 키 프레임 후보자를 키 프레임으로 설정할 수 있다. 예를 들어, 키 프레임 설정부(110)는 매칭된 키 프레임 후보자의 특징점의 개수(

Figure pat00001
)가 하기 수학식 1에 해당하는 경우, 키 프레임 후보자를 키 프레임으로 설정할 수 있다. The key frame setting unit 110 may match the limited point cloud data with the feature points of the key frame candidates, and when the number of the matched key frame candidates corresponds to a preset number, the key frame candidates may be set as key frames. For example, the key frame setting unit 110 determines the number (
Figure pat00001
) corresponds to Equation 1 below, a key frame candidate may be set as a key frame.

<수학식 1><Equation 1>

Figure pat00002
Figure pat00002

한편, 보정부(170)는 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수를 초과하는 경우, 점군 데이터에 해당하는 적어도 하나의 기준 평면에 대한 법선 벡터에 기초하여 키 프레임 후보자에 대한 자세값을 보정할 수 있다. 예를 들어, 보정부(170)는 매칭된 키 프레임 후보자의 특징점의 개수(

Figure pat00003
)가 하기 수학식 2에 해당하는 경우, 키 프레임 후보자에 대한 자세값 보정을 수행할 수 있다. On the other hand, when the number of feature points of the matched key frame candidate exceeds a preset number, the corrector 170 is configured to adjust the posture value for the key frame candidate based on the normal vector to at least one reference plane corresponding to the point cloud data. can be corrected. For example, the correction unit 170 determines the number of feature points (
Figure pat00003
) corresponds to Equation 2 below, posture value correction may be performed on the key frame candidate.

<수학식 2><Equation 2>

Figure pat00004
Figure pat00004

예를 들어, 보정부(170)는 한정된 점군 데이터의 기준 평면과 키 프레임 후보자의 평면을 비교하여 키 프레임 후보자의 자세값을 보정할 수 있다. 구체적으로, 보정부(170)는 한정된 점군 데이터의 기준 평면의 법선 벡터를 키 프레임 후보자에 대한 평면의 법선 벡터로 적용시킬 수 있다. For example, the correction unit 170 may correct the posture value of the key frame candidate by comparing the reference plane of the limited point cloud data with the plane of the key frame candidate. Specifically, the corrector 170 may apply the normal vector of the reference plane of the limited point cloud data as the normal vector of the plane with respect to the key frame candidate.

보정부(170)는 점군 데이터에 기초하여 키 프레임 후보자의 자세값(

Figure pat00005
)을 보정할 수 있고, 보정된 자세값(
Figure pat00006
)을 이용하여 보정값(
Figure pat00007
)을 생성할 수 있다. 예를 들어, 보정부(170)는 하기 수학식 3을 이용하여 보정값(
Figure pat00008
)을 생성할 수 있다. The correcting unit 170 determines the posture value ( ) of the key frame candidate based on the point cloud data.
Figure pat00005
) can be corrected, and the corrected posture value (
Figure pat00006
) using the correction value (
Figure pat00007
) can be created. For example, the correction unit 170 uses the following Equation 3 to calculate the correction value (
Figure pat00008
) can be created.

<수학식 3><Equation 3>

Figure pat00009
Figure pat00009

수학식 3을 참조하면, 보정부(170)는 키 프레임 후보자의 자세값(

Figure pat00010
)과 점군 데이터에 기초하여 보정된 키 프레임 후보자의 자세값(
Figure pat00011
)을 이용하여 보정값(
Figure pat00012
)을 생성할 수 있다. 보정부(170)는 생성된 보정값(
Figure pat00013
)에 기초하여 기존에 추정 및 보정된 대상 프레임의 자세값을 수정할 수 있다. Referring to Equation 3, the correction unit 170 sets the posture value (
Figure pat00010
) and the posture value of the key frame candidate corrected based on the point cloud data (
Figure pat00011
) using the correction value (
Figure pat00012
) can be created. The correction unit 170 generates the correction value (
Figure pat00013
) based on the previously estimated and corrected posture value of the target frame may be corrected.

도 6은 본 발명의 일 실시예에 따른 자세값 보정을 설명하기 위한 예시적인 도면이다. 보정부(170)는 기존에 저장된 키 프레임, 새로이 지정된 키 프레임, 점군 데이터 및 특징점들을 이용하여 번들조정법(bundle adjustment) 등의 알고리즘을 교정하고 점군 데이터에 누적할 수 있다. 도 6을 참조하면, 평면 구성부(160)는 교정된 점군 데이터를 이용하여 수직 또는 수평의 평면(621, 622, 623)을 구성할 수 있다. 평면 구성부(160)는 구성된 평면에 대한 법선 벡터 정보를 점군 데이터에 누적하여 저장할 수 있다. 6 is an exemplary view for explaining posture value correction according to an embodiment of the present invention. The correction unit 170 may correct an algorithm such as a bundle adjustment method using previously stored key frames, newly designated key frames, point cloud data, and feature points, and may accumulate them in the point cloud data. Referring to FIG. 6 , the plane configuration unit 160 may configure vertical or horizontal planes 621 , 622 , and 623 using the corrected point cloud data. The plane configuration unit 160 may accumulate and store normal vector information for the configured plane in the point cloud data.

보정부(170)는 새로이 지정된 키프레임(611, 612, 613, 614)을 이용하여 전체 자세값을 추정하고 보정할 수 있다. 예를 들어, 보정부(170)는 점군 데이터에 누적 저장되는 새로이 지정된 키프레임(611, 612, 613, 614)를 이용하여 추정된 대상 프레임의 자세값을 보정하고, 보정값을 점군 데이터에 누적 포함시킬 수 있다. The corrector 170 may estimate and correct the overall posture value using the newly designated keyframes 611 , 612 , 613 , and 614 . For example, the correction unit 170 corrects the estimated posture value of the target frame using the newly designated key frames 611 , 612 , 613 , and 614 that are accumulated and stored in the point cloud data, and accumulates the correction value in the point cloud data. can be included

도 7은 본 발명의 일 실시예에 따른 자세값 보정 방법의 흐름도이다. 정리하자면, 본 발명에 따른 자세 보정 장치(100)는, 도 7의 (a)를 참조하면, 초기화 과정(S710)을 통해 키 프레임을 설정하고, 설정된 키 프레임을 이용하여 획득한 영상(S711)에 포함된 대상 프레임의 특징점을 추출하고 매칭(S712)시켜 대상 프레임의 자세값을 추정(S713)할 수 있다. 자세 보정 장치(100)는 키 프레임으로부터 도출된 기준 평면과 대상 프레임으로부터 도출된 대상 평면을 비교하여 기준 평면의 법선 벡터를 기준으로 기존에 추정된 대상 프레임의 자세값을 보정(S714)할 수 있다. 한편, 자세 보정 장치(100)는 대상 프레임이 키 프레임 후보자에 해당하는지 여부를 확인(S715)할 수 있다. 7 is a flowchart of a posture value correction method according to an embodiment of the present invention. In summary, the posture correcting apparatus 100 according to the present invention sets a key frame through an initialization process ( S710 ) and an image ( S711 ) obtained by using the set key frame, referring to FIG. 7 ( a ). By extracting the feature points of the target frame included in and matching (S712), it is possible to estimate the posture value of the target frame (S713). The posture correcting apparatus 100 may correct the previously estimated posture value of the target frame based on the normal vector of the reference plane by comparing the reference plane derived from the key frame with the target plane derived from the target frame ( S714 ). . Meanwhile, the posture correcting apparatus 100 may check whether the target frame corresponds to a key frame candidate ( S715 ).

자세 보정 장치(100)는, 도 7의 (b)를 참조하면, 키 프레임의 특징점과 매칭되는 대상 프레임의 특징점의 개수가 기 설정된 비율 미만인 경우, 대상 프레임을 키 프레임 후보자로 설정(S720)할 수 있고, 설정된 키 프레임 후보자는 점군 데이터에 기초하여 자세값을 보정할 수 있다. 자세 보정 장치(100)는 키 프레임 후보자의 특징점과 점군 데이터의 특징점을 매칭(S721)하고, 매칭된 특징점의 개수(S722)가 기 설정된 개수를 초과하는 경우(수학식 2 참조), 점군 데이터에 대한 기준 평면의 법선 벡터에 기초하여 키 프레임 후보자의 자세값을 보정(S723)할 수 있다. 반면에, 자세 보정 장치(100)는 매칭된 특징점의 개수가 기 설정된 개수에 해당하는 경우(수학식 1 참조) 키 프레임 후보자를 키 프레임으로 설정(S724)할 수 있다. 자세 보정 장치(100)는 설정된 키 프레임에 기초하여 기존에 추정된 전체 프레임의 자세값을 보정(S725)할 수 있다. 자세 보정 장치(100)는 설정된 키 프레임 및 키 프레임을 설정하는 과정에서 생성된 특징점, 3차원 특징점 및 평면에 대한 정보를 점군 데이터에 저장(S726)할 수 있다. 자세 보정 장치(100)는 키 프레임 후보자의 자세값과 보정된 키 프레임 후보자의 자세값을 이용하여 보정값을 생성(수학식 3 참조)할 수 있다(S727). 자세 보정 장치(100)는 생성된 보정값과 설정된 키 프레임을 이용하여 기존에 추정된 대상 프레임의 자세값에 대한 보정을 수행(S730)할 수 있다. 도 7의 (a)에 해당하는 자세 교정 프로세스와 도 7의 (b)에 해당하는 자세 교정 프로세스는 병렬적으로 수행될 수 있다.Referring to (b) of FIG. 7 , when the number of feature points of the target frame matching the key frame feature points is less than a preset ratio, the posture correcting apparatus 100 sets the target frame as a key frame candidate (S720). Also, the set key frame candidate may correct the posture value based on the point cloud data. The posture correcting apparatus 100 matches the key frame candidate's feature points with the feature points of the point cloud data (S721), and when the number of matched feature points (S722) exceeds a preset number (refer to Equation 2), in the point cloud data The posture value of the key frame candidate may be corrected (S723) based on the normal vector of the reference plane. On the other hand, when the number of matched feature points corresponds to a preset number (refer to Equation 1), the posture correcting apparatus 100 may set a key frame candidate as a key frame (S724). The posture correcting apparatus 100 may correct the previously estimated posture value of the entire frame based on the set key frame ( S725 ). The posture correcting apparatus 100 may store the set key frame and information on the key frame, the 3D key frame, and the plane generated in the process of setting the key frame in the point cloud data (S726). The posture correcting apparatus 100 may generate a correction value (refer to Equation 3) by using the posture value of the key frame candidate and the corrected posture value of the key frame candidate (S727). The posture correcting apparatus 100 may correct the previously estimated posture value of the target frame using the generated correction value and the set key frame ( S730 ). The posture correction process of FIG. 7A and the posture correction process of FIG. 7B may be performed in parallel.

도 8은 본 발명의 일 실시예에 따른 프레임의 자세값의 보정 전과 후를 설명하기 위한 예시적인 도면이다. 도 7을 참조하면, 프레임 간의 특징점 매칭 정보를 이용하여 추정된 자세값(810)과 기준 평면을 이용하여 보정된 자세값(820)을 확인할 수 있다. 점군 데이터(830)는 보정된 자세값을 포함할 수 있다. 8 is an exemplary view for explaining before and after correction of the posture value of the frame according to an embodiment of the present invention. Referring to FIG. 7 , the posture value 810 estimated using the feature point matching information between frames and the posture value 820 corrected using the reference plane may be checked. The point cloud data 830 may include a corrected posture value.

이와 같이, 본 발명에 따른 자세 보정 장치(100)는 영상을 통하여 자세를 추청하고 추정된 자세의 보정을 병렬적으로 수행하므로 보다 정확하게 카메라의 자세를 추정할 수 있다. 따라서, 사용자는 추정 및 보정된 자세를 통해 보다 실감나는 AR 컨텐츠를 즐길 수 있다. As described above, since the posture correcting apparatus 100 according to the present invention estimates the posture through the image and corrects the estimated posture in parallel, it is possible to more accurately estimate the posture of the camera. Accordingly, the user can enjoy more realistic AR contents through the estimated and corrected posture.

도 9는 본 발명의 일 실시예에 따른 자세 보정 방법의 순서도이다. 도 9에 도시된 자세 보정 방법은 도 1 내지 도 8에 도시된 실시예에 따라 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 8에 도시된 실시예에 따른 자세 보정 장치에서 영상을 통해 자세를 보정하는 방법에도 적용된다. 9 is a flowchart of a posture correction method according to an embodiment of the present invention. The posture correction method illustrated in FIG. 9 includes steps processed in time series according to the embodiments illustrated in FIGS. 1 to 8 . Accordingly, even if the description is omitted below, it is also applied to the method of correcting the posture through the image in the posture correcting apparatus according to the embodiment shown in FIGS. 1 to 8 .

단계 S910에서 자세 보정 장치는 영상에 포함된 적어도 둘의 프레임에 기초하여 키 프레임을 설정할 수 있다.In operation S910, the posture correcting apparatus may set a key frame based on at least two frames included in the image.

단계 S920에서 자세 보정 장치는 영상에 포함된 대상 프레임에서 특징점을 추출할 수 있다.In operation S920, the posture correcting apparatus may extract a feature point from a target frame included in the image.

단계 S930에서 자세 보정 장치는 추출된 대상 프레임의 특징점 및 키 프레임의 특징점에 기초하여 대상 프레임에 대한 자세값을 추정할 수 있다.In operation S930, the posture correcting apparatus may estimate the posture value of the target frame based on the extracted feature points of the target frame and the key frame.

단계 S940에서 자세 보정 장치는 추정된 자세값에 기초하여 대상 프레임의 특징점을 3차원 특징점으로 변환할 수 있다.In operation S940, the posture correcting apparatus may convert the feature point of the target frame into a 3D feature point based on the estimated posture value.

단계 S950에서 자세 보정 장치는 변환된 3차원 특징점을 키 프레임으로부터 도출된 적어도 하나의 기준 평면과 매칭시켜 적어도 하나의 그룹으로 분류할 수 있다.In operation S950, the posture correcting apparatus may classify the transformed 3D feature point into at least one group by matching it with at least one reference plane derived from the key frame.

단계 S960에서 자세 보정 장치는 분류된 그룹에 포함된 3차원 특징점에 기초하여 대상 프레임으로부터 도출된 적어도 하나의 대상 평면을 구성할 수 있다.In operation S960, the posture correcting apparatus may configure at least one target plane derived from the target frame based on the 3D feature points included in the classified group.

단계 S970에서 자세 보정 장치는 기준 평면에 대한 법선 벡터에 기초하여 대상 프레임에 대한 자세값을 보정할 수 있다.In operation S970, the posture correcting apparatus may correct the posture value of the target frame based on the normal vector with respect to the reference plane.

상술한 설명에서, 단계 S910 내지 S970는 본 발명의 구현 예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다. In the above description, steps S910 to S970 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between the steps may be switched.

도 1 내지 도 9를 통해 설명된 자세 보정 장치에서 영상을 통해 자세를 보정하는 방법은 컴퓨터에 의해 실행되는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어들을 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 9를 통해 설명된 자세 보정 장치에서 영상을 통해 자세를 보정하는 방법은 컴퓨터에 의해 실행되는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다. The method of correcting a posture through an image in the posture correcting apparatus described with reference to FIGS. 1 to 9 is a computer program stored in a computer readable recording medium executed by a computer or a recording medium including instructions executable by the computer. can also be implemented. In addition, the method of correcting the posture through an image in the posture correcting apparatus described with reference to FIGS. 1 to 9 may be implemented in the form of a computer program stored in a computer-readable recording medium that is executed by a computer.

컴퓨터 판독 가능 기록매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 기록매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.A computer-readable recording medium may be any available medium that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable recording medium may include a computer storage medium. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The foregoing description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and likewise components described as distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

100: 자세 보정 장치
110: 키 프레임 설정부
120: 특징점 추출부
130: 추정부
140: 변환부
150: 분류부
160: 평면 구성부
170: 보정부
180: 후보자 설정부
100: posture correction device
110: key frame setting unit
120: feature point extraction unit
130: estimator
140: conversion unit
150: classification unit
160: planar component
170: correction unit
180: candidate setting unit

Claims (17)

영상을 통해 카메라의 자세를 보정하는 장치에 있어서,
상기 영상에 포함된 적어도 둘의 프레임에 기초하여 키 프레임을 설정하는 키 프레임 설정부;
상기 영상에 포함된 대상 프레임에서 특징점을 추출하는 특징점 추출부;
상기 추출된 대상 프레임의 특징점 및 상기 키 프레임의 특징점에 기초하여 상기 대상 프레임에 대한 자세값을 추정하는 추정부;
상기 추정된 자세값에 기초하여 상기 대상 프레임의 특징점을 3차원 특징점으로 변환하는 변환부;
상기 변환된 3차원 특징점을 상기 키 프레임으로부터 도출된 적어도 하나의 기준 평면과 매칭시켜 적어도 하나의 그룹으로 분류하는 분류부;
상기 분류된 그룹에 포함된 3차원 특징점에 기초하여 상기 대상 프레임으로부터 도출된 적어도 하나의 대상 평면을 구성하는 평면 구성부; 및
상기 기준 평면에 대한 법선 벡터에 기초하여 상기 대상 프레임에 대한 자세값을 보정하는 보정부
를 포함하는 자세 보정 장치.
In the device for correcting the posture of the camera through the image,
a key frame setting unit for setting a key frame based on at least two frames included in the image;
a feature point extraction unit for extracting a feature point from the target frame included in the image;
an estimator for estimating a posture value with respect to the target frame based on the extracted feature points of the target frame and the key frame;
a transformation unit converting the feature points of the target frame into three-dimensional feature points based on the estimated posture value;
a classification unit for classifying the transformed 3D feature points into at least one group by matching them with at least one reference plane derived from the key frame;
a plane constructing unit configured to configure at least one target plane derived from the target frame based on three-dimensional feature points included in the classified group; and
A correction unit for correcting an attitude value of the target frame based on a normal vector with respect to the reference plane
Posture correction device comprising a.
제 1 항에 있어서,
상기 변환부는 상기 추출된 대상 프레임의 특징점 및 상기 키 프레임의 특징점을 매칭시키고, 상기 매칭된 대상 프레임의 특징점의 개수가 기 설정된 개수 이상일 경우, 상기 추출된 대상 프레임의 특징점을 상기 3차원 특징점으로 변환하는 것인, 자세 보정 장치.
The method of claim 1,
The conversion unit matches the extracted feature points of the target frame and the key frame, and if the number of the matched feature points of the target frame is greater than or equal to a preset number, converts the extracted feature points of the target frame into the three-dimensional feature points The thing to do is a posture correction device.
제 2 항에 있어서,
상기 매칭된 대상 프레임의 특징점의 개수가 상기 키 프레임의 특징점에 대해 기 설정된 비율 미만인 경우, 상기 대상 프레임을 키 프레임 후보자로 설정하는 후보자 설정부
를 더 포함하는 것인, 자세 보정 장치.
3. The method of claim 2,
A candidate setting unit configured to set the target frame as a key frame candidate when the number of feature points of the matched target frame is less than a preset ratio with respect to the key frame feature points
Further comprising a, posture correction device.
제 3 항에 있어서,
상기 후보자 설정부는,
상기 키 프레임 후보자의 자세값에 기초하여 상기 키 프레임에 대한 점군 데이터를 한정하는 것인, 자세 보정 장치.
4. The method of claim 3,
The candidate setting unit,
The posture correcting apparatus of claim 1, wherein the point cloud data for the key frame is defined based on the posture value of the key frame candidate.
제 4 항에 있어서,
상기 키 프레임 설정부는,
상기 한정된 점군 데이터와 상기 키 프레임 후보자의 특징점을 매칭시키고, 상기 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수에 해당하는 경우, 상기 키 프레임 후보자를 상기 키 프레임으로 설정하는 것인, 자세 보정 장치.
5. The method of claim 4,
The key frame setting unit,
matching the limited point cloud data with the feature points of the key frame candidate, and setting the key frame candidate as the key frame when the number of the matched key frame candidate feature points corresponds to a preset number Device.
제 5 항에 있어서,
상기 보정부는,
상기 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수를 초과하는 경우, 상기 점군 데이터에 해당하는 적어도 하나의 기준 평면에 대한 법선 벡터에 기초하여 상기 키 프레임 후보자에 대한 자세값을 보정하는 것인, 자세 보정 장치.
6. The method of claim 5,
The correction unit,
When the number of feature points of the matched key frame candidate exceeds a preset number, correcting the posture value of the key frame candidate based on a normal vector to at least one reference plane corresponding to the point cloud data , posture correction device.
제 1 항에 있어서,
상기 변환부는 상기 키 프레임 중 상기 대상 프레임과 시간적으로 근접한 어느 하나의 키 프레임의 특징점을 상기 대상 프레임의 특징점과 매칭시키는 것인, 자세 보정 장치.
The method of claim 1,
wherein the conversion unit matches a feature point of any one key frame temporally close to the target frame among the key frames with a feature point of the target frame.
제 6 항에 있어서,
상기 점군 데이터는 상기 키 프레임의 특징점, 상기 키 프레임의 특징점에 대한 서술 정보, 상기 키 프레임의 3차원 특징점 및 상기 기준 평면에 대한 법선 벡터를 포함하는 것인, 자세 보정 장치.
7. The method of claim 6,
The point cloud data includes a feature point of the key frame, description information on the feature point of the key frame, a three-dimensional feature point of the key frame, and a normal vector to the reference plane.
영상을 통해 카메라의 자세를 보정하는 방법에 있어서,
상기 영상에 포함된 적어도 둘의 프레임에 기초하여 키 프레임을 설정하는 단계;
상기 영상에 포함된 대상 프레임에서 특징점을 추출하는 단계;
상기 추출된 대상 프레임의 특징점 및 상기 키 프레임의 특징점에 기초하여 상기 대상 프레임에 대한 자세값을 추정하는 단계;
상기 추정된 자세값에 기초하여 상기 대상 프레임의 특징점을 3차원 특징점으로 변환하는 단계;
상기 변환된 3차원 특징점을 상기 키 프레임으로부터 도출된 적어도 하나의 기준 평면과 매칭시켜 적어도 하나의 그룹으로 분류하는 단계;
상기 분류된 그룹에 포함된 3차원 특징점에 기초하여 상기 대상 프레임으로부터 도출된 적어도 하나의 대상 평면을 구성하는 단계; 및
상기 기준 평면에 대한 법선 벡터에 기초하여 상기 대상 프레임에 대한 자세값을 보정하는 단계
를 포함하는 자세 보정 방법.
In the method of correcting the posture of the camera through the image,
setting a key frame based on at least two frames included in the image;
extracting a feature point from a target frame included in the image;
estimating a posture value of the target frame based on the extracted feature points of the target frame and the key frame;
converting the feature point of the target frame into a three-dimensional feature point based on the estimated posture value;
classifying the transformed 3D feature points into at least one group by matching them with at least one reference plane derived from the key frame;
constructing at least one target plane derived from the target frame based on the 3D feature points included in the classified group; and
correcting the posture value for the target frame based on a normal vector with respect to the reference plane
Posture correction method comprising a.
제 9 항에 있어서,
상기 대상 프레임의 특징점을 3차원 특징점으로 변환하는 단계는,
상기 추출된 대상 프레임의 특징점 및 상기 키 프레임의 특징점을 매칭시키는 단계 및
상기 매칭된 대상 프레임의 특징점의 개수가 기 설정된 개수 이상일 경우, 상기 추출된 대상 프레임의 특징점을 상기 3차원 특징점으로 변환하는 단계
를 포함하는 것인, 자세 보정 방법.
10. The method of claim 9,
The step of converting the feature point of the target frame into a three-dimensional feature point,
matching the feature point of the extracted target frame and the feature point of the key frame;
converting the extracted feature points of the target frame into the three-dimensional feature points when the number of feature points of the matched target frame is equal to or greater than a preset number;
That comprising a, posture correction method.
제 10 항에 있어서,
상기 매칭된 대상 프레임의 특징점의 개수가 상기 키 프레임의 특징점에 대해 기 설정된 비율 미만인 경우, 상기 대상 프레임을 키 프레임 후보자로 설정하는 단계
를 더 포함하는 것인, 자세 보정 방법
11. The method of claim 10,
setting the target frame as a key frame candidate when the number of the matched feature points of the target frame is less than a preset ratio with respect to the key frame feature points
Further comprising a, posture correction method
제 11 항에 있어서,
상기 키 프레임 후보자의 자세값에 기초하여 상기 키 프레임에 대한 점군 데이터를 한정하는 단계
를 더 포함하는 것인, 자세 보정 방법.
12. The method of claim 11,
defining point cloud data for the key frame based on the posture value of the key frame candidate
Further comprising a, posture correction method.
제 12 항에 있어서,
상기 한정된 점군 데이터와 상기 키 프레임 후보자의 특징점을 매칭시키는 단계 및
상기 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수에 해당하는 경우, 상기 키 프레임 후보자를 상기 키 프레임으로 설정하는 단계
를 더 포함하는 것인, 자세 보정 방법.
13. The method of claim 12,
matching the limited point cloud data with the feature points of the key frame candidates; and
setting the key frame candidate as the key frame when the number of feature points of the matched key frame candidate corresponds to a preset number;
Further comprising a, posture correction method.
제 13 항에 있어서,
상기 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수를 초과하는 경우, 상기 점군 데이터에 해당하는 적어도 하나의 기준 평면에 대한 법선 벡터에 기초하여 상기 키 프레임 후보자에 대한 자세값을 보정하는 단계
를 더 포함하는 것인, 자세 보정 방법.
14. The method of claim 13,
correcting the posture value of the key frame candidate based on a normal vector to at least one reference plane corresponding to the point cloud data when the number of feature points of the matched key frame candidate exceeds a preset number;
Further comprising a, posture correction method.
제 9 항에 있어서,
상기 대상 프레임에 대한 자세값을 추정하는 단계는,
상기 키 프레임 중 상기 대상 프레임과 시간적으로 근접한 어느 하나의 키 프레임의 특징점을 상기 대상 프레임의 특징점과 매칭시키는 것인, 자세 보정 방법.
10. The method of claim 9,
The step of estimating the posture value for the target frame,
The method of claim 1, wherein a feature point of any one key frame that is temporally close to the target frame among the key frames is matched with a feature point of the target frame.
제 14 항에 있어서,
상기 점군 데이터는 상기 키 프레임의 특징점, 상기 키 프레임의 특징점에 대한 서술 정보, 상기 키 프레임의 3차원 특징점 및 상기 기준 평면에 대한 법선 벡터를 포함하는 것인, 자세 보정 방법.
15. The method of claim 14,
The point cloud data includes a feature point of the key frame, description information on the feature point of the key frame, a three-dimensional feature point of the key frame, and a normal vector to the reference plane.
영상을 통해 카메라의 자세를 보정하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
상기 영상에 포함된 적어도 둘의 프레임에 기초하여 키 프레임을 설정하고,
상기 영상에 포함된 대상 프레임에서 특징점을 추출하고,
상기 추출된 대상 프레임의 특징점 및 상기 키 프레임의 특징점에 기초하여 상기 대상 프레임에 대한 자세값을 추정하고,
상기 추정된 자세값에 기초하여 상기 대상 프레임의 특징점을 3차원 특징점으로 변환하고,
상기 변환된 3차원 특징점을 상기 키 프레임으로부터 도출된 적어도 하나의 기준 평면과 매칭시켜 적어도 하나의 그룹으로 분류하고,
상기 분류된 그룹에 포함된 3차원 특징점에 기초하여 상기 대상 프레임으로부터 도출된 적어도 하나의 대상 평면을 구성하고,
상기 기준 평면에 대한 법선 벡터에 기초하여 상기 대상 프레임에 대한 자세값을 보정하도록 하는 명령어들의 시퀀스를 포함하는, 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
In a computer program stored in a computer-readable recording medium including a sequence of instructions for correcting a camera posture through an image,
When the computer program is executed by a computing device,
setting a key frame based on at least two frames included in the image,
extracting feature points from the target frame included in the image,
estimating the posture value of the target frame based on the extracted feature points of the target frame and the key frame,
Transforming the feature point of the target frame into a three-dimensional feature point based on the estimated posture value,
Classifying the transformed 3D feature point into at least one group by matching it with at least one reference plane derived from the key frame,
constructing at least one target plane derived from the target frame based on the three-dimensional feature points included in the classified group,
A computer program stored in a computer-readable recording medium comprising a sequence of instructions for correcting a posture value with respect to the target frame based on a normal vector with respect to the reference plane.
KR1020210045400A 2021-04-07 2021-04-07 Device, method and computer program for correcting posture of camera based on image KR20220139139A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210045400A KR20220139139A (en) 2021-04-07 2021-04-07 Device, method and computer program for correcting posture of camera based on image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210045400A KR20220139139A (en) 2021-04-07 2021-04-07 Device, method and computer program for correcting posture of camera based on image

Publications (1)

Publication Number Publication Date
KR20220139139A true KR20220139139A (en) 2022-10-14

Family

ID=83599828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210045400A KR20220139139A (en) 2021-04-07 2021-04-07 Device, method and computer program for correcting posture of camera based on image

Country Status (1)

Country Link
KR (1) KR20220139139A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101880185B1 (en) 2017-12-22 2018-07-19 한화시스템(주) Electronic apparatus for estimating pose of moving object and method thereof
KR101942646B1 (en) 2017-04-03 2019-01-25 한국과학기술원 Feature point-based real-time camera pose estimation method and apparatus therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101942646B1 (en) 2017-04-03 2019-01-25 한국과학기술원 Feature point-based real-time camera pose estimation method and apparatus therefor
KR101880185B1 (en) 2017-12-22 2018-07-19 한화시스템(주) Electronic apparatus for estimating pose of moving object and method thereof

Similar Documents

Publication Publication Date Title
US11232647B2 (en) Adjusting a digital representation of a head region
EP3327668B1 (en) Image-processing device and method for foreground mask correction for object segmentation
JP5997645B2 (en) Image processing apparatus and method, and imaging apparatus
JP6448218B2 (en) IMAGING DEVICE, ITS CONTROL METHOD, AND INFORMATION PROCESSING SYSTEM
US20180005015A1 (en) Sparse simultaneous localization and matching with unified tracking
US9286656B2 (en) Homography estimation apparatus and method
KR20120063858A (en) Image registration device and image registration method thereof
KR101290197B1 (en) Apparatus and method for estimating depth information of image
US9626595B2 (en) Method and apparatus for tracking superpixels between related images
CN110517304B (en) Method and device for generating depth map, electronic equipment and storage medium
JP2018101408A (en) System and method for image processing
JP2018189580A (en) Camera calibration device and camera calibration program
WO2021218568A1 (en) Image depth determination method, living body recognition method, circuit, device, and medium
Mansour et al. Video background subtraction using semi-supervised robust matrix completion
KR20220008334A (en) Pose tracking method, pose tracking device and electronic device
WO2023005170A1 (en) Generation method and apparatus for panoramic video
KR102069269B1 (en) Apparatus and method for stabilizing image
CN114429191A (en) Electronic anti-shake method, system and storage medium based on deep learning
CN115063768A (en) Three-dimensional target detection method, encoder and decoder
Li et al. Hsvcnn: Cnn-based hyperspectral reconstruction from rgb videos
US20190104313A1 (en) Motion vector calculation method, information processing apparatus, recording medium recording motion vector calculation program
KR20220139139A (en) Device, method and computer program for correcting posture of camera based on image
JP6178646B2 (en) Imaging apparatus and image shake correction processing method
Mathew et al. Self-attention dense depth estimation network for unrectified video sequences
KR102187926B1 (en) Apparatus, method and computer readable medium for generating volumetric video

Legal Events

Date Code Title Description
A201 Request for examination