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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 66
- 238000004590 computer program Methods 0.000 title claims description 10
- 238000012937 correction Methods 0.000 claims abstract description 51
- 239000013598 vector Substances 0.000 claims abstract description 24
- 238000006243 chemical reaction Methods 0.000 claims abstract description 6
- 238000000605 extraction Methods 0.000 claims abstract description 5
- 230000009466 transformation Effects 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000000354 decomposition reaction Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range 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
Description
본 발명은 영상을 통해 카메라의 자세를 보정하는 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.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.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 영상으로부터 카메라의 자세를 추정하고 추정된 자세의 보정을 병렬적으로 수행하여 보다 정확하게 영상으로부터 자세를 추정할 수 있는 자세 보정 장치를 제공하고자 한다. 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
도 1의 자세 보정 장치(100)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 자세 보정 장치(100)는 동시에 또는 시간 간격을 두고 연결될 수 있다. Each component of the
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(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
또한, 자세 보정 장치(100)는 영상에 포함된 적어도 둘의 프레임으로부터 평면을 추정하고 추정된 평면을 이용하여 추정된 카메라의 자세를 보정함으로써, 보다 안정적으로 카메라의 자세를 추정할 수 있다.Also, the
이하, 자세 보정 장치(100)의 각 구성에 대해 자세히 살펴보도록 한다. Hereinafter, each configuration of the
본 발명의 일 실시예에 따른 키 프레임 설정부(110)는 영상에 포함된 적어도 둘의 프레임에 기초하여 키 프레임을 설정할 수 있다. 키 프레임 설정부(110)는 기 설정된 기준에 따라 영상에 포함된 프레임을 키 프레임으로 설정할 수 있다. 여기서, 키 프레임의 설정 과정은 초기화 과정에 해당할 수 있다. 키 프레임 설정부(110)는 초기화 과정을 통해 기준 원점을 정의할 수 있고, 기준 키 프레임, 기준 점군 데이터 및 기준 평면을 생성할 수 있다. The key
키 프레임은 후술하는 대상 프레임의 자세값을 추정하고 보정하기 위한 기준 프레임이 될 수 있다. 일 예로, 키 프레임은 카메라 영상이 전환된 시점의 프레임일 수 있다. 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
키 프레임 설정부(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
키 프레임 설정부(110)는 제 2 프레임(ft)의 자세값을 추정하는 과정에서 매칭된 특징점이 일정 개수 이상 존재하는 경우, 매칭된 특징점 및 추정된 자세값을 이용하여 특징점을 3차원 특징점으로 변환할 수 있다. 생성된 3차원 특징점은 초기 점군 데이터에 해당할 수 있다. In the process of estimating the posture value of the second frame f t , the key
즉, 매칭된 특징점이 일정 개수 이상 존재하는 경우 초기화가 이루어질 수 있다. 이 때, 제 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
키 프레임 설정부(110)는 키 프레임을 설정하는 과정, 즉, 초기화 과정에서 생성된 특징점, 3차원 특징점 및 기준 평면에 대한 정보를 점군 데이터에 저장할 수 있다. 본 발명의 일 실시예에 따른 점군 데이터는 키 프레임의 특징점, 키 프레임의 특징점에 대한 서술 정보, 키 프레임의 3차원 특징점 및 기준 평면에 대한 법선 벡터를 포함할 수 있다. 예를 들어, 점군 데이터는 제 1 프레임(ft-1)의 중심을 점군 데이터의 원점으로 설정할 수 있다. 즉, 점군 데이터는 초기화 과정을 통해 원점을 설정할 수 있고, 설정된 원점을 기준으로 점군 데이터의 위치를 정의할 수 있다. The key
본 발명의 일 실시예에 따른 특징점 추출부(120)는 영상에 포함된 대상 프레임에서 특징점을 추출할 수 있다. 예를 들어, 특징점 추출부(120)는 대상 프레임에서 모서리 부분과 같이 영상의 형태, 크기 및 위치가 달라지거나 카메라의 시점 및 조명이 달라져도 식별이 용이한 픽셀을 특징점으로 추출할 수 있다. 예를 들어, 특징점 추출부(120)는 해리스 코너 검출(Harris Corner Detection), AGAST 코너 검출(Adaptive and Generic Corner Detection Based on the Accelerated Segment Test) 및 FAST 코너 검출(FAST Corner Detection) 등의 알고리즘을 이용하여 대상 프레임에서 특징점을 추출할 수 있다. The
특징점 추출부(120)는 특징점 서술(Feature Description)을 이용하여 추출된 특징점을 정의할 수 있다. 예를 들어, 특징점 추출부(120)는 추출된 특징점에 대한 방향 성분 및 크기를 검출하여 서술자를 생성할 수 있다. 예를 들어, 특징점 추출부(120)는 ORB, SIFT, SURF, BRIEF 및 BRISK 등의 알고리즘을 이용하여 대상 프레임에서 추출된 특징점에 대한 서술자를 생성할 수 있다. The
본 발명의 일 실시예에 따른 추정부(130)는 추출된 대상 프레임의 특징점 및 키 프레임의 특징점에 기초하여 대상 프레임에 대한 자세값을 추정할 수 있다. 여기서, 대상 프레임에 대한 자세값은 해당 프레임이 찍혔던 카메라의 위치 정보와 회전 정보를 포함할 수 있다. 예를 들어, 추정부(130)는 대상 프레임에서 정의된 특징점 서술 정보와 키 프레임의 특징점 서술 정보를 비교하여 동일한 특징점을 매칭시킬 수 있다. 특징점 매칭은 특징점 서술 알고리즘에 따라 매칭 방법이 달라질 수 있다. The
도 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
추정부(130)는 키 프레임(210)과 대상 프레임(220)을 이용하여 호모그래피(Homography) 또는 기초 행렬 분해(Fundamental matrix decomposition) 등을 통해 대상 프레임(220)의 회전 및 이동 정보를 추정할 수 있다. 추정부(130)는 호모그래피(Homography) 또는 기초 행렬 분해(Fundamental matrix decomposition)의 계산 과정에서 키 프레임(210)과 대상 프레임(220)간의 맞지 않는 매칭점은 제거할 수 있다. The
이 과정에서 키 프레임(210)과 대상 프레임(220) 간의 매칭된 특징점이 일정 개수를 유지하지 못하게 되면 다음 프레임을 이용하여 전술한 과정을 반복할 수 있다. 본 발명의 일 실시예에 따른 추정부(130)는 키 프레임(210) 중 대상 프레임(220)과 시간적으로 근접한 어느 하나의 키 프레임(210)의 특징점을 대상 프레임(220)의 특징점과 매칭시킬 수 있다. 예를 들어, 추정부(130)는 키 프레임(210)과 대상 프레임(220) 간의 매칭된 특징점이 일정 개수를 유지하지 못하게 되면 키 프레임(210) 중 대상 프레임(220)과 시간적으로 근접한 키 프레임(210)에 기초하여 전술한 과정을 반복하여 수행할 수 있다. In this process, if the matched feature points between the
본 발명의 일 실시예에 따른 변환부(140)는 추정된 자세값에 기초하여 대상 프레임(220)의 특징점을 3차원 특징점으로 변환할 수 있다. 예를 들어, 변환부(140)는 호모그래피(Homography) 또는 기초 행렬 분해(Fundamental matrix decomposition)의 계산 과정에서 키 프레임(210)과 대상 프레임(220)간의 매칭된 특징점이 일정 개수 이상인 경우, 대상 프레임(220)의 추정된 자세값을 보정하기 위한 다음 과정을 수행할 수 있다. The
변환부(140)는 추출된 대상 프레임(220)의 특징점 및 키 프레임(210)의 특징점을 매칭시키고, 매칭된 대상 프레임(220)의 특징점의 개수가 기 설정된 개수 이상일 경우, 추출된 대상 프레임(220)의 특징점을 3차원 특징점으로 변환할 수 있다. The
도 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
예를 들어, 분류부(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
본 발명의 일 실시예에 따른 평면 구성부(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
도 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
본 발명의 일 실시예에 따른 자세 보정 장치(100)는 후보자 설정부(180)를 더 포함할 수 있다. 후보자 설정부(180)는 매칭된 대상 프레임의 특징점의 개수가 키 프레임의 특징점에 대해 기 설정된 비율 미만인 경우, 대상 프레임을 키 프레임 후보자로 설정할 수 있다. 예를 들어, 후보자 설정부(180)는 대상 프레임의 자세를 추정하는 과정에서 대상 프레임의 특징점과 키 프레임의 특징점 간의 매칭된 특징점의 개수가 일정 개수 미만인 경우, 대상 프레임을 키 프레임 후보자로 이용할 수 있다. The
도 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
키 프레임 설정부(110)는 한정된 점군 데이터와 키 프레임 후보자의 특징점을 매칭시키고 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수에 해당하는 경우, 키 프레임 후보자를 키 프레임으로 설정할 수 있다. 예를 들어, 키 프레임 설정부(110)는 매칭된 키 프레임 후보자의 특징점의 개수()가 하기 수학식 1에 해당하는 경우, 키 프레임 후보자를 키 프레임으로 설정할 수 있다. The key
<수학식 1><
한편, 보정부(170)는 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수를 초과하는 경우, 점군 데이터에 해당하는 적어도 하나의 기준 평면에 대한 법선 벡터에 기초하여 키 프레임 후보자에 대한 자세값을 보정할 수 있다. 예를 들어, 보정부(170)는 매칭된 키 프레임 후보자의 특징점의 개수()가 하기 수학식 2에 해당하는 경우, 키 프레임 후보자에 대한 자세값 보정을 수행할 수 있다. On the other hand, when the number of feature points of the matched key frame candidate exceeds a preset number, the
<수학식 2><Equation 2>
예를 들어, 보정부(170)는 한정된 점군 데이터의 기준 평면과 키 프레임 후보자의 평면을 비교하여 키 프레임 후보자의 자세값을 보정할 수 있다. 구체적으로, 보정부(170)는 한정된 점군 데이터의 기준 평면의 법선 벡터를 키 프레임 후보자에 대한 평면의 법선 벡터로 적용시킬 수 있다. For example, the
보정부(170)는 점군 데이터에 기초하여 키 프레임 후보자의 자세값()을 보정할 수 있고, 보정된 자세값()을 이용하여 보정값()을 생성할 수 있다. 예를 들어, 보정부(170)는 하기 수학식 3을 이용하여 보정값()을 생성할 수 있다. The correcting
<수학식 3><Equation 3>
수학식 3을 참조하면, 보정부(170)는 키 프레임 후보자의 자세값()과 점군 데이터에 기초하여 보정된 키 프레임 후보자의 자세값()을 이용하여 보정값()을 생성할 수 있다. 보정부(170)는 생성된 보정값()에 기초하여 기존에 추정 및 보정된 대상 프레임의 자세값을 수정할 수 있다. Referring to Equation 3, the
도 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
보정부(170)는 새로이 지정된 키프레임(611, 612, 613, 614)을 이용하여 전체 자세값을 추정하고 보정할 수 있다. 예를 들어, 보정부(170)는 점군 데이터에 누적 저장되는 새로이 지정된 키프레임(611, 612, 613, 614)를 이용하여 추정된 대상 프레임의 자세값을 보정하고, 보정값을 점군 데이터에 누적 포함시킬 수 있다. The
도 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
자세 보정 장치(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
도 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
이와 같이, 본 발명에 따른 자세 보정 장치(100)는 영상을 통하여 자세를 추청하고 추정된 자세의 보정을 병렬적으로 수행하므로 보다 정확하게 카메라의 자세를 추정할 수 있다. 따라서, 사용자는 추정 및 보정된 자세를 통해 보다 실감나는 AR 컨텐츠를 즐길 수 있다. As described above, since the
도 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.
상기 변환부는 상기 추출된 대상 프레임의 특징점 및 상기 키 프레임의 특징점을 매칭시키고, 상기 매칭된 대상 프레임의 특징점의 개수가 기 설정된 개수 이상일 경우, 상기 추출된 대상 프레임의 특징점을 상기 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.
상기 매칭된 대상 프레임의 특징점의 개수가 상기 키 프레임의 특징점에 대해 기 설정된 비율 미만인 경우, 상기 대상 프레임을 키 프레임 후보자로 설정하는 후보자 설정부
를 더 포함하는 것인, 자세 보정 장치.
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.
상기 후보자 설정부는,
상기 키 프레임 후보자의 자세값에 기초하여 상기 키 프레임에 대한 점군 데이터를 한정하는 것인, 자세 보정 장치.
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.
상기 키 프레임 설정부는,
상기 한정된 점군 데이터와 상기 키 프레임 후보자의 특징점을 매칭시키고, 상기 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수에 해당하는 경우, 상기 키 프레임 후보자를 상기 키 프레임으로 설정하는 것인, 자세 보정 장치.
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.
상기 보정부는,
상기 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수를 초과하는 경우, 상기 점군 데이터에 해당하는 적어도 하나의 기준 평면에 대한 법선 벡터에 기초하여 상기 키 프레임 후보자에 대한 자세값을 보정하는 것인, 자세 보정 장치.
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.
상기 변환부는 상기 키 프레임 중 상기 대상 프레임과 시간적으로 근접한 어느 하나의 키 프레임의 특징점을 상기 대상 프레임의 특징점과 매칭시키는 것인, 자세 보정 장치.
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.
상기 점군 데이터는 상기 키 프레임의 특징점, 상기 키 프레임의 특징점에 대한 서술 정보, 상기 키 프레임의 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.
상기 대상 프레임의 특징점을 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.
상기 매칭된 대상 프레임의 특징점의 개수가 상기 키 프레임의 특징점에 대해 기 설정된 비율 미만인 경우, 상기 대상 프레임을 키 프레임 후보자로 설정하는 단계
를 더 포함하는 것인, 자세 보정 방법
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
상기 키 프레임 후보자의 자세값에 기초하여 상기 키 프레임에 대한 점군 데이터를 한정하는 단계
를 더 포함하는 것인, 자세 보정 방법.
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.
상기 한정된 점군 데이터와 상기 키 프레임 후보자의 특징점을 매칭시키는 단계 및
상기 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수에 해당하는 경우, 상기 키 프레임 후보자를 상기 키 프레임으로 설정하는 단계
를 더 포함하는 것인, 자세 보정 방법.
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.
상기 매칭된 키 프레임 후보자의 특징점의 개수가 기 설정된 개수를 초과하는 경우, 상기 점군 데이터에 해당하는 적어도 하나의 기준 평면에 대한 법선 벡터에 기초하여 상기 키 프레임 후보자에 대한 자세값을 보정하는 단계
를 더 포함하는 것인, 자세 보정 방법.
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.
상기 대상 프레임에 대한 자세값을 추정하는 단계는,
상기 키 프레임 중 상기 대상 프레임과 시간적으로 근접한 어느 하나의 키 프레임의 특징점을 상기 대상 프레임의 특징점과 매칭시키는 것인, 자세 보정 방법.
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.
상기 점군 데이터는 상기 키 프레임의 특징점, 상기 키 프레임의 특징점에 대한 서술 정보, 상기 키 프레임의 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.
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)
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 |
-
2021
- 2021-04-07 KR KR1020210045400A patent/KR20220139139A/en active Search and Examination
Patent Citations (2)
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 |