KR102532019B1 - Method for high speed video object tracking based on snake and optical flow, recording medium and device for performing the method - Google Patents
Method for high speed video object tracking based on snake and optical flow, recording medium and device for performing the method Download PDFInfo
- Publication number
- KR102532019B1 KR102532019B1 KR1020200182755A KR20200182755A KR102532019B1 KR 102532019 B1 KR102532019 B1 KR 102532019B1 KR 1020200182755 A KR1020200182755 A KR 1020200182755A KR 20200182755 A KR20200182755 A KR 20200182755A KR 102532019 B1 KR102532019 B1 KR 102532019B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- snake
- optical flow
- point
- contour
- Prior art date
Links
- 241000270295 Serpentes Species 0.000 title claims abstract description 142
- 230000003287 optical effect Effects 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000000926 separation method Methods 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 2
- 238000000605 extraction Methods 0.000 abstract description 19
- 238000004422 calculation algorithm Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000009826 distribution Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000033001 locomotion Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 244000025254 Cannabis sativa Species 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000009833 condensation Methods 0.000 description 1
- 230000005494 condensation Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 210000004185 liver Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011158 quantitative evaluation Methods 0.000 description 1
- 238000011410 subtraction method Methods 0.000 description 1
- 230000001131 transforming effect Effects 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/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G06T5/002—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20116—Active contour; Active surface; Snakes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법은, 초고속 촬영된 동영상으로부터 관심 대상인 객체의 윤곽을 설정하여 초기 스네이크 점을 계산하는 단계; 상기 동영상의 n번 째 프레임과 n+1번 째 프레임간의 옵티컬 플로우를 진행하여 특징점을 생성하는 단계; n번 째 프레임과 n+1번 째 프레임간의 전배경 분리 영상과 차영상을 활용하여 탐색할 객체 영역을 선택하는 단계; 상기 전배경 분리 영상과 상기 차영상을 통해 생성된 객체 영역 및 n+1번 째 옵티컬 플로우 특징점 간의 위치를 비교하여 n+1번 째 프레임에서 객체의 윤곽선의 위치 정보 오차를 조정하는 단계; 및 오차가 조정된 특징점을 n+1번 째 프레임의 스네이크 점으로 변환하여 객체의 윤곽선을 추출하는 단계;를 포함한다. 이에 따라, 윤곽선 추출 정확도를 높임으로써 객체 윤곽선 추출 효율을 높일 수 있다.An ultra-high-speed moving picture object tracking method based on snake and optical flow includes the steps of calculating an initial snake point by setting the outline of an object of interest from a high-speed captured moving picture; generating feature points by performing an optical flow between the n-th frame and the n+1-th frame of the video; selecting an object region to be searched for by utilizing a previous background separation image and a difference image between the n-th frame and the n+1-th frame; adjusting positional information errors of object outlines in the n+1 th frame by comparing positions between the previous background separation image and the object region generated from the difference image and the n+1 th optical flow feature point; and extracting the outline of the object by converting the error-adjusted feature points into snake points of the n+1th frame. Accordingly, object contour extraction efficiency may be increased by increasing contour extraction accuracy.
Description
본 발명은 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법, 이를 수행하기 위한 기록 매체 및 장치에 관한 것으로서, 더욱 상세하게는 초고속 카메라로 촬영된 동영상에서 움직이는 객체를 스네이크 모델과 옵티컬 플로우를 활용하여 분할하고 윤곽선을 추적하는 기술에 관한 것이다.The present invention relates to a method for tracking a high-speed video object based on a snake and an optical flow, a recording medium and an apparatus for performing the same, and more particularly, to segment a moving object in a video captured by a high-speed camera using a snake model and an optical flow and the technique of tracing the outline.
영상 분할(Image segmentation)은 영상 내의 관심대상이 되는 객체를 배경으로 판정되는 영역과 분리하여 분석, 분류하고 응용하는 기술이다. 영상을 해석하기 위해 필요한 데이터 양을 줄이거나 영상의 특징들을 정합하여 객체를 인식하는 분야이다. 동영상 객체 분할(Video object segmentation) 분야는 영상 분할이 확장되어 동영상에서의 관심대상 객체를 인식하고, 그 영역을 분할시키는 것으로써 나타나게 되었다.Image segmentation is a technique of analyzing, classifying, and applying an object of interest in an image by separating it from a region determined as a background. This is the field of recognizing objects by reducing the amount of data required to interpret an image or matching the features of the image. The field of video object segmentation has emerged by recognizing an object of interest in a video and segmenting the area as video segmentation has been expanded.
동영상에서의 객체 추적 시스템은 모션 캡쳐, 보안 감시 시스템 등에서 널리 응용되어 왔으며, 현재에는 영상 촬영 기술이 발달함에 따라 촬영 영상에 잡음이 발생하지 않으면서 고해상도의 화질로 촬영이 가능하게 되면서 객체 추적 방법들도 여러 방면에서 더 나은 방법들로써 연구되어왔다. The object tracking system in video has been widely applied in motion capture, security monitoring systems, etc. Currently, with the development of video recording technology, it is possible to capture high-resolution images without noise in the captured images, and object tracking methods have been developed. It has also been studied in many ways as better methods.
이러한 동영상에서의 객체를 인식하고 추적하는 분야는 일반적인 속도의 동영상에서의 활용을 바탕으로 이루어져왔으나, 초고속 카메라의 발달과 활용도가 높아지면서 그에 관련한 연구들도 스포츠, 군사, 과학실험 분야 등에서 활발히 이뤄지고 있다. 특히, 초고속 촬영 기능이 스마트폰에도 내장될 정도로 초고속 카메라의 기계적 한계점들이 사라져가고 있는 시점에서 그 분야의 확장이 최근에는 더욱 커지고 있는 상황이다.The field of recognizing and tracking objects in these videos has been based on the use of normal speed videos, but as the development and utilization of ultra-high-speed cameras increases, related studies are also being actively conducted in the fields of sports, military, and scientific experiments. . In particular, at a time when the mechanical limitations of ultra-high-speed cameras are disappearing to the extent that ultra-high-speed shooting functions are built into smartphones, the expansion of the field is growing more recently.
최근까지도 많은 추적 알고리즘들이 연구되어 왔으며, 크게 네 가지 분류로 나눌 수 있다. 1) 형태 정보(Shape information) 객체 추적 방법 2) 영역 기반 객체 추적 방법(Region-based object tracking) 3) 적응적 배경 생성 방법(Adaptive background generation) 4) 배경 차분 방법(background subtraction)이 있다. Until recently, many tracking algorithms have been studied, and they can be largely divided into four categories. There are 1) shape information object tracking method 2) region-based object tracking method 3) adaptive background generation method 4) background subtraction method.
이 중 형태 정보를 활용한 방법은 객체의 형태를 추출한 후 추적 및 분석하는 방법으로써 불완전하거나 잡음이 들어간 영상에서도 객체의 윤곽을 정합하여 추출하며 적은 화소로 객체를 표현할 수 있다. 또한, 객체의 폐색(Occlusion) 현상 등을 해결 할 수 있다는 장점이 있다. Among them, the method using shape information is a method of tracking and analyzing after extracting the shape of an object, and can match and extract the outline of an object even in an incomplete or noisy image and express the object with fewer pixels. In addition, there is an advantage in that it can solve the occlusion phenomenon of the object.
그러나, 정형 객체에 대해서는 그 장점들이 인정받고 있으나 비정형 객체의 이동 정보나 변화를 예측하기 어렵다. 마찬가지로, 움직이는 객체의 정확한 윤곽 추출이나 사람의 동작같이 복잡한 형태의 경우에는 예측하기 어렵다. 또한, 관심대상 객체의 훈련 집합을 만들어야만 하고 빠른 속도로 동영상 내 객체를 추적하기에는 한계점들이 많은 방법이다.However, it is difficult to predict the movement information or change of an unstructured object, although its advantages are recognized for structured objects. Similarly, it is difficult to predict in the case of complex shapes such as accurate contour extraction of a moving object or human motion. In addition, it is necessary to create a training set of objects of interest, and it is a method with many limitations in tracking objects in a video at high speed.
결국, 비정형 모델 혹은 변형 가능한 모델을 이용한 분할 및 추적 시스템은 객체의 변형에 강건하며 폐색 현상 등을 극복할 수 있는 기능이 요구된다. 이는 템플릿(Template)이나 색상분포를 활용한 영역 기반 방법에서도 좋은 결과를 보이지만 템플릿이나 색상 분포 방법들은 복잡한 전처리 과정이 요구된다. As a result, a segmentation and tracking system using an atypical model or a deformable model requires a function that is robust to object deformation and can overcome occlusion. This shows good results even in area-based methods using templates or color distribution, but templates or color distribution methods require complicated preprocessing.
형태 기반 방법은 객체 정보를 사전에 학습하여 학습 집합을 얻고 객체의 윤곽과 가장 근접한 위치로 학습 집합을 투영시킨다. 이러한 방법을 기반으로 응축 알고리즘(Condensation algorithm), 능동형태 모델(Active shape model; ASM), 윤곽기반 방법(Contour-based method) 등이 있다. The shape-based method learns object information in advance to obtain a learning set and projects the learning set to the position closest to the contour of the object. Based on this method, there are a condensation algorithm, an active shape model (ASM), and a contour-based method.
비정형 객체의 효율적인 추적 방법은 ASM이 대표적이다. 그러나, ASM은 초기 훈련집합의 기준점에 따라 principal component analysis(PCA) 값이 달라진다. 이는 부정합된 객체 형태를 초래한다는 단점이 있으며 계산 시간 또한 많이 소요된다는 단점이 있다.ASM is a representative method for efficient tracking of unstructured objects. However, in ASM, the principal component analysis (PCA) value varies according to the reference point of the initial training set. This has the disadvantage of causing mismatched object shapes and also has the disadvantage of requiring a lot of calculation time.
다른 방법으로써 대두되며 영상 분할에 많이 활용되는 능동윤곽모델(Acitve contour model; ACM)은 객체의 윤곽 에너지 정보를 바탕으로 객체의 윤곽을 찾아내는 방법이다. 이 방법은 Kass 등[선행기술문헌의 비특허문헌 1]에 의해 처음으로 제안되었으며, 이를 개선한 여러 스네이크 알고리즘들이 제안되어 현재에 이르러서도 다양한 분야에서 활용되고 있다. Active contour model (ACM), which has emerged as another method and is widely used in image segmentation, is a method of finding the contour of an object based on the contour energy information of the object. This method was first proposed by Kass et al. [
이 방법의 장점은 타 방법들보다 간단하며 그에 비견되는 비정형 객체 분할에 효율성을 보여준다는 것이다. 이러한 장점으로써 의료, 로봇, 추적 시스템, 얼굴 인식 등과 같은 여러 영상 분야에서 활용되고 있다. 그러나, 객체 주변 에너지에 의한 영향을 받으며 전처리가 없이는 배경의 복잡할수록 분할이 어려워지는 한계점이 있다. The advantage of this method is that it is simpler than other methods and shows efficiency in segmenting unstructured objects comparable to it. Due to these advantages, it is used in various imaging fields such as medical, robot, tracking system, and face recognition. However, it is affected by the energy around the object and has a limit in that the more complex the background, the more difficult it is to segment without preprocessing.
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법을 제공하는 것이다.Accordingly, the technical problem of the present invention is conceived in this respect, and an object of the present invention is to provide a high-speed video object tracking method based on snake and optical flow.
본 발명의 다른 목적은 상기 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록 매체를 제공하는 것이다.Another object of the present invention is to provide a recording medium on which a computer program for performing the snake and optical flow-based high-speed video object tracking method is recorded.
본 발명의 또 다른 목적은 상기 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법을 수행하기 위한 장치를 제공하는 것이다.Another object of the present invention is to provide an apparatus for performing the high-speed video object tracking method based on the snake and the optical flow.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법은, 초고속 촬영된 동영상으로부터 관심 대상인 객체의 윤곽을 설정하여 초기 스네이크 점을 계산하는 단계; 상기 동영상의 n번 째 프레임과 n+1번 째 프레임간의 옵티컬 플로우를 진행하여 특징점을 생성하는 단계; n번 째 프레임과 n+1번 째 프레임간의 전배경 분리 영상과 차영상을 활용하여 탐색할 객체 영역을 선택하는 단계; 상기 전배경 분리 영상과 상기 차영상을 통해 생성된 객체 영역 및 n+1번 째 옵티컬 플로우 특징점 간의 위치를 비교하여 n+1번 째 프레임에서 객체의 윤곽선의 위치 정보 오차를 조정하는 단계; 및 오차가 조정된 특징점을 n+1번 째 프레임의 스네이크 점으로 변환하여 객체의 윤곽선을 추출하는 단계;를 포함한다.A high-speed video object tracking method based on a snake and an optical flow according to an embodiment for realizing the above object of the present invention includes setting the outline of an object of interest from a high-speed captured video and calculating an initial snake point; generating feature points by performing an optical flow between the n-th frame and the n+1-th frame of the video; selecting an object region to be searched for by utilizing a previous background separation image and a difference image between the n-th frame and the n+1-th frame; adjusting positional information errors of object outlines in the n+1 th frame by comparing positions between the previous background separation image and the object region generated from the difference image and the n+1 th optical flow feature point; and extracting the outline of the object by converting the error-adjusted feature points into snake points of the n+1th frame.
본 발명의 실시예에서, 상기 탐색할 객체 영역을 선택하는 단계는, n번 째 프레임과 n+1번 째 프레임간의 전배경 분리 영상을 생성하여 윤곽선 정보를 획득하는 단계; n번 째 프레임과 n+1번 째 프레임간의 차영상을 생성하여 추가적인 윤곽선 정보를 획득하는 단계; 및 차영상과 전배경 분리 영상의 공통된 객체 윤곽선 주변을 탐색할 객체 영역으로 선택하는 단계;를 포함할 수 있다.In an embodiment of the present invention, the selecting of the object region to be searched may include generating a front-background separation image between the n-th frame and the n+1-th frame to obtain contour line information; obtaining additional contour information by generating a difference image between the n-th frame and the n+1-th frame; and selecting, as an object region to be searched, a periphery of a common object contour of the difference image and the separated former background image.
본 발명의 실시예에서, 상기 차영상을 생성하여 추가적인 윤곽선 정보를 획득하는 단계는, n번 째 프레임과 n+1번 째 프레임 간의 차영상 계산을 진행하며 잡음 생성을 방지하기 위해서 미리 설정된 임계값보다 차이가 큰 영역에 대해서만 계산을 진행할 수 있다.In an embodiment of the present invention, the step of generating the difference image and obtaining additional contour information may include calculating a difference image between the n-th frame and the n+1-th frame, and using a preset threshold to prevent noise generation Calculation can be performed only for regions with a larger difference.
본 발명의 실시예에서, 상기 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법은, 상기 스네이크 점으로 변환하여 객체의 윤곽선을 추출하는 단계를 다수번 반복하는 단계;를 더 포함할 수 있다.In an embodiment of the present invention, the method for tracking a high-speed video object based on the snake and optical flow may further include repeating the step of extracting the outline of the object by converting it into the snake point a number of times.
본 발명의 실시예에서, 상기 윤곽선의 위치 정보 오차를 조정하는 단계는, 특징점과 객체 영역 사이의 거리가 미리 설정된 임계값 보다 큰 경우, 특징점의 위치를 재조정할 수 있다.In an embodiment of the present invention, in the step of adjusting the location information error of the contour, when the distance between the feature point and the object region is greater than a preset threshold value, the position of the feature point may be readjusted.
본 발명의 실시예에서, 상기 초기 스네이크 점을 계산하는 단계는, 동영상 시퀀스에서 첫 번째 프레임(n = 0)에 대해서 객체를 분할하는 단계; 분할된 객체의 윤곽 정보를 스네이크 점으로 활용하는 단계; 및 상기 스네이크 점을 특징점으로써 설정하여 스네이크 점을 초기화하는 단계;를 포함할 수 있다.In an embodiment of the present invention, the calculating of the initial snake point may include: dividing an object for a first frame (n = 0) in a video sequence; Utilizing the contour information of the segmented object as a snake point; and initializing a snake point by setting the snake point as a feature point.
본 발명의 실시예에서, 상기 옵티컬 플로우를 진행하여 특징점을 생성하는 단계는, n번 째 프레임 및 n+1번 째 프레임에서 특징점의 옵티컬 플로우를 계산하는 단계; n번 째 프레임에 의해 추정된 객체 윤곽선의 윤곽 점들을 스네이크 점으로 활용하여 n+1번 째 프레임에 적용하는 단계; 및 다음 프레임이 존재하는 경우, 상기 단계들을 반복하는 단계;를 포함할 수 있다.In an embodiment of the present invention, generating feature points by performing the optical flow may include calculating optical flow of feature points in the n-th frame and the n+1-th frame; applying contour points of the object contour estimated by the n-th frame as snake points to the n+1-th frame; and repeating the above steps if there is a next frame.
상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 상기 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다. In a computer readable storage medium according to an embodiment for realizing the above object of the present invention, a computer program for performing the snake and optical flow-based ultra-high-speed video object tracking method is recorded.
상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 장치는, 초고속 촬영된 동영상으로부터 관심 대상인 객체의 윤곽을 설정하여 초기 스네이크 점을 계산하는 스네이크 포인트 설정부; 상기 동영상의 n번 째 프레임과 n+1번 째 프레임간의 옵티컬 플로우를 진행하여 특징점을 생성하는 옵티컬 플로우부; n번 째 프레임과 n+1번 째 프레임간의 전배경 분리 영상과 차영상을 활용하여 탐색할 객체 영역을 선택하는 탐색 객체 영역 선택부; 상기 전배경 분리 영상과 상기 차영상을 통해 생성된 객체 영역 및 n+1번 째 옵티컬 플로우 특징점 간의 위치를 비교하여 n+1번 째 프레임에서 객체의 윤곽선의 위치 정보 오차를 조정하는 영역 비교부; 및 오차가 조정된 특징점을 n+1번 째 프레임의 스네이크 점으로 변환하여 객체의 윤곽선을 추출하는 윤곽선 추출부;를 포함한다.An apparatus for tracking a high-speed video object based on snake and optical flow according to an embodiment for realizing another object of the present invention described above is a snake that calculates an initial snake point by setting the outline of an object of interest from a high-speed captured video point setting unit; an optical flow unit generating feature points by performing an optical flow between the n-th frame and the n+1-th frame of the video; a search object region selection unit that selects an object region to be searched for by utilizing the previous background separation image and the difference image between the n-th frame and the n+1-th frame; an area comparator for adjusting positional information errors of object outlines in the n+1 th frame by comparing positions between the separated background image and the object region generated from the difference image and the n+1 th optical flow feature point; and a contour extractor extracting the contour of the object by converting the error-adjusted feature points into snake points of the n+1th frame.
본 발명의 실시예에서, 상기 탐색 객체 영역 선택부는, n번 째 프레임과 n+1번 째 프레임간의 전배경 분리 영상을 생성하여 윤곽선 정보를 획득하는 전배경 분리부; n번 째 프레임과 n+1번 째 프레임간의 차영상을 생성하여 추가적인 윤곽선 정보를 획득하는 차영상부; 및 차영상과 전배경 분리 영상의 공통된 객체 윤곽선 주변을 탐색할 객체 영역으로 선택하는 객체 선택부;를 포함할 수 있다.In an embodiment of the present invention, the search object region selection unit may include: a front background separation unit generating a front background separation image between the n-th frame and the n+1-th frame to obtain contour line information; a difference image unit generating a difference image between the n-th frame and the n+1-th frame to obtain additional contour information; and an object selection unit that selects a common object contour around the difference image and the separated front background image as an object region to be searched for.
본 발명의 실시예에서, 상기 차영상부는, n번 째 프레임과 n+1번 째 프레임 간의 차영상 계산을 진행하며 잡음 생성을 방지하기 위해서 미리 설정된 임계값보다 차이가 큰 영역에 대해서만 계산을 진행할 수 있다.In an embodiment of the present invention, the difference image unit calculates a difference image between the n-th frame and the n+1-th frame, and calculates only a region in which the difference is larger than a preset threshold in order to prevent noise generation. can
본 발명의 실시예에서, 상기 영역 비교부는, 특징점과 객체 영역 사이의 거리가 미리 설정된 임계값 보다 큰 경우, 특징점의 위치를 재조정할 수 있다.In an embodiment of the present invention, the region comparator may readjust the location of the feature point when the distance between the feature point and the object region is greater than a preset threshold value.
본 발명의 실시예에서, 상기 스네이크 포인트 설정부는, 동영상 시퀀스에서 첫 번째 프레임(n = 0)에 대해서 객체를 분할하고, 분할된 객체의 윤곽 정보를 스네이크 점을 특징점으로써 설정하여 스네이크 점을 초기화할 수 있다.In an embodiment of the present invention, the snake point setting unit divides an object for the first frame (n = 0) in a video sequence, sets contour information of the divided object as a feature point, and initializes the snake point. can
이와 같은 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법에 따르면, 기존의 옵티컬 플로우와 스네이크 모델을 활용한 방법들과 비교하여 보다 정확하고 연속적인 스네이크 윤곽선을 추출할 수 있다. 또한, 시간적 일관성과 공간적 정확성 모두 기존 방법들보다 우수했으며 복잡한 배경에서의 객체 추출에서 강점을 보인다.According to the snake and optical flow-based ultra-high-speed video object tracking method, a more accurate and continuous snake contour can be extracted compared to existing methods using the optical flow and snake model. In addition, both temporal consistency and spatial accuracy were superior to existing methods and showed strength in object extraction from complex backgrounds.
도 1은 본 발명의 일 실시예에 따른 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 장치의 블록도이다.
도 2는 스네이크 윤곽선의 방향을 보여주는 도면이다.
도 3은 도 2의 벡터들의 합의 예를 보여지는 도면이다.
도 4는 윈도우 사이즈에 따른 초고속 영상 옵티컬 플로우 결과를 보여주는 도면이다.
도 5는 초기 특징점 생성과 객체 윤곽선에 대한 옵티컬 플로우를 보여주는 도면이다.
도 6은 초고속 영상의 잡음 문제와 옵티컬 플로우의 한계를 보여주는 도면이다.
도 7은 원본 영상과 전배경 분리된 영상을 보여주는 도면이다.
도 8은 프레임 간의 차영상 계산 예시를 보여주는 도면이다.
도 9는 차영상 내 잡음을 보여주는 도면이다.
도 10은 전배경 분리 영상과 차영상 활용 과정을 보여주는 도면이다.
도 11은 화소 탐색 거리 =5 예시를 보여주는 도면이다.
도 12는 본 발명의 단계별 영상을 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 따른 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법의 흐름도이다.
도 14는 도 13의 옵티컬 플로우 활용 과정을 보여주는 흐름도이다.
도 15는 본 발명과 기존방법 간의 수집 영상의 각 프레임 및 값에 따른 정량적 평가를 보여주는 그래프이다.
도 16은 본 발명과 기존방법 간의 비정형 객체에 대한 비교 영상을 보여주는 도면이다.1 is a block diagram of a high-speed video object tracking device based on snake and optical flow according to an embodiment of the present invention.
Figure 2 is a diagram showing the direction of the snake contour.
FIG. 3 is a diagram showing an example of a sum of vectors in FIG. 2 .
4 is a diagram showing ultra-high-speed video optical flow results according to window sizes.
5 is a diagram showing an optical flow for initial feature point creation and object contours.
6 is a diagram illustrating a noise problem of ultra-high-speed video and limitations of optical flow.
7 is a diagram showing an image separated from an original image and a full background.
8 is a diagram showing an example of calculating a difference image between frames.
9 is a diagram showing noise in a difference image.
10 is a diagram showing a process of using a front background separation image and a difference image.
11 is a pixel search distance =5 This is a drawing showing an example.
12 is a diagram showing step-by-step images of the present invention.
13 is a flowchart of a high-speed video object tracking method based on snake and optical flow according to an embodiment of the present invention.
14 is a flowchart illustrating a process of utilizing the optical flow of FIG. 13 .
15 shows each frame of the collected image between the present invention and the existing method and It is a graph showing the quantitative evaluation according to the value.
16 is a diagram showing a comparison image of an atypical object between the present invention and an existing method.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The detailed description of the present invention which follows refers to the accompanying drawings which illustrate, by way of illustration, specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable one skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different from each other but are not necessarily mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in one embodiment in another embodiment without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the detailed description set forth below is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is limited only by the appended claims, along with all equivalents as claimed by those claims. Like reference numbers in the drawings indicate the same or similar function throughout the various aspects.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다. Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.
도 1은 본 발명의 일 실시예에 따른 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 장치의 블록도이다.1 is a block diagram of a high-speed video object tracking device based on snake and optical flow according to an embodiment of the present invention.
본 발명에 따른 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 장치(10, 이하 장치)는 옵티컬 플로우(Optical flow)를 통해 생성된 특징점 위치를 기초로 하여 초고속 영상 전체적으로 퍼져있는 잡음들을 배제시키고, 전배경 분리 영상과 차영상에서 나타나는 공통된 객체 윤곽선 주변만 탐색하는 방법을 사용한다. 이를 이용해 탐색 객체 주변의 잡음들로 인한 객체 추적 효율성 저하 문제를 해결할 수 있도록 하였다. The snake and optical flow-based ultra-high-speed video object tracking device (10, hereinafter) according to the present invention excludes noises spread throughout the ultra-high-speed video based on the position of feature points generated through the optical flow, and A method of searching only around the common object contour appearing in the separation image and the difference image is used. Using this, it is possible to solve the problem of object tracking efficiency deterioration due to noise around the search object.
도 1을 참조하면, 본 발명에 따른 장치(10)는 스네이크 포인트 설정부(100), 옵티컬 플로우부(200), 탐색 객체 영역 선택부(300), 영역 비교부(400) 및 윤곽선 추출부(500)를 포함한다.Referring to FIG. 1 , an
본 발명의 상기 장치(10)는 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적을 수행하기 위한 소프트웨어(애플리케이션)가 설치되어 실행될 수 있으며, 상기 스네이크 포인트 설정부(100), 상기 옵티컬 플로우부(200), 상기 탐색 객체 영역 선택부(300), 상기 영역 비교부(400) 및 상기 윤곽선 추출부(500)의 구성은 상기 장치(10)에서 실행되는 상기 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적을 수행하기 위한 소프트웨어에 의해 제어될 수 있다. In the
상기 장치(10)는 별도의 단말이거나 또는 단말의 일부 모듈일 수 있다. 또한, 상기 스네이크 포인트 설정부(100), 상기 옵티컬 플로우부(200), 상기 탐색 객체 영역 선택부(300), 상기 영역 비교부(400) 및 상기 윤곽선 추출부(500)의 구성은 통합 모듈로 형성되거나, 하나 이상의 모듈로 이루어 질 수 있다. 그러나, 이와 반대로 각 구성은 별도의 모듈로 이루어질 수도 있다.The
상기 장치(10)는 이동성을 갖거나 고정될 수 있다. 상기 장치(10)는, 서버(server) 또는 엔진(engine) 형태일 수 있으며, 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device) 등 다른 용어로 불릴 수 있다. The
상기 장치(10)는 운영체제(Operation System; OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다. 상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.The
본 발명에서는 초고속 촬영된 동영상을 활용하여 스네이크 알고리즘과 옵티컬 플로우를 기반으로 객체를 분할 및 추적한다. 이 과정에서 나타나는 초고속 동영상의 잡음 문제를 영상 특징과 차영상, 전배경 분리 방법을 결합시켜 해결하고 스네이크 알고리즘의 한계점인 초기 스네이크 점들의 위치와 모양에 크게 의존한다는 문제점을 옵티컬 플로우의 특징점을 활용하여 해결한다.In the present invention, an object is segmented and tracked based on a snake algorithm and an optical flow using high-speed video. The noise problem of high-speed video that appears in this process is solved by combining the image feature, difference image, and foreground separation methods, and the problem that it greatly depends on the position and shape of the initial snake points, which is the limitation of the snake algorithm, is solved by using the feature points of the optical flow. Solve it.
본 발명은 크게 초기 스네이크 점 계산, 옵티컬 플로우를 활용한 특징점 생성, 차영상과 전배경 분리를 활용한 관심 객체 영역 선택, 특징점과 객체 영역간의 비교, 스네이크 점 조정으로 나눠진다. The present invention is largely divided into initial snake point calculation, feature point generation using optical flow, object region selection using difference image and foreground separation, comparison between feature point and object region, and snake point adjustment.
상기 스네이크 포인트 설정부(100)는 초고속 촬영된 동영상으로부터 관심 대상인 객체의 윤곽을 설정하여 초기 스네이크 점을 계산한다.The snake
초기 스네이크 점을 설정할 때는 관심 대상인 객체의 윤곽으로 설정하여 사용한다. 그 후, n번 째 프레임과 n+1번 째 프레임간의 옵티컬 플로우를 진행하여 생성되는 특징점과 설정되어 있는 현재 프레임의 스네이크 점과 비교하여 스네이크 점을 조정시켜준다. When setting the initial snake point, set it to the outline of the object of interest and use it. After that, the snake point is adjusted by comparing the feature point generated by performing the optical flow between the n-th frame and the n+1-th frame with the set snake point of the current frame.
이 과정 중간에서 초고속 영상에서 나타나는 잡음으로 인해 발생하는 스네이크 점들의 변환 문제와 옵티컬 플로우의 부분적 오류들을 보완하기 위해서 차영상을 활용한다. 차영상 활용 시에도 나타나는 잡음들은 모폴로지(Morpholoy) 연산과 영상 특징을 활용한 가장 큰 윤곽선의 추출을 이용하여 보완한다. In the middle of this process, the difference image is used to compensate for the conversion problem of snake points caused by noise in the ultra-high-speed image and partial errors of the optical flow. Noise that appears even when using a difference image is compensated by using Morpholoy operation and extraction of the largest contour using image features.
또한, 전배경 분리를 통해 탐색 객체의 윤곽선 정보를 추가 습득하여 각 윤곽선 위치 정보를 대조 및 비교한 후 오차를 조정한다. 최종적으로 오차가 조정된 특징점을 스네이크 포인트로 활용하여 n+1번 째 프레임에서 변환시켜준다. 스네이크 점의 조정 후에는 원하는 객체 윤곽의 형태가 잡힐 때까지 스네이크 점들의 변환을 반복한다. In addition, the contour information of the search object is additionally acquired through the background separation, and the error is adjusted after contrasting and comparing each contour position information. Finally, the error-adjusted feature point is used as a snake point and converted in the n+1th frame. After adjusting the snake points, the transformation of the snake points is repeated until the shape of the desired object outline is obtained.
상기 옵티컬 플로우부(200)는 상기 동영상의 n번 째 프레임과 n+1번 째 프레임간의 옵티컬 플로우를 진행하여 특징점을 생성한다.The
스네이크 알고리즘은 추출하고자 하는 객체 윤곽 주변에 스네이크 포인트를 설정하고 정의된 에너지 함수를 사용하여 스네이크 포인트를 반복적으로 이동시켜나간다. 이 과정을 통해 에너지 함수를 최소화 시키고 객체의 윤곽을 추출하게 된다. 스네이크는 다음의 수학식 1과 같이 정의할 수 있다.The snake algorithm sets snake points around the outline of an object to be extracted and repeatedly moves the snake points using a defined energy function. Through this process, the energy function is minimized and the outline of the object is extracted. Snake can be defined as in
[수학식 1][Equation 1]
스네이크 함수는 바깥쪽 스네이크 포인트를 객체의 윤곽 방향으로 끌어당기는 외부에너지(External energy)와 스네이크 윤곽선(Snake contour)의 형태를 결정하는 내부에너지(Internal energy)로 이루어진다. 식으로 표현하면 다음의 수학식 2와 같이 표현된다.The snake function consists of external energy that pulls the outer snake point toward the contour of the object and internal energy that determines the shape of the snake contour. When expressed as an equation, it is expressed as
[수학식 2][Equation 2]
스네이크 포인트가 이면 로 정의할 수 있다. 는 번째의 좌표고 는 번째의 좌표가 된다.snake point the other side can be defined as Is second Coordinate height Is second becomes the coordinates.
내부에너지는 스네이크 윤곽선의 형태를 결정하며 스네이크 포인트들의 거리를 일정하게 유지하도록 결정하는 연속에너지(continuity)와 스네이크 포인트의 위치가 완만한 곡선 형태가 되도록 하는 곡률(curvature) 에너지로 이루어져있다. 내부에너지 함수는 아래의 수학식 3과 같이 정의된다.The internal energy determines the shape of the snake contour and is composed of continuity energy that determines the distance between snake points constant and curvature energy that causes the position of the snake point to form a gentle curve. The internal energy function is defined as in Equation 3 below.
[수학식 3][Equation 3]
는 스네이크 포인트들 간의 거리를 조절하기 위해서 스네이크 포인트들의 거리의 차를 활용한다. 즉, 윤곽선의 포인트들이 일정한 간격으로 배치되면 는 작은 값을 갖게 되며 점들이 윤곽선 위에서 한쪽 부분으로 쏠리게 되면 큰 값을 가지게 된다. 이를 식으로 표현하면 아래의 수학식 4가 된다. utilizes the difference in distance between snake points to adjust the distance between snake points. That is, if the points of the contour line are arranged at regular intervals, has a small value and has a large value when the points are skewed to one side on the contour. Expressing this as an equation,
[수학식 4][Equation 4]
하지만, 위 식은 윤관선이 움츠려들어 크기가 작아지도록 하는 효과가 있어서 스네이크 포인트들의 거리를 일정하게 유지하려면 평균 거리 를 활용해야 할 필요가 있다. 평균 거리 는 수학식 5와 같으며 이를 통해 수학식 6과 같이 를 나타낼 수 있다.However, the above formula has the effect of shrinking the contour line and reducing the size, so to keep the distance of the snake points constant, the average distance You need to use . average distance Is the same as Equation 5, through which, as shown in
[수학식 5][Equation 5]
[수학식 6][Equation 6]
현재의 스네이크 포인트와 다음 스네이크 포인트 간의 거리가 전체 스네이크 포인트 간의 평균거리에 의한 간섭으로 위치가 결정지어지게 된다. 그로 인해 스네이크 윤곽선은 계속해서 반복 처리할수록 스네이크 포인트의 간격이 유지됨을 알 수 있다.The distance between the current snake point and the next snake point is determined by the interference by the average distance between all snake points. As a result, it can be seen that the interval between snake points is maintained as the snake outline continues to be processed repeatedly.
곡률에너지인 는 도 2에서 보이는 것과 같이 스네이크 윤곽선을 변화가 적은 쪽으로 끌어당겨 스네이크 윤곽선을 객체 윤곽으로 움직이게 하는 역할을 한다.curvature energy As shown in FIG. 2, serves to move the snake contour to the object contour by pulling the snake contour to the side with less change.
는 윤곽선이 완만한 곡선이 되도록 한다. 즉, 윤곽선이 진동(Oscillate)하거나 급격하게 방향을 바꾸는 것을 방지하는 기능을 한다. 는 다음과 같은 수학식 7로 표현한다. 이전 포인트 와 이후 포인트 간의 에너지 함수를 활용하여 유도된다. 정규화는 이웃한 포인트들 중 변화율이 제일 큰 값인 로 정규화 시킨다. makes the outline a gentle curve. That is, it functions to prevent the contour line from oscillating or rapidly changing its direction. is expressed by the following Equation 7. previous point and after point It is derived using the energy function of the liver. Normalization is the value that has the largest rate of change among neighboring points. normalize to
[수학식 7][Equation 7]
도 3은 를 표현한 것으로 세 개의 포인트가 이루는 벡터들의 합을 의미한다. 즉, 는 현재 스네이크 포인트와 근접한 포인트가 이루는 벡터의 합으로 나타낼 수 있고, 그 값이 작은 방향으로 스네이크 포인트를 이동시키게 된다.Figure 3 is It represents the sum of vectors formed by three points. in other words, can be expressed as the sum of vectors formed by points adjacent to the current snake point, and moves the snake point in a direction with a smaller value.
외부에너지는 스네이크 윤곽선을 탐색 대상인 객체의 특징 부분이나 윤곽 방향으로 끌어당기는 역할을 한다. 보통은 영상의 에지 정보가 활용되며 그 안에서 영상의 특징은 기울기(Gradient) 정보나 영상의 강도(Intensity) 등이 사용된다. 이를 표준편차 를 갖는 2차원 가우시안 함수와 영상이 컨벌루션(Convolution)시켜 표현하면 수학식 8과 같이 된다. The external energy serves to pull the snake contour toward the feature part or contour direction of the object to be searched. Usually, the edge information of the image is used, and among the characteristics of the image, gradient information or intensity of the image is used. standard deviation When the two-dimensional Gaussian function having , and the image are expressed by convolution, Equation 8 is obtained.
[수학식 8][Equation 8]
에지 정보를 활용한다면 기울기가 큰 곳에서 작은 값을 갖게 하여 스네이크 포인트를 객체의 윤곽에 놓이도록 한다. If the edge information is used, the snake point is placed on the contour of the object by having a small value where the slope is large.
여기서 도 2에서 보이는 것과 같이 현 위치에서 에너지가 최소가 되는 부분을 찾기 위하여 이웃된 8개의 위치에서 외부에너지 함수를 계산한다. 만약 영상의 기울기나 강도가 변화가 없을 경우 포인트는 내부에너지로 인해 안쪽으로 끌어당겨지고 영상에 변화가 큰 에지를 만나게 되면 그 위치에서 최소 부분으로 여겨져서 스네이크 포인트의 이동이 멈추게 된다.Here, as shown in FIG. 2, an external energy function is calculated at 8 neighboring positions to find a part where the energy is minimized at the current position. If there is no change in the gradient or intensity of the image, the point is pulled inward due to internal energy, and when it encounters an edge with a large change in the image, it is regarded as a minimum portion at that position, and the movement of the snake point stops.
각 에너지 항에는 가중치 , , 가 들어간다. 이 가중치들의 역할은 만들어지는 윤곽선의 형태에 관여한다. 값이 다른 가중치에 비해 상대적으로 크면 윤곽선의 형태가 원에 가까운 형태가 된다. 한 스네이크 포인트에서 값이 0이면 그 점에서 불연속이 허용되며 값이 0이면 구석(Corner)이 허용된다. 따라서, 윤곽선이 물체 경계의 구석 부분에서 일치할 수 있도록 한다.Each energy term has a weight , , goes in The role of these weights is involved in the shape of the contour line being created. If the value is relatively large compared to other weights, the shape of the outline becomes a shape close to a circle. at one snake point A value of 0 allows discontinuity at that point and A value of 0 allows Corners. Thus, it allows the contour lines to match at the corners of the object boundary.
옵티컬 플로우 특징점과 스네이크 포인트를 다시 한번 설명하면, 먼저, 객체는 동영상 시퀀스에서 첫 번째 프레임(n = 0)에 대해서 사용자에 의해 직접 분할된다. 이렇게 분할된 객체의 윤곽 정보를 스네이크 포인트로 활용한다. 즉, 특징점으로써 설정시킨다.Referring to the optical flow feature point and snake point once again, first, the object is directly segmented by the user for the first frame (n = 0) in the video sequence. The contour information of the divided object is used as a snake point. That is, it is set as a feature point.
그 후, n+1번 째 프레임에서 특징점의 옵티컬 플로우를 계산한다. 여기서 사용된 계산 방법은 화소 움직임을 추적하는 방법으로 많이 활용되는 Lucas-Kanade 알고리즘[선핸기술문헌의 비특허문헌 2]이 사용되었다. Lucas-Kanade 알고리즘은 밝기 불변성, 시간적 지속성 및 공간 일관성이라는 세 가지 가설을 기반으로 한 방법이다. 이 가설에서 시간 와 사이의 옵티컬 플로우 계산은 다음의 수학식 9와 같이 표현된다.After that, the optical flow of feature points is calculated in the n+1th frame. The calculation method used here was the Lucas-Kanade algorithm [
[수학식 9][Equation 9]
여기에 부분 차동 체인 룰과 속도 요소인 축과 축을 추가시켜 계산한다. 그 후, 속도 요소인 와 를 영상의 밝기 정도를 나타내는 를 활용하여 다음의 수학식 10과 같이 구한다.Here, the partial differential chain rule and the speed factor axis Calculate by adding an axis. Then, the speed factor and represents the brightness level of the image. Using , it is obtained as in
[수학식 10][Equation 10]
옵티컬 플로우 수행 시 윈도우 사이즈는 초고속 영상에서 활용하려면 일반 영상에서 활용할 때보다 더 높은 수치로 설정시켜야만 한다. 왜냐하면 초고속 영상에서는 촬영 시 생성되는 잡음들로 인해서 옵티컬 플로우가 원활하게 수행되지 않기 때문이다. When performing the optical flow, the window size must be set to a higher value than when used in general video in order to be used in ultra-high-speed video. This is because optical flow is not smoothly performed due to noise generated during shooting in high-speed video.
도 4는 초고속 영상에서 옵티컬 플로우를 적용한 예시를 보여준다. 도 4에서 보이는 것처럼 잡음들로 인해서 일반적인 옵티컬 플로우 활용으로는 특징점 추출이 어렵다.4 shows an example in which optical flow is applied to ultra-high-speed video. As shown in FIG. 4, it is difficult to extract feature points by using a general optical flow due to noise.
초기 특징점은 사용자에 의해 설정되고 그 후 스네이크 모델 적용 시 초기 스네이크 포인트로 활용된다. 옵티컬 플로우를 다음 프레임과 함께 적용시킨 후에는 다음 프레임의 옵티컬 플로우 특징점을 스네이크 포인트로써 활용한다. The initial feature point is set by the user and then used as the initial snake point when applying the snake model. After applying the optical flow together with the next frame, the optical flow feature point of the next frame is used as a snake point.
도 5의 (c)에서의 하얀색 윤곽선은 이전 프레임의 객체 윤곽선이다. 즉, 이전 프레임에서의 초기 스네이크 포인트이다. 빨간색 윤곽선은 다음 프레임에서의 객체 윤곽선이다. 옵티컬 플로우에 의해 추정된 이 빨간색 객체 윤곽선의 윤곽 점들을 스네이크 포인트로 활용하여 다음 프레임에서 적용시킨다.The white outline in (c) of FIG. 5 is the object outline of the previous frame. That is, it is the initial snake point in the previous frame. The red outline is the object outline in the next frame. Contour points of the red object contour estimated by optical flow are used as snake points and applied in the next frame.
이러한 기존 옵티컬 플로우 활용 방법은 영상 내 잡음이나 객체와 배경의 흔들림 혹은 폐색 현상 등이 발생할 경우 특징점 추출이 원활히 이뤄지지 않는 문제를 가지고 있다. 특히, 객체의 복잡한 움직임이 나타나는 동영상에서는 특징점들이 소실되는 상황이 발생하며 초고속 영상을 활용할 시에는 객체 주변에 발생하는 잡음들로 인해 특징점들이 흩어져버리는 상황이 발생한다.These existing optical flow utilization methods have a problem in that feature point extraction is not performed smoothly when noise in an image or shaking or occlusion of an object or background occurs. In particular, a situation in which feature points are lost occurs in a video showing complex movements of an object, and a situation in which feature points are scattered due to noise generated around an object occurs when using high-speed video.
일반적으로 초고속 영상에 대해서 옵티컬 플로우를 적용시켰을 때, 특징점들이 소실되거나 잡음으로 인해 제대로 추출되지 않는 문제가 발생한다. 또한, 도 5처럼 스포츠 영상의 경우에는 객체의 움직임이 복잡하거나 객체의 윤곽들이 겹쳐지는 부분에서도 특징점들이 제대로 추출되지 못하는 문제가 드러난다. In general, when an optical flow is applied to an ultra-high-speed image, a problem occurs in which feature points are lost or are not properly extracted due to noise. In addition, in the case of a sports video as shown in FIG. 5, a problem in which feature points are not properly extracted is revealed even in a part where the movement of the object is complicated or the contours of the object overlap.
도 6에서는 옵티컬 플로우의 특징점이 하체 부분에서 소실되거나 흩어지는 것을 볼 수 있다. 이는 하체 영역의 배경이 잔디에 의해서 잡음이 발생하면서 잡음에 의해 특징점들이 흩어지는 것이다. 또한, 다리의 폐색(Oclusion) 현상에 의해서 특징점들이 소실되는 문제도 보인다.In FIG. 6 , it can be seen that the feature points of the optical flow are lost or scattered in the lower body. This is because noise is generated by grass in the background of the lower body area, and feature points are scattered by noise. In addition, there is also a problem that feature points are lost due to the occlusion of the legs.
상기 탐색 객체 영역 선택부(300)은 n번 째 프레임과 n+1번 째 프레임간의 차영상과 전배경 분리 영상을 활용하여 탐색할 객체 영역을 선택한다.The search object
이러한 복잡한 움직임 속에서도 객체의 윤곽선 정보를 얻기 위해 전배경 분리 방법을 활용하였다. 활용된 방법은 가우시안 합성 모델 기반의 전배경 분리 방법이다. A background separation method was used to obtain contour information of an object even in such a complex motion. The method used is a background separation method based on a Gaussian synthesis model.
이 방법은 기존 가우시안 합성 모델에서 가우시안 분포 개수를 사용자가 직접 결정하던 방법에서 적응적으로 자동 결정시키며 분포에 속하는 데이터 양에 따라 분포의 개수를 조절시켜서 처리 시간을 늘린 방법이다. 그로 인해 다른 방법들보다 초고속 영상의 빠른 속도로 인한 분리 시의 시간적 문제가 나타나지 않는 결과를 보여준다. This method adaptively and automatically determines the number of Gaussian distributions in the existing Gaussian synthesis model instead of directly determining the number of Gaussian distributions, and increases the processing time by adjusting the number of distributions according to the amount of data belonging to the distribution. As a result, it shows the result that no temporal problem occurs during separation due to the high speed of ultra-high-speed imaging compared to other methods.
도 7은 원본 영상 프레임과 전배경 분리 후 프레임을 보여준다. 전배경 분리 후에도 초고속 영상 특징 상 많은 잡음들이 나타나지만 탐색 객체의 윤곽 부분이 잘 표시되는 것을 볼 수 있다. 아래의 표 1은 적응형 가우시안 합성 모델 알고리즘의 예를 보여준다.7 shows an original video frame and a frame after separating the foreground. It can be seen that even after the front background separation, a lot of noise appears due to the high-speed image characteristics, but the outline of the search object is displayed well. Table 1 below shows an example of an adaptive Gaussian synthesis model algorithm.
,
Output : 수정된 확률 분포
번 째 성분에 속하는 샘플의 개수를 라고 가정한다.
가정된 을 통한 우도 함수 를 계산한다.
※혼합 계수는 1로 고정한다.
라그랑제 승수를 도입하여 최대우도 를 구하고 라그랑제 승수를 제거하여 를 구한다.
확률 분포 에 대한 수정 방정식을 구한다.
켤레 사전분포인 Dirichlet 사전분포를 구한다.
※은 가우시안 분포 에 대해 이전에 속했던 샘플 수(prior evidence)를 의미하며 는 이전에 속했던 샘플 수를 측정해 분포의 생존 유무를 판단하는 계수이다.
, where
,
최대우도 + Dirichlet 사전분포 ※
최종 확률 분포 수정 방정식 ※
Input: data sample , ,
,
Output: modified probability distribution
The number of samples belonging to the first component Assume that
assumed Likelihood function via Calculate
※The mixing factor is fixed at 1.
Maximum likelihood by introducing Lagrangian multipliers and remove the Lagrangian multiplier to save
probability distribution Find the corrected equation for
Find the Dirichlet prior distribution, which is a conjugate prior distribution.
※ is Gaussian distribution It means the number of samples previously belonging to (prior evidence) for is a coefficient that determines whether a distribution is alive or not by measuring the number of samples that belonged to it previously.
, where
,
Maximum likelihood + Dirichlet prior ※
final probability distribution Correction equation ※
그 후, 윤곽선 추출의 성능을 올리고자 도 8의 예시와 같이 현재 프레임과 다음 프레임간의 차영상 계산을 진행하며 잡음 생성을 방지하기 위해서 값보다 차이가 큰 영역에 대해서만 계산을 진행한다.After that, in order to improve the performance of contour extraction, as in the example of FIG. 8, the difference between the current frame and the next frame is calculated, and in order to prevent noise Calculation is performed only in the area where the difference is greater than the value.
그러나 초고속 영상의 경우, 객체 영역 주변과 배경 전체에 많은 잡음이 발생하여 임계값 활용을 통해서는 효율적인 잡음 방지를 이뤄낼 수 없다. 도 9는 차영상을 확대시켜 보여주는 그림으로 객체 영역 주변에도 많은 잡음이 생성되는 것을 확인할 수 있다.However, in the case of ultra-high-speed video, a lot of noise is generated around the object area and throughout the background, so it is not possible to achieve effective noise prevention through the use of thresholds. 9 is an enlarged picture of a difference image, and it can be seen that a lot of noise is generated around the object area.
[수학식 11][Equation 11]
본 발명은 이러한 잡음 문제를 해결하기 위하여 옵티컬 플로우를 통해 생성된 특징점 위치를 기초로 하여 초고속 영상 전체적으로 퍼져있는 잡음들을 배제시키고 전배경 분리 영상과 차영상에서 나타나는 공통된 객체 윤곽선 주변만 탐색하는 방법을 사용하여 탐색 객체 주변의 잡음들로 인한 객체 추적 효율성 저하 문제를 해결할 수 있도록 하였다.In order to solve this noise problem, the present invention excludes noise spread throughout the high-speed image based on the feature point position generated through the optical flow, and uses a method of searching only around the common object contour appearing in the front background separation image and the difference image. Thus, the object tracking efficiency deterioration problem caused by noise around the search object can be solved.
상기 영역 비교부(400)는 상기 특징점과 상기 객체 영역을 비교하여 n+1번 째 프레임에서 객체의 윤곽선의 위치 정보 오차를 조정한다.The
도 10의 과정은 옵티컬 플로우의 적용 후 나타나는 특징점과 근접한 영역에 대해서만 진행시켜준다. 이를 보게 보면 전배경 분리된 영상과 차영상의 결과를 대조시켰을 때, 배경으로 분류되지 않는 공통된 영역이 드러난다. 도 10에서 사각형으로 표시된 부분이다. 차영상에서 나타나는 미세한 잡음들과 전배경 분리된 영상에서 나타나는 잡음들이 서로 다른 것을 볼 수 있다. The process of FIG. 10 proceeds only for a region adjacent to a feature point that appears after applying the optical flow. Looking at this, a common area that is not classified as a background is revealed when the results of the image separated from the previous background and the difference image are compared. It is a part indicated by a square in FIG. 10 . It can be seen that the fine noises appearing in the difference image and the noises appearing in the image separated from the background are different.
이 잡음들을 비교하여서 서로 공통되게 나타나지 않으면 모두 배경으로 처리시켜준다. 그 후, 옵티컬 플로우의 특징점의 위치를 이동시키기 위해서 차영상과 전배경 분리 영상을 통해 생성된 영상과의 비교를 진행한다. 초기 특징점의 위치로부터 탐색을 시작하며 비교 영상은 윤곽선 정보만을 지니고 있기 때문에 근접한 윤곽선들을 탐색해 나간다. These noises are compared and if they do not appear in common, they are all processed as background. After that, in order to move the position of the feature point of the optical flow, comparison between the difference image and the image generated through the separation of the previous background image is performed. The search starts from the location of the initial feature point, and since the comparison image has only contour information, neighboring contours are searched.
상기 윤곽선 추출부(500)는 오차가 조정된 특징점을 n+1번 째 프레임의 스네이크 점으로 변환하여 객체의 윤곽선을 추출한다.The
특징점의 이동은 도 11과 같이 진행된다. 결과적으로, 기존 스네이크 알고리즘과 옵티컬 플로우를 활용한 방법보다 전배경 분리를 결합한 방법이 윤곽선 정보의 비교를 통한 윤곽선 추출 정확도를 높임으로써 객체 윤곽선 추출 효율이 올라가게 된다. 표 2는 전배경 분리 영상과 차영상 활용 알고리즘의 일례이다.The movement of feature points proceeds as shown in FIG. 11 . As a result, the method combining the foreground separation rather than the method using the existing snake algorithm and optical flow increases the accuracy of contour extraction through comparison of contour information, thereby increasing the efficiency of object contour extraction. Table 2 is an example of an algorithm using a front background separation image and a difference image.
Output : 배경이 분리된 윤곽선 영상
, 윤곽선 비교 영상
전배경 분리 영상과 차영상을 비교하여 윤곽선 비교 영상을 생성
For each do
end for
옵티컬 플로우 특징점을 기초로 하여 윤곽선 비교 영상과 대조 후 위치 재조정
For each do
For each , do
if then
특징점 위치 재조정
end for
재조정된 특징점을 활용하여 예측 윤곽선 영상 생성
For each do
end forInput: Cha Young-sang , Full-background separation image , optical flow imaging
Output: Contour image with background separated
, Contour Comparison Video
Contour comparison image is generated by comparing the previous background separation image and the difference image.
For each do
end for
Position readjustment after comparison with contour comparison image based on optical flow feature points
For each do
For each , do
if then
Repositioning feature points
end for
Generate a predicted contour image using the readjusted feature points
For each do
end for
도 12를 참조하면, (a)는 초기 스네이크 포인트를 사용자가 설정하는 영상이다. 설정된 스네이크 포인트를 기준으로 옵티컬 플로우를 (b)에서 진행하게 된다. (b) 영상은 프레임과 프레임 사이의 변화가 하얀색 윤곽선과 빨간색 윤곽선으로 표시되어 있다. 그 후, (c) 영상에 보이는 것과 같이 전배경 분리를 진행하여 윤곽선 정보를 습득한다. 전배경 분리 영상의 경우, 많은 잡음이 나타나는 것을 볼 수 있다. Referring to FIG. 12, (a) is an image in which a user sets an initial snake point. Based on the set snake point, the optical flow proceeds in (b). (b) the video is frame and Changes between frames are indicated by white and red outlines. After that, (c) as shown in the image, the front background is separated to acquire the contour line information. In the case of the background-separated image, it can be seen that a lot of noise appears.
(d) 단계에서는 프레임과 프레임 사이의 차영상을 습득하여 전배경 분리 영상에 이은 추가적인 윤곽선 정보를 습득한다. 마지막으로 (e)에서는 전배경 분리된 영상에서의 윤곽선 정보와 옵티컬 플로우를 통해 얻어진 특징점, 차영상을 통해 얻어진 객체 영역을 활용한 최종적인 윤곽선 추출 영상을 보여준다. 마찬가지로, 표 3은 단계별 영상에 따른 알고리즘 순서를 나타낸다.In step (d) frame and By acquiring the difference image between frames, additional contour information following the previous background separation image is obtained. Finally, (e) shows the final contour extraction image using the contour information from the image separated from the whole background, the feature points obtained through the optical flow, and the object region obtained through the difference image. Similarly, Table 3 shows the algorithm sequence according to the step-by-step image.
Output : 배경이 분리된 윤곽선 영상
1.1 스네이크 포인트 설정 및 옵티컬 플로우
사용자에 의한 초기 윤곽선 추출
스네이크 포인트 초기화
while do
스네이크 수행 및 스네이크 포인트 이동
end while
특징점 = 영상 스네이크 포인트
특징점과 영상으로 옵티컬 플로우를 계산
영상 스네이크 포인트 = 계산되어진 옵티컬 플로우 특징점
1.2 전배경 분리 및 차영상 계산
GMM( 영상과 영상) => 전배경 분리 영상 생성
영상과 영상을 통한 차영상 생성
1.3 옵티컬 플로우 특징점과 객체 영역간의 비교
전배경 분리 영상과 차영상을 통해 생성된 객체 영역과 옵티컬 플로우 특징점 간의 위치 비교
for each 특징점 객체 영역 , do
특징점과 객체 영역 사이의 거리 <
:
특징점 위치 재조정
end for
1.4 윤곽선 추출
재조정된 옵티컬 플로우 특징점 영상을 통해 스네이크 포인트 설정
while do
스네이크 수행 및 스네이크 포인트 이동
end whileInput: video department video
Output: Contour image with background separated
1.1 Snake point setup and optical flow
Initial contour extraction by user
Snake point reset
while do
Perform snake and move snake point
end while
feature point = video snake point
feature point Calculate optical flow from images
Video Snake Point = Calculated Characteristics of optical flow
1.2 Background Separation and Difference Image Calculation
GMM( video department Image) => Generates a background-separated image
video department Create difference image through image
1.3 Comparison between optical flow feature points and object areas
The object area created through the previous background separation image and the difference image Position comparison between optical flow feature points
for each feature object area , do
Distance between feature point and object area <
:
Repositioning feature points
end for
1.4 Contour Extraction
Snake point setup through recalibrated optical flow feature point image
while do
Perform snake and move snake point
end while
이에 따라, 본 발명은 기존의 옵티컬 플로우와 스네이크 모델을 활용한 방법들과 비교하여 보다 정확하고 연속적인 스네이크 윤곽선을 추출할 수 있다. 또한, 시간적 일관성과 공간적 정확성 모두 기존 방법들보다 우수했으며 복잡한 배경에서의 객체 추출에서 강점을 보인다. 추후, 신경망을 활용한 스네이크 모델과 옵티컬 플로우 활용할 시 더 우수한 결과를 보일 수 있을 것으로 기대된다.Accordingly, the present invention can extract a more accurate and continuous snake contour compared to conventional methods using an optical flow and a snake model. In addition, both temporal consistency and spatial accuracy were superior to existing methods and showed strength in object extraction from complex backgrounds. In the future, it is expected to show better results when using the snake model and optical flow using neural networks.
도 13은 본 발명의 일 실시예에 따른 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법의 흐름도이다. 도 14는 도 13의 옵티컬 플로우 활용 과정을 보여주는 흐름도이다.13 is a flowchart of a high-speed video object tracking method based on snake and optical flow according to an embodiment of the present invention. 14 is a flowchart illustrating a process of utilizing the optical flow of FIG. 13 .
본 실시예에 따른 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법은, 도 1의 장치(10)와 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1의 장치(10)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다. The method for tracking a high-speed video object based on snake and optical flow according to the present embodiment may be performed in substantially the same configuration as the
또한, 본 실시예에 따른 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법은 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적을 수행하기 위한 소프트웨어(애플리케이션)에 의해 실행될 수 있다.Also, the snake and optical flow-based ultra-high-speed video object tracking method according to the present embodiment may be executed by software (application) for performing snake- and optical flow-based ultra-high-speed video object tracking.
도 13을 참조하면, 본 실시예에 따른 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법은, 초고속 촬영된 동영상으로부터 관심 대상인 객체의 윤곽을 설정하여 초기 스네이크 점을 계산한다(단계 S10). Referring to FIG. 13 , in the snake and optical flow-based ultra-high-speed video object tracking method according to the present embodiment, an initial snake point is calculated by setting the outline of an object of interest from an ultra-high-speed captured video (step S10).
도 14를 참조하면, 동영상 시퀀스에서 첫 번째 프레임(n = 0)에 대해서 객체를 분할한다(단계 S11). 분할된 객체의 윤곽 정보를 스네이크 점으로 활용하여(단계 S12), 상기 스네이크 점을 특징점으로써 설정하여 스네이크 점을 초기화한다(단계 S13).Referring to FIG. 14 , an object is divided for a first frame (n = 0) in a video sequence (step S11). The contour information of the segmented object is used as a snake point (step S12), and the snake point is set as a feature point to initialize the snake point (step S13).
상기 동영상의 n번 째 프레임과 n+1번 째 프레임간의 옵티컬 플로우를 진행하여 특징점을 생성한다(단계 S20). Feature points are generated by performing an optical flow between the n-th frame and the n+1-th frame of the video (step S20).
도 15를 참조하면, n번 째 프레임 및 n+1번 째 프레임에서 특징점의 옵티컬 플로우를 계산하고(단계 S21), 두 프레임을 비교한다(단계 S22). n번 째 프레임에 의해 추정된 객체 윤곽선의 윤곽 점들을 스네이크 점으로 활용하여 n+1번 째 프레임에 적용한다(단계 S23). 다음 프레임이 존재하는 경우(단계 S24), 상기 단계들을 반복한다(단계 S25).Referring to FIG. 15, the optical flow of feature points in the nth frame and the n+1th frame is calculated (step S21), and the two frames are compared (step S22). Contour points of the object contour estimated by the n-th frame are used as snake points and applied to the n+1-th frame (step S23). If there is a next frame (step S24), the above steps are repeated (step S25).
n번 째 프레임과 n+1번 째 프레임간의 전배경 분리 영상과 차영상을 활용하여 탐색할 객체 영역을 선택한다(단계 S30).An object region to be searched is selected using the previous background separation image and the difference image between the n-th frame and the n+1-th frame (step S30).
상기 탐색할 객체 영역을 선택하는 단계는, n번 째 프레임과 n+1번 째 프레임간의 전배경 분리 영상을 생성하여 윤곽선 정보를 획득하고, n번 째 프레임과 n+1번 째 프레임간의 차영상을 생성하여 추가적인 윤곽선 정보를 획득한다. 이를 기초로, 차영상과 전배경 분리 영상의 공통된 객체 윤곽선 주변을 탐색할 객체 영역으로 선택한다.In the step of selecting the object region to be searched, a front background separation image between the n th frame and the n + 1 th frame is generated to obtain contour line information, and a difference image between the n th frame and the n + 1 th frame to obtain additional contour information. Based on this, the area around the common object contour of the difference image and the separated former background image is selected as the object region to be searched.
상기 차영상을 생성하여 추가적인 윤곽선 정보를 획득하는 단계는, n번 째 프레임과 n+1번 째 프레임 간의 차영상 계산을 진행하며 잡음 생성을 방지하기 위해서 미리 설정된 임계값보다 차이가 큰 영역에 대해서만 계산을 진행한다.In the step of obtaining additional contour information by generating the difference image, a difference image between the n-th frame and the n+1-th frame is calculated, and only for an area where the difference is larger than a preset threshold in order to prevent noise generation. proceed with the calculation
상기 전배경 분리 영상과 상기 차영상을 통해 생성된 객체 영역 및 n+1번 째 옵티컬 플로우 특징점 간의 위치를 비교하여 n+1번 째 프레임에서 객체의 윤곽선의 위치 정보 오차를 조정한다(단계 S40). 이 경우, 특징점과 객체 영역 사이의 거리가 미리 설정된 임계값 보다 큰 경우, 특징점의 위치를 재조정할 수 있다.A location information error of the contour of the object in the n+1 th frame is adjusted by comparing the position between the previous background separation image and the object region generated from the difference image and the n+1 th optical flow feature point (step S40). . In this case, when the distance between the feature point and the object area is greater than a preset threshold value, the location of the feature point may be readjusted.
오차가 조정된 특징점을 n+1번 째 프레임의 스네이크 점으로 변환하여 객체의 윤곽선을 추출한다(단계 S50).The contour of the object is extracted by converting the error-adjusted feature points into snake points of the n+1th frame (step S50).
상기 스네이크 점으로 변환하여 객체의 윤곽선을 추출하는 단계는 원하는 객체 윤곽의 형태가 잡힐 때까지 스네이크 점들의 변환을 다수번 반복한다.In the step of extracting the outline of the object by transforming into snake points, the transformation of the snake points is repeated a number of times until a desired shape of the object outline is obtained.
이하에서는, 본 발명의 성능을 검증하기 위해 종래기술인 Choi[선행기술문헌의 비특허문헌 3] 및 K Takaya[선행기술문헌의 비특허문헌 4]과 비교한 실험결과를 기술한다.Hereinafter, experimental results compared with prior art Choi [Non-Patent Document 3 of Prior Art Document] and K Takaya [
도 15는 각 프레임 별로 임계값을 다르게 하여 시간적 일관성과 공간적 정확성의 평균을 측정한 결과를 나타낸다. 도 15를 참조하면, 값이 늘어날수록 전반적으로 성능이 올라가는 것을 볼 수 있으며 본 발명에서 제안하는 방법이 다른 방법들보다 우수한 성능을 나타내는 것을 확인할 수 있다.15 shows the result of measuring the average of temporal coherence and spatial accuracy by varying the threshold for each frame. Referring to Figure 15, It can be seen that overall performance increases as the value increases, and it can be confirmed that the method proposed in the present invention exhibits better performance than other methods.
도 16은 질적 평가를 위한 것으로 비정형 객체에 대한 실험을 진행한 결과이면서 폐색 현상에 대해 기존 방법들과 제안하는 방법이 어떻게 반응하는지 실험한 결과이다. 도 16을 참조하면, 축구 동영상의 잔디 배경과 같이 복잡한 배경에도 본 발명에서 제안하는 방법이 기존 방법들보다 강건하다는 것을 확인할 수 있다.16 is for qualitative evaluation, and is a result of an experiment on an atypical object and an experiment on how existing methods and the proposed method respond to an occlusion phenomenon. Referring to FIG. 16, it can be confirmed that the method proposed in the present invention is more robust than the existing methods even in a complex background such as a grass background of a soccer video.
이와 같은, 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. Such a snake and optical flow-based ultra-high-speed video object tracking method may be implemented as an application or implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in the art of computer software.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those produced by a compiler. The hardware device may be configured to act as one or more software modules to perform processing according to the present invention and vice versa.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to embodiments, those skilled in the art can variously modify and change the present invention without departing from the spirit and scope of the present invention described in the claims below. You will understand.
본 발명은 옵티컬 플로우(Optical flow)를 통해 생성된 특징점 위치를 기초로 하여 초고속 영상 전체적으로 퍼져있는 잡음들을 배제시키고 전배경 분리 영상과 차영상에서 나타나는 공통된 객체 윤곽선 주변만 탐색하는 방법을 사용한다. 이를 이용해 탐색 객체 주변의 잡음들로 인한 객체 추적 효율성 저하 문제를 해결할 수 있도록 하였다. The present invention uses a method of excluding noises spread throughout the ultra-high-speed image based on feature point locations generated through optical flow and searching only around common object contours appearing in the front-background separation image and the difference image. Using this, it is possible to solve the problem of object tracking efficiency deterioration due to noise around the search object.
결과적으로, 기존 스네이크 알고리즘과 옵티컬 플로우를 활용한 방법보다 전배경 분리를 결합한 방법이 윤곽선 정보의 비교를 통한 윤곽선 추출 정확도를 높임으로써 객체 윤곽선 추출 효율이 올라가게 된다. 이에 따라, 스포츠 영상분석, 과학 실험영상 분석 등 다양한 분야에서 유용하게 활용될 것으로 예상된다.As a result, the method combining the foreground separation rather than the method using the existing snake algorithm and optical flow increases the accuracy of contour extraction through comparison of contour information, thereby increasing the efficiency of object contour extraction. Accordingly, it is expected to be useful in various fields such as sports image analysis and scientific experiment image analysis.
10: 초고속 동영상 객체 추적 장치
100: 스네이크 포인트 설정부
200: 옵티컬 플로우부
300: 탐색 객체 영역 선택부
400: 영역 비교부
500: 윤곽선 추출부10: high-speed video object tracking device
100: snake point setting unit
200: optical flow unit
300: search object area selection unit
400: area comparison unit
500: contour extraction unit
Claims (13)
상기 동영상의 n번 째 프레임과 n+1번 째 프레임간의 옵티컬 플로우를 진행하여 특징점을 생성하는 단계;
n번 째 프레임과 n+1번 째 프레임간의 전배경 분리 영상과 차영상을 활용하여 탐색할 객체 영역을 선택하는 단계;
상기 전배경 분리 영상과 상기 차영상을 통해 생성된 객체 영역 및 n+1번 째 옵티컬 플로우 특징점 간의 위치를 비교하여 n+1번 째 프레임에서 객체의 윤곽선의 위치 정보 오차를 조정하는 단계; 및
오차가 조정된 특징점을 n+1번 째 프레임의 스네이크 점으로 변환하여 객체의 윤곽선을 추출하는 단계;를 포함하고,
상기 탐색할 객체 영역을 선택하는 단계는,
n번 째 프레임과 n+1번 째 프레임간의 전배경 분리 영상을 생성하여 윤곽선 정보를 획득하는 단계;
n번 째 프레임과 n+1번 째 프레임간의 차영상을 생성하여 추가적인 윤곽선 정보를 획득하는 단계; 및
차영상과 전배경 분리 영상의 공통된 객체 윤곽선 주변을 탐색할 객체 영역으로 선택하는 단계;를 포함하는, 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법.
calculating an initial snake point by setting an outline of an object of interest from a high-speed captured video;
generating feature points by performing an optical flow between the n-th frame and the n+1-th frame of the video;
selecting an object region to be searched for by utilizing a previous background separation image and a difference image between the n-th frame and the n+1-th frame;
adjusting positional information errors of object outlines in the n+1 th frame by comparing positions between the previous background separation image and the object region generated from the difference image and the n+1 th optical flow feature point; and
Extracting the outline of the object by converting the error-adjusted feature points into snake points of the n+1th frame;
In the step of selecting the object area to be searched,
obtaining contour line information by generating a background separation image between the n-th frame and the n+1-th frame;
obtaining additional contour information by generating a difference image between the n-th frame and the n+1-th frame; and
A high-speed video object tracking method based on snake and optical flow, comprising: selecting a common object contour around the difference image and the front background separation image as an object region to be searched for.
n번 째 프레임과 n+1번 째 프레임 간의 차영상 계산을 진행하며 잡음 생성을 방지하기 위해서 미리 설정된 임계값보다 차이가 큰 영역에 대해서만 계산을 진행하는, 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법.
The method of claim 1, wherein generating the difference image to obtain additional contour information comprises:
High-speed video object tracking based on snake and optical flow that calculates the difference image between the n-th frame and the n+1-th frame and calculates only the area where the difference is greater than the preset threshold to prevent noise generation method.
상기 스네이크 점으로 변환하여 객체의 윤곽선을 추출하는 단계를 다수번 반복하는 단계;를 더 포함하는, 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법.
According to claim 1,
Further comprising, repeating the step of extracting the outline of the object by converting it to the snake point multiple times; further comprising a snake and optical flow-based high-speed video object tracking method.
특징점과 객체 영역 사이의 거리가 미리 설정된 임계값 보다 큰 경우, 특징점의 위치를 재조정하는, 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법.
The method of claim 1, wherein the step of adjusting the location information error of the contour line comprises:
An ultra-high-speed video object tracking method based on snake and optical flow, which readjusts the position of a feature point when the distance between a feature point and an object region is greater than a preset threshold.
동영상 시퀀스에서 첫 번째 프레임(n = 0)에 대해서 객체를 분할하는 단계;
분할된 객체의 윤곽 정보를 스네이크 점으로 활용하는 단계; 및
상기 스네이크 점을 특징점으로 설정하여 스네이크 점을 초기화하는 단계;를 포함하는, 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법.
The method of claim 1, wherein calculating the initial snake point comprises:
Segmenting an object for a first frame (n = 0) in a video sequence;
Utilizing the contour information of the segmented object as a snake point; and
A method for tracking a high-speed video object based on snake and optical flow, comprising: initializing a snake point by setting the snake point as a feature point.
n번 째 프레임 및 n+1번 째 프레임에서 특징점의 옵티컬 플로우를 계산하는 단계;
n번 째 프레임에 의해 추정된 객체 윤곽선의 윤곽 점들을 스네이크 점으로 활용하여 n+1번 째 프레임에 적용하는 단계; 및
다음 프레임이 존재하는 경우, 상기 단계들을 반복하는 단계;를 포함하는, 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 방법.
7. The method of claim 6, wherein generating feature points by performing the optical flow comprises:
calculating an optical flow of feature points in the n-th frame and the n+1-th frame;
applying contour points of the object contour estimated by the n-th frame as snake points to the n+1-th frame; and
A method for tracking a high-speed video object based on snake and optical flow, comprising: repeating the above steps if there is a next frame.
A computer-readable storage medium on which a computer program for performing the snake and optical flow-based ultra-high-speed video object tracking method according to claim 1 is recorded.
상기 동영상의 n번 째 프레임과 n+1번 째 프레임간의 옵티컬 플로우를 진행하여 특징점을 생성하는 옵티컬 플로우부;
n번 째 프레임과 n+1번 째 프레임간의 전배경 분리 영상과 차영상을 활용하여 탐색할 객체 영역을 선택하는 탐색 객체 영역 선택부;
상기 전배경 분리 영상과 상기 차영상을 통해 생성된 객체 영역 및 n+1번 째 옵티컬 플로우 특징점 간의 위치를 비교하여 n+1번 째 프레임에서 객체의 윤곽선의 위치 정보 오차를 조정하는 영역 비교부; 및
오차가 조정된 특징점을 n+1번 째 프레임의 스네이크 점으로 변환하여 객체의 윤곽선을 추출하는 윤곽선 추출부;를 포함하고,
상기 탐색 객체 영역 선택부는,
n번 째 프레임과 n+1번 째 프레임간의 전배경 분리 영상을 생성하여 윤곽선 정보를 획득하는 전배경 분리부;
n번 째 프레임과 n+1번 째 프레임간의 차영상을 생성하여 추가적인 윤곽선 정보를 획득하는 차영상부; 및
차영상과 전배경 분리 영상의 공통된 객체 윤곽선 주변을 탐색할 객체 영역으로 선택하는 객체 선택부;를 포함하는, 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 장치.
a snake point setting unit that calculates an initial snake point by setting the outline of an object of interest from a high-speed captured video;
an optical flow unit generating feature points by performing an optical flow between the n-th frame and the n+1-th frame of the video;
a search object region selection unit that selects an object region to be searched for by utilizing the previous background separation image and the difference image between the n-th frame and the n+1-th frame;
an area comparator for adjusting positional information errors of object outlines in the n+1 th frame by comparing positions between the separated background image and the object region generated from the difference image and the n+1 th optical flow feature point; and
A contour extractor extracting the contour of the object by converting the error-adjusted feature point into a snake point of the n+1th frame;
The search object area selection unit,
a front-background separator for obtaining contour information by generating a front-background separation image between the n-th frame and the n+1-th frame;
a difference image unit generating a difference image between the n-th frame and the n+1-th frame to obtain additional contour information; and
A high-speed video object tracking device based on snake and optical flow, comprising: an object selection unit for selecting a common object contour of the difference image and the front background separation image as an object region to be searched for.
n번 째 프레임과 n+1번 째 프레임 간의 차영상 계산을 진행하며 잡음 생성을 방지하기 위해서 미리 설정된 임계값보다 차이가 큰 영역에 대해서만 계산을 진행하는, 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 장치.
The method of claim 9, wherein the difference image unit,
High-speed video object tracking based on snake and optical flow that calculates the difference image between the n-th frame and the n+1-th frame and calculates only the area where the difference is greater than the preset threshold to prevent noise generation Device.
특징점과 객체 영역 사이의 거리가 미리 설정된 임계값 보다 큰 경우, 특징점의 위치를 재조정하는, 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 장치.
10. The method of claim 9, wherein the area comparison unit,
A high-speed video object tracking device based on snake and optical flow that readjusts the position of a feature point when the distance between a feature point and an object region is greater than a preset threshold.
동영상 시퀀스에서 첫 번째 프레임(n = 0)에 대해서 객체를 분할하고, 분할된 객체의 윤곽 정보를 스네이크 점을 특징점으로써 설정하여 스네이크 점을 초기화하는, 스네이크와 옵티컬 플로우 기반의 초고속 동영상 객체 추적 장치.
The method of claim 9, wherein the snake point setting unit,
A high-speed video object tracking device based on snake and optical flow that divides an object for the first frame (n = 0) in a video sequence and initializes the snake point by setting the contour information of the divided object as a feature point.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200167484 | 2020-12-03 | ||
KR20200167484 | 2020-12-03 |
Publications (3)
Publication Number | Publication Date |
---|---|
KR20220078421A KR20220078421A (en) | 2022-06-10 |
KR102532019B1 true KR102532019B1 (en) | 2023-05-15 |
KR102532019B9 KR102532019B9 (en) | 2024-02-08 |
Family
ID=81986746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200182755A KR102532019B1 (en) | 2020-12-03 | 2020-12-24 | Method for high speed video object tracking based on snake and optical flow, recording medium and device for performing the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102532019B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008181515A (en) | 1999-07-09 | 2008-08-07 | Toshiba Corp | Method of describing object area information, method of processing video information, and information processor |
US20130121577A1 (en) | 2009-10-30 | 2013-05-16 | Jue Wang | Methods and Apparatus for Chatter Reduction in Video Object Segmentation Using Optical Flow Assisted Gaussholding |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09161072A (en) | 1995-12-13 | 1997-06-20 | Tsushin Hoso Kiko | Video processor for extracting structure information of video signal |
KR100415266B1 (en) * | 2000-05-11 | 2004-01-16 | 가부시끼가이샤 도시바 | Object region information description method, object region information generating device and recording medium |
KR20060023869A (en) | 2004-09-10 | 2006-03-15 | 삼성전자주식회사 | Apparatus and method for processing image |
KR101191319B1 (en) | 2011-07-11 | 2012-10-16 | 중앙대학교 산학협력단 | Apparatus and method for painterly rendering based on objective motion information |
-
2020
- 2020-12-24 KR KR1020200182755A patent/KR102532019B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008181515A (en) | 1999-07-09 | 2008-08-07 | Toshiba Corp | Method of describing object area information, method of processing video information, and information processor |
US20130121577A1 (en) | 2009-10-30 | 2013-05-16 | Jue Wang | Methods and Apparatus for Chatter Reduction in Video Object Segmentation Using Optical Flow Assisted Gaussholding |
Non-Patent Citations (2)
Title |
---|
Jin Woo Choi 등, A contour tracking method of large motion object using optical flow and active contour model, Multimedia Tools and Applications(2013.11.19.)* |
한영준, 로봇의 이동물체 추적을 위한 새로운 확장 스네이크 모델, 퍼지 및 지능시스템학회 논문지(2004.12.)* |
Also Published As
Publication number | Publication date |
---|---|
KR102532019B9 (en) | 2024-02-08 |
KR20220078421A (en) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10248887B2 (en) | Object tracking device and method | |
US7783118B2 (en) | Method and apparatus for determining motion in images | |
JP4952625B2 (en) | Perspective transformation distortion generating document image correcting apparatus and method | |
JP6030617B2 (en) | Image processing apparatus and image processing method | |
US9727974B2 (en) | System for video super resolution using semantic components | |
JP2019067404A (en) | Method and apparatus for tracking and dividing objects on an image using markov chain | |
CN112184759A (en) | Moving target detection and tracking method and system based on video | |
US9153203B2 (en) | Temporally consistent superpixels | |
WO2019071976A1 (en) | Panoramic image saliency detection method based on regional growth and eye movement model | |
US10249046B2 (en) | Method and apparatus for object tracking and segmentation via background tracking | |
EP2980754A1 (en) | Method and apparatus for generating temporally consistent superpixels | |
US10176401B2 (en) | Method and apparatus for generating temporally consistent superpixels | |
Jonna et al. | A multimodal approach for image de-fencing and depth inpainting | |
Angelo | A novel approach on object detection and tracking using adaptive background subtraction method | |
CN106651918B (en) | Foreground extraction method under shaking background | |
KR102532019B1 (en) | Method for high speed video object tracking based on snake and optical flow, recording medium and device for performing the method | |
JP2016081252A (en) | Image processor and image processing method | |
Lefevre et al. | An extended snake model for real-time multiple object tracking | |
Zhou et al. | Superpixel-driven level set tracking | |
Malavika et al. | Moving object detection and velocity estimation using MATLAB | |
Kalboussi et al. | A spatiotemporal model for video saliency detection | |
Zhang et al. | Online human tracking via superpixel-based collaborative appearance model | |
Nagahashi et al. | Video segmentation using iterated graph cuts based on spatio-temporal volumes | |
Jacques et al. | Improved head-shoulder human contour estimation through clusters of learned shape models | |
Jeong et al. | Real-time head tracking based on color and shape information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Re-publication after modification of scope of protection [patent] |