KR102313795B1 - Video stabilization method based on SURF for enhancing accuracy and reliability - Google Patents

Video stabilization method based on SURF for enhancing accuracy and reliability Download PDF

Info

Publication number
KR102313795B1
KR102313795B1 KR1020200043789A KR20200043789A KR102313795B1 KR 102313795 B1 KR102313795 B1 KR 102313795B1 KR 1020200043789 A KR1020200043789 A KR 1020200043789A KR 20200043789 A KR20200043789 A KR 20200043789A KR 102313795 B1 KR102313795 B1 KR 102313795B1
Authority
KR
South Korea
Prior art keywords
frame
feature point
surf
detected
feature points
Prior art date
Application number
KR1020200043789A
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 KR1020200043789A priority Critical patent/KR102313795B1/en
Application granted granted Critical
Publication of KR102313795B1 publication Critical patent/KR102313795B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • G06T5/002
    • 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

Landscapes

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

Abstract

The present invention relates to a video stabilization method based on speed-up robust feature (SURF) tracking, capable of maximizing accuracy and reliability of feature point tracking. The method is configured to: generate restoration information including the position (x,y) of a corresponding feature point and a position (x',y') of a second frame by using a transformation matrix (H) estimated by a transformation matrix estimator when a first error occurs in a first mismatch determination step (S70) and a first mismatch restoration step (S80); and generate a new tracker corresponding to the feature point when a second error occurs in a second mismatch determination step (S90) and a second mismatch restoration step (S100) at the same time. Since the generated restoration information and the new tracker are utilized in a Kalman filter update step (S110) and an image mapping step (S120), whether the feature points are mismatched is accurately determined to restore mismatching, thereby increasing accuracy of image stabilization. In addition, the Kalman filter update step (S110) is configured to update the weight of the Kalman filter to reflect the feature point matching by the transform matrix (H) estimated by the transform matrix estimation step (S60), the restoration information generated by the first mismatch restoration step (S80), and the new tracker generated by the second mismatch restoration step (S100), thereby maximizing the accuracy and reliability of feature point tracking. ​

Description

정확성 및 신뢰도를 높인 SURF 특징점 추적 기반 영상 안정화 방법{Video stabilization method based on SURF for enhancing accuracy and reliability}SURF feature point tracking-based image stabilization method with increased accuracy and reliability {Video stabilization method based on SURF for enhancing accuracy and reliability}

본 발명은 정확성 및 신뢰도를 높인 SURF 특징점 추적 기반 영상 안정에 관한 것으로서, 상세하게로는 영상 맵핑 시, 맵핑에 활용된 변환행렬이 반영되도록 칼만필터(Kalman filter)의 가중치를 업데이트 하되, 제1, 2 오류가 발생하더라도 이를 보상한 특징점 추적이 이루어지도록 구성됨으로써 영상 안정화의 정확성 및 신뢰도를 높임과 동시에 영상 안정화의 처리속도를 개선시킬 수 있는 SURF 특징점 추적 기반 영상 안정화 방법에 관한 것이다.The present invention relates to image stabilization based on SURF feature point tracking with improved accuracy and reliability. Specifically, when mapping an image, the weight of a Kalman filter is updated to reflect a transformation matrix used for mapping, but first, 2 It relates to a SURF keypoint tracking-based image stabilization method that can improve the accuracy and reliability of image stabilization and at the same time improve the processing speed of image stabilization by compensating for keypoint tracking even when an error occurs.

일반적으로, 입력영상들로부터 추출된 특징점(feature)들을 기반으로 다른 영상들간에 동일한 특징점들을 찾는 실시간 특징점 정합 기법은, 각 영상에서 특징점들을 추출하여 서술표식들을 생성한 후, 서술표식들 간의 비교 및 대조를 통해 동일한 서술표식를 갖는 특징점들을 찾아 동일한 객체를 확인할 수 있다.In general, the real-time feature point matching technique for finding the same feature points between different images based on feature points extracted from input images is to extract feature points from each image to generate descriptive markers, and then compare and Through collation, the same object can be identified by finding feature points with the same descriptive mark.

이때 특징점은 영상 내의 객체들을 표현할 수 있는 대표적인 픽셀들로 정의되고, 서술표식은 특징점에 대한 다양한 정보를 표현한 것이다.In this case, the feature point is defined as representative pixels capable of expressing objects in the image, and the descriptive mark expresses various information about the feature point.

한편, 최근 모바일 카메라, 디지털 카메라, 캠코더, 드론, 웨어러블 카메라 등의 조작이 쉽고 소형화 된 카메라의 보급으로 개인용 카메라에 대한 비전문가의 수요가 높아짐과 동시에 클라우드 서비스의 발전으로 인해 개인이 촬영한 일상 영상의 공유가 대중화됨에 따라 높은 품질의 영상 획득에 대한 요구가 증가하고 있고, 이에 따라 영상을 안정화시키기 위한 영상 안정화 방법에 대한 다양한 연구가 진행되고 있다.Meanwhile, with the recent spread of compact cameras that are easy to operate and miniaturized with mobile cameras, digital cameras, camcorders, drones, and wearable cameras, the demand for personal cameras is increasing, and at the same time, due to the development of cloud services, As sharing becomes more popular, the demand for high-quality image acquisition increases, and accordingly, various studies on image stabilization methods for image stabilization are being conducted.

도 1은 국내등록특허 제10-1851896호(발명의 명칭 : 파티클 기반 특징점을 이용한 비디오 안정화 방법 및 장치)에 개시된 파티클 기반 특징점을 이용한 비디오 안정화 방법을 나타내는 순서도이다.1 is a flowchart illustrating a video stabilization method using particle-based feature points disclosed in Korean Patent Registration No. 10-1851896 (Title of the Invention: Method and Apparatus for Video Stabilization Using Particle-Based Feature Points).

도 1의 파티클 기반 특징점을 이용한 비디오 안정화 방법(이하 제1 종래기술이라고 함)(S900)은 인접한 복수의 프레임간의 움직임을 추정하여 입력 영상을 각 영역으로 분할하는 단계(S910)와, 복수의 프레임을 이용하여 평평한 영역 맵을 생성하는 단계(S915)와, 평평한 영역 맵을 이용하여 복수의 특징점을 추출하는 단계(S920)와, 평평한 영역 맵을 이용하여 평평한 배경 영역에서의 파티클 키포인트를 생성하는 단계(S925)와, 생성된 파티클 키포인트와 복수의 특징점을 이용하여 특징점을 재정의하고 재정의된 특징점을 이용하여 카메라 패스를 추정하는 단계(S930)와, 추정된 카메라 패스를 스무딩하는 단계(S935)와, 스무딩된 카메라 패스를 적용하여 영상을 워핑하여 안정화된 영상을 생성하는 단계(S940)로 이루어진다.The video stabilization method using particle-based feature points of FIG. 1 (hereinafter referred to as the first prior art) (S900) includes the steps of estimating motion between a plurality of adjacent frames and dividing the input image into regions (S910), and a plurality of frames generating a flat area map using (S915), extracting a plurality of feature points using the flat area map (S920), and generating particle keypoints in a flat background area using the flat area map (S925), redefining a feature point using the generated particle keypoint and a plurality of feature points, estimating a camera path using the redefined feature point (S930), and smoothing the estimated camera path (S935); The step (S940) is to generate a stabilized image by warping the image by applying the smoothed camera path.

또한 단계(S930)는 생성된 파티클 키포인트와 복수의 특징점 사이의 거리를 이용하여 매칭을 위한 기술자를 각각 생성함과 동시에 각각 생성된 기술자를 이용하여 파티클 키포인트를 매칭시켜 특징점을 재정의한다.Also, in step S930, descriptors for matching are generated using the distances between the generated particle keypoints and the plurality of feature points, and at the same time, the keypoints are matched using the generated descriptors to redefine the feature points.

이와 같이 구성되는 제1 종래기술(S900)은 파티클 키포인트를 이용하여 영상의 특징을 재정의함으로써 분할된 영역에 따라 적응적 카메라 패스 추정을 통해 비디오 흔들림을 효과적으로 제거할 수 있을 뿐만 아니라 평평한 영역에서의 특징점 오검출로 인해 호모그래피 추정 성능이 저하되는 기존의 안정화 기법의 문제점을 해결할 수 있는 장점을 갖는다.The first prior art S900 configured in this way can effectively remove video shake through adaptive camera path estimation according to the divided area by redefining the characteristics of an image using particle keypoints, and also feature points in a flat area. It has the advantage of solving the problem of the existing stabilization technique in which homography estimation performance is deteriorated due to erroneous detection.

그러나 제1 종래기술(S900)은 이전 프레임에는 검출되었으나 현재 프레임에는 검출되지 않는 특징점이 검출되는 오류가 발생하거나 또는 재 프레임에는 검출되었으나 이전 프레임에는 검출되지 않는 특징점이 검출되는 오류가 발생할 때, 이에 대한 오류를 해결하기 위한 기술 및 방법이 전혀 기재되어 있지 않기 때문에 특징점 추적의 정확성 및 신뢰도가 떨어지는 단점을 갖는다.However, in the first prior art (S900), when an error in detecting a feature point detected in the previous frame but not detected in the current frame occurs or an error in detecting a feature point detected in the next frame but not detected in the previous frame occurs, Since a technique and a method for resolving the error of the metric are not described at all, the accuracy and reliability of the feature point tracking are low.

도 2는 국내등록특허 제10-0985805호(발명의 명칭 : 적응적인 칼만필터를 이용한 영상 안정화 장치 및 방법)에 개시된 영상 안정화 장치를 나타내는 블록도이다.2 is a block diagram illustrating an image stabilization apparatus disclosed in Korean Patent Registration No. 10-0985805 (Title of the Invention: Image stabilization apparatus and method using an adaptive Kalman filter).

도 2의 영상 안정화 장치(이하 제2 종래기술이라고 함)(100)는 특징점 추적부(110)와, 단위 움직임 측정부(122), 전역 움직임 측정부(124), 이득 조정부(126), 칼만필터부(128), 움직임 보상부(130)로 이루어진다.The image stabilization apparatus (hereinafter referred to as the second prior art) 100 of FIG. 2 includes a feature point tracking unit 110 , a unit motion measurement unit 122 , a global motion measurement unit 124 , a gain adjustment unit 126 , and Kalman. It consists of a filter unit 128 and a motion compensation unit 130 .

특징점 추적부(110)는 입력받은 원본영상을 구성하는 복수의 영상프레임 중 참조 영상프레임으로부터 특징점을 추출한 후, 참조 영상프레임에 시간적으로 연속하는 현재 영상프레임 상에서 특징점에 대응하는 대응점을 탐색한다.The feature point tracking unit 110 extracts a feature point from a reference image frame among a plurality of image frames constituting the input original image, and then searches for a corresponding point corresponding to the feature point on a current image frame temporally continuous to the reference image frame.

단위 움직임 측정부(122)는 참조 영상프레임과 현재 영상프레임 사이의 영상프레임에 대해 시간적으로 인접한 영상프레임들 사이의 움직임인 단위 움직임을 측정한다.The unit motion measurement unit 122 measures a unit motion that is a motion between temporally adjacent image frames with respect to an image frame between the reference image frame and the current image frame.

전역 움직임 측정부(124)는 단위 움직임을 누적하여 현재 영상프레임에 대한 전역 움직임을 측정한다.The global motion measurement unit 124 measures the global motion with respect to the current image frame by accumulating unit motions.

이득 조정부(126)는 측정시간 동안 입력되는 복수개의 영상프레임에 대해 각각 측정된 단위 움직임의 부호가 변화되는 빈도수에 따라 칼만필터의 이득을 결정한다.The gain adjusting unit 126 determines the gain of the Kalman filter according to the frequency with which the sign of each measured unit motion is changed for a plurality of image frames input during the measurement time.

칼만필터부(128)는 전역 움직임으로부터 잡음 성분이 제거된 의도적 움직임을 추정한다.The Kalman filter unit 128 estimates the intentional motion from which the noise component is removed from the global motion.

움직임 보상부(130)는 전역 움직임 및 상기 의도적 움직임의 차에 의해 잡음 성분을 나타내는 비의도적 움직임을 산출하며, 현재 영상프레임에 대해 비의도적 움직임을 보상하여 결과 영상프레임을 생성한다.The motion compensator 130 calculates an unintentional motion representing a noise component based on the difference between the global motion and the intentional motion, and generates a resultant image frame by compensating for the unintentional motion with respect to the current image frame.

이와 같이 구성되는 제2 종래기술(100)은 참조 영상프레임으로부터 추출된 특징점 및 그에 대응하는 대응점을 이용하여 영상의 움직임을 추정함으로써, 영상에 나타난 움직임의 평행방향으로의 병진 성분뿐만 아니라 회전 성분도 보상할 수 있으며, 의도적 움직임 추정 시 영상프레임에 대한 단위 움직임의 부호 변화 빈도수에 대응되는 칼만필터를 사용함으로써 의도적 움직임을 정확하게 추정할 수 있는 장점을 갖는다.The second prior art 100 configured in this way estimates the motion of the image using the feature points extracted from the reference image frame and the corresponding points, thereby compensating for the rotational component as well as the translational component in the parallel direction of the motion shown in the image. This has the advantage of accurately estimating intentional motion by using a Kalman filter corresponding to the frequency of sign change of a unit motion with respect to an image frame when estimating intentional motion.

그러나 제2 종래기술(100)은 특징점 추적부(110)가 시간적으로 연속하는 프레임들의 특징점을 추출하여 이들의 특징점의 비교를 통해 움직임을 추정하는 것이 아니라, 참조 영상프레임의 특징점을 추출한 후, 참조 영상프레임에 시간적으로 연속하는 프레임들 상에서 특징점에 대응되는 대응점의 탐색을 통해 움직임을 추정하도록 구성되었기 때문에 연산처리량 및 연산처리시간이 증가하는 단점을 갖는다.However, in the second prior art 100, the feature point tracking unit 110 extracts feature points of temporally successive frames and estimates motion through comparison of these feature points, but after extracting the feature points of the reference image frame, reference Since it is configured to estimate motion through searching for corresponding points corresponding to feature points on frames temporally successive to an image frame, it has a disadvantage in that computational throughput and computational processing time increase.

또한 제2 종래기술(100)은 프레임들 간의 스케일(scale)이나 회전이 변하여 특징점들의 스케일 및 회전이 변할 때, 이들의 기술자들이 스케일 및 회전 특성을 고려하지 못하기 때문에 특징점들을 정확하게 매칭시키지 못하는 문제점이 발생한다.In addition, in the second prior art 100, when the scale and rotation of the feature points change due to a change in scale or rotation between frames, their technicians do not consider the scale and rotation characteristics, so the feature points cannot be accurately matched. This happens.

또한 제2 종래기술(100)은 제1 종래기술(S900)과 마찬가지로, 이전 프레임에는 검출되었으나 현재 프레임에는 검출되지 않는 특징점이 검출되는 오류가 발생하거나 또는 재 프레임에는 검출되었으나 이전 프레임에는 검출되지 않는 특징점이 검출되는 오류가 발생할 때, 이에 대한 오류를 해결하기 위한 기술 및 방법이 전혀 기재되어 있지 않기 때문에 특징점 추적의 정확성 및 신뢰도가 떨어지는 단점을 갖는다.Also, in the second prior art 100 , like the first prior art S900 , an error occurs in that a feature point detected in the previous frame but not detected in the current frame is detected, or is detected in the re-frame but not detected in the previous frame. When an error in which a keypoint is detected occurs, there is a disadvantage in that accuracy and reliability of tracking the keypoint are lowered because a technique and method for solving the error are not described at all.

본 발명은 이러한 문제를 해결하기 위한 것으로, 본 발명의 해결과제는 SURF(Speed-Up Robust Features) 알고리즘 및 ANN(Approximate Nearest Neighbor) 탐색 알고리즘을 이용하여 입력된 두 프레임(F1), (F2)의 특징점들을 추출함과 동시에 정합하도록 구성됨으로써 회전 및 병진 성분을 모두 보상할 수 있을 뿐만 아니라 특징점 정합의 정확성 및 신뢰도를 높일 수 있는 SURF 특징점 추적 기반 영상 안정화 방법을 제공하기 위한 것이다.The present invention is to solve this problem, and the present invention solves two frames (F1) and (F2) input using a Speed-Up Robust Features (SURF) algorithm and an Approximate Nearest Neighbor (ANN) search algorithm. An object of the present invention is to provide a SURF feature point tracking-based image stabilization method capable of compensating for both rotation and translation components as well as increasing the accuracy and reliability of feature point matching by extracting and matching feature points at the same time.

또한 본 발명의 다른 해결과제는 제1 미스매칭 판별단계(S70) 및 제1 미스매칭 복원단계(S80)를 통해 이전 프레임(F1)에서는 검출되었으나, 현재 프레임(F2)에서는 검출되지 않는 특징점이 존재하는 제1 오류가 발생할 때, 변환행렬 추정부에 의해 추정된 변환행렬(H)을 활용하여 해당 특징점의 위치(x, y)에 대응되는 제2 프레임(F2) 상의 위치(x’, y’)를 추출한 후, 해당 특징점의 위치(x, y) 및 제2 프레임의 위치(x’, y’)를 포함하는 복원정보를 생성하고, 생성된 복원정보가 칼만필터 업데이트 단계 (S110) 및 영상 맵핑단계(S120)에 활용되도록 구성됨으로써 특징점의 미스매칭 여부를 정확하게 판별하여 복원시켜 영상 안정화의 정확성을 높일 수 있는 SURF 특징점 추적 기반 영상 안정화 방법을 제공하기 위한 것이다.In addition, another problem to be solved in the present invention is a feature point that was detected in the previous frame F1 through the first mismatch determination step S70 and the first mismatch restoration step S80, but is not detected in the current frame F2. When the first error occurs, the position (x', y') on the second frame F2 corresponding to the position (x, y) of the corresponding feature point using the transformation matrix H estimated by the transformation matrix estimator ), the restoration information including the position (x, y) of the corresponding feature point and the position (x', y') of the second frame is generated, and the generated restoration information is updated in the Kalman filter update step (S110) and the image It is intended to provide an image stabilization method based on SURF feature point tracking, which is configured to be utilized in the mapping step (S120), thereby accurately determining whether the feature points are mismatched and restoring the image stabilization accuracy.

또한 본 발명의 또 다른 해결과제는 제2 미스매칭 판별단계(S90) 및 제2 미스매칭 복원단계(S100)를 통해 현재 프레임(F2)에서는 검출되었으나, 이전 프레임(F1)에서는 검출되지 않는 특징점이 존재하는 제2 오류가 발생할 때, 해당 특징점에 대응되는 신규 Tracker를 생성하고, 생성된 신규 Tracker가 칼만필터 업데이트 단계 (S110) 및 영상 맵핑단계(S120)에 활용되도록 구성됨으로써 영상 안정화의 정확성을 더욱 개선시킬 수 있는 SURF 특징점 추적 기반 영상 안정화 방법을 제공하기 위한 것이다.In addition, another problem of the present invention is a feature point that is detected in the current frame F2 through the second mismatch determination step S90 and the second mismatch restoration step S100, but is not detected in the previous frame F1. When an existing second error occurs, a new tracker corresponding to the corresponding feature is created, and the created new tracker is configured to be utilized in the Kalman filter update step (S110) and the image mapping step (S120), thereby further improving the accuracy of image stabilization. An object of the present invention is to provide an image stabilization method based on SURF feature point tracking that can be improved.

또한 본 발명의 또 다른 해결과제는 칼만필터 업데이트 단계(S110)가 변환행렬 추정단계(S60)에 의해 추정된 변환행렬(H)에 의한 특징점 정합과, 제1 미스매칭 복원단계(S80)에 의해 생성된 복원정보, 제2 미스매칭 복원단계(S100)에 의해 생성된 신규 Tracker가 반영되도록 칼만필터의 가중치(weight)를 업데이트 하도록 구성됨으로써 특징점 추적의 정확성 및 신뢰도를 극대화시킬 수 있는 SURF 특징점 추적 기반 영상 안정화 방법을 제공하기 위한 것이다.In addition, another solution to the present invention is that the Kalman filter update step (S110) is performed by matching the feature points by the transform matrix (H) estimated by the transform matrix estimation step (S60) and the first mismatch restoration step (S80). SURF key point tracking base that can maximize the accuracy and reliability of key point tracking by being configured to update the weight of the Kalman filter so that the generated restoration information and the new tracker generated by the second mismatch restoration step (S100) are reflected It is intended to provide an image stabilization method.

상기 과제를 해결하기 위한 본 발명의 해결수단은 카메라로부터 입력되는 영상의 특징점들을 추적하여 영상을 안정화시키기 위한 SURF 특징점 추적 기반 영상 안정화 방법(S1)에 있어서: 상기 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 상기 카메라로부터 프레임을 입력받는 단계10(S10); 기 설정된 SURF(Speed-Up Robust Features) 알고리즘을 이용하여 상기 프레임 입력단계(S10)에 의해 입력된 프레임을 분석하여 특징점들을 추출하는 단계20(S20); 상기 단계20(S20)에 의해 추출된 특징점들에 칼만필터(Kalman filter)를 적용시켜 잡음을 제거하는 단계30(S30); 기 설정된 ANN(Approximate Nearest Neighbor) 탐색 알고리즘을 이용하여 상기 단계30(S30)에 의해 칼만필터를 통과한 현재프레임인 제2 프레임(F2)의 특징점들과 이전프레임인 제1 프레임(F1)의 특징점들 중 동일한 특징점은 남기고 동일하지 않은 특징점을 제거하여 특징점들을 정합한 후, 동일한 특징점들의 위치좌표의 비교를 통해 모션벡터를 검출하는 단계40(S40); 상기 단계40(S40)에 의해 검출된 모션벡터를 활용하여 제1, 2 프레임(F1), (F2) 간의 특징점 매칭의 대응 관계인 변환행렬((Homography, H)을 추정하는 단계60(S60); 상기 단계60(S60)에 의해 추정된 변환행렬(H)을 활용하여 제1 프레임(F1)의 특징점을 제2 프레임(F2)에 맵핑시킨 맵핑영상(F’)을 생성하는 단계120(S120)을 포함하고, 상기 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 상기 단계60(S60) 이후에 진행되며, 제1 프레임(F1)에서 검출된 특징점들과 제2 프레임(F2)에서 검출된 특징점들을 비교하여 제1 프레임(F1)에서는 검출되었으나, 제2 프레임(F2)에서는 검출되지 않은 특징점인 제1 미스매칭점이 존재하는 제1 오류가 발생하는지를 판별하는 단계70(S70); 상기 단계70(S70)에서 제1 오류가 발생하였다고 판단될 때 진행되며, 제1 미스매칭점의 제1 프레임(F1) 상에서의 위치(x, y)에 상기 단계60(S60)에 의해 추정된 변환행렬(H)을 적용시켜 제1 미스매칭점의 제2 프레임(F) 상의 위치(x’, y’)를 추출하며, 해당 제1 미스매칭점의 (x, y), (x’, y’) 좌표를 포함하는 복원정보를 생성하는 단계80(S80)을 더 포함하고, 상기 단계120(S120)은 맵핑영상 생성 시, 상기 단계80(S80)에 의해 생성된 복원정보를 활용하는 것이다.In an image stabilization method (S1) based on SURF feature point tracking for stabilizing an image by tracing feature points of an image input from a camera, the solution of the present invention for solving the above problem is: the SURF feature point tracking-based image stabilization method (S1) ) is a step 10 (S10) of receiving a frame from the camera; Step 20 (S20) of extracting feature points by analyzing the frame input by the frame input step (S10) using a preset SURF (Speed-Up Robust Features) algorithm; a step 30 (S30) of removing noise by applying a Kalman filter to the feature points extracted by the step 20 (S20); Using a preset Approximate Nearest Neighbor (ANN) search algorithm, the feature points of the second frame F2 that is the current frame that has passed the Kalman filter by step 30 (S30) and the feature points of the first frame F1 that is the previous frame Step 40 (S40) of detecting a motion vector by comparing the positional coordinates of the same feature points after matching the feature points by removing the feature points that are not identical while leaving the same feature points; Step 60 (S60) of estimating a transformation matrix ((Homography, H) that is a corresponding relation of feature point matching between the first and second frames (F1) and (F2) by using the motion vector detected in step 40 (S40); Step 120 (S120) of generating a mapping image F′ in which the feature points of the first frame F1 are mapped to the second frame F2 by using the transformation matrix H estimated in step 60 (S60) , wherein the SURF feature point tracking-based image stabilization method (S1) proceeds after step 60 (S60), and compares the feature points detected in the first frame F1 and the feature points detected in the second frame F2. In comparison, a step 70 (S70) of determining whether a first error occurs in which a first mismatch point, which is a feature point detected in the first frame F1 but not detected in the second frame F2, occurs (S70); ), the transformation matrix (H) estimated by the step 60 (S60) at the position (x, y) of the first mismatch point on the first frame F1. to extract the position (x', y') of the first mismatch point on the second frame (F), and (x, y), (x', y') coordinates of the first mismatch point Step 80 (S80) of generating the restoration information including

삭제delete

또한 본 발명에서 상기 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 상기 단계70(S70) 또는 상기 단계80(S80) 이후에 진행되며, 제1 프레임(F1)에서 검출된 특징점들과 제2 프레임(F2)에서 검출된 특징점들을 비교하여 제2 프레임(F2)에서는 검출되었으나, 제1 프레임(F1)에서는 검출되지 않은 특징점인 제2 미스매칭점이 존재하는 제2 오류가 발생하는지를 판별하는 단계90(S90); 상기 단계90(S90)에서 제2 오류가 발생하였다고 판단될 때 진행되며, 제2 미스매칭점에 대응되는 신규 Tracker를 생성하는 단계100(S100)을 더 포함하고, 상기 단계120(S120)은 맵핑영상 생성 시, 상기 단계100(S100)에 의해 생성된 신규 Tracker를 활용하는 것이 바람직하다.In the present invention, the SURF feature point tracking-based image stabilization method (S1) proceeds after the step 70 (S70) or the step 80 (S80), and includes the feature points detected in the first frame F1 and the second frame ( Comparing the feature points detected in F2), it is determined whether a second error occurs in which a second mismatch point, which is a feature point detected in the second frame F2 but not detected in the first frame F1, occurs (S90). ); It proceeds when it is determined that a second error has occurred in the step 90 (S90), and further includes a step 100 (S100) of creating a new tracker corresponding to the second mismatch point, and the step 120 (S120) is the mapping When generating an image, it is preferable to utilize the new tracker created by the step 100 (S100).

또한 본 발명에서 상기 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 상기 단계90(S90) 또는 상기 단계100(S100) 이후에 진행되는 단계110(S110)을 더 포함하고, 상기 단계110(S110)은 상기 단계60(S60)에 의한 변환행렬(H)에 의한 특징점 정합과, 상기 단계80(S80)에 의해 생성된 복원정보, 상기 단계100(S100)에 의해 생성된 신규 Tracker가 반영되도록 칼만필터의 가중치(weight)를 업데이트 하는 것이 바람직하다.In addition, in the present invention, the SURF feature point tracking-based image stabilization method (S1) further includes a step 110 (S110) performed after the step 90 (S90) or the step 100 (S100), and the step 110 (S110) is Kalman filter so that the feature point matching by the transformation matrix (H) by the step 60 (S60), the restoration information generated by the step 80 (S80), and the new tracker generated by the step 100 (S100) are reflected It is desirable to update the weights.

또한 본 발명에서 상기 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 상기 단계40(S40) 이후에 진행되는 단계50(S50)을 더 포함하고, 상기 단계50(S50)은 상기 단계40(S40)에 의해 검출된 모션벡터들 각각의 에러값을 산출한 후, 산출된 에러값이 설정값(TH, Threshold) 이상이면 해당 값을 아웃라이어(Outlier)로 판단하여 제거하는 것이 바람직하다.In addition, in the present invention, the SURF feature point tracking-based image stabilization method (S1) further includes a step 50 (S50) performed after the step 40 (S40), and the step 50 (S50) is performed in the step 40 (S40). After calculating the error value of each of the motion vectors detected by the motion vector, if the calculated error value is greater than or equal to a set value (TH, Threshold), it is preferable to determine the corresponding value as an outlier and remove it.

상기 과제와 해결수단을 갖는 본 발명에 따르면 SURF(Speed-Up Robust Features) 알고리즘 및 ANN(Approximate Nearest Neighbor) 탐색 알고리즘을 이용하여 입력된 두 프레임(F1), (F2)의 특징점들을 추출함과 동시에 정합하도록 구성됨으로써 회전 및 병진 성분을 모두 보상할 수 있을 뿐만 아니라 특징점 정합의 정확성 및 신뢰도를 높일 수 있게 된다.According to the present invention having the above problems and solutions, feature points of two frames (F1) and (F2) inputted using a Speed-Up Robust Features (SURF) algorithm and an Approximate Nearest Neighbor (ANN) search algorithm are extracted and at the same time By being configured to match, both rotation and translation components can be compensated, and the accuracy and reliability of feature point matching can be improved.

또한 본 발명에 의하면 제1 미스매칭 판별단계(S70) 및 제1 미스매칭 복원단계(S80)를 통해 이전 프레임(F1)에서는 검출되었으나, 현재 프레임(F2)에서는 검출되지 않는 특징점이 존재하는 제1 오류가 발생할 때, 변환행렬 추정부에 의해 추정된 변환행렬(H)을 활용하여 해당 특징점의 위치(x, y)에 대응되는 제2 프레임(F2) 상의 위치(x’, y’)를 추출한 후, 해당 특징점의 위치(x, y) 및 제2 프레임의 위치(x’, y’)를 포함하는 복원정보를 생성하고, 생성된 복원정보가 칼만필터 업데이트 단계 (S110) 및 영상 맵핑단계(S120)에 활용되도록 구성됨으로써 특징점의 미스매칭 여부를 정확하게 판별하여 복원시켜 영상 안정화의 정확성을 높일 수 있다.In addition, according to the present invention, through the first mismatch determination step (S70) and the first mismatch restoration step (S80), a first feature point detected in the previous frame F1 but not detected in the current frame F2 exists. When an error occurs, the position (x', y') on the second frame F2 corresponding to the position (x, y) of the corresponding feature point is extracted using the transformation matrix (H) estimated by the transformation matrix estimator. After that, restoration information including the position (x, y) of the corresponding feature point and the position (x', y') of the second frame is generated, and the generated restoration information is updated in the Kalman filter update step (S110) and the image mapping step ( By being configured to be utilized in S120), it is possible to accurately determine whether the feature points are mismatched and restore them to increase the accuracy of image stabilization.

또한 본 발명에 의하면 제2 미스매칭 판별단계(S90) 및 제2 미스매칭 복원단계(S100)를 통해 현재 프레임(F2)에서는 검출되었으나, 이전 프레임(F1)에서는 검출되지 않는 특징점이 존재하는 제2 오류가 발생할 때, 해당 특징점에 대응되는 신규 Tracker를 생성하고, 생성된 신규 Tracker가 칼만필터 업데이트 단계 (S110) 및 영상 맵핑단계(S120)에 활용되도록 구성됨으로써 영상 안정화의 정확성을 더욱 개선시킬 수 있게 된다.In addition, according to the present invention, through the second mismatch determination step ( S90 ) and the second mismatch restoration step ( S100 ), a feature point detected in the current frame F2 but not detected in the previous frame F1 is present. When an error occurs, a new tracker corresponding to the corresponding feature is created, and the created new tracker is configured to be utilized in the Kalman filter update step (S110) and the image mapping step (S120), so that the accuracy of image stabilization can be further improved. do.

또한 본 발명에 의하면 칼만필터 업데이트 단계(S110)가 변환행렬 추정단계(S60)에 의해 추정된 변환행렬(H)에 의한 특징점 정합과, 제1 미스매칭 복원단계(S80)에 의해 생성된 복원정보, 제2 미스매칭 복원단계(S100)에 의해 생성된 신규 Tracker가 반영되도록 칼만필터의 가중치(weight)를 업데이트 하도록 구성됨으로써 특징점 추적의 정확성 및 신뢰도를 극대화시킬 수 있게 된다.In addition, according to the present invention, in the Kalman filter update step (S110), the feature point matching by the transform matrix (H) estimated by the transform matrix estimation step (S60) and the restoration information generated by the first mismatch restoration step (S80) , it is possible to maximize the accuracy and reliability of feature point tracking by updating the weight of the Kalman filter to reflect the new tracker generated by the second mismatch restoration step (S100).

도 1은 국내등록특허 제10-1851896호(발명의 명칭 : 파티클 기반 특징점을 이용한 비디오 안정화 방법 및 장치)에 개시된 파티클 기반 특징점을 이용한 비디오 안정화 방법을 나타내는 순서도이다.
도 2는 국내등록특허 제10-0985805호(발명의 명칭 : 적응적인 칼만필터를 이용한 영상 안정화 장치 및 방법)에 개시된 영상 안정화 장치를 나타내는 블록도이다.
도 3은 본 발명의 일실시예인 SURF 특징점 추적 기반 영상 안정화 방법을 나타내는 플로차트이다.
도 4는 도 3의 동작과정을 개념적으로 나타내는 블록도이다.
도 5의 (a), (b)는 도 3의 SURF 특징점 추출단계에 의해 추출된 각 프레임의 특징점들을 나타내는 예시도이다.
도 6은 도 3의 SURF 특징점 추출단계를 나타내는 블록도이다.
도 7은 도 3의 모션벡터 검출단계에 적용되는 ANN 탐색 알고리즘을 설명하기 위한 예시도이다.
도 8은 도 3의 모션벡터 검출단계에 의해 검출되는 모션벡터를 설명하기 위한 예시도이다.
도 9는 도 3의 영상 맵핑단계에 의해 생성되는 맵핑영상을 나타내는 예시도이다.
1 is a flowchart illustrating a video stabilization method using particle-based feature points disclosed in Korean Patent Registration No. 10-1851896 (Title of the Invention: Method and Apparatus for Video Stabilization Using Particle-Based Feature Points).
2 is a block diagram illustrating an image stabilization apparatus disclosed in Korean Patent Registration No. 10-0985805 (Title of the Invention: Image stabilization apparatus and method using an adaptive Kalman filter).
3 is a flowchart illustrating an image stabilization method based on SURF feature point tracking according to an embodiment of the present invention.
FIG. 4 is a block diagram conceptually illustrating the operation process of FIG. 3 .
5 (a) and (b) are exemplary diagrams showing the feature points of each frame extracted by the SURF feature point extraction step of FIG. 3 .
6 is a block diagram illustrating the step of extracting the SURF feature point of FIG. 3 .
7 is an exemplary diagram for explaining the ANN search algorithm applied to the motion vector detection step of FIG. 3 .
FIG. 8 is an exemplary diagram for explaining a motion vector detected by the motion vector detection step of FIG. 3 .
9 is an exemplary diagram illustrating a mapping image generated by the image mapping step of FIG. 3 .

이하, 첨부된 도면을 참조하여 본 발명에 대해 설명하기로 한다.Hereinafter, the present invention will be described with reference to the accompanying drawings.

도 3은 본 발명의 일실시예인 SURF 특징점 추적 기반 영상 안정화 방법을 나타내는 플로차트이고, 도 4는 도 3의 동작과정을 개념적으로 나타내는 블록도이다.3 is a flowchart illustrating an image stabilization method based on SURF feature point tracking according to an embodiment of the present invention, and FIG. 4 is a block diagram conceptually illustrating the operation process of FIG. 3 .

본 발명의 일실시예인 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 입력된 두 프레임(F1), (F2)들 각각의 특징점을 추출한 후, 추출된 특징점 정보들을 이용하여 두 프레임(F1), (F2) 간의 매칭 대응관계인 변환행렬(H)을 추정하여 추정된 변환행렬에 따라 두 프레임(F1), (F2)들을 정합시키기 위한 방법이다.The SURF feature point tracking-based image stabilization method (S1), which is an embodiment of the present invention, extracts feature points of each of the two input frames (F1) and (F2), and then uses the extracted feature point information for the two frames (F1), ( This is a method for estimating a transformation matrix (H) that is a matching correspondence between F2) and matching two frames (F1) and (F2) according to the estimated transformation matrix.

또한 본 발명의 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 도 3과 4에 도시된 바와 같이, 프레임 입력단계(S10)와, SURF 특징점 추출단계(S20), 칼만필터 예측단계(S30), 모션벡터 검출단계(S40), 아웃라이어 필터링 단계(S50), 변환행렬 추청단계(S60), 제1 미스매칭 판별단계(S70), 제1 미스매칭 복원단계(S80), 제2 미스매칭 판별단계(S90), 제2 미스매칭 복원단계(S100), 칼만필터 업데이트 단계(S110), 영상 맵핑단계(S120)로 이루어진다.In addition, the SURF feature point tracking-based image stabilization method (S1) of the present invention, as shown in FIGS. 3 and 4, includes a frame input step (S10), a SURF feature point extraction step (S20), a Kalman filter prediction step (S30), and a motion Vector detection step (S40), outlier filtering step (S50), transformation matrix estimation step (S60), first mismatch determination step (S70), first mismatch restoration step (S80), second mismatch determination step ( S90), a second mismatch restoration step (S100), a Kalman filter update step (S110), and an image mapping step (S120).

이러한 본 발명의 SURF 특징점 추적 기반 영상 안정화 방법(S1)의 서비스를 제공하는 플랫폼은 컨트롤러 및 단말기 등의 하드웨어로 구현되거나 또는 응용 프로그램, 어플리케이션 등의 소프트웨어로 구현될 수 있다.The platform providing the service of the SURF feature point tracking-based image stabilization method (S1) of the present invention may be implemented as hardware such as a controller and a terminal, or may be implemented as software such as an application program or an application.

프레임 입력단계(S10)는 외부 카메라로부터 촬영된 영상의 프레임을 입력받는 단계이다.The frame input step S10 is a step of receiving a frame of an image photographed from an external camera.

SURF 특징점 추출단계(S20)는 기 설정된 SURF(Speed-Up Robust Features) 알고리즘을 이용하여 프레임 입력단계(S10)를 통해 입력된 이전프레임(F1)과 현재프레임(F2)들 각각에 대한 크기 및 회전 불변의 특징점(Features) 후보군들을 추출하는 단계이다.In the SURF feature point extraction step (S20), the size and rotation of each of the previous frame (F1) and the current frame (F2) input through the frame input step (S10) using a preset SURF (Speed-Up Robust Features) algorithm This is a step of extracting invariant feature point candidates.

통상적으로, SURF(Speed-Up Robust Features) 알고리즘은 입력된 영상에 대한 적분 영상을 생성한다. 이때 적분영상을 이용하면 어떠한 크기의 영상 영역을 선택하더라도, 4번의 연산을 통해 선택된 영역의 모든 픽셀의 합을 구할 수 있게 된다.Typically, a Speed-Up Robust Features (SURF) algorithm generates an integral image with respect to an input image. In this case, if the integral image is used, it is possible to obtain the sum of all pixels in the selected area through four operations, no matter what size of the image area is selected.

또한 SURF 알고리즘은 영상의 특징점을 추출하기 위하여 다음 수학식 1로 정의되는 헤시안 행렬(hessian matrix)을 이용한다. 이때 헤시안 행렬을 사용할 때, SIFT와 다르게 가우시안 필터를 사용하지 않고, 결과는 유사하지만, 연산속도가 빠른 박스 필터를 사용하여 결정자를 구한다. 즉 가우시안은 실수 값을 갖지만, 박스필터는 정수형 연산이 가능하므로 연산처리속도를 높일 수 있다.In addition, the SURF algorithm uses a hessian matrix defined by Equation 1 below to extract feature points of an image. In this case, when a Hessian matrix is used, a determinant is obtained by using a box filter with similar results but a high operation speed without using a Gaussian filter unlike SIFT. That is, Gaussian has a real value, but the box filter can perform integer-type operation, so the operation processing speed can be increased.

Figure 112020037317119-pat00001
Figure 112020037317119-pat00001

이때, Lxx는 x위치에서의 흑백 영상 휘도값과 σ의 분산을 갖는 가우시안의 x방향 2차 미분 값과의 컨볼루션 값을 의미하고, 나머지 Lyy, Lxy는 y 방향으로의 2차 미분, xy 방향으로 미분된 가우시안 필터와의 컨볼루션 값을 의미한다.In this case, Lxx denotes a convolution value between the black-and-white image luminance value at the x position and the x-direction second-order differential value of a Gaussian having a variance of σ, and the remaining Lyy and Lxy are the y-direction second-order derivatives and xy-directions. It means a convolution value with a Gaussian filter differentiated by .

또한 SURF 알고리즘은 수학식 1에 의해 근사화된 헤시안 행렬(Happrox)의 행렬식을 이용하여 다음의 수학식 2로 정의되는 특징점의 후보군을 검출한다.Also, the SURF algorithm detects a candidate group of feature points defined by the following Equation (2) using the determinant of the Hessian matrix (Happrox) approximated by Equation (1).

Figure 112020037317119-pat00002
Figure 112020037317119-pat00002

이때, Dxx, Dyy 및 Dxy는 각각 근사화된 x축, y축으로의 2차 미분을 나타낸다. In this case, Dxx, Dyy, and Dxy represent the approximated second derivatives along the x-axis and y-axis, respectively.

즉 SURF는 근사화된 필터와 적분 영상을 활용함으로써 연산을 단순화시켜 속도를 향상시킬 수 있다.That is, SURF can improve the speed by simplifying the operation by using the approximated filter and the integral image.

또한 SURF 알고리즘은 수학식 2에 의해 검출된 특징점 후보군의 특징을 서술자(Descriptor)인 특징벡터로 표현되며, 상세하게로는 하르 웨이블릿 반응(Haar wavelet response)을 이용하여 검출된 특징점의 방향 성분에 대해 64차원 벡터로 기술할 수 있다.In addition, the SURF algorithm expresses the feature of the feature point candidate group detected by Equation 2 as a feature vector that is a descriptor, and in detail, for the direction component of the feature point detected using a Haar wavelet response It can be described as a 64-dimensional vector.

다시 말하면, SURF 알고리즘에서 서술자는 필터 크기가 2인 하르 웨이블릿 결과를 통하여 계산된 64차원의 불변하는 정보로 표현된다.In other words, in the SURF algorithm, the descriptor is expressed as 64-dimensional immutable information calculated through the result of a Har wavelet with a filter size of 2.

도 5의 (a), (b)는 도 3의 SURF 특징점 추출단계에 의해 추출된 각 프레임의 특징점들을 나타내는 예시도이다.5 (a) and (b) are exemplary diagrams showing the feature points of each frame extracted by the SURF feature point extraction step of FIG. 3 .

도 5의 (a)에는 SURF 특징점 추출단계(S20)에 의해 검출된 이전프레임인 제1 프레임(F1)의 특징점 후보군들이 표시되어 있고, 도 4의 (b)에는 SURF 특징점 추출단계(S20)에 의해 검출된 현재프레임인 제2 프레임(F2)의 특징점 후보군들이 표시되어 있다.In Fig. 5 (a), the feature point candidates of the first frame (F1), which is the previous frame detected by the SURF feature point extraction step (S20), are displayed, and in Fig. 4 (b), the SURF feature point extraction step (S20) is shown. Feature point candidates of the second frame F2, which is the current frame detected by , are displayed.

즉 SURF 특징점 추출단계(S20)는 입력된 두 프레임(F1), (F2)들 각각의 특징점 후보군들을 추출한다.That is, the SURF feature point extraction step S20 extracts feature point candidate groups of each of the two input frames F1 and F2.

이러한 SURF 특징점 추출단계(S20)는 후술되는 도 6을 통해 상세하게 설명하기로 한다.This SURF feature point extraction step (S20) will be described in detail with reference to FIG. 6 to be described later.

도 6은 도 3의 SURF 특징점 추출단계를 나타내는 블록도이다.6 is a block diagram illustrating the step of extracting the SURF feature point of FIG. 3 .

SURF 특징점 추출단계(S20)는 도 6에 도시된 바와 같이, 입력된 프레임(F1), (F2)들에 대한 적분영상을 획득하는 적분영상 검출단계(S21)와, 적분영상 검출단계(S21)에 의한 적분영상을 이용하여 박스 필터의 크기를 변경하면서 스케일 공간을 생성하는 스케일 공간 생성단계(S22)와, 스케일 공간 생성단계(S22)에 의해 생성된 스케일 공간에서 반복적으로 검출된 후보점을 크기에 불변하는 특징점 후보군으로 선정하는 특징점 후보군 선정단계(S23)와, 특징점 후보군 선정단계(S23)에 의해 선정된 특징점 후보군들에 대하여 6σ 반경 내의 x방향 하르 웨이블릿 반응(Haar wavelet response)과 y방향 하르 웨이블릿 반응을 더하여 벡터를 합산하여 주 방향을 검출하는 주 방향 검출단계(S24)와, 주 방향 검출단계(S24)에 의해 검출된 주 방향을 기준으로 4X4 크기의 세부 영역으로 나눈 후 각 영역마다 5X5 크기의 x방향 및 y방향 하르 웨이블릿을 적용시켜 dx 및 dy를 산출하는 연산처리단계(S25)와, 연산처리단계(S25)에 의해 산출된 dx 및 dy를 기초로 하여 sum(dx), sum(dy), sum(ldxl), sum(ldyl)의 값을 계산함으로써 각 세부영역마다 4개의 특징을 구하여 16X4의 총 64차원의 서술자 벡터를 획득하는 서술자 획득단계(S26)로 이루어진다.As shown in FIG. 6 , the SURF feature point extraction step (S20) includes an integral image detection step (S21) of acquiring integral images for the input frames (F1) and (F2), and an integral image detection step (S21). The scale space generation step (S22) of generating a scale space while changing the size of the box filter using the integral image by x-direction Haar wavelet response and y-direction Haar wavelet response within a 6σ radius for the keypoint candidate groups selected by the keypoint candidate group selection step (S23) and the keypoint candidate group selection step (S23) The main direction detection step (S24) of adding a wavelet response and summing the vectors to detect the main direction, and the main direction detected by the main direction detecting step (S24) divided into 4X4 sub-regions based on the main direction, and then 5X5 for each area An arithmetic processing step (S25) of calculating dx and dy by applying the magnitude x- and y-direction Har wavelets, and sum(dx), sum( dy), sum(ldxl), and sum(ldyl) are calculated to obtain four features for each sub-region, and a descriptor vector of a total of 64 dimensions of 16X4 is obtained (S26).

칼만필터 예측단계(S30)는 SURF 특징점 추출단계(S20)에 의해 추출된 특징점들에, 칼만필터 업데이트 단계(S120)에 의해 업데이트된 칼만필터(Kalman filter)를 적용시킴으로써 각 특징점에 대한 떨림 등의 잡음 성분이 제거된 특징벡터를 획득하는 단계이다.The Kalman filter prediction step (S30) is performed by applying the Kalman filter updated by the Kalman filter update step (S120) to the feature points extracted by the SURF feature point extraction step (S20), such as shaking for each feature point. This is a step of obtaining a feature vector from which the noise component has been removed.

도 7은 도 3의 모션벡터 검출단계에 적용되는 ANN 탐색 알고리즘을 설명하기 위한 예시도이고, 도 8은 도 3의 모션벡터 검출단계에 의해 검출되는 모션벡터를 설명하기 위한 예시도이다.FIG. 7 is an exemplary diagram for explaining an ANN search algorithm applied to the motion vector detection step of FIG. 3 , and FIG. 8 is an exemplary diagram for explaining a motion vector detected by the motion vector detection step of FIG. 3 .

모션벡터 검출단계(S40)는 SURF 특징점 검출단계(S20) 및 칼만필터 예측단계(S30)에 의해 검출된 프레임(F1), (F2)들의 특징점인 총 64차원의 서술자 벡터가 가지고 있는 방향 및 크기정보를 비교해서 동일한 특징점은 남기고 동일하지 않은 특징점은 제거한 후, 동일한 특징점들의 위치좌표의 비교를 통해 모션벡터(Motion vector)를 검출하는 단계이다.The motion vector detection step (S40) is the direction and magnitude of the 64-dimensional descriptor vector that is the feature point of the frames F1 and F2 detected by the SURF feature point detection step S20 and the Kalman filter prediction step S30. After comparing information, leaving identical feature points and removing non-identical feature points, a motion vector is detected by comparing the position coordinates of the same feature points.

다시 말하면, 모션벡터 검출단계(S40)는 두 프레임(F1), (F2) 간의 이동, 회전 크기변화의 파라미터를 구하기 위해서 SURF 특징점 검출단계(S20) 및 칼만필터 예측단계(S30)를 통해 검출된 특징점들의 정합을 수행한다.In other words, the motion vector detection step (S40) is a SURF feature point detection step (S20) and a Kalman filter prediction step (S30) in order to obtain the parameters of movement and rotation size change between the two frames F1 and F2. Matching of feature points is performed.

이때 두 영상 간의 각 특징점들의 정합은 기 설정된 ANN(Approximate Nearest Neighbor) 탐색 알고리즘을 활용하여 수행되는데, ANN은 불변 서술자 벡터들간의 유클리드 거리(Euclidean distance)가 최소인 특징점을 의미한다.In this case, the matching of each feature point between the two images is performed using a preset Approximate Nearest Neighbor (ANN) search algorithm, where ANN means a feature point having the minimum Euclidean distance between invariant descriptor vectors.

즉 모션벡터 검출단계(S40)는 기 설정된 ANN(Approximate Nearest Neighbor) 탐색 알고리즘을 활용하여 SURF 특징점 검출단계(S20) 및 칼만필터 예측단계(S30)를 통해 검출된 프레임(F1), (F2)들 간의 특징점을 정합하며, 상세하게로는 도 7에 도시된 바와 같이, 쿼리q(

Figure 112020037317119-pat00003
)와 쿼리(q)와 동일한 차원의 특징점 후보군인 후보셋(p1, p2, ..., pn)들이 주어졌을 때, 쿼리(q)로부터 가장 가까운 거리를 갖는 특징점 후보셋(pj)을 가장 가까운 이웃으로 결정함과 동시에 쿼리에서 가장 가까운 지점까지의 거리(r)를 c배로 곱한 값을 반환한다.That is, the motion vector detection step (S40) utilizes a preset ANN (Approximate Nearest Neighbor) search algorithm to detect the SURF feature point (S20) and the Kalman filter prediction step (S30), the detected frames (F1), (F2) Matches the feature points between, in detail, as shown in FIG. 7, query q(
Figure 112020037317119-pat00003
) and the candidate sets (p1, p2, ..., pn) that are the feature point candidates of the same dimension as the query (q), the feature point candidate set (pj) having the closest distance from the query (q) is selected as the nearest At the same time as determining a neighbor, it returns a value multiplied by c times the distance (r) to the nearest point in the query.

또한 모션벡터 검출단계(S40)는 도 8에 도시된 바와 같이, ANN 탐색 알고리즘을 통해 정합된 각 특징점의 모션벡터(MV)를 검출한다.Also, in the motion vector detection step S40, as shown in FIG. 8, the motion vector MV of each matched feature point is detected through the ANN search algorithm.

아웃라이어 필터링단계(S50)는 모션벡터 검출단계(S40)에 의해 검출된 모션벡터(MV)들 각각의 에러값을 산출한 후, 산출된 에러값이 설정값(TH, Threshold) 이상이면 해당 값을 아웃라이어(Outlier)로 판단하여 이를 제거하는 단계이다.In the outlier filtering step (S50), after calculating an error value of each of the motion vectors (MV) detected by the motion vector detecting step (S40), if the calculated error value is greater than or equal to a set value (TH, Threshold), the corresponding value It is a step of determining that is an outlier and removing it.

변환행렬 추정단계(S60)는 아웃라이어 필터링 단계(S50)에 의해 아웃라이어가 제거된 모션벡터들을 활용하여, 두 프레임(F1), (F2)의 특징점 매칭의 대응 관계인 변환행렬(Homography, H)을 추정하는 단계이다.The transformation matrix estimation step (S60) utilizes the motion vectors from which the outlier has been removed by the outlier filtering step (S50), and the transformation matrix (Homography, H), which is a corresponding relationship of feature point matching of the two frames (F1) and (F2) is the step of estimating

이때 변환행렬 추정단계(S60)에 의해 추정되는 두 프레임(F1), (F2) 간의 대응 관계인 변환행렬(H)은 다음의 수학식 3으로 정의된다.At this time, the transformation matrix H, which is the correspondence between the two frames F1 and F2 estimated by the transformation matrix estimation step S60, is defined by Equation 3 below.

Figure 112020037317119-pat00004
Figure 112020037317119-pat00004

이때, ‘

Figure 112020037317119-pat00005
’는 제1 프레임(F1)의 특징점의 위치좌표이고, ‘
Figure 112020037317119-pat00006
’는 제2 프레임(F2)의 특징점의 위치좌표이고, 변환행렬’H’의 ‘
Figure 112020037317119-pat00007
’는 어떤 회전각으로 회전할지를 나타내는 회전(rotation) 정보와, x,y,z 방향으로 얼마만큼 이동할지를 나타내는 평행이동(translation) 정보, x,y,z 방향으로 얼마만큼 크기를 변화시킬지를 나타내는 크기 변환(scaling) 정보를 포함한다.At this time, '
Figure 112020037317119-pat00005
' is the position coordinate of the feature point of the first frame F1, and '
Figure 112020037317119-pat00006
' is the position coordinate of the feature point of the second frame F2, and ' of the transformation matrix 'H'
Figure 112020037317119-pat00007
' denotes rotation information indicating at which rotation angle to rotate, translation information indicating how much to move in the x, y, and z directions, and indicating how much to change the size in the x, y, z directions. Includes scaling information.

제1 미스매칭 판별단계(S70)는 제1 프레임(F1)에서 검출된 특징점들과, 제2 프레임(F2)에서 검출된 특징점들을 비교하여, 이전 프레임(F1)에서는 검출되었으나, 현재 프레임(F2)에서는 검출되지 않는 특징점인 제1 미스매칭점이 존재하는 제1 오류가 발생하는지를 판별한다.The first mismatch determination step S70 compares the feature points detected in the first frame F1 with the feature points detected in the second frame F2, which were detected in the previous frame F1, but were detected in the current frame F2. ), it is determined whether a first error in which a first mismatch point, which is a feature point that is not detected, occurs.

또한 제1 미스매칭 판별단계(S70)는 만약 제1 미스매칭점이 존재하는 제1 오류가 발생하였다고 판단되면, 다음 단계로 제1 미스매칭 복원단계(S80)를 진행한다.In addition, in the first mismatch determination step S70 , if it is determined that a first error having a first mismatch point has occurred, the first mismatch restoration step S80 is performed as a next step.

또한 제1 미스매칭 판별단계(S70)는 만약 제1 미스매칭점이 존재하지 않아 제1 오류가 발생하지 않았다고 판단되면, 다음 단계로 제2 미스매칭 판별단계(S90)를 진행한다.Also, in the first mismatch determination step S70 , if it is determined that the first error does not occur because the first mismatch point does not exist, the second mismatch determination step S90 proceeds to the next step.

제1 미스매칭 복원단계(S80)는 제1 미스매칭 판별단계(S70)에서 제1 오류가 발생하였다고 판단될 때 진행되며, 변환행렬 추정단계(S60)에 의해 추정된 변환행렬(H)을 활용하여 해당 특징점의 위치(x, y)에 대응되는 제2 프레임(F2) 상의 위치(x’, y’)를 추출한 후, 제1 미스매칭점의 제1 프레임(F1)의 위치(x, y)와, 변환행렬에 의해 추출된 제2 프레임의 위치(x’, y’)를 나타내는 복원정보를 생성하는 단계이다.The first mismatch restoration step S80 is performed when it is determined that the first error has occurred in the first mismatch determination step S70, and the transformation matrix H estimated by the transformation matrix estimation step S60 is utilized. After extracting the position (x', y') on the second frame F2 corresponding to the position (x, y) of the corresponding feature point, the position (x, y) of the first frame F1 of the first mismatching point ) and generating restoration information indicating the positions (x', y') of the second frame extracted by the transformation matrix.

이때 제1 미스매칭 복원단계(S80)에 의해 생성된 복원정보는 칼만필터 업데이트 단계(S110) 및 영상 맵핑단계(S120)에 활용된다.At this time, the restoration information generated by the first mismatch restoration step (S80) is used in the Kalman filter update step (S110) and the image mapping step (S120).

제2 미스매칭 복원단계(S90)는 이전 프레임(F1)에는 검출되지 않았으나, 현재 프레임(F2)에는 검출되는 특징점인 제2 미스매칭점이 존재하는 제2 오류가 발생하였는지를 판별한다.In the second mismatch restoration step S90 , it is determined whether a second error has occurred in which a second mismatch point, which is a feature point detected in the current frame F2 , is not detected in the previous frame F1 .

또한 제2 미스매칭 판별단계(S90)는 만약 제2 미스매칭점이 존재하는 제2 오류가 발생하였다고 판단되면, 다음 단계로 제2 미스매칭 복원단계(S100)를 진행한다.Also, in the second mismatch determination step S90 , if it is determined that a second error with a second mismatch point exists, a second mismatch restoration step S100 is performed as a next step.

또한 제2 미스매칭 판별단계(S90)는 만약 제2 미스매칭점이 존재하지 않아 제2 오류가 발생하지 않았다고 판단되면, 다음 단계로 칼만필터 업데이트 단계(S110)를 제2 미스매칭 판별단계(S90)를 진행한다.Also, in the second mismatch determination step S90, if it is determined that the second error does not occur because the second mismatch point does not exist, the Kalman filter update step S110 is performed as a second mismatch determination step S90. proceed with

제2 미스매칭 복원단계(S100)는 제2 미스매칭 판별단계(S90)에서 제2 오류가 발생하였다고 판단될 때 진행되며, 이전 프레임에는 검출되지 않았으나, 현재 프레임(F2)에는 검출된 특징점에 대한 신규 Tracker를 생성하는 단계이다.The second mismatch restoration step S100 is performed when it is determined that the second error has occurred in the second mismatch determination step S90. This is the step to create a new Tracker.

이때 제2 미스매칭 복원단계(S100)에 의해 생성된 신규 Tracker는 칼만필터 업데이트 단계(S110) 및 영상 맵핑단계(S120)에 활용된다.At this time, the new tracker generated by the second mismatch restoration step (S100) is utilized in the Kalman filter update step (S110) and the image mapping step (S120).

칼만필터 업데이트 단계(S110)는 변환행렬 추정단계(S60)에 의해 추정된 변환행렬(H)에 의한 특징점 정합과, 제1 미스매칭 복원단계(S80)에 의해 생성된 복원정보, 제2 미스매칭 복원단계(S100)에 의해 생성된 신규 Tracker가 반영되도록 칼만필터의 가중치(weight)를 업데이트 한다.The Kalman filter update step (S110) includes matching feature points by the transform matrix (H) estimated by the transform matrix estimation step (S60), the restoration information generated by the first mismatch restoration step (S80), and the second mismatch The weight of the Kalman filter is updated so that the new tracker generated by the restoration step S100 is reflected.

또한 칼만필터 업데이트 단계(S110)에 의해 업데이트 칼만필터는 저장됨과 동시에 전술하였던 칼만필터 예측단계(S30)에서 활용된다.In addition, the updated Kalman filter is stored by the Kalman filter update step S110 and is utilized in the aforementioned Kalman filter prediction step S30.

도 9는 도 3의 영상 맵핑단계에 의해 생성되는 맵핑영상을 나타내는 예시도이다.9 is an exemplary diagram illustrating a mapping image generated by the image mapping step of FIG. 3 .

영상 맵핑단계(S120)는 변환행렬 추정단계(S60)에 의해 추정된 변환행렬(H)과, 제1 미스매칭 복원단계(S80)에 의해 생성된 복원정보와, 제2 미스매칭 복원단계(S100)에 의해 생성된 신규 Tracker를 활용하여 도 9에 도시된 바와 같이, 제1 프레임(F1)의 특징점을 제2 프레임(F2)에 맵핑시킴으로써 맵핑영상(F’)을 생성하는 단계이다.The image mapping step (S120) includes the transformation matrix (H) estimated by the transformation matrix estimation step (S60), the restoration information generated by the first mismatch restoration operation (S80), and the second mismatch restoration operation (S100). As shown in FIG. 9 by utilizing the new tracker generated by

도 10은 본 발명이 적용되는 SURF 특징점 추적 기반 영상 안정화 시스템을 나타내는 블록도이다.10 is a block diagram illustrating an image stabilization system based on SURF feature point tracking to which the present invention is applied.

도 10의 SURF 특징점 추적 기반 영상 안정화 시스템(1)은 전술하였던 도 2 내지 9의 SURF 특징점 추적 기반 영상 안정화 방법(S1)이 적용되는 시스템이다.The SURF feature point tracking-based image stabilization system 1 of FIG. 10 is a system to which the above-described SURF feature point tracking-based image stabilization method S1 of FIGS. 2 to 9 is applied.

또한 SURF 특징점 추적 기반 영상 안정화 시스템(1)은 도 10에 도시된 바와 같이, 제어부(30)와, 메모리(31), 데이터 입출력부(32), SURF 특징점 추출부(33), 칼만필터부934), 모션벡터 검출부(35), 아웃라이어 필터링부(36), 변환행렬 추정부(37), 미스매칭 점검 및 복원부(38), 칼만필터 업데이트부(39), 영상맵핑부(40)로 이루어진다.In addition, as shown in FIG. 10 , the SURF key point tracking-based image stabilization system 1 includes a control unit 30, a memory 31, a data input/output unit 32, a SURF key point extraction unit 33, and a Kalman filter unit 934. ), a motion vector detection unit 35 , an outlier filtering unit 36 , a transformation matrix estimation unit 37 , a mismatching check and restoration unit 38 , a Kalman filter update unit 39 , and an image mapping unit 40 . is done

제어부(30)는 SURF 특징점 추적 기반 영상 안정화 시스템(1)의 O.S(Operating System)이며, 제어대상(31), (32), (33), (34), (35), (36), (37), (38), (39), (40)들의 동작을 관리 및 제어한다.The control unit 30 is an OS (Operating System) of the SURF feature point tracking-based image stabilization system 1, and the control target 31, (32), (33), (34), (35), (36), ( 37), (38), (39), and (40) manage and control the operation.

또한 제어부(30)는 데이터 입출력부(32)를 통해 입력된 인접한 프레임(F1), (F2)들을 SURF 특징점 추출부(33)로 입력함과 동시에 메모리(31)에 임시 저장한다.Also, the control unit 30 inputs adjacent frames F1 and F2 input through the data input/output unit 32 to the SURF feature point extraction unit 33 and temporarily stores them in the memory 31 .

또한 제어부(30)는 칼만필터 업데이트부(39)에 의해 업데이트된 칼만필터를 메모리(31)에 저장한다.In addition, the control unit 30 stores the Kalman filter updated by the Kalman filter update unit 39 in the memory 31 .

메모리(31)에는 영상맵핑부(40)에 의해 생성된 맵핑영상이 저장된다.The memory 31 stores the mapping image generated by the image mapping unit 40 .

또한 메모리(31)에는 칼만필터 업데이트부(39)에 의해 업데이트 된 칼만필터가 저장된다.In addition, the Kalman filter updated by the Kalman filter update unit 39 is stored in the memory 31 .

또한 메모리(31)에는 기 설정된 SURF 알고리즘이 적용된다.In addition, a preset SURF algorithm is applied to the memory 31 .

또한 메모리(31)에는 기 설정된 ANN(Approximate Nearest Neighbor) 탐색 알고리즘이 저장된다.Also, a preset Approximate Nearest Neighbor (ANN) search algorithm is stored in the memory 31 .

데이터 입출력부(32)는 외부 장치와 데이터를 입출력한다.The data input/output unit 32 inputs and outputs data to and from an external device.

SURF 특징점 추출부(33)는 전술하였던 도 3과 6의 SURF 특징점 추출단계(S20)의 연산처리를 수행하는 프로세서이며, 상세하게로는 기 설정된 SURF 알고리즘을 이용하여 데이터 입출력부(32)를 통해 입력된 두 프레임(F1), (F2)들 각각에 대한 크기 및 회전 불변의 특징점(Features) 후보군들을 추출한다.The SURF feature point extraction unit 33 is a processor that performs the arithmetic processing of the SURF feature point extraction step S20 of FIGS. 3 and 6 described above, and in detail, through the data input/output unit 32 using a preset SURF algorithm. The size and rotation invariant feature point candidates for each of the two input frames F1 and F2 are extracted.

칼만필터부(34)는 전술하였던 도 3의 칼만필터 예측단계(S30)의 연산처리를 수행하는 프로세서이며, 상세하게로는 SURF 특징점 추출부(33)에 의해 추출된 특징점들에 기 설정된 칼만필터를 적용시킴으로써 각 특징점에 대한 떨림 등의 잡음 성분이 제거된 특징벡터를 획득한다.The Kalman filter unit 34 is a processor that performs the arithmetic processing of the Kalman filter prediction step S30 of FIG. 3 described above, and in detail, a Kalman filter preset to the key points extracted by the SURF key point extraction unit 33 By applying , we obtain a feature vector from which noise components such as vibration for each feature point are removed.

모션벡터 검출부(35)는 전술하였던 도 3의 모션벡터 검출단계(S40)의 연산처리를 수행하는 프로세서이며, 상세하게로는 SURF 특징점 검출모듈(33) 및 칼만필터부(34)에 의해 검출된 두 프레임(F1), (F2)의 특징점인 총 64차원의 서술자 벡터가 가지고 있는 방향 및 크기정보를 비교해서 동일한 특징점은 남기고 동일하지 않은 특징점은 제거한 후, 동일한 특징점들의 위치좌표의 비교를 통해 모션벡터(Motion vector)를 검출한다.The motion vector detection unit 35 is a processor that performs the arithmetic processing of the motion vector detection step S40 of FIG. 3 described above, and in detail, detected by the SURF feature point detection module 33 and the Kalman filter unit 34 . After comparing the direction and size information of the 64-dimensional descriptor vector that is the feature point of the two frames (F1) and (F2), leaving the same feature point and removing the feature point that is not the same, the motion through the comparison of the position coordinates of the same feature points A motion vector is detected.

아웃라이어 필터링부(36)는 전술하였던 도 3의 아웃라이어 필터링 단계(S50)의 연산처리를 수행하는 프로세서이며, 상세하게로는 모션벡터 검출부(35)에 의해 검출된 모션벡터(MV)들 각각의 에러값을 산출한 후, 산출된 에러값이 설정값(TH, Threshold) 이상이면 해당 값을 아웃라이어(Outlier)로 판단하여 이를 제거한다.The outlier filtering unit 36 is a processor that performs the arithmetic processing of the outlier filtering step S50 of FIG. 3 described above, and in detail, each of the motion vectors MV detected by the motion vector detection unit 35 . After calculating the error value of , if the calculated error value is greater than or equal to the set value (TH, Threshold), the value is determined as an outlier and is removed.

변환행렬 추정부(37)는 전술하였던 도 3의 변환행렬 추정단계(S60)의 연산처리를 수행하는 프로세서이며, 상세하게로는 아웃라이어 필터링부(36)에 의해 아웃라이어가 제거된 모션벡터들을 활용하여, 두 프레임(F1), (F2)의 특징점 매칭의 대응 관계인 변환행렬(Homography, H)을 추정한다.The transformation matrix estimating unit 37 is a processor that performs the arithmetic processing of the transformation matrix estimation step S60 of FIG. 3 described above, and in detail, the motion vectors from which the outliers are removed by the outlier filtering unit 36 are calculated. Using this method, a transformation matrix (Homography, H), which is a corresponding relationship of feature point matching of the two frames (F1) and (F2), is estimated.

미스매칭 점검 및 복원부(38)는 전술하였던 도 3의 제1 미스매칭 판별단계(S70), 제1 미스매칭 복원단계(S80), 제2 미스매칭 판별단계(S90) 및 제2 미스매칭 복원단계(S100)의 연산처리를 수행하는 프로세서이며, 상세하게로는 전술하였던 제1 미스매칭점이 검출될 때, 제1 미스매칭점에 대한 복원정보를 생성함과 동시에 제2 미스매칭점이 검출될 때, 제2 미스매칭점에 대응되는 신규 Tracker를 생성한다.The mismatch check and restore unit 38 is the first mismatch determination step (S70), the first mismatch recovery step (S80), the second mismatch determination step (S90) and the second mismatch recovery of FIG. It is a processor that performs the arithmetic processing of step S100, and specifically, when the above-described first mismatching point is detected, while generating restoration information for the first mismatching point and at the same time a second mismatching point is detected , create a new tracker corresponding to the second mismatch point.

칼만필터 업데이트부(39)는 전술하였던 도 3의 칼만필터 업데이트 단계(S110)의 연산처리를 수행하는 프로세서이며, 상세하게로는 변환행렬 추정부(37)에 의해 추정된 변환행렬(H)에 의한 특징점 정합과, 미스매칭 점검 및 복원부(38)에 의해 생성된 복원정보 또는 신규 Tracker가 반영되도록 칼만필터의 가중치(weight)를 업데이트 한다.The Kalman filter update unit 39 is a processor that performs the arithmetic processing of the Kalman filter update step S110 of FIG. 3 described above, and in detail, the Kalman filter update unit 39 is applied to the transformation matrix H estimated by the transformation matrix estimator 37. The weight of the Kalman filter is updated so that the matching of the key points by , and the restoration information or the new tracker generated by the mismatch check and restoration unit 38 are reflected.

영상맵핑부(40)는 전술하였던 도 3의 영상 맵핑단계(S120)의 연산처리를 수행하는 프로세서이며, 변환행렬 추정부(37)에 의해 추정된 변환행렬(H)과, 미스매칭 점검 및 복원부(38)에 의해 검출된 복원정보 또는 신규 Tracker를 활용하여 제1 프레임(F1)의 특징점을 제2 프레임(F2)에 맵핑시킴으로써 맵핑영상(F’)을 생성한다.The image mapping unit 40 is a processor that performs the arithmetic processing of the image mapping step S120 of FIG. 3 described above, and the transformation matrix H estimated by the transformation matrix estimator 37 and the mismatching check and restoration The mapping image F' is generated by mapping the feature points of the first frame F1 to the second frame F2 using the restored information detected by the unit 38 or a new tracker.

이와 같이 본 발명의 일실시예인 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 SURF(Speed-Up Robust Features) 알고리즘 및 ANN(Approximate Nearest Neighbor) 탐색 알고리즘을 이용하여 입력된 두 프레임(F1), (F2)의 특징점들을 추출함과 동시에 정합하도록 구성됨으로써 회전 및 병진 성분을 모두 보상할 수 있을 뿐만 아니라 특징점 정합의 정확성 및 신뢰도를 높일 수 있게 된다.As described above, the SURF feature point tracking-based image stabilization method (S1), which is an embodiment of the present invention, uses two frames (F1) and (F2) input using a Speed-Up Robust Features (SURF) algorithm and an Approximate Nearest Neighbor (ANN) search algorithm. ) by extracting and matching the feature points at the same time, it is possible to compensate for both rotation and translation components, as well as to increase the accuracy and reliability of feature point matching.

또한 본 발명의 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 제1 미스매칭 판별단계(S70) 및 제1 미스매칭 복원단계(S80)를 통해 이전 프레임(F1)에서는 검출되었으나, 현재 프레임(F2)에서는 검출되지 않는 특징점이 존재하는 제1 오류가 발생할 때, 변환행렬 추정부에 의해 추정된 변환행렬(H)을 활용하여 해당 특징점의 위치(x, y)에 대응되는 제2 프레임(F2) 상의 위치(x’, y’)를 추출한 후, 해당 특징점의 위치(x, y) 및 제2 프레임의 위치(x’, y’)를 포함하는 복원정보를 생성하고, 생성된 복원정보가 칼만필터 업데이트 단계 (S110) 및 영상 맵핑단계(S120)에 활용되도록 구성됨으로써 특징점의 미스매칭 여부를 정확하게 판별하여 복원시켜 영상 안정화의 정확성을 높일 수 있다.In addition, the SURF feature point tracking-based image stabilization method (S1) of the present invention was detected in the previous frame (F1) through the first mismatch determination step (S70) and the first mismatch restoration step (S80), but the current frame (F2) When a first error in which a feature point that is not detected occurs in , the transformation matrix H estimated by the transformation matrix estimator is used in the second frame F2 corresponding to the position (x, y) of the corresponding feature point. After extracting the position (x', y'), restoration information including the position (x, y) of the corresponding feature point and the position (x', y') of the second frame is generated, and the generated restoration information is applied to the Kalman filter By being configured to be utilized in the update step (S110) and the image mapping step (S120), it is possible to accurately determine whether the feature points are mismatched and restore it, thereby increasing the accuracy of image stabilization.

또한 본 발명의 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 제2 미스매칭 판별단계(S90) 및 제2 미스매칭 복원단계(S100)를 통해 현재 프레임(F2)에서는 검출되었으나, 이전 프레임(F1)에서는 검출되지 않는 특징점이 존재하는 제2 오류가 발생할 때, 해당 특징점에 대응되는 신규 Tracker를 생성하고, 생성된 신규 Tracker가 칼만필터 업데이트 단계 (S110) 및 영상 맵핑단계(S120)에 활용되도록 구성됨으로써 영상 안정화의 정확성을 더욱 개선시킬 수 있게 된다.In addition, the SURF feature point tracking-based image stabilization method (S1) of the present invention is detected in the current frame (F2) through the second mismatch determination step (S90) and the second mismatch restoration step (S100), but the previous frame (F1) When a second error occurs in which a feature point that is not detected in , a new tracker corresponding to the feature point is generated, and the created new tracker is configured to be utilized in the Kalman filter update step (S110) and the image mapping step (S120). It is possible to further improve the accuracy of image stabilization.

또한 본 발명의 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 칼만필터 업데이트 단계(S110)가 변환행렬 추정단계(S60)에 의해 추정된 변환행렬(H)에 의한 특징점 정합과, 제1 미스매칭 복원단계(S80)에 의해 생성된 복원정보, 제2 미스매칭 복원단계(S100)에 의해 생성된 신규 Tracker가 반영되도록 칼만필터의 가중치(weight)를 업데이트 하도록 구성됨으로써 특징점 추적의 정확성 및 신뢰도를 극대화시킬 수 있게 된다.In addition, in the SURF feature point tracking-based image stabilization method (S1) of the present invention, the Kalman filter update step (S110) is the feature point matching by the transform matrix (H) estimated by the transform matrix estimation step (S60), and the first mismatch restoration It is configured to update the weight of the Kalman filter so that the restoration information generated by step S80 and the new tracker generated by the second mismatch restoration step S100 are reflected, thereby maximizing the accuracy and reliability of feature point tracking. be able to

S1:SURF 특징점 추적 기반 영상 안정화 방법
S10:프레임 입력단계 S20:SURF 특징점 추출단계
S21:적분영상 검출단계 S22:스케일 공간 생성단계
S23:특징점 후보군 선정단계 S24:주 방향 검출단계
S25:연산처리단계 S26:서술자 획득단계
S30:칼만필터 예측단계 S40:모션벡터 검출단계
S50:아웃라이어 필터링 단계 S60:변환행렬 추청단계
S70:제1 미스매칭 판별단계 S80:제1 미스매칭 복원단계
S90:제2 미스매칭 판별단계 S100:제2 미스매칭 복원단계
S110:칼만필터 업데이트 단계 S120:영상 맵핑단계
S1:SURF feature point tracking-based image stabilization method
S10: Frame input step S20: SURF feature point extraction step
S21: Integral image detection step S22: Scale space generation step
S23: feature point candidate group selection step S24: main direction detection step
S25: operation processing step S26: descriptor acquisition step
S30: Kalman filter prediction step S40: Motion vector detection step
S50: outlier filtering step S60: transformation matrix estimation step
S70: first mismatch determination step S80: first mismatch restoration step
S90: second mismatch determination step S100: second mismatch restoration step
S110: Kalman filter update step S120: Image mapping step

Claims (5)

카메라로부터 입력되는 영상의 특징점들을 추적하여 영상을 안정화시키기 위한 SURF 특징점 추적 기반 영상 안정화 방법(S1)에 있어서:
상기 SURF 특징점 추적 기반 영상 안정화 방법(S1)은
상기 카메라로부터 프레임을 입력받는 단계10(S10);
기 설정된 SURF(Speed-Up Robust Features) 알고리즘을 이용하여 상기 프레임 입력단계(S10)에 의해 입력된 프레임을 분석하여 특징점들을 추출하는 단계20(S20);
상기 단계20(S20)에 의해 추출된 특징점들에 칼만필터(Kalman filter)를 적용시켜 잡음을 제거하는 단계30(S30);
기 설정된 ANN(Approximate Nearest Neighbor) 탐색 알고리즘을 이용하여 상기 단계30(S30)에 의해 칼만필터를 통과한 현재프레임인 제2 프레임(F2)의 특징점들과 이전프레임인 제1 프레임(F1)의 특징점들 중 동일한 특징점은 남기고 동일하지 않은 특징점을 제거하여 특징점들을 정합한 후, 동일한 특징점들의 위치좌표의 비교를 통해 모션벡터를 검출하는 단계40(S40);
상기 단계40(S40)에 의해 검출된 모션벡터를 활용하여 제1, 2 프레임(F1), (F2) 간의 특징점 매칭의 대응 관계인 변환행렬((Homography, H)을 추정하는 단계60(S60);
상기 단계60(S60)에 의해 추정된 변환행렬(H)을 활용하여 제1 프레임(F1)의 특징점을 제2 프레임(F2)에 맵핑시킨 맵핑영상(F’)을 생성하는 단계120(S120)을 포함하고,
상기 SURF 특징점 추적 기반 영상 안정화 방법(S1)은
상기 단계60(S60) 이후에 진행되며, 제1 프레임(F1)에서 검출된 특징점들과 제2 프레임(F2)에서 검출된 특징점들을 비교하여 제1 프레임(F1)에서는 검출되었으나, 제2 프레임(F2)에서는 검출되지 않은 특징점인 제1 미스매칭점이 존재하는 제1 오류가 발생하는지를 판별하는 단계70(S70);
상기 단계70(S70)에서 제1 오류가 발생하였다고 판단될 때 진행되며, 제1 미스매칭점의 제1 프레임(F1) 상에서의 위치(x, y)에 상기 단계60(S60)에 의해 추정된 변환행렬(H)을 적용시켜 제1 미스매칭점의 제2 프레임(F) 상의 위치(x’, y’)를 추출하며, 해당 제1 미스매칭점의 (x, y), (x’, y’) 좌표를 포함하는 복원정보를 생성하는 단계80(S80)을 더 포함하고,
상기 단계120(S120)은 맵핑영상 생성 시, 상기 단계80(S80)에 의해 생성된 복원정보를 활용하는 것을 특징으로 하는 SURF 특징점 추적 기반 영상 안정화 방법(S1).
In the image stabilization method (S1) based on SURF feature point tracking for stabilizing an image by tracking feature points of an image input from a camera:
The SURF feature point tracking-based image stabilization method (S1) is
Step 10 (S10) of receiving a frame from the camera;
Step 20 (S20) of extracting feature points by analyzing the frame input by the frame input step (S10) using a preset SURF (Speed-Up Robust Features) algorithm;
a step 30 (S30) of removing noise by applying a Kalman filter to the feature points extracted by the step 20 (S20);
Feature points of the second frame F2 that is the current frame that has passed the Kalman filter by the step 30 (S30) using a preset Approximate Nearest Neighbor (ANN) search algorithm and the feature points of the first frame F1 that is the previous frame Step 40 (S40) of detecting a motion vector by comparing the positional coordinates of the same feature points after matching the feature points by removing the feature points that are not identical while leaving the same feature points;
Step 60 (S60) of estimating a transformation matrix ((Homography, H) that is a corresponding relation of feature point matching between the first and second frames (F1) and (F2) by using the motion vector detected in step 40 (S40);
Step 120 (S120) of generating a mapping image F′ in which the feature points of the first frame F1 are mapped to the second frame F2 by using the transformation matrix H estimated in step 60 (S60) including,
The SURF feature point tracking-based image stabilization method (S1) is
It proceeds after step 60 (S60), and is detected in the first frame F1 by comparing the feature points detected in the first frame F1 with the feature points detected in the second frame F2, but is detected in the second frame ( In F2), a step 70 (S70) of determining whether a first error occurs in which a first mismatch point, which is a feature point that is not detected, occurs;
It proceeds when it is determined that the first error has occurred in step 70 (S70), and the position (x, y) of the first mismatch point on the first frame F1 is estimated by step 60 (S60). By applying the transformation matrix (H), the position (x', y') of the first mismatch point on the second frame (F) is extracted, and (x, y), (x', y') further comprising a step 80 (S80) of generating restoration information including coordinates,
The step 120 (S120) is a SURF feature point tracking-based image stabilization method (S1), characterized in that the restoration information generated by the step 80 (S80) is utilized when the mapping image is generated.
삭제delete 제1항에 있어서, 상기 SURF 특징점 추적 기반 영상 안정화 방법(S1)은
상기 단계70(S70) 또는 상기 단계80(S80) 이후에 진행되며, 제1 프레임(F1)에서 검출된 특징점들과 제2 프레임(F2)에서 검출된 특징점들을 비교하여 제2 프레임(F2)에서는 검출되었으나, 제1 프레임(F1)에서는 검출되지 않은 특징점인 제2 미스매칭점이 존재하는 제2 오류가 발생하는지를 판별하는 단계90(S90);
상기 단계90(S90)에서 제2 오류가 발생하였다고 판단될 때 진행되며, 제2 미스매칭점에 대응되는 신규 Tracker를 생성하는 단계100(S100)을 더 포함하고,
상기 단계120(S120)은 맵핑영상 생성 시, 상기 단계100(S100)에 의해 생성된 신규 Tracker를 활용하는 것을 특징으로 하는 SURF 특징점 추적 기반 영상 안정화 방법(S1).
According to claim 1, wherein the SURF feature point tracking-based image stabilization method (S1)
It proceeds after the step 70 (S70) or the step 80 (S80), and compares the feature points detected in the first frame F1 with the feature points detected in the second frame F2 in the second frame F2. Step 90 (S90) of determining whether a second error occurs in which a second mismatch point, which is a feature point that is detected but not detected in the first frame F1, occurs;
It proceeds when it is determined that a second error has occurred in the step 90 (S90), further comprising a step 100 (S100) of generating a new tracker corresponding to the second mismatch point,
The step 120 (S120) is a SURF feature point tracking-based image stabilization method (S1), characterized in that the new tracker generated by the step 100 (S100) is used when the mapping image is generated.
제3항에 있어서, 상기 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 상기 단계90(S90) 또는 상기 단계100(S100) 이후에 진행되는 단계110(S110)을 더 포함하고,
상기 단계110(S110)은
상기 단계60(S60)에 의한 변환행렬(H)에 의한 특징점 정합과, 상기 단계80(S80)에 의해 생성된 복원정보, 상기 단계100(S100)에 의해 생성된 신규 Tracker가 반영되도록 칼만필터의 가중치(weight)를 업데이트 하는 것을 특징으로 하는 SURF 특징점 추적 기반 영상 안정화 방법(S1).
The method of claim 3, wherein the SURF feature point tracking-based image stabilization method (S1) further comprises a step 110 (S110) performed after the step 90 (S90) or the step 100 (S100),
The step 110 (S110) is
Kalman filter so that the feature point matching by the transformation matrix (H) by the step 60 (S60), the restoration information generated by the step 80 (S80), and the new tracker generated by the step 100 (S100) are reflected SURF feature point tracking-based image stabilization method (S1), characterized in that the weight (weight) is updated.
제4항에 있어서, 상기 SURF 특징점 추적 기반 영상 안정화 방법(S1)은 상기 단계40(S40) 이후에 진행되는 단계50(S50)을 더 포함하고,
상기 단계50(S50)은
상기 단계40(S40)에 의해 검출된 모션벡터들 각각의 에러값을 산출한 후, 산출된 에러값이 설정값(TH, Threshold) 이상이면 해당 값을 아웃라이어(Outlier)로 판단하여 제거하는 것을 특징으로 하는 SURF 특징점 추적 기반 영상 안정화 방법(S1).
5. The method of claim 4, wherein the SURF feature point tracking-based image stabilization method (S1) further comprises a step 50 (S50) performed after the step 40 (S40),
The step 50 (S50) is
After calculating the error value of each of the motion vectors detected in step 40 (S40), if the calculated error value is greater than or equal to the set value (TH, Threshold), the value is determined as an outlier and removed SURF feature point tracking-based image stabilization method (S1) characterized.
KR1020200043789A 2020-04-10 2020-04-10 Video stabilization method based on SURF for enhancing accuracy and reliability KR102313795B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200043789A KR102313795B1 (en) 2020-04-10 2020-04-10 Video stabilization method based on SURF for enhancing accuracy and reliability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200043789A KR102313795B1 (en) 2020-04-10 2020-04-10 Video stabilization method based on SURF for enhancing accuracy and reliability

Publications (1)

Publication Number Publication Date
KR102313795B1 true KR102313795B1 (en) 2021-10-18

Family

ID=78271197

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200043789A KR102313795B1 (en) 2020-04-10 2020-04-10 Video stabilization method based on SURF for enhancing accuracy and reliability

Country Status (1)

Country Link
KR (1) KR102313795B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100107594A (en) * 2009-03-26 2010-10-06 고려대학교 산학협력단 Apparatus and method for image stabilization using adaptive kalman filter
KR20160113887A (en) * 2015-03-23 2016-10-04 한화테크윈 주식회사 Method and Device for dewobbling scene
KR20170033126A (en) * 2015-09-16 2017-03-24 한화테크윈 주식회사 Method and apparatus of estimating a motion of an image, method and apparatus of image stabilization and computer-readable recording medium for executing the method
WO2018079490A1 (en) * 2016-10-24 2018-05-03 国立大学法人東京工業大学 Image generation device and image generation program
KR101851896B1 (en) * 2017-05-10 2018-06-08 중앙대학교 산학협력단 Method and apparatus for video stabilization using feature based particle keypoints

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100107594A (en) * 2009-03-26 2010-10-06 고려대학교 산학협력단 Apparatus and method for image stabilization using adaptive kalman filter
KR20160113887A (en) * 2015-03-23 2016-10-04 한화테크윈 주식회사 Method and Device for dewobbling scene
KR20170033126A (en) * 2015-09-16 2017-03-24 한화테크윈 주식회사 Method and apparatus of estimating a motion of an image, method and apparatus of image stabilization and computer-readable recording medium for executing the method
WO2018079490A1 (en) * 2016-10-24 2018-05-03 国立大学法人東京工業大学 Image generation device and image generation program
KR101851896B1 (en) * 2017-05-10 2018-06-08 중앙대학교 산학협력단 Method and apparatus for video stabilization using feature based particle keypoints

Similar Documents

Publication Publication Date Title
US11302315B2 (en) Digital video fingerprinting using motion segmentation
US9330471B2 (en) Camera aided motion direction and speed estimation
US9947077B2 (en) Video object tracking in traffic monitoring
US10957068B2 (en) Information processing apparatus and method of controlling the same
Chekhlov et al. Real-time and robust monocular SLAM using predictive multi-resolution descriptors
Pretto et al. A visual odometry framework robust to motion blur
JP3576987B2 (en) Image template matching method and image processing apparatus
JP2007535765A (en) Simultaneous positioning and mapping using multi-view feature descriptors
CN108369739B (en) Object detection device and object detection method
US10861185B2 (en) Information processing apparatus and method of controlling the same
CN104574401A (en) Image registration method based on parallel line matching
JP6750385B2 (en) Image processing program, image processing method, and image processing apparatus
CN113129332A (en) Method and apparatus for performing target object tracking
Montibeller et al. GPU-accelerated SIFT-aided source identification of stabilized videos
JP2004012429A (en) Self-position/attitude identification device and self-position/attitude identification method
KR102313795B1 (en) Video stabilization method based on SURF for enhancing accuracy and reliability
KR102173244B1 (en) Video stabilization system based on SURF
CN113409353A (en) Motion foreground detection method and device, terminal equipment and storage medium
Zhou et al. Detection of moving targets with a moving camera
Lehiani et al. Object identification and tracking for steady registration in mobile augmented reality
Pae et al. Advanced digital image stabilization using similarity-constrained optimization
Sotnikov et al. Algorithm for stabilizing video images
Verma et al. SURF–MSER Based 3D Mapping Using RGB-D Camera on Automated Vehicle
Balachandran et al. A novel block based triangulation method to improve video stabilization
WO2024009377A1 (en) Information processing device, self-position estimation method, and non-transitory computer-readable medium

Legal Events

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