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 PDFInfo
- 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
Links
- 230000006641 stabilisation Effects 0.000 title claims abstract description 61
- 238000011105 stabilization Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000002708 enhancing effect Effects 0.000 title 1
- 239000011159 matrix material Substances 0.000 claims abstract description 52
- 230000009466 transformation Effects 0.000 claims abstract description 39
- 238000013507 mapping Methods 0.000 claims abstract description 30
- 230000033001 locomotion Effects 0.000 claims description 58
- 239000013598 vector Substances 0.000 claims description 40
- 238000010845 search algorithm Methods 0.000 claims description 11
- 230000000087 stabilizing effect Effects 0.000 claims description 2
- 230000001965 increasing effect Effects 0.000 abstract description 5
- 238000001514 detection method Methods 0.000 description 23
- 238000000605 extraction Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 238000001914 filtration Methods 0.000 description 8
- 239000002245 particle Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000009499 grossing 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/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G06T5/002—
-
- 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
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
Description
본 발명은 정확성 및 신뢰도를 높인 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
특징점 추적부(110)는 입력받은 원본영상을 구성하는 복수의 영상프레임 중 참조 영상프레임으로부터 특징점을 추출한 후, 참조 영상프레임에 시간적으로 연속하는 현재 영상프레임 상에서 특징점에 대응하는 대응점을 탐색한다.The feature
단위 움직임 측정부(122)는 참조 영상프레임과 현재 영상프레임 사이의 영상프레임에 대해 시간적으로 인접한 영상프레임들 사이의 움직임인 단위 움직임을 측정한다.The unit
전역 움직임 측정부(124)는 단위 움직임을 누적하여 현재 영상프레임에 대한 전역 움직임을 측정한다.The global
이득 조정부(126)는 측정시간 동안 입력되는 복수개의 영상프레임에 대해 각각 측정된 단위 움직임의 부호가 변화되는 빈도수에 따라 칼만필터의 이득을 결정한다.The gain adjusting
칼만필터부(128)는 전역 움직임으로부터 잡음 성분이 제거된 의도적 움직임을 추정한다.The Kalman
움직임 보상부(130)는 전역 움직임 및 상기 의도적 움직임의 차에 의해 잡음 성분을 나타내는 비의도적 움직임을 산출하며, 현재 영상프레임에 대해 비의도적 움직임을 보상하여 결과 영상프레임을 생성한다.The
이와 같이 구성되는 제2 종래기술(100)은 참조 영상프레임으로부터 추출된 특징점 및 그에 대응하는 대응점을 이용하여 영상의 움직임을 추정함으로써, 영상에 나타난 움직임의 평행방향으로의 병진 성분뿐만 아니라 회전 성분도 보상할 수 있으며, 의도적 움직임 추정 시 영상프레임에 대한 단위 움직임의 부호 변화 빈도수에 대응되는 칼만필터를 사용함으로써 의도적 움직임을 정확하게 추정할 수 있는 장점을 갖는다.The second
그러나 제2 종래기술(100)은 특징점 추적부(110)가 시간적으로 연속하는 프레임들의 특징점을 추출하여 이들의 특징점의 비교를 통해 움직임을 추정하는 것이 아니라, 참조 영상프레임의 특징점을 추출한 후, 참조 영상프레임에 시간적으로 연속하는 프레임들 상에서 특징점에 대응되는 대응점의 탐색을 통해 움직임을 추정하도록 구성되었기 때문에 연산처리량 및 연산처리시간이 증가하는 단점을 갖는다.However, in the second
또한 제2 종래기술(100)은 프레임들 간의 스케일(scale)이나 회전이 변하여 특징점들의 스케일 및 회전이 변할 때, 이들의 기술자들이 스케일 및 회전 특성을 고려하지 못하기 때문에 특징점들을 정확하게 매칭시키지 못하는 문제점이 발생한다.In addition, in the second
또한 제2 종래기술(100)은 제1 종래기술(S900)과 마찬가지로, 이전 프레임에는 검출되었으나 현재 프레임에는 검출되지 않는 특징점이 검출되는 오류가 발생하거나 또는 재 프레임에는 검출되었으나 이전 프레임에는 검출되지 않는 특징점이 검출되는 오류가 발생할 때, 이에 대한 오류를 해결하기 위한 기술 및 방법이 전혀 기재되어 있지 않기 때문에 특징점 추적의 정확성 및 신뢰도가 떨어지는 단점을 갖는다.Also, in the second
본 발명은 이러한 문제를 해결하기 위한 것으로, 본 발명의 해결과제는 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
이때, 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).
이때, 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
다시 말하면, 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()와 쿼리(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( ) 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.
이때, ‘’는 제1 프레임(F1)의 특징점의 위치좌표이고, ‘’는 제2 프레임(F2)의 특징점의 위치좌표이고, 변환행렬’H’의 ‘’는 어떤 회전각으로 회전할지를 나타내는 회전(rotation) 정보와, x,y,z 방향으로 얼마만큼 이동할지를 나타내는 평행이동(translation) 정보, x,y,z 방향으로 얼마만큼 크기를 변화시킬지를 나타내는 크기 변환(scaling) 정보를 포함한다.At this time, ' ' is the position coordinate of the feature point of the first frame F1, and ' ' is the position coordinate of the feature point of the second frame F2, and ' of the transformation matrix 'H' ' 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
또한 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
제어부(30)는 SURF 특징점 추적 기반 영상 안정화 시스템(1)의 O.S(Operating System)이며, 제어대상(31), (32), (33), (34), (35), (36), (37), (38), (39), (40)들의 동작을 관리 및 제어한다.The
또한 제어부(30)는 데이터 입출력부(32)를 통해 입력된 인접한 프레임(F1), (F2)들을 SURF 특징점 추출부(33)로 입력함과 동시에 메모리(31)에 임시 저장한다.Also, the
또한 제어부(30)는 칼만필터 업데이트부(39)에 의해 업데이트된 칼만필터를 메모리(31)에 저장한다.In addition, the
메모리(31)에는 영상맵핑부(40)에 의해 생성된 맵핑영상이 저장된다.The
또한 메모리(31)에는 칼만필터 업데이트부(39)에 의해 업데이트 된 칼만필터가 저장된다.In addition, the Kalman filter updated by the Kalman
또한 메모리(31)에는 기 설정된 SURF 알고리즘이 적용된다.In addition, a preset SURF algorithm is applied to the
또한 메모리(31)에는 기 설정된 ANN(Approximate Nearest Neighbor) 탐색 알고리즘이 저장된다.Also, a preset Approximate Nearest Neighbor (ANN) search algorithm is stored in the
데이터 입출력부(32)는 외부 장치와 데이터를 입출력한다.The data input/
SURF 특징점 추출부(33)는 전술하였던 도 3과 6의 SURF 특징점 추출단계(S20)의 연산처리를 수행하는 프로세서이며, 상세하게로는 기 설정된 SURF 알고리즘을 이용하여 데이터 입출력부(32)를 통해 입력된 두 프레임(F1), (F2)들 각각에 대한 크기 및 회전 불변의 특징점(Features) 후보군들을 추출한다.The SURF feature
칼만필터부(34)는 전술하였던 도 3의 칼만필터 예측단계(S30)의 연산처리를 수행하는 프로세서이며, 상세하게로는 SURF 특징점 추출부(33)에 의해 추출된 특징점들에 기 설정된 칼만필터를 적용시킴으로써 각 특징점에 대한 떨림 등의 잡음 성분이 제거된 특징벡터를 획득한다.The
모션벡터 검출부(35)는 전술하였던 도 3의 모션벡터 검출단계(S40)의 연산처리를 수행하는 프로세서이며, 상세하게로는 SURF 특징점 검출모듈(33) 및 칼만필터부(34)에 의해 검출된 두 프레임(F1), (F2)의 특징점인 총 64차원의 서술자 벡터가 가지고 있는 방향 및 크기정보를 비교해서 동일한 특징점은 남기고 동일하지 않은 특징점은 제거한 후, 동일한 특징점들의 위치좌표의 비교를 통해 모션벡터(Motion vector)를 검출한다.The motion
아웃라이어 필터링부(36)는 전술하였던 도 3의 아웃라이어 필터링 단계(S50)의 연산처리를 수행하는 프로세서이며, 상세하게로는 모션벡터 검출부(35)에 의해 검출된 모션벡터(MV)들 각각의 에러값을 산출한 후, 산출된 에러값이 설정값(TH, Threshold) 이상이면 해당 값을 아웃라이어(Outlier)로 판단하여 이를 제거한다.The
변환행렬 추정부(37)는 전술하였던 도 3의 변환행렬 추정단계(S60)의 연산처리를 수행하는 프로세서이며, 상세하게로는 아웃라이어 필터링부(36)에 의해 아웃라이어가 제거된 모션벡터들을 활용하여, 두 프레임(F1), (F2)의 특징점 매칭의 대응 관계인 변환행렬(Homography, H)을 추정한다.The transformation
미스매칭 점검 및 복원부(38)는 전술하였던 도 3의 제1 미스매칭 판별단계(S70), 제1 미스매칭 복원단계(S80), 제2 미스매칭 판별단계(S90) 및 제2 미스매칭 복원단계(S100)의 연산처리를 수행하는 프로세서이며, 상세하게로는 전술하였던 제1 미스매칭점이 검출될 때, 제1 미스매칭점에 대한 복원정보를 생성함과 동시에 제2 미스매칭점이 검출될 때, 제2 미스매칭점에 대응되는 신규 Tracker를 생성한다.The mismatch check and restore
칼만필터 업데이트부(39)는 전술하였던 도 3의 칼만필터 업데이트 단계(S110)의 연산처리를 수행하는 프로세서이며, 상세하게로는 변환행렬 추정부(37)에 의해 추정된 변환행렬(H)에 의한 특징점 정합과, 미스매칭 점검 및 복원부(38)에 의해 생성된 복원정보 또는 신규 Tracker가 반영되도록 칼만필터의 가중치(weight)를 업데이트 한다.The Kalman
영상맵핑부(40)는 전술하였던 도 3의 영상 맵핑단계(S120)의 연산처리를 수행하는 프로세서이며, 변환행렬 추정부(37)에 의해 추정된 변환행렬(H)과, 미스매칭 점검 및 복원부(38)에 의해 검출된 복원정보 또는 신규 Tracker를 활용하여 제1 프레임(F1)의 특징점을 제2 프레임(F2)에 맵핑시킴으로써 맵핑영상(F’)을 생성한다.The
이와 같이 본 발명의 일실시예인 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)은
상기 카메라로부터 프레임을 입력받는 단계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.
상기 단계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.
상기 단계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.
상기 단계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.
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)
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 |
-
2020
- 2020-04-10 KR KR1020200043789A patent/KR102313795B1/en active IP Right Grant
Patent Citations (5)
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 |