KR101741758B1 - A Real-time Face Tracking Method Robust to Occlusion Based on Improved CamShift with Depth Information - Google Patents
A Real-time Face Tracking Method Robust to Occlusion Based on Improved CamShift with Depth Information Download PDFInfo
- Publication number
- KR101741758B1 KR101741758B1 KR1020160007749A KR20160007749A KR101741758B1 KR 101741758 B1 KR101741758 B1 KR 101741758B1 KR 1020160007749 A KR1020160007749 A KR 1020160007749A KR 20160007749 A KR20160007749 A KR 20160007749A KR 101741758 B1 KR101741758 B1 KR 101741758B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- current frame
- tracking
- camshift
- tracked
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
키넥트로부터 색상영상 및 깊이영상을 입력받아 얼굴 객체를 추적하는 캠쉬프트 기반의 실시간 얼굴추적 방법에 관한 것으로서, (a) 캠쉬프트의 초기값을 설정하는 단계; (b) 상기 색상영상 및 깊이영상으로부터 현재 프레임의 영상을 입력받는 단계; (c) 객체를 추적하는 단계; (d) 바타차야 거리를 구하는 단계; (e) 바타차야 거리에 따라 추적된 객체를 템플릿으로 저장하는 단계; 및, (f) 객체를 추적하지 못하거나, 바타차야 거리가 너무 먼 경우 객체를 다시 추적하는 단계를 포함하는 구성을 마련한다.
상기와 같은 얼굴추적 방법에 의하여, 캠쉬프트 추적법에 깊이정보와 피부검출법을 적용함으로써, 배경 내 추적 객체와 색상이 유사한 물체가 존재하더라도 정확하게 물체를 추적할 수 있다.The present invention relates to a camshift-based real-time face tracking method for receiving a color image and a depth image from a Kinect and tracking a face object, the method comprising: (a) setting an initial value of a camshift; (b) receiving an image of a current frame from the color image and the depth image; (c) tracking the object; (d) obtaining a Bata Chaaya street; (e) storing the tracked object as a template according to the batachaya distance; And (f) tracing the object again if it fails to track the object or if the batachaya distance is too long.
By applying the depth information and the skin detection method to the cam shift tracking method by using the face tracking method as described above, the object can be accurately tracked even if there is an object similar in color to the in-background tracking object.
Description
본 발명은 얼굴 추적시, 픽셀단위로 거리정보를 획득할 수 있는 키넥트(Kinect)의 깊이정보와, HSV(hue saturation value) 색공간 기반의 피부색 후보군을 추출하는 피부검출법(Skin Detection Algorithm)을 이용하여 색상분포만 이용하는 기존의 캠쉬프트 추적법(CamShift Algorithm)의 단점을 보완하는, 캠쉬프트 기반의 실시간 얼굴추적 방법에 관한 것이다.The present invention relates to a skin detection algorithm for extracting depth information of a Kinect that can acquire distance information on a pixel-by-pixel basis during a face tracking and a hue saturation value (HSV) color space based skin color candidate Camshift-based real-time face tracking method that compensates for the disadvantage of the existing camshift algorithm (CamShift Algorithm) using only the color distribution.
일반적으로, 촬영된 영상 내에서 객체를 추적할 때 캠쉬프트 추적법(CamShift Algorithm)을 이용하여, 색상 분포에 기반하여 얼굴 등을 식별한다[비특허문헌 3]. 즉, 캠쉬프트 추적법(CamShift Algorithm)은 색(Hue)정보를 바탕으로 객체를 추적하는 알고리즘으로서, 원하는 부분의 색 정보를 추출하여 계속되는 영상에서 색 정보를 비교하여 원하는 부분을 추적한다.Generally, when an object is tracked in a photographed image, a face or the like is identified based on a color distribution using a CamShift Algorithm (Non-Patent Document 3). That is, the CamShift Algorithm is an algorithm that tracks an object based on hue information. The CamShift Algorithm extracts color information of a desired portion and compares the color information in a subsequent image to track a desired portion.
그러나 캠쉬프트 추적법(CamShift Algorithm)은 영상 배경 내에 추적 객체와 유사한 색상의 물체가 존재하는 경우, 얼굴 등을 정확하게 식별하지 못하여, 객체 추적이 매우 불안정하였다. 이러한 불안정한 추적의 문제점을 깊이정보를 사용하여 해결하고 추적이 실패한 경우에도 추적하던 객체를 다시 추적할 수 있는 추적 방법을 제안하고자 한다.However, the camshift algorithm (CamShift Algorithm) is very unstable because it can not accurately identify faces when objects similar in color to the tracking objects exist in the image background. We propose a tracking method that solves the problem of this unstable tracking by using depth information and can trace the tracked object even if the tracking fails.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 얼굴 추적시, 픽셀단위로 거리정보를 획득할 수 있는 키넥트(Kinect)의 깊이정보와, HSV(hue saturation value) 색공간 기반의 피부색 후보군을 추출하는 피부검출법(Skin Detection Algorithm)을 이용하여 색상분포만 이용하는 기존의 캠쉬프트 추적법(CamShift Algorithm)의 단점을 보완하는, 캠쉬프트 기반의 실시간 얼굴추적 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The object of the present invention is to solve the above-mentioned problems, and it is an object of the present invention to provide an image processing apparatus, A camshift-based real-time face tracking method that compensates for the disadvantage of the existing CamShift Algorithm that uses only the color distribution using a skin detection algorithm that extracts a skin color candidate group.
또한, 본 발명의 목적은 얼굴 추적시 특징점을 기반으로 영상간의 매칭을 통하여 물체를 추적하는, 캠쉬프트 기반의 실시간 얼굴추적 방법을 제공하는 것이다.It is another object of the present invention to provide a camshift based real time face tracking method for tracking an object through matching between images based on feature points in face tracking.
상기 목적을 달성하기 위해 본 발명은 키넥트로부터 색상영상 및 깊이영상을 입력받아 얼굴 객체를 추적하는 캠쉬프트 기반의 실시간 얼굴추적 방법에 관한 것으로서, (a) 영상 내에 얼굴을 추적할 얼굴의 초기 위치를 설정하는 단계; (b) 상기 키넥트로부터 현재 프레임의 색상영상 및 깊이영상을 입력받는 단계; (c) 상기 색상영상으로부터 얼굴의 색상분포를 기초로 백 프로젝션 영상을 생성하고, 상기 깊이영상으로부터 이진 마스크 영상을 생성하고, 상기 백프로젝션 영상과 상기 이진 마스크 영상의 교집합에 해당하는 영역을 추적하는 객체로 설정하는 단계; 및, (d) 다음 프레임을 현재 프레임으로, 현재 프레임을 이전 프레임으로 하여, 상기 (b)단계 내지 상기 (c)단계를 반복하여 수행하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a camshift-based real-time face tracking method for receiving a color image and a depth image from a Kinect and tracking the face object, the method comprising: (a) ; (b) receiving a color image and a depth image of a current frame from the keynote; (c) generating a back projection image based on a color distribution of a face from the color image, generating a binary mask image from the depth image, and tracking an area corresponding to an intersection of the back projection image and the binary mask image Setting an object as an object; And (d) repeating the steps (b) to (c) with the next frame being the current frame and the current frame being the previous frame.
또한, 본 발명은 키넥트로부터 색상영상 및 깊이영상을 입력받아 얼굴 객체를 추적하는 캠쉬프트 기반의 실시간 얼굴추적 방법에 관한 것으로서, (a) 영상 내에 얼굴을 추적할 초기 위치를 설정하는 단계; (b) 상기 키넥트로부터 현재 프레임의 색상영상 및 깊이영상을 입력받는 단계; (c) 상기 색상영상으로부터 얼굴의 색상분포를 기초로 백 프로젝션 영상을 생성하고, 상기 깊이영상으로부터 이진 마스크 영상을 생성하고, 상기 백프로젝션 영상과 상기 이진 마스크 영상의 교집합에 해당하는 영역을 추적하는 객체로 설정하는 단계; (e) 이전 프레임에서 추적된 객체와 현재 프레임에서 추적된 객체 간의 바타차야 거리를 산출하는 단계; (f) 상기 산출된 바타차야 거리에 따라 현재 프레임에서 추적된 객체를 템플릿으로 저장하는 단계; (g) 상기 (c)단계에서 객체를 추적할 수 없는 경우나 상기 (d)단계에서 상기 산출된 바타차야 거리가 사전에 정해진 제2 임계값 이상인 경우, 상기 저장된 템플릿과 현재 프레임 간의 특징점 매칭을 통해 객체를 재추적하는 단계; 및 (h) 다음 프레임을 현재 프레임으로, 현재 프레임을 이전 프레임으로 하여, 상기 (b)단계 내지 상기 (g)단계를 반복하여 수행하는 단계를 포함하는 것을 특징으로 한다.The present invention also relates to a camshift based real time face tracking method for tracking a face object by receiving a color image and a depth image from a Kinect, the method comprising the steps of: (a) setting an initial position for tracking a face in an image; (b) receiving a color image and a depth image of a current frame from the keynote; (c) generating a back projection image based on a color distribution of a face from the color image, generating a binary mask image from the depth image, and tracking an area corresponding to an intersection of the back projection image and the binary mask image Setting an object as an object; (e) calculating a batachay distance between the object tracked in the previous frame and the object tracked in the current frame; (f) storing an object tracked in a current frame as a template according to the calculated battalay zone distance; (g) if the object can not be traced in the step (c) or if the calculated batachaya distance is greater than or equal to a predetermined second threshold value in the step (d), characteristic point matching between the stored template and the current frame is performed Re-tracing the object through; And (h) repeating the steps (b) to (g) with the next frame as a current frame and the current frame as a previous frame.
또, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법에 있어서, 상기 (a)단계에서, 하 검출법을 통해 얼굴 영역을 검출하고, 검출된 얼굴 영역을 초기 객체로 설정하는 것을 특징으로 한다.The present invention also provides a real-time face tracking method based on camshift, wherein in the step (a), the face region is detected by the bottom detection method and the detected face region is set as an initial object.
또, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법에 있어서, 상기 (c)단계에서, 이전 프레임의 추적된 객체의 히스토그램을 기반으로 현재프레임의 매 픽셀 마다 추적하는 객체의 히스토그램과 유사성을 0부터 255까지의 밝기값으로 표현하여 백 프로젝션 영상을 생성하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a real-time face tracking method based on camshift, wherein in step (c), similarity to a histogram of an object tracked for each pixel of a current frame on the basis of a histogram of a tracked object of a previous frame is 255 brightness values to generate a back projection image.
또, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법에 있어서, 상기 (c)단계에서, 추적된 객체 중심에서의 깊이 값을 읽어와 그 깊이 값과 같은 거리에 있는 픽셀들만을 1로 표현하고 나머지는 0으로 표현하여 이진화된 마스크를 생성하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a real-time face tracking method based on camshift, wherein in step (c), a depth value at the center of the tracked object is read and only pixels at a distance equal to the depth value are represented by 1 Is expressed as " 0 " to generate a binarized mask.
또, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법에 있어서, 상기 (c)단계에서, 상기 백 프로젝션 영상의 각 픽셀 값에, 상기 이진 마스크 영상 내의 대응되는 픽셀값을 곱하여, 마스킹하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a real-time face tracking method based on cam shift, wherein in step (c), each pixel value of the back projection image is multiplied by a corresponding pixel value in the binary mask image, do.
또, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법에 있어서, 상기 (f)단계에서, 상기 산출된 바타차야 거리가 사전에 정해진 제1 임계값 보다 크고 상기 제2 임계값 보다 작으면, 현재 프레임에서 추적된 객체를 템플릿으로 저장하고, 상기 제1 임계값은 상기 제2 임계값 보다 작은 것을 특징으로 한다.According to another aspect of the present invention, there is provided a real-time face tracking method based on camshift, wherein in the step (f), if the calculated batta-length distance is greater than a predetermined first threshold value and smaller than the second threshold value, And stores the traced object as a template, wherein the first threshold value is smaller than the second threshold value.
또, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법에 있어서, 상기 제1 임계값은 0.15로 설정되고, 상기 제2 임계값은 0.5로 설정되는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a real-time face tracking method based on camshift, wherein the first threshold value is set to 0.15, and the second threshold value is set to 0.5.
또, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법에 있어서, 상기 (g)단계에서, FAST(Features from Accelerated Segment Test) 방법을 적용하여, 상기 저장된 템플릿 및, 현재 프레임 내에서 특징점을 검출하고, 검출된 특징점에 대하여 BRIEF(Binary Robust Independent Elementary Features) 특징 기술자를 구하여 템플릿과 현재 프레임 간의 특징점 매칭을 수행하고, 호모그래프 행렬을 구하여 매칭 결과를 검사하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a real-time face tracking method based on camshift, the method comprising the steps of: detecting a feature point in the stored template and a current frame by applying a feature from Accelerated Segment Test (FAST) A BRIEF (Binary Robust Independent Elementary Features) feature descriptor is obtained for the detected minutiae, minutiae matching between the template and the current frame is performed, and a homomorphic matrix is obtained to check the matching result.
또, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법에 있어서, 상기 (g)단계에서, 상기 FAST 방법을 적용하여 특징점을 추출할 때, 기준픽셀 P로부터 정의된 16개 주변 픽셀의 밝기 값을 P보다 사전에 정해진 크기 보다 큰 경우, P보다 사전에 정해진 크기 보다 작은 경우, 그 외 경우의 3가지 경우로 분류하고, 주변 픽셀들의 밝기 분포를 16차원의 삼진(Ternary) 벡터로 표현하여, 16차원의 벡터를 결정 트리(Decision Tree)에 입력하여 특징점의 여부를 판단하는 것을 특징으로 한다.According to the present invention, in the real-time face tracking method based on cam shift, when the feature points are extracted by applying the FAST method in the step (g), the brightness values of the sixteen surrounding pixels defined from the reference pixel P are denoted by P The brightness distribution of neighboring pixels is represented by a 16-dimensional ternary vector, and the brightness distribution of the 16-dimensional Is input to a decision tree to determine whether a feature point exists.
또, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법에 있어서, 상기 (g)단계에서, 상기 저장된 템플릿과 현재 프레임 내의 매칭된 적어도 4 쌍의 특징점으로 호모그래피 H를 산출하고, 산출된 호모그래피 H가 [수식 1]과 같을 때, 호모그래피에 대한 판별식 D, Xs Ys, P를 다음 [수식 2]를 통해 산출하여, 상기 판별식이 사전에 정해진 값의 범위 내인지를 판단하여 검사하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a real-time face tracking method based on camshift, wherein in step (g), homography H is calculated using at least four pairs of feature points matched in the current frame with the stored template, the expression of [formula 1] and the time the same, the discriminant D, X s Y s, P on the homography calculated using the following [formula 2], it is determined whether or not the range of the value which the discriminant is prior to testing .
[수식 1][Equation 1]
[수식 2][Equation 2]
또, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법에 있어서, 상기 판별식은 다음 [수식 3]과 같은 논리식으로 판단되는 것을 특징으로 한다.Further, the present invention is characterized in that in the real-time face tracking method based on the cam shift, the discriminant is determined by a logical expression like the following [Equation 3].
[수식 3][Equation 3]
또, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법에 있어서, 상기 (g)단계에서, 저장된 템플릿이 다수인 경우, 템플릿들 중 하나를 선정하여, 특징점 매칭을 통해 객체를 재추적하고, 만약 특징점 매칭이 되지 않으면 다른 템플릿을 선정하여 특징점 매칭을 통해 객체를 재추적하는 과정을 반복하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a real-time face tracking method based on camshift, wherein, in step (g), when one of the stored templates is a plurality of templates, one of the templates is selected, If the matching is not possible, another template is selected and the object is re-traced through minutia matching.
또한, 본 발명은 캠쉬프트 기반의 실시간 얼굴추적 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention also relates to a computer-readable recording medium on which a program for performing a camshift-based real time face tracking method is recorded.
상술한 바와 같이, 본 발명에 따른 캠쉬프트 기반의 실시간 얼굴추적 방법에 의하면, 캠쉬프트 추적법에 깊이정보와 피부검출법을 적용함으로써, 배경 내 추적 객체와 색상이 유사한 물체가 존재하더라도 정확하게 물체를 추적할 수 있는 효과가 얻어진다.As described above, according to the camshift-based real-time face tracking method of the present invention, by applying the depth information and the skin detection method to the cam shift tracking method, it is possible to accurately track an object An effect can be obtained.
또한, 본 발명에 따른 캠쉬프트 기반의 실시간 얼굴추적 방법에 의하면, 특징점 기반으로 매칭하여 얼굴을 추적함으로써, 추적하던 얼굴 또는 객체의 사라짐이나 가려짐이 발생할 경우에도 다시 추적할 수 있고, 이를 통해, 차폐영역에 강인한 특성을 지니는 얼굴 추적 방법을 제공할 수 있는 효과가 얻어진다.In addition, according to the camshift-based real-time face tracking method according to the present invention, matching can be performed based on a feature point to track a face, and if a face or an object being tracked disappears or is obscured, It is possible to provide a face tracking method having robust characteristics in the shielded area.
도 1은 본 발명을 실시하기 위한 전체 시스템의 구성을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 원기둥으로 모델링한 HSV 색공간을 나타낸 도면.
도 3은 본 발명의 일실시예에 따른 캠쉬프트 기반의 실시간 얼굴추적 방법을 설명하는 흐름도.
도 4는 본 발명의 일실시예에 따른 캠쉬프트 기반의 실시간 얼굴추적 방법을 설명하는 세부 흐름도.
도 5는 본 발명의 일실시예에 따른 깊이 영상을 정규화한 영상.
도 6은 본 발명의 일실시예에 따른 캠쉬프트 결과와 깊이 정보를 이용한 백 프로젝션(Backprojection) 과정을 나타낸 영상으로서, (a) 캠쉬프트 결과 영상, (b) 객체 색상 분포를 이용한 백 프로젝션 영상, (c) 객체 중심의 깊이와 같은 픽셀들을 나타낸 이진화된 마스크 영상, (d) 백 프로젝션 영상과 이진화 마스크 영상을 AND 연산을 한 영상.
도 7은 본 발명의 일실시예에 따른 깊이정보를 이용한 캠쉬프트(CamShift) 추적법의 검출 결과와 종래 기술의 결과를 대비한 영상으로서, (a) 기존의 캠쉬프트(CamShift) 추적법의 검출 결과 영상, (b) 깊이정보를 이용한 결과 영상.
도 8은 본 발명의 일실시예에 따른 특징점에 의한 템플릿 매칭을 통해 추적에 실패한 객체를 재추적하는 영상으로서, (a) 저장되어있는 여러 템플릿들과 특징점 매칭을 수행하고 있는 영상, (b) 성공적으로 매칭되어 추적하던 객체를 다시 찾은 영상,
도 9는 본 발명의 일실시예에 따른 중심화소 P로부터 거리가 3인 원에 해당하는 16개의 픽셀을 나타낸 영상.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram showing a configuration of an overall system for carrying out the present invention; Fig.
FIG. 2 illustrates a HSV color space modeled as a cylinder according to an embodiment of the present invention; FIG.
3 is a flowchart illustrating a camshift-based real-time face tracking method according to an exemplary embodiment of the present invention.
4 is a detailed flowchart illustrating a camshift based real time face tracking method according to an embodiment of the present invention.
5 is a view illustrating a normalized depth image according to an embodiment of the present invention.
FIG. 6 is an image showing a backprojection process using a cam shift result and depth information according to an embodiment of the present invention. The backprojection image includes (a) a camshift result image, (b) (c) a binarized mask image showing the same depth as the center of the object, and (d) an AND operation of the back projection image and the binary mask image.
FIG. 7 is a view for comparing the detection result of the CamShift tracking method using the depth information and the result of the conventional technique, according to an embodiment of the present invention. FIG. 7A is a diagram illustrating the detection of the CamShift tracking method (B) Result image using depth information.
FIG. 8 is an image for retracing an object that fails to track through template matching by minutiae points according to an embodiment of the present invention. FIG. 8 (a) shows an image that performs minutia matching with stored templates, (b) Successfully matching the tracked object back to the found image,
9 is a view showing 16 pixels corresponding to a circle having a distance of 3 from the center pixel P according to an embodiment of the present invention.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the drawings.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In the description of the present invention, the same parts are denoted by the same reference numerals, and repetitive description thereof will be omitted.
먼저, 본 발명을 실시하기 위한 전체 시스템의 구성의 예들에 대하여 도 1을 참조하여 설명한다.First, examples of the configuration of the entire system for carrying out the present invention will be described with reference to Fig.
도 1에서 보는 바와 같이, 본 발명에 따른 캠쉬프트 기반의 실시간 얼굴추적 방법은 키넥트(20)의 깊이 카메라(21)에 의해 촬영된 깊이영상(61), 및, 키넥트(20)의 색상 카메라(또는 RGB카메라)(22)에 의해 촬영된 색상영상(62)을 입력받아 얼굴을 추적하는 컴퓨터 단말(30) 상의 프로그램 시스템으로 실시될 수 있다. 즉, 얼굴 추적 방법은 프로그램으로 구성되어 컴퓨터 단말(30)에 설치되어 실행될 수 있다. 컴퓨터 단말(30)에 설치된 프로그램은 하나의 프로그램 시스템(40)과 같이 동작할 수 있다.1, a real-time face tracking method based on camshift according to the present invention includes a
한편, 다른 실시예로서, 얼굴 추적 방법은 프로그램으로 구성되어 범용 컴퓨터에서 동작하는 것 외에 ASIC(주문형 반도체) 등 하나의 전자회로로 구성되어 실시될 수 있다. 또는 영상에서의 얼굴 이미지를 검출하고 추적하는 것만을 전용으로 처리하는 전용 컴퓨터 단말(30)로 개발될 수도 있다. 이를 얼굴 추적 장치(40)라 부르기로 한다. 그 외 가능한 다른 형태도 실시될 수 있다.Meanwhile, as another embodiment, the face tracking method may be implemented by a single electronic circuit such as an ASIC (on-demand semiconductor) in addition to being operated by a general-purpose computer. Or a
키넥트(20)는 깊이 카메라(21) 및 색상 카메라(22)를 포함한다.The
깊이 카메라(21)는 물체(10)의 깊이를 측정하는 카메라로서, 깊이정보를 측정하여 깊이영상을 출력한다.The
바람직하게는, 깊이 카메라(21)는 키넥트에 설치된 깊이 카메라로서, 적외선 패턴에 의하여 깊이정보를 측정하는 깊이 카메라이다. 깊이 카메라(21)는 적외선 송출부와 수신부로 구성되어, 송출부에서 송출된 적외선이 물체(10)에 맞고 반사되면, 수신부에서 반사되는 적외선을 수신하여, 물체(10)의 깊이를 측정한다.Preferably, the
촬영된 깊이영상(61)은 깊이 카메라(21)로 촬영된 깊이영상이다.The photographed
색상 카메라(22)는 통상의 RGB카메라로서, 물체(10)의 색상을 획득한다. 바람직하게는, 색상 카메라(22)는 키넥트에 설치된 RGB 카메라이다. 촬영된 색상영상(62)은 색상 카메라(22)로 촬영된 RGB 영상이다.The color camera 22 is a conventional RGB camera and acquires the color of the
깊이영상(61) 및 색상영상(62)은 컴퓨터 단말(30)에 직접 입력되어 저장되고, 얼굴 추적 장치(40)에 의해 처리된다. 또는, 깊이영상(61) 및 색상영상(62)은 컴퓨터 단말(30)의 저장매체에 미리 저장되고, 얼굴 추적 장치(40)에 의해 저장된 깊이영상(60)을 읽어 입력될 수도 있다.The
영상은 시간상으로 연속된 프레임으로 구성된다. 예를 들어, 현재시간 t의 프레임을 현재 프레임이라고 하면, 직전시간 t-1의 프레임은 이전 프레임이라고 하고, t+1의 프레임은 다음 프레임이라고 부르기로 한다. 한편, 각 프레임은 컬러영상(또는 컬러 이미지) 및 깊이영상(또는 깊이정보)을 갖는다. The image consists of consecutive frames in time. For example, if the frame at the current time t is the current frame, the frame at the immediately preceding time t-1 is referred to as the previous frame, and the frame at the time t + 1 is referred to as the next frame. On the other hand, each frame has a color image (or a color image) and a depth image (or depth information).
즉, 깊이영상(61) 및 색상영상(62)은 시간상으로 연속된 프레임으로 구성된다. 하나의 프레임은 하나의 이미지를 갖는다. 또한, 영상(61,62)은 하나의 프레임(또는 이미지)을 가질 수도 있다. 즉, 영상(61,62)은 하나의 이미지인 경우에도 해당된다.That is, the
깊이영상 및 색상영상에서 얼굴을 검출하는 것은, 곧 깊이/색상 프레임(또는 이미지) 각각에서 검출하는 것을 의미하나, 이하에서 특별한 구별의 필요성이 없는 한, 영상이란 용어를 사용하기로 한다.Detecting a face in a depth image and a color image means detection in each of a depth / color frame (or image), but the term "image" is used below unless there is a need for a special distinction.
다음으로, 본 발명에서 사용되는 HSV 컬러 모델, 캠쉬프트 추적법, 및, 피부 검출법에 대하여 설명한다.Next, the HSV color model, the cam shift tracking method, and the skin detection method used in the present invention will be described.
먼저, HSV 컬러 모델에 대하여 설명한다.First, the HSV color model will be described.
본 발명에서는 색상정보를 사용하는데 색상정보 또한 다양한 색공간으로 나타낼 수 있다. 가장먼저 빛의 3원색인 빨강(Red), 초록(Green), 파랑(Blue) 3가지의 색을 혼합해서 표현하는 RGB 색공간이 많이 사용되는데 이 컬러 모델은 디스플레이 장치나 프린터 같은 장치에서 사용하기 적합한 컬러 모델들이다.In the present invention, color information is used, and color information can be represented by various color spaces. First, the RGB color space, which is a mixture of the three primary colors of light (red, green, and blue), is often used. This color model is used in devices such as display devices and printers These are suitable color models.
이보다 추적 알고리즘에 더 적합한 모델 으로는 HSV 색공간이 있다. HSV 컬러 모델은 색상(Hue), 채도(Saturation), 명도(Value) 3가지 요소로 이루어져 있다. 먼저 색상 값에 해당되는 색상(Hue)은 가시광선 스펙트럼중 파장이 가장 긴 빨강을 0°로 보고 파장이 길어질수록 큰 각도를 갖게 된다. 최대각도인 360°가 되면 다시 빨강색이 된다. 두 번째 요소인 채도(Saturation)는 특정한 H(색상)값일 때 그 색상의 가장 진한 상태를 100%로, 가장 흐린 상태를 0%로 나타낸 것이다. 채도가 0% 일 때는 무채색이 된다. 세 번째 요소인 명도(Value)는 색상의 진한정도를 나타내는데 명도값이 0% 일 때는 검정색이 된다.The HSV color space is more suitable for the tracking algorithm than this. The HSV color model consists of three elements: Hue, Saturation, and Value. First, the hue corresponding to the color value is defined as 0 °, which is the longest wavelength of the visible light spectrum, and has a larger angle as the wavelength becomes longer. When the maximum angle is 360 °, it becomes red again. The second element, Saturation, represents the darkest state of the color at 100% and the darkest state at 0% for a particular H (color) value. When the saturation is 0%, it becomes achromatic. The third element, Value, indicates the degree of darkness of the color, which is black when the lightness value is 0%.
다음으로, 캠쉬프트 추적법(CamShift)에 대하여 설명한다.Next, the cam shift tracking method (CamShift) will be described.
CamShift(Continuously Adaptive Mean SHIFT)는 이름에서 알 수 있듯이 민쉬프트(MeanShift) 알고리즘을 사용하여 객체를 효과적으로 추적하기 위해 개선한 것으로, 탐색 윈도우의 크기를 스스로 조절하여 민쉬프트(MeanShift)의 단점을 보완한 알고리즘이다.As the name suggests, CamShift (Continuously Adaptive Mean SHIFT) is an improvement to effectively track objects using the MeanShift algorithm. It compensates for the disadvantages of MeanShift by adjusting the size of the search window itself Algorithm.
캠쉬프트 추적법(CamShift)은 색상정보 집합의 분포(Histogram)를 기반으로 객체를 고속으로 추적하는 알고리즘으로 초기의 검색 영역의 크기와 위치를 사용자가 입력하면 반복적인 히스토그램(Histogram)의 비교와 대조를 통해 객체를 추적하게 된다. 민쉬프트(MeanShift)와의 가장 큰 차이점으로는 가변적인 탐색 윈도우(Search Window)를 적용하여 크기가 변하는 객체도 손쉽게 추적할 수 있다는 점이 있다.CamShift is an algorithm that tracks objects at high speed based on the histogram of color information set. When the user inputs the size and position of the initial search area, the comparison and comparison of iterative histograms To track the object. The biggest difference with MeanShift is that it allows you to easily track objects that change in size by applying a variable search window.
캠쉬프트 추적법(CamShift)은 기본적으로 다음과 같은 순서로 동작한다.The CamShift method basically operates in the following order.
1. 탐색 윈도우의 초기 위치와 크기를 설정한다.1. Set the initial position and size of the search window.
2. 색상정보의 확률 분포를 계산한 뒤 탐색 윈도우의 중심을 찾기 위해 민쉬프트(MeanShift) 알고리즘을 수행한다.2. Compute the probability distribution of color information and then perform the MeanShift algorithm to find the center of the search window.
3. 영상의 모멘트 계산을 통하여 구해진 색상분포의 중심 위치와 크기를 통해 탐색 윈도우를 재설정한다.3. The search window is reset through the center position and the size of the color distribution obtained by calculating the moment of the image.
4. 재설정된 탐색 윈도우를 사용하여 민쉬프트(MeanShift) 알고리즘을 반복적으로 수행하며 탐색 윈도우가 수렴되거나 정해진 횟수만큼 2~4 과정을 반복 수행한다. 이때 3에서 탐색 윈도우의 위치와 크기는 탐색 윈도우 내의 색상분포에 대한 0차, 1차, 2차 모멘트의 계산을 통해 구해진다. 0차, 1차, 2차 모멘트에 대한 수식은 다음과 같이 각각 수학식 1, 2, 3으로 구성된다.4. The MeanShift algorithm is repeatedly performed using the reset search window, and the search window is converged or iteratively performed 2 to 4 processes the predetermined number of times. In this case, the position and size of the search window in 3 are obtained by calculating the 0th, 1st, and 2nd moments of the color distribution in the search window. The equations for the 0th, 1st, and 2nd moments are expressed as
[수학식 1][Equation 1]
[수학식 2]&Quot; (2) "
[수학식 3]&Quot; (3) "
위 식에서 I(x,y)는 탐색 윈도우 내 (x,y) 좌표에 해당하는 픽셀의 값을 나타낸다. 위와 같은 0차, 1차, 2차 모멘트의 계산을 통해 탐색 윈도우의 중심 위치 (xc,yc)는 다음과 같이 구한다.In the above equation, I (x, y) represents the value of the pixel corresponding to the (x, y) coordinate in the search window. The center position (x c , y c ) of the search window is calculated as follows by calculation of the zeroth, first and second moments as described above.
[수학식 4]&Quot; (4) "
다음으로, 피부검출법(Skin Detection Algorithm)을 설명한다.Next, the skin detection algorithm (Skin Detection Algorithm) will be described.
본 발명에서는 추적할 객체가 사람얼굴이라는 점을 이용하여 카메라의 RGB 영상에서 사람 피부색의 후보군을 추출하여 활용한다. 사람의 피부색을 정확하게 검출하는 것은 쉽지 않다. 사람에 따라서 피부색이 어두운 사람도 있고 밝은 사람도 있으며 인종에 따라서는 피부색이 굉장히 다양하기 때문에 일반화 하기 어렵다. 하지만 모든 인간은 공통적으로 붉은 색의 피가 흐르기 때문에 피부색과 관계없이 붉은색 계열의 색을 포함한다.In the present invention, a candidate color group of a human skin color is extracted from the RGB image of the camera by utilizing the fact that the object to be traced is a human face. It is not easy to accurately detect a person's skin color. Some people have darker skin color depending on the person, some have a bright person, and some people have a very different skin color, making it difficult to generalize. However, all humans have a red color, regardless of skin color, because red blood flows in common.
이 붉은색을 모델링하여 영상에서 피부색의 후보군을 추출하게 되는데 일반적인 색공간인 RGB 색공간 보다 밝기 성분과 색상성분이 분리되어 있는 HSV 색공간을 사용한다. HSV 색공간 중에서도 색상성분인 색상(Hue)값의 특정범위를 사용하여 피부색의 후보 영역을 추출해낸다. 본 발명에서는 얼굴을 검출하는 하 검출법(Haar Detection), 검출된 얼굴을 추적하는 캠쉬프트(CamShift), 추적하던 객체가 사라졌을 때 저장된 템플릿과의 특징점 매칭시 모두 피부색의 후보군 영역을 사용한다.This red color model is used to extract candidates of the skin color from the image. The HSV color space is used in which the brightness component and the color component are separated from the RGB color space, which is a general color space. In the HSV color space, candidate regions of the skin color are extracted using a specific range of the hue value as a color component. In the present invention, the candidate region of the skin color is used for both Haar Detection for detecting a face, CamShift for tracking a detected face, and matching of a feature point with a template stored when a tracked object disappears.
피부색의 후보군은 색상정보가 남아있고 나머지 영역은 모두 검정색으로 색상정보를 잃었기 때문에 일반적인 RGB 영상을 사용하는 것과 비교하여 연산속도의 큰 이점이 있다. 하 검출법(Haar Detection)의 경우 모든 영역을 탐색하지 않아도 되고 혹시나 나올 수 있는 오검출도 줄인다. 캠쉬프트(CamShift)의 경우는 피부색의 후보군 중에서 본 발명에서 추적하는 객체인 얼굴의 히스토그램을 비교하여 추적하게 된다. 또한 추적하던 얼굴 또는 객체가 사라졌을 때 특징점 기반의 매칭으로 얼굴을 다시 탐색하는 과정의 경우 피부색 후보군을 사용하면 기존의 RGB 영상을 사용하여 특징점을 매칭하는 것 보다 추출된 특징점의 개수가 적다. 따라서 저장된 템플릿과 매칭하는 작업의 시간이 단축되는 효과가 있다.The candidate color of the skin color has the color information and the rest of the area has lost the color information in black color, so it has a great advantage in the operation speed compared with the general RGB image. In case of Haar Detection, it does not need to search all areas and also reduces false positives. In the case of CamShift, a histogram of a face, which is an object to be tracked in the present invention, among the candidate colors of the skin color is compared and tracked. Also, in the process of searching the face again by matching the feature points based on the disappearance of the tracked face or object, the number of extracted feature points is smaller than that of matching the feature points using the conventional RGB image. Therefore, it is effective to shorten the time for matching the stored template.
다음으로, 본 발명의 일실시예에 따른 캠쉬프트 기반의 실시간 얼굴추적 방법을 도 3을 참조하여 설명한다. 도 3은 본 발명에 따른 캠쉬프트 기반의 실시간 얼굴추적 방법에 대한 전체적인 흐름도를 보여준다. 또한, 도 4는 세부적인 흐름도를 나타낸다.Next, a camshift based real time face tracking method according to an embodiment of the present invention will be described with reference to FIG. FIG. 3 is a flowchart illustrating a camshift based real time face tracking method according to the present invention. Figure 4 also shows a detailed flow chart.
도 3에서 보는 바와 같이, 본 발명에 따른 캠쉬프트 기반의 실시간 얼굴추적 방법은 얼굴 영역을 검출하여 캠쉬프트의 초기 값을 설정하는 단계(S10), 키넥트로부터 색상영상 및 깊이영상을 입력받는 단계(S20), 객체를 추적하는 단계(S30), 바타차야 거리를 구하는 단계(S50), 추적된 객체를 템플릿으로 저장하는 단계(S60), 및 객체를 재추적하는 단계(S70)로 구성된다.As shown in FIG. 3, the camshift-based real-time face tracking method according to the present invention includes a step (S10) of setting an initial value of a cam shift by detecting a face region, receiving a color image and a depth image from a Kinect (S30) of tracing an object, a step of obtaining a batachaya distance (S50), a step of storing a traced object as a template (S60), and a step of retracing the object (S70).
기존 캠쉬프트(CamShift)의 치명적인 문제점으로는 추적하던 객체가 고속이동을 하거나 차폐 영역(Occlusion)이 발생했을 때 더 이상 추적을 하지 못한다는 것이다. 또한, 종래의 캠쉬프트(CamShift)는 가변적인 크기의 탐색 윈도우(Window)를 적용한 색상기반의 추적 방법이기 때문에, 추적하던 객체와 비슷한 색상이 배경에 존재하면 전경과 배경을 모두 추적해야 하는 객체로 인식한다. 따라서 캠쉬프트(CamShift) 추적의 결과가 굉장히 커지며 잘못 추적하는 문제가 있다. A fatal problem with existing CamShifts is that the tracked object is no longer able to track when it moves at high speed or occlusion occurs. In addition, since the conventional CamShift is a color-based tracking method using a variable-size search window, if a color similar to a tracked object exists in the background, it is necessary to track both foreground and background . Therefore, the results of CamShift tracking are very large and there is a problem of tracking errors.
본 발명에 따른 실시간 얼굴추적 방법에서는 사용자가 초기 좌표를 직접 설정해야 하는 번거로움과 위에서 언급한 캠쉬프트(CamShift)의 2가지 문제점을 해결하고 나아가 깊이 정보를 획득할 수 있는 깊이 센서(Depth Sensor)가 장착되어 있는 마이크로소프트(Microsoft)사의 키넥트(Kinect v2)를 사용하여 얼굴 추적(Face Tracking)을 위한 향상된 캠쉬프트(CamShift) 방법이다.In the real time face tracking method according to the present invention, the depth sensor (Depth Sensor) capable of solving the two problems of the user having to directly set the initial coordinates and the camshift mentioned above, Is an enhanced CamShift method for Face Tracking using Microsoft's Kinect v2 with a built-in microphone.
본 발명에서는 추적하는 객체가 얼굴이다. 그러나 일반적인 캠쉬프트는 객체를 추적하는 방법이므로, 이하에서 얼굴과 객체를 혼용한다.In the present invention, the object to be tracked is a face. However, since a common camshift is a method of tracking an object, a face and an object are mixed in the following.
이하에서, 앞서 각 단계를 구체적으로 설명한다.Hereinafter, each step will be described in detail.
먼저, 얼굴 영역을 검출하여 캠쉬프트의 초기 값(또는 초기 객체)을 설정하는 단계(S10)을 설명한다. 즉, 얼굴 추적을 위해 얼굴 영역을 검출하여, 캠쉬프트의 초기 값으로 설정한다(S10). 바람직하게는, 하 검출법(Haar Detection)을 통해 추적할 얼굴의 영역을 검출하고, 검출된 얼굴 영역을 캠쉬프트의 초기 좌표로 설정한다.First, a step S10 of detecting the face area and setting the initial value (or the initial object) of the cam shift will be described. That is, the face region is detected for the face tracking and set as the initial value of the cam shift (S10). Preferably, the region of the face to be tracked is detected through Haar Detection, and the detected face region is set as an initial coordinate of the cam shift.
본 발명에 따른 얼굴추적 방법은 기존의 캠쉬프트(CamShift)의 문제점을 보완하여 보다 강인한 사람의 얼굴을 추적하는 방법이다. 기존의 캠쉬프트(CamShift) 추적법은 오로지 추적만을 위한 방법이다. 따라서 맨 처음 추적할 객체의 초기좌표와 크기, 너비, 높이를 사용자가 수동으로 입력해주어야 한다.The face tracking method according to the present invention is a method for tracking the face of a stronger person by supplementing the problems of the existing CamShift. The existing CamShift tracking method is only for tracking purposes. Therefore, the user must manually input the initial coordinates, size, width, and height of the object to be tracked first.
본 발명에서는 하 검출법(Haar Detection)을 통하여 따로 입력해주는 번거로움을 해결하였다. 하 검출법(Haar Detection)은 영상에서 특정 형태의 물체를 찾고자 할 때 사용할 수 있는 대표적인 방법 중 하나이다. 미리 하 특징(Haar Feature)에 의해 학습된 데이터를 기반으로 객체를 검출하는 기법으로 어떤 객체를 검출할 것이냐에 따라 객체에 맞는 올바르게 학습된 데이터가 필요하다. 본 발명에서는 검출할 객체가 사람의 얼굴이기 때문에 얼굴이 학습된 데이터를 기반으로 얼굴검출을 한다. 키넥트의 RGB 입력영상이 들어오면 영상에 하 특징을 대조해보며 얼굴을 찾게 된다. 하 특징의 종류가 다양하고 검출하려는 객체의 크기도 알 수 없기 때문에 가능한 모든 크기에 대해서 모든 범위에 걸쳐 탐색함에 따라 많은 연산을 필요로 하지만 본 발명에서는 영상 내의 모든 영역에서 탐색할 필요 없이 피부검출법으로 생성된 후보군 영역만을 탐색함으로서 속도를 향상시킬 수 있었다. 이러한 방법으로 검출된 얼굴영역을 캠쉬프트의 추적할 객체의 초기 좌표로 설정함으로써, 얼굴이 검출된 이후에는 자동적으로 추적을 시작하게 된다.The present invention solves the hassle of inputting separately through Haar Detection. Haar Detection (Haar Detection) is one of the representative methods that can be used to find a specific type of object in an image. It is a technique to detect an object based on data learned by a Haar feature. Correctly learned data suitable for an object is needed depending on which object is to be detected. In the present invention, since the object to be detected is a face of a person, the face is detected based on the learned data of the face. When the RGB input image of the Kinect enters, the image is compared with the bottom feature and the face is found. Since there are various kinds of sub features and the size of the object to be detected is unknown, a large number of operations are required to search all the possible sizes over all the ranges. In the present invention, however, We could improve the speed by searching only the generated candidate region. By setting the detected face area in this way as the initial coordinates of the object to be tracked by the camshift, tracking is automatically started after the face is detected.
여기서 캠쉬프트의 추적할 객체 또는 얼굴의 초기 좌표는 캠쉬프트의 탐색 윈도우의 초기 위치를 말한다.Here, the initial coordinate of the object or face to be traced of the camshift refers to the initial position of the search window of the camshift.
다음으로, 키넥트(20)로부터 색상 영상 및 깊이 영상(또는 각 영상의 현재 프레임)을 입력받는다(S20). 앞서 설명한 바와 같이, 키넥트(20)의 깊이 카메라(21)에 의해 촬영된 깊이영상(61), 및, 키넥트(20)의 색상 카메라(또는 RGB카메라)(22)에 의해 촬영된 색상영상(62)을 입력받는다.Next, the color image and the depth image (or the current frame of each image) are input from the key knob 20 (S20). As described above, the
다음으로, 현재 프레임에 대한 객체를 추적하는 단계(S30)를 설명한다.Next, step (S30) of tracking an object for the current frame will be described.
즉, 색상영상으로부터 객체의 색상분포를 기초로 백 프로젝션을 구하고(S31), 깊이영상으로부터 이진 마스크 영상을 생성한다(S32). 그리고 상기 백 프로젝션 영상과 이진 마스크 영상의 교집합에 해당되는 범위를 추적하는 객체로 설정한다(S33).That is, the back projection is obtained based on the color distribution of the object from the color image (S31), and the binary mask image is generated from the depth image (S32). Then, an object tracking the range corresponding to the intersection of the back projection image and the binary mask image is set as an object (S33).
즉, 색상영상을 대상으로 캠쉬프트(CamShift)를 통한 얼굴 객체를 추적한다.That is, a face object is traced through a camshift to a color image.
캠쉬프트(CamShift)는 추적하는 객체의 이전 프레임의 색상분포인 히스토그램과 다음 프레임의 히스토그램 비교를 통해 객체를 추적하는 알고리즘이다. 객체의 색상과 유사한 물체가 있거나, 유사한 색상의 배경으로 이동하게 될 경우 추적영역의 결과가 유사한 물체까지 포함하거나 배경까지 포함하여 잘못 추적되는 경향을 보인다.CamShift is an algorithm that tracks an object by comparing the histogram, which is the color distribution of the previous frame of the tracked object, with the histogram of the next frame. If there is an object similar to the color of the object, or if it moves to a background of a similar color, the result of the tracking area tends to include similar objects or even include the background.
이러한 문제점을 해결하기 위해 깊이정보를 사용한다. 마이크로소프트(Microsoft)사의 키넥트(Kinect)는 기본적인 RGB영상에 깊이(Depth) 정보까지 획득 가능한 카메라로 일반적인 카메라와 깊이 센서를 따로 사용할 필요 없이 한 디바이스에서 해결할 수 있는 장점이 있다. 키넥트(Kinect)를 사용하여 보통의 카메라와 같은 RGB영상과 깊이 영상을 추출하게 된다. Depth information is used to solve this problem. Microsoft's Kinect is a camera that can acquire depth information on basic RGB images. It has the advantage that it can be solved in one device without using a general camera and depth sensor separately. Kinect is used to extract RGB images and depth images of ordinary cameras.
도 5는 획득한 깊이(Depth) 정보를 보기 쉽게 픽셀 값을 거리에 따라 0부터 255까지의 값으로 정규화 하여 시각화한 그림이다.FIG. 5 is a picture obtained by normalizing the pixel value from 0 to 255 according to the distance so that the obtained depth information can be easily viewed.
획득한 깊이정보를 바탕으로 캠쉬프트(CamShift)의 가장 큰 문제점 중에 하나인 비슷한 색상을 가진 배경과 합쳐져 잘못된 추적을 하는 문제를 해결할 수 있다.Based on the acquired depth information, it is possible to solve the problem of wrong tracking by combining with background of similar color which is one of the biggest problems of CamShift.
도 6은 깊이정보를 이용하여 유사한 색상이 있을 때 객체추적이 보다 더 강인해질 수 있도록 캠쉬프트(CamShift)를 향상시키는 과정에 대한 나타낸 도면이다.FIG. 6 is a diagram illustrating a process of improving CamShift so that object tracking can be made more robust when there is a similar color using depth information.
도 6(a)는 키넥트의 RGB 영상 속에서 추적된 캠쉬프트(CamShift)의 결과를 나타낸 것이다.6 (a) shows the result of camshift tracked in the RGB image of the Kinect.
도 6(b)는 추적하고 있는 객체인 얼굴에 대한 색상분포를 바탕으로 확률을 시각적으로 표현한 백 프로젝션(Backprojection) 그림이다. 백 프로젝션(Backprojection)이란 이전 프레임의 추적된 객체의 히스토그램을 기반으로 현재프레임의 매 픽셀 마다 추적하는 객체의 히스토그램과 유사성을 0부터 255까지의 밝기값으로 표현한 것이다. 즉, 백 프로젝션에서, 픽셀이 밝을수록(픽셀값이 클수록) 추적하던 객체일 가능성이 높고 픽셀이 어두울수록(픽셀값이 작을수록) 추적하던 객체일 가능성이 적다. 이러한 추적하던 객체와의 유사도 집합인 백프로젝션을 바탕으로 중심모멘트를 계산하여 캠쉬프트의 결과가 나오게 된다.6 (b) is a backprojection diagram that visually expresses the probability based on the color distribution of a face that is a tracking object. Backprojection is a histogram of the object tracked for every pixel of the current frame based on the histogram of the tracked object of the previous frame, and is expressed as a brightness value from 0 to 255. That is, in back projection, the brighter the pixel (the larger the pixel value), the more likely it is the tracked object, and the darker the pixel (the smaller the pixel value), the less likely it is the tracked object. The camshift result is obtained by calculating the center moment based on the back projection, which is a similarity set to the tracked object.
도 6(c)는 추적하고 있는 객체중심에서의 깊이 값을 읽어와 그 깊이 값과 같은 거리에 있는 픽셀들만을 밝게 표현하고 나머지는 어둡게 표현한 이진화된 마스크이다. 즉, 이진화된 마스크는 0과 1의 값을 갖는 영상으로서 픽셀값이 1인 경우, 객체의 깊이와 유사한 영역을 나타낸다.FIG. 6 (c) is a binarized mask in which only the pixels at the same distance as the depth value are read, and the rest is darkened. That is, the binarized mask is an image having values of 0 and 1, and when the pixel value is 1, it indicates an area similar to the depth of the object.
도 6(d)는 도 6(b)와 도 6(c)의 교집합(Intersection) 또는 곱 연산으로 도 6(b)와 도 6(c)와 둘 다 해당되는 픽셀만을 밝게 표현한 그림이다. 즉, 백 프로젝션 영상의 각 픽셀 값에, 이진 마스크의 대응되는 픽셀값을 곱하여, 마스킹한다.FIG. 6 (d) is a diagram in which only pixels corresponding to FIG. 6 (b) and FIG. 6 (c) are brightly represented by intersection or multiplication of FIG. 6 (b) and FIG. 6 (c). That is, each pixel value of the back projection image is masked by multiplying the corresponding pixel value of the binary mask.
기존의 캠쉬프트(CamShift) 추적법은 백 프로젝션(Backprojection)인 도 6(b)를 기반으로 매 프레임 중심을 계산하여 객체를 추적하였지만, 본 발명에 따른 방법에서는 도 6(d)와 같은 이전 프레임의 깊이정보를 이용한 백 프로젝션(Backprojection)을 이용하여 객체를 추적하게 된다.In the conventional CamShift tracking method, an object is tracked by calculating the center of each frame based on the backprojection of FIG. 6 (b). However, in the method according to the present invention, The object is tracked using backprojection using the depth information of the object.
도 7은 기존의 캠쉬프트(CamShift) 추적법에 의한 검출 결과와, 본 발명에 따라 깊이정보를 이용한 캠쉬프트(CamShift) 추적법의 검출 결과를 대비한 영상이다. 이처럼 깊이정보를 적용한 캠쉬프트(CamShift)는 도 7처럼 추적하는 객체와 비슷한 색상을 가진 배경에서도 객체만을 안정적으로 올바르게 추적하는 성능을 보여준다.FIG. 7 is a view for comparing the detection result of the conventional CamShift tracking method and the detection result of the CamShift tracking method using the depth information according to the present invention. CamShift with depth information shows stable and correct tracking of objects even in backgrounds similar to the tracing object as shown in FIG.
다음으로, 앞서 단계(S33)에서 객체를 추적할 수 있는지를 판단하여, 객체 추적에 성공하면, 바타차야 거리를 구하는 단계(S50)를 수행하고, 실패하면 특징점 기반의 매칭을 수행하는 단계(S70)를 수행한다.Next, it is determined whether or not the object can be traced in step S33. If the object tracking is successful, a step S50 of obtaining a batachaya distance is performed. If the object tracking is unsuccessful, a step S70 ).
객체를 추적하지 못하는 경우는 객체가 고속으로 이동하거나, 차폐영역(occlusion)으로 이동하는 경우이다. 기존 캠쉬프트(CamShift)는 객체가 고속이동을 하거나 차폐영역(Occlusion)이 발생했을 때 더 이상 추적을 하지 못하는 문제점이 있다. 이에 대하여, 본 발명에 따른 방법은 캠쉬프트(CamShift)가 객체추적에 실패하였을 때 영상의 특징점 기반의 매칭을 수행하여 실패하였던 추적(Tracking)을 다시 수행할 수 있도록 한다.If the object can not be traced, the object moves at high speed or moves to the occlusion. The existing CamShift has a problem that the object can not be traced any longer when the object is moving at high speed or occlusion occurs. On the other hand, the method according to the present invention performs matching based on the feature point of the image when the CamShift fails to track the object so that the failed tracking can be performed again.
다음으로, 이전 프레임과 현재 프레임에서 추적된 객체 간의 바타차야 거리(Bhattacharyya Distance)를 산출하여 유사성(Similarity)을 판단한다(S50). 바타차야 거리 D에 따라, 재추적을 하거나(S70), 추적된 객체(현재 프레임의 객체)의 템플릿을 저장한다(S60). 또는 다음 프레임을 입력받아(S20) 객체를 추적하는 단계(S30)를 반복하여 수행한다. 이때, 다음 프레임이 현재 프레임이 되고, 현재 프레임이 이전 프레임이 된다.Next, the similarity is determined by calculating the Bhattacharyya distance between the previous frame and the tracked object in the current frame (S50). (S70) and stores the template of the tracked object (object of the current frame) in accordance with the batachay distance D (S60). Or receiving the next frame (S20) and tracking the object (S30). At this time, the next frame becomes the current frame, and the current frame becomes the previous frame.
본 발명에서는 객체를 인식하고 추적하면서 매 프레임 마다 추적된 객체와 이전 프레임에서 추적된 객체 간의 유사성(Similarity)을 계산한다. 현재 프레임이 첫 프레임인 경우에는 앞서 구한 초기 객체를 이전 프레임의 객체로 판단하여 계산한다.In the present invention, the similarity between the tracked object in each frame and the tracked object in the previous frame is calculated while recognizing and tracking the object. If the current frame is the first frame, the previously determined initial object is determined to be the object of the previous frame.
두 프레임 간의 유사성을 계산하는 방법은 여러 가지가 존재하지만 본 발명에서는 바타차야 거리(Bhattacharyya Distance)를 계산하였다. 바타차야 거리(Bhattacharyya Distance)를 계산하는 것은 비교하는 영상간의 크기가 달라도 계산이 가능하고 계산량이 적다는 장점이 있다.There are various methods for calculating the similarity between two frames, but in the present invention, the Bhattacharyya distance is calculated. Calculating the Bhattacharyya Distance has the advantage that it can be calculated and the amount of calculation is small even if the size of the compared images is different.
[수학식 5]&Quot; (5) "
바타차야 거리(Bhattacharyya Distance) D는 위와 같은 식으로 정의한다.Bhattacharyya Distance D is defined as above.
H1은 비교할 첫 번째 영상의 히스토그램이고 H2는 비교할 두 번째 영상의 히스토그램이다. 바타차야 거리(Bhattacharyya Distance)는 비교하는 두 영상이 완벽하게 일치할 때를 0의 값을, 유사성이 떨어질수록 1에 가까운 값을 가지게 된다.H 1 is the histogram of the first image to be compared and H 2 is the histogram of the second image to be compared. The Bhattacharyya distance has a value of 0 when the two images to be compared completely match each other, and a value close to 1 as the similarity decreases.
캠쉬프트(CamShift)의 결과를 매 프레임 비교하여 유사성이 일정 임계값(또는 제1 임계값) 보다 크면 그때의 추적된 얼굴 또는 객체의 영상을 템플릿에 저장한다. 일정 임계값보다 바타차야 거리(Bhattacharyya Distance)가 크다는 것의 의미는 객체가 완전히 정지해 있는 것이 아닌 회전이나 이동이 발생하여 변화가 생겼다는 뜻이다.When the similarity is larger than a certain threshold value (or the first threshold value), the image of the tracked face or object is stored in the template. The fact that the Bhattacharyya distance is larger than the certain threshold means that the object is not completely stopped, but a change occurs due to rotation or movement.
이러한 계산으로 인해 거의 변화가 없는 정지된 객체에 대한 추적결과를 템플릿에 과도하게 중복되어 저장하는 문제를 방지할 수 있어 효과적인 메모리 사용과 추후에 저장된 템플릿과 특징점 매칭을 통한 재추적의 시간을 단축시키는 효과를 얻을 수 있다.This calculation prevents the problem of over-redundant storage of trace results for static objects with little change, which reduces the time required for effective memory use and re-tracking through later stored templates and feature point matching. Effect can be obtained.
객체를 추적함과 동시에 이후에 발생할 수 있는 객체의 고속이동이나 객체의 사라짐으로 인한 추적 실패에 대비해 강인한 재 추적을 위한 학습도 하는 것이다.In addition to tracing the object, it also learns for robust re-tracing in case of high-speed movement of the object that can occur later or tracking failure due to disappearance of the object.
본 발명에 따른 방법은 이러한 특징으로 인해 성공적으로 추적한 경우가 많아질수록 저장된 템플릿이 많아지기 때문에 객체의 추적 실패시 재 추적이 강인해지는 특성을 보인다. 다시 말하면 본 발명이 실행된 직후보다 실행 후 객체에 대한 충분한 학습이 이루어진 이후에 더 강력한 추적 성능을 보이게 된다. 하지만 저장된 템플릿이 너무 많아질 경우에는 재추적할 때 특징점 기반으로 매칭해야할 템플릿이 너무 많아지기 때문에 시간이 많이 걸린다는 단점이 있다. 따라서 저장할 템플릿의 수를 적절하게 조절하는 것이 재추적의 시간과 성능을 결정하는 중요한 요소가 된다.Due to this feature, the method according to the present invention exhibits a characteristic that the tracking is robust when the tracking of the object fails because the number of stored templates increases as the number of tracking success increases. In other words, more robust tracking performance is obtained after sufficient learning has been done on the post-execution object immediately after the present invention is executed. However, if the number of stored templates becomes too large, there is a disadvantage that it takes a lot of time because there are too many templates to be matched based on the minutiae points when retracing. Therefore, adjusting the number of templates to be stored is an important factor in determining the time and performance of retracement.
또한, 바타차야 거리(Bhattacharyya Distance)가 너무 큰 경우에는, 객체 추적에 실패한 것으로 판단한다. 즉, 바타차야 거리(Bhattacharyya Distance)가 소정의 제2 임계값 이상이면, 객체의 고속이동이나 가려짐 등에 의해 객체 추적에 실패한 것으로 보아, 특징점 매칭 기반으로 객체를 다시 추적한다. 즉, 객체를 재추적하는 단계(S70)를 수행한다.Also, if the Bhattacharyya distance is too large, it is judged that the object tracking has failed. That is, if the Bhattacharyya distance is equal to or greater than the predetermined second threshold value, the object tracking is failed due to the fast moving or blocking of the object, and the object is tracked again based on the feature matching. That is, the object is re-traced (S70).
따라서, 도 3에서 보는 바와 같이, 바타차야 거리가 제1 임계값 d1 이하이면, 추적된 객체 템플릿을 저장하지 않고 바로 앞서 다음 프레임에 대한 객체 추적을 수행한다. 또한, 바타차야 거리가 제1 임계값 보다 크고 제2 임계값 보다 작으면 추적된 객체를 템플릿으로 저장한다. 또한, 바타차야 거리가 제2 임계값 이상이면, 객체 재추적 단계(S70)를 수행한다.Therefore, as shown in FIG. 3, if the batachay distance is less than or equal to the first threshold value d1, object tracking for the next frame is performed immediately before storing the tracked object template. In addition, if the batachay distance is larger than the first threshold value and smaller than the second threshold value, the tracked object is stored as a template. Also, if the batta-length distance is equal to or greater than the second threshold value, the object re-tracking step S70 is performed.
이때, 제1 임계값 d1은 제2 임계값 d2 보다 작다. 바람직하게는, 제1 임계값은 0.15로 설정하고, 제2 임계값은 0.5로 설정한다.At this time, the first threshold value d1 is smaller than the second threshold value d2. Preferably, the first threshold value is set to 0.15, and the second threshold value is set to 0.5.
다음으로, 특징점 매칭을 기초로 객체 재추적 단계(S70)를 설명한다.Next, the object re-tracking step S70 will be described based on the minutia matching.
객체의 고속이동이나 가려짐 혹은 영상 밖으로 사라짐으로 인한 객체 추적 실패 시에는 앞서 말한 바타차야 거리(Bhattacharyya Distance)에 의해 계산되어 저장되어진 템플릿 이미지들과 현재 프레임간의 특징점 매칭을 실시하여 현재 프레임에서 추적할 객체를 찾게 된다.In case of object tracking failure due to high-speed movement, obscuration, or disappearance of an object, the feature point matching between the template images calculated by the above-mentioned Bhattacharyya distance and the current frame is performed and tracked in the current frame The object is found.
특징점을 추출하는 방법과 추출된 특징점의 기술자는 굉장히 다양한 기법들이 존재하는데 본 발명에서는 실시간에 적용되어야 하기 때문에 연산 비용(Computation Cost)이 높은 기법들은 사용하지 않고 속도에 우선순위를 두어 특징점 추출 기법과 특징점의 기술자를 사용한다. 즉, 바람직하게는, 특징점을 추출하는 방법은 속도가 빠르고 반복성(Repeatability)이 뛰어난 FAST 기법을 사용하여 추출한다. 특징점의 기술자는 SIFT 기법의 경우 128차원으로 가장 자세하게 기술되어 높은 정확도를 기대할 수 있지만, 기술자의 차원수가 높은 만큼 많은 계산량을 요구하기 때문에 본 발명처럼 실시간 기반의 시스템에서는 적합하지 않다. 따라서 본 발명에서는 속도에 큰 강점을 가지고 있는 기술자인 BRIEF 기술자를 사용하여 특징점을 매칭한다.There are various techniques for extracting feature points and descriptors of extracted feature points. Since the present invention needs to be applied in real time, it is not necessary to use techniques with high computation cost, Use the descriptor of the minutiae. That is, preferably, the method for extracting feature points is extracted using the FAST technique, which is fast and has excellent repeatability. The descriptor of the minutiae point is described in detail in 128 dimensions in the case of the SIFT technique and can be expected to have a high accuracy, but it is not suitable in a real time based system like the present invention because it requires a large amount of calculations as the number of descriptors is high. Thus, in the present invention, feature points are matched using a BRIEF descriptor, which is a technician with a great advantage in speed.
도 8은 차폐영역에 의해 객체가 가려져 추적에 실패하여 객체를 재추적 하는 그림이다. 도 8(a) 또는 도 8(b)에서 왼쪽 위의 작은 영역은 저장되어있는 템플릿 중에 하나이고 오른쪽 영역은 현재프레임이다. 도 8(a)은 저장되어있는 여러 템플릿 중 하나와 특징점 매칭을 수행하고 있는 그림이고, 도 8(b)는 성공적으로 매칭 되어 추적하던 객체를 다시 찾은 그림이다.FIG. 8 is a diagram for retracing the object because the object is covered by the shielded region and the tracking fails. In Fig. 8 (a) or 8 (b), the upper left small area is one of the stored templates and the right area is the current frame. FIG. 8 (a) is a figure for performing a feature point matching with one of various stored templates, and FIG. 8 (b) is a figure that the object that has been successfully matched and tracked is found again.
먼저, 현재 프레임과 템플릿 영상 각각에서 FAST 방법을 적용하여 특징점들을 추출한다(S71).First, the FAST method is applied to each of the current frame and the template image to extract feature points (S71).
FAST(Features from Accelerated Segment Test) 방법은 실시간 특징점 추출에 적합한 방법으로 기존의 특징점 추출 기법인 해리스코너 검출자(Harris Corner Detector), SIFT, SURF보다 빠른 속도로 특징점 추출이 가능하다. 도 9는 특징점을 결정하기 위한 중심 화소와 주변 화소들과의 관계를 보여준다.FAST (Features from Accelerated Segment Test) is a method suitable for real-time feature point extraction. Feature points can be extracted faster than Harris Corner Detector, SIFT, and SURF. FIG. 9 shows a relationship between a center pixel and surrounding pixels for determining a minutia.
FAST 방법은 영상에서 기준픽셀 P로부터 거리가 3인 원을 정의한다. 정의된 원에 걸쳐있는 16개의 주변 화소를 p->xk 라고 하면 밝기 값(Ip->xk)과 기준픽셀 P의 밝기 값(Ip)에서 임계값을 더하거나 뺀 값을 비교하여 기준픽셀 P의 특징점 여부를 판별한다. 만약 16개의 화소들의 밝기 값 중 기준픽셀 P에 임계값을 더한 밝기 값보다 더 크거나 기준픽셀 P에 임계값을 뺀 밝기 값보다 더 작은 화소가 N개 이상 연속으로 있을 때 기준픽셀 P를 특징점으로 한다. N의 값은 주로 9, 10, 11, 12 등 다양한데 N의 값이 9일 경우 특징점의 반복성(Repeatability)이 가장 높다[비특허문헌 1]. N 값과 마찬가지로 임계값은 사용자가 임의로 설정할 수 있으며 낮은 임계값을 설정할 경우 특징점을 많이 뽑게 되고 임계값을 크게 설정할 경우 특징점을 적게 뽑게 된다.The FAST method defines a circle with a distance of 3 from the reference pixel P in the image. Letting p -> x k be the surrounding pixels in the defined circle, the threshold value is added or subtracted from the brightness value (I p - > xk ) and the brightness value (I p ) of the reference pixel P, P is a minutiae point. If there are N or more consecutive pixels whose brightness value is greater than the brightness value obtained by adding the threshold value to the reference pixel P or the brightness value obtained by subtracting the threshold value from the reference pixel P among the brightness values of the 16 pixels, do. The value of N is mainly 9, 10, 11, 12 and so on. When the value of N is 9, the repeatability of the feature point is the highest [Non-Patent Document 1]. Like the N value, the threshold value can be set by the user. If the threshold value is set low, many feature points are extracted. If the threshold value is set large, the feature points are selected to be small.
FAST 알고리즘에서는 기준 픽셀 P가 특징점인지 판단하기 위해 P의 밝기 값에 임계값을 더하거나 뺀 밝기값과 16개의 픽셀의 밝기값을 비교해도 되지만 더 빠른 속도를 위해 결정 트리(Decision Tree)를 사용한다. 기준픽셀 P로부터 정의된 16개 픽셀의 밝기 값을 P보다 훨씬 큰 경우, P보다 훨씬 작은 경우, P와 유사한 경우 이렇게 3가지로 분류하고 이를 이용하여 픽셀들의 밝기 분포를 16차원의 삼진(Ternary) 벡터로 표현한다. 그리고 이 16차원의 벡터를 결정 트리(Decision Tree)에 입력하여 특징점의 여부를 보다 빠르게 판단할 수 있게 된다.In the FAST algorithm, to determine whether the reference pixel P is a feature point, a threshold value may be added to or subtracted from the brightness value of P, and the brightness value of 16 pixels may be compared with the brightness value of the reference pixel P. However, a decision tree is used for a faster speed. When the brightness values of 16 pixels defined from the reference pixel P are much larger than P and P is much smaller than P, the brightness distribution of the pixels is classified into three types, Expressed as a vector. Then, the 16-dimensional vector is input to the decision tree to determine whether or not the feature point is present.
위와 같은 방법으로 추출된 특징점은 주변화소 들과 밝기값의 차이만을 이용하여 추출되었기 때문에 특징점들이 몰려있는 경우가 많이 발생한다. 군집되어 있는 유사한 특징점들 중에 대표되는 점을 뽑는 NMS(Non Maximum Suppression) 방법을 사용하여 몰려있는 유사한 특징점들을 하나의 대표되는 특징점으로 대체한다. FAST 알고리즘은 같은 영상이어도 영상의 크기가 크면 많은 특징점을 추출하고 영상의 크기가 작으면 적은 개수의 특징점을 추출하기 때문에 영상의 크기에 따라 굉장히 민감한 특성을 지니고 있다. 이러한 문제를 NMS을 통하여 (어느정도) 크기변화에 강인한 특성을 가지게 되는데 큰 영상에서 많이 추출된 특징점을 대표되는 값으로 대체함으로서 특징점의 개수를 줄여주는 효과가 있기 때문이다.Since the feature points extracted by the above method are extracted using only the difference between the brightness values of the surrounding pixels and the feature points, many feature points are gathered. We substitute similar representative feature points that are populated using the NMS (Non Maximum Maximum) method, which represents representative points among the clustered similar feature points, with one representative feature point. The FAST algorithm extracts a large number of feature points if the image size is large and extracts a small number of feature points if the image size is small. Therefore, the FAST algorithm has a very sensitive characteristic according to the size of the image. The reason for this problem is that the NMS is robust to the change in size (to some extent), because the number of feature points is reduced by replacing the feature points extracted from a large image with representative values.
다음으로, BRIEF(Binary Robust Independent Elementary Features) 특징 기술자를 구하여, 양 영상 간의 특징점 매칭을 수행한다(S72). 즉, BRIEF 기술자가 서로 유사하면, 템플릿과 해당 프레임 내의 특징점이 매칭되는 것으로 판단한다.Next, the BRIEF (Binary Robust Independent Elementary Features) feature descriptor is obtained and feature point matching between the two images is performed (S72). That is, if the BRIEF descriptors are similar to each other, it is determined that the template matches the minutiae in the frame.
이름에서도 알 수 있듯이 다른 기술자들과는 달리 BRIEF는 이진화된 기술자를 사용한다. 그래서 메모리 사용에 큰 이점을 가진다. 일반적인 기술자들보다 상대적으로 적은 비트를 이용하여 간단한 방법으로 비교하지만 좋은 성능을 보여주는 기술자 이다. 특징점끼리 매칭하는 과정에서 BRIEF 기술자는 다른 일반적인 기술자의 비교방법인 유클리디언 거리(Euclidean distance)를 비교하는 대신 해밍 거리(Hamming distance)를 비교하여 빠른 시간 안에 굉장히 효율적인 비교를 할 수 있는 기술자 매칭 방법이다. 해밍 거리란 이진화된 기술자 끼리 일치하지 않는 개수를 의미하는 것으로 예를 들어 1111과 0000의 거리는 4이고, 1010과 1110의 거리는 1이다. 이러한 기술자간의 거리 측정방법은 제곱과 루트를 계산해야하는 기존의 유클리디언 거리에 비해 연산시간을 크게 줄일 수 있다.As the name suggests, unlike other engineers, BRIEF uses binary descriptors. So it has a great advantage in memory usage. It is a technician who compares in a simple way with relatively few bits rather than general technicians but shows good performance. In the process of matching between feature points, the BRIEF technician can compare the Hamming distance (Euclidean distance), which is a comparison method of other common descriptors, with the engineer matching method to be. For example, the distance between 1111 and 0000 is 4, and the distance between 1010 and 1110 is 1. The method of measuring the distance between these technicians can greatly reduce the computation time compared to the conventional Euclidean distance, which requires the calculation of squares and routes.
BRIEF는 0과 1로만 이루어진 이진화된 기술자이지만, 64차원의 플로우트(float)형 기술자를 사용하는 SURF에 비해서 훨씬 빠른 속도로 유사하거나 더 나은 인식 성능을 얻을 수 있다[비특허문헌 2].BRIEF is a binary descriptor consisting of only 0 and 1, but similar or better recognition performance can be achieved at a much faster rate than SURF using a 64-dimensional float descriptor [Non-Patent Document 2].
특징점 매칭이 안되서 다음 단계인 호모그래피 계산 단계(S73)을 수행할 수 없는 경우가 있다. 이 경우, 저장된 다른 얼굴 템플릿과 다시 매칭을 수행한다. 즉, 다른 템플릿을 선정하여 앞서 특징점 추출 단계(S71) 및 특징점 매칭 단계(S72)을 반복한다. 저장된 템플릿이 여러 개이므로, 특징점 매칭이 될 때까지 반복 진행하고 만약 저장된 템플릿 모두와 시도했는데 유효한 (매칭되는) 템플릿이 없는 경우 다음 프레임으로 넘어간다.There is a case that the homography calculation step S73, which is the next step, can not be performed because the feature point matching is not performed. In this case, matching with another stored face template is performed again. That is, another template is selected and the feature point extraction step S71 and the feature point matching step S72 are repeated. Since there are a number of stored templates, iterates until the feature is matched. If there is no valid template (matching template), the next frame is skipped.
다음으로, 호모그래피를 산출한다(S73).Next, the homography is calculated (S73).
호모그래피는 대응되는 두 영상관의 투영관계를 나타내는 3×3 행렬이다. 호모그래피 행렬을 구하기 위해서는 최소 정합된 4쌍의 특징점이 필요하다. 저장되어있는 템플릿과 현재프레임 간의 특징점 기반 매칭을 통하여 4점 이상의 올바른 매칭쌍이 존재하면 매칭된 특징점들 사이의 투영관계인 호모그래피 계산을 한다.Homography is a 3 × 3 matrix that represents the projection relationship of the corresponding two image tubes. In order to obtain the homography matrix, four matched minimum feature points are required. If there are more than 4 correct matching pairs through the feature point based matching between the stored template and the current frame, a homography calculation is performed between the matching feature points.
이때 오류와 잡음이 섞여있는 데이터들로부터 올바른 모델을 예측하여 오차를 줄이는 기법인 RANSAC(RANdom SAmple Comsensus)을 이용하여 이상점(outlier)들을 제거한다. 이때 구해진 변환관계는 잘못된 매칭쌍인 이상점(outlier)을 제거하는 RANSAC이 실패한 경우도 포함되어 있기 때문에 항상 올바른 결과가 아니다. 따라서 계산된 호모그래피가 올바른지 확인하는 과정이 필요하다.At this time, RANSAC (RANOM SAmple Comsensus), which is a technique to reduce the error by predicting the correct model from the data with mixed error and noise, is used to remove outliers. The transformed relationship obtained at this time is not always the correct result because it also includes the case where the RANSAC fails to remove the outlier, which is a false matching pair. Therefore, it is necessary to confirm that the calculated homography is correct.
[수학식 6]&Quot; (6) "
[수학식 7]&Quot; (7) "
도 6과 같은 호모그래피 행렬의 3행 3열의 원소가 1로 정규화된 행렬을 가지고, 도 7과 같은 몇 가지 요소(Factor)들로 판별한다.The matrix of the third row and the third column of the homography matrix shown in FIG. 6 has a matrix normalized to 1, and it is determined as several factors as shown in FIG.
D는 행렬 H의 2×2 부분행렬의 행렬식(determinant) 값으로 D가 0보다 작다면 회전 순서가 지켜지지 않았음을 알 수 있다. 뒤틀림이나 뒤집힘이 발생한 잘못된 호모그래피 임으로 판별할 수 있는 가장 중요하게 쓰이는 요소(Factor)이다.D is the determinant value of the 2 × 2 partial matrix of matrix H, and if D is less than 0, it can be seen that the order of rotation is not maintained. It is the most important factor that can be identified as false homography in which distortion or flipping occurs.
Xs 는 X축 방향의 길이가 얼마나 변했는지를 나타내는 스케일 요소(Scale Factor)로 원래 물체의 크기에 비해 X축으로 너무 커졌는지, 너무 작아졌는지를 확인할 수 있는 판별식이다. Ys 는 X축 방향이 아닌 Y축 방향의 스케일 요소(Scale Factor)로 Xs와 같은 내용이다.X s is a scale factor indicating how much the length in the X axis direction has changed. It is a discriminant that can confirm whether the X axis is too large or too small compared to the size of the original object. Y s is the scale factor in the Y-axis direction, not the X-axis direction, and is the same as X s .
P는 원근 요소(Perspective Factor)로 사각형의 사다리꼴정도를 나타내는데 P 값이 0이라면 완전한 직사각형이고 P값이 커질수록 직사각형과 거리가 먼 사다리꼴인 것을 알 수 있다.P is a perspective factor, which indicates the trapezoidal extent of a rectangle. If P is 0, it is a complete rectangle. If P is larger, it is a trapezoid with a greater distance from the rectangle.
위와 같은 여러 가지 요소들을 가지고 잘못 계산된 호모그래피 인지를 확인하게 되는데 실험적으로 수학식 8와 같은 기준을 잡고 판별하게 된다. 수학식 8의 6가지 판별식 중에 하나라도 만족하게 되면 비정상적인 변환이라고 판단하게 된다.In this case, the misjudged homography recognition is confirmed using various factors as described above. If any one of the six discrimination equations in Equation (8) is satisfied, it is determined that the conversion is abnormal.
[수학식 8]&Quot; (8) "
정상적으로 올바른 호모그래피를 계산했다면 호모그래피를 이용하여 매핑된 현재프레임 내의 추적하던 얼굴의 위치를 캠쉬프트(CamShift)에 추적해야할 얼굴의 초기 좌표로 설정하고 다시 추적을 시작하게 된다.If the correct homography is normally calculated, the position of the tracked face in the current frame mapped using homography is set as the initial coordinate of the face to be tracked in CamShift, and the tracking is started again.
정리하면, 호모그래피는 계산은 저장된 템플릿을 현재프레임에서 찾았을 때 현재프레임에서 템플릿과 매칭된 부분이 어느 곳인지를 찾는 과정이다. 성공적으로 매칭된 템플릿을 현재프레임으로 이미지 워핑(Image Warping)시켯을 때 워핑된 템플릿의 현재 프레임 내의 위치를 알기위해 계산하는 것이다. 저장된 템플릿이 직사각형이기 때문에 계산된 호모그래피가 직사각형에 근접하면 호모그래피를 통해 워핑된 현재프레임내의 영역을 캠쉬프트 초기값으로 넣고 다시 추적을 실행한다.In summary, homography is the process of finding out where a template matches a template in a current frame when a stored template is found in the current frame. A successful matching template is calculated to know the position in the current frame of the warped template when image warping is performed with the current frame. Since the stored template is a rectangle, if the calculated homography approaches a rectangle, the area within the current frame that has been warped through homography is inserted as the initial value of the camshift and the tracking is executed again.
만약, 매칭된 특징점을 기반으로 호모그래피 계산하여 계산된 호모그래피에 의해 현재프레임으로 이미지 워핑된 템플릿이 심하게 찌그러지거나 뒤틀림 또는 뒤집힘이 발생하는 경우, 앞서 판별식에 의해서 유효성 검사를 수행하면 유효하지 않는 것으로 판별된다. 이 경우, 저장된 다른 얼굴 템플릿과 다시 매칭을 수행하고 호모그래피에 의한 검사 과정을 반복한다. 즉, 다른 템플릿을 선정하여 앞서 특징점 추출 단계(S71) 및 특징점 매칭 단계(S72), 호모그래피 산출 단계(S73)을 반복한다. 저장된 템플릿이 여러 개이므로, 특징점 매칭이 될 때까지 반복 진행하고 만약 저장된 템플릿 모두와 시도했는데 유효한 (매칭되는) 템플릿이 없는 경우 다음 프레임으로 넘어간다.If a template warped into the current frame due to homography calculated by homography calculation based on matched feature points is seriously distorted, warped, or inverted, validation is performed by the discriminant function, . In this case, matching with other stored face templates is performed and the homography-based examination process is repeated. That is, another template is selected and the feature point extraction step S71, the feature point matching step S72, and the homography calculation step S73 are repeated. Since there are a number of stored templates, iterates until the feature is matched. If there is no valid template (matching template), the next frame is skipped.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.Although the present invention has been described in detail with reference to the above embodiments, it is needless to say that the present invention is not limited to the above-described embodiments, and various modifications may be made without departing from the spirit of the present invention.
10 : 얼굴 20 : 키넥트
21 : 깊이 카메라 22 : 색상 카메라
30 : 컴퓨터 단말 40 : 프로그램 시스템
61 : 깊이영상 62 : 색상영상10: Face 20: Kinect
21: depth camera 22: color camera
30: computer terminal 40: program system
61: depth image 62: color image
Claims (13)
(a) 영상 내에 얼굴을 추적할 초기 객체를 설정하는 단계;
(b) 상기 키넥트로부터 현재 프레임의 색상영상 및 깊이영상을 입력받는 단계;
(c) 캠쉬프트 추적법에 상기 색상영상으로부터 백 프로젝션 영상을 생성하여 객체를 추적하되, 상기 깊이영상으로부터 이진 마스크 영상을 생성하여 상기 백 프로젝션 영상을 마스킹하는 단계;
(e) 이전 프레임에서 추적된 객체와 현재 프레임에서 추적된 객체 간의 바타차야 거리를 산출하는 단계;
(f) 상기 산출된 바타차야 거리에 따라 현재 프레임에서 추적된 객체를 템플릿으로 저장하는 단계;
(g) 상기 (c)단계에서 객체를 추적할 수 없는 경우나 상기 (e)단계에서 상기 산출된 바타차야 거리가 사전에 정해진 제2 임계값 이상인 경우, 상기 저장된 템플릿과 현재 프레임 간의 특징점 매칭을 통해 객체를 재추적하는 단계; 및
(h) 다음 프레임을 현재 프레임으로, 현재 프레임을 이전 프레임으로 하여, 상기 (b)단계 내지 상기 (g)단계를 반복하여 수행하는 단계를 포함하고,
상기 (g)단계에서, FAST(Features from Accelerated Segment Test) 방법을 적용하여, 상기 저장된 템플릿 및, 현재 프레임 내에서 특징점을 검출하고, 검출된 특징점에 대하여 BRIEF(Binary Robust Independent Elementary Features) 특징 기술자를 구하여 템플릿과 현재 프레임 간의 특징점 매칭을 수행하고, 호모그래프 행렬을 구하여 매칭 결과를 검사하는 것을 특징으로 하는 캠쉬프트 기반의 실시간 얼굴추적 방법.
A real-time face tracking method based on camshift for receiving a color image and a depth image from a Kinect and tracking a face,
(a) setting an initial object to track a face in an image;
(b) receiving a color image and a depth image of a current frame from the keynote;
(c) generating a back projection image from the color image in the cam shift tracking method to track an object, generating a binary mask image from the depth image, and masking the back projection image;
(e) calculating a batachay distance between the object tracked in the previous frame and the object tracked in the current frame;
(f) storing an object tracked in a current frame as a template according to the calculated battalay zone distance;
(g) if the object can not be traced in the step (c) or if the calculated batachaya distance is greater than or equal to a predetermined second threshold value in the step (e), the feature point matching between the stored template and the current frame is performed Re-tracing the object through; And
(h) repeating the steps (b) to (g) with the next frame being the current frame and the current frame being the previous frame,
In the step (g), a feature point is detected in the stored template and the current frame by applying a feature from Accelerated Segment Test (FAST) method, and a BRIEF (Binary Robust Independent Elementary Features) A feature point matching between the template and the current frame is performed, and a homography matrix is obtained to check the matching result.
상기 (a)단계에서, 하 검출법을 통해 얼굴 영역을 검출하고, 검출된 얼굴 영역을 초기 객체로 설정하는 것을 특징으로 하는 캠쉬프트 기반의 실시간 얼굴추적 방법.
3. The method of claim 2,
Wherein the face region is detected by the bottom detection method and the detected face region is set as an initial object in the step (a).
상기 (c)단계에서, 이전 프레임의 추적된 객체의 히스토그램을 기반으로 현재프레임의 매 픽셀 마다 추적하는 객체의 히스토그램과 유사성을 0부터 255까지의 밝기값으로 표현하여 백 프로젝션 영상을 생성하는 것을 특징으로 하는 캠쉬프트 기반의 실시간 얼굴추적 방법.
3. The method of claim 2,
In the step (c), similarity to the histogram of the object tracked every pixel of the current frame is expressed by a brightness value from 0 to 255 based on the histogram of the tracked object of the previous frame to generate a back projection image Based real time face tracking method.
상기 (c)단계에서, 추적된 객체 중심에서의 깊이 값을 읽어와 그 깊이 값과 같은 거리에 있는 픽셀들만을 1로 표현하고 나머지는 0으로 표현하여 이진화된 마스크를 생성하는 것을 특징으로 하는 캠쉬프트 기반의 실시간 얼굴추적 방법.
5. The method of claim 4,
Wherein in step (c), the depth value at the center of the tracked object is read and only the pixels at a distance equal to the depth value are represented by 1 and the remainder is represented by 0, thereby generating a binarized mask. Based real time face tracking method.
상기 (c)단계에서, 상기 백 프로젝션 영상의 각 픽셀 값에, 상기 이진 마스크 영상 내의 대응되는 픽셀값을 곱하여, 마스킹하는 것을 특징으로 하는 캠쉬프트 기반의 실시간 얼굴추적 방법.
6. The method of claim 5,
Wherein, in step (c), each pixel value of the back projection image is multiplied by a corresponding pixel value in the binary mask image, and masked.
상기 (f)단계에서, 상기 산출된 바타차야 거리가 사전에 정해진 제1 임계값 보다 크고 상기 제2 임계값 보다 작으면, 현재 프레임에서 추적된 객체를 템플릿으로 저장하고, 상기 제1 임계값은 상기 제2 임계값 보다 작은 것을 특징으로 하는 캠쉬프트 기반의 실시간 얼굴추적 방법.
3. The method of claim 2,
Wherein in the step (f), if the calculated batta road distance is greater than a predetermined first threshold value and smaller than the second threshold value, the tracked object is stored as a template in the current frame, and the first threshold value Wherein the second threshold value is smaller than the second threshold value.
상기 (g)단계에서, 상기 FAST 방법을 적용하여 특징점을 추출할 때, 기준픽셀 P로부터 정의된 16개 주변 픽셀의 밝기 값을 P보다 사전에 정해진 크기 보다 큰 경우, P보다 사전에 정해진 크기 보다 작은 경우, 그 외 경우의 3가지 경우로 분류하고, 주변 픽셀들의 밝기 분포를 16차원의 삼진(Ternary) 벡터로 표현하여, 16차원의 벡터를 결정 트리(Decision Tree)에 입력하여 특징점의 여부를 판단하는 것을 특징으로 하는 캠쉬프트 기반의 실시간 얼굴추적 방법.
3. The method of claim 2,
In the step (g), when the feature points are extracted by applying the FAST method, if the brightness values of the sixteen surrounding pixels defined from the reference pixel P are larger than the predetermined size than P, The brightness distribution of the surrounding pixels is represented by a 16-dimensional ternary vector, and a 16-dimensional vector is input to the decision tree to determine whether or not the feature points are included in the decision tree. Based face tracking method.
상기 (g)단계에서, 상기 저장된 템플릿과 현재 프레임 내의 매칭된 적어도 4 쌍의 특징점으로 호모그래피 H를 산출하고, 산출된 호모그래피 H가 [수식 1]과 같을 때, 호모그래피에 대한 판별식 D, Xs Ys, P를 다음 [수식 2]를 통해 산출하여, 상기 판별식이 사전에 정해진 값의 범위 내인지를 판단하여 검사하는 것을 특징으로 하는 캠쉬프트 기반의 실시간 얼굴추적 방법.
[수식 1]
[수식 2]
,
3. The method of claim 2,
In the step (g), a homography H is calculated with at least four pairs of matching points in the current template and the stored template, and when the calculated homography H is equal to [Equation 1], discriminant D , X s Y s, P the following [formula 2] to the determined shift cam real-time face tracking method of the base characterized in that the check to determine if the expression is in the range of values specified in advance through calculation.
[Equation 1]
[Equation 2]
,
상기 판별식은 다음 [수식 3]과 같은 논리식으로 판단되는 것을 특징으로 하는 캠쉬프트 기반의 실시간 얼굴추적 방법.
[수식 3]
11. The method of claim 10,
Wherein the discriminant is determined by the same logical expression as in Equation (3).
[Equation 3]
상기 (g)단계에서, 저장된 템플릿이 다수인 경우, 템플릿들 중 하나를 선정하여, 특징점 매칭을 통해 객체를 재추적하고, 만약 특징점 매칭이 되지 않으면 다른 템플릿을 선정하여 특징점 매칭을 통해 객체를 재추적하는 과정을 반복하는 것을 특징으로 하는 캠쉬프트 기반의 실시간 얼굴추적 방법.
3. The method of claim 2,
In step (g), if there are a plurality of stored templates, one of the templates is selected, and the object is retraced through the minutia matching. If the minutia matching is not performed, another template is selected and the object is re- Wherein the step of repeating the tracking process is repeated.
A computer-readable recording medium having recorded thereon a program for performing a real-time face tracking method based on a camshift according to any one of claims 2 to 7 and 9 to 12.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160007749A KR101741758B1 (en) | 2016-01-21 | 2016-01-21 | A Real-time Face Tracking Method Robust to Occlusion Based on Improved CamShift with Depth Information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160007749A KR101741758B1 (en) | 2016-01-21 | 2016-01-21 | A Real-time Face Tracking Method Robust to Occlusion Based on Improved CamShift with Depth Information |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101741758B1 true KR101741758B1 (en) | 2017-05-30 |
Family
ID=59053200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160007749A Active KR101741758B1 (en) | 2016-01-21 | 2016-01-21 | A Real-time Face Tracking Method Robust to Occlusion Based on Improved CamShift with Depth Information |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101741758B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107403439A (en) * | 2017-06-06 | 2017-11-28 | 沈阳工业大学 | Predicting tracing method based on Cam shift |
CN110211160A (en) * | 2019-05-30 | 2019-09-06 | 华南理工大学 | A kind of face tracking method based on improvement Camshift algorithm |
KR20200070185A (en) * | 2018-01-08 | 2020-06-17 | 현대모비스 주식회사 | Apparatus and method tracking object based on 3 dimension images |
CN116051605A (en) * | 2023-02-14 | 2023-05-02 | 重庆理工大学 | A multi-level deep feature fusion and adaptive re-detection target tracking method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002216129A (en) * | 2001-01-22 | 2002-08-02 | Honda Motor Co Ltd | Apparatus and method for detecting face area and computer-readable recording medium |
KR101279561B1 (en) * | 2012-01-19 | 2013-06-28 | 광운대학교 산학협력단 | A fast and accurate face detection and tracking method by using depth information |
-
2016
- 2016-01-21 KR KR1020160007749A patent/KR101741758B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002216129A (en) * | 2001-01-22 | 2002-08-02 | Honda Motor Co Ltd | Apparatus and method for detecting face area and computer-readable recording medium |
KR101279561B1 (en) * | 2012-01-19 | 2013-06-28 | 광운대학교 산학협력단 | A fast and accurate face detection and tracking method by using depth information |
Non-Patent Citations (1)
Title |
---|
Li et al. Object tracking using improved Camshift with SURF method. IEEE OSSC, 2011년, pp. 136-141 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107403439A (en) * | 2017-06-06 | 2017-11-28 | 沈阳工业大学 | Predicting tracing method based on Cam shift |
CN107403439B (en) * | 2017-06-06 | 2020-07-24 | 沈阳工业大学 | Cam-shift-based prediction tracking method |
KR20200070185A (en) * | 2018-01-08 | 2020-06-17 | 현대모비스 주식회사 | Apparatus and method tracking object based on 3 dimension images |
KR102424664B1 (en) | 2018-01-08 | 2022-07-25 | 현대모비스 주식회사 | Apparatus and method tracking object based on 3 dimension images |
CN110211160A (en) * | 2019-05-30 | 2019-09-06 | 华南理工大学 | A kind of face tracking method based on improvement Camshift algorithm |
CN110211160B (en) * | 2019-05-30 | 2022-03-25 | 华南理工大学 | A Face Tracking Method Based on Improved Camshift Algorithm |
CN116051605A (en) * | 2023-02-14 | 2023-05-02 | 重庆理工大学 | A multi-level deep feature fusion and adaptive re-detection target tracking method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ajmal et al. | A comparison of RGB and HSV colour spaces for visual attention models | |
US8781221B2 (en) | Hand gesture recognition system | |
Noh et al. | A new framework for background subtraction using multiple cues | |
Sanin et al. | Shadow detection: A survey and comparative evaluation of recent methods | |
US9898686B2 (en) | Object re-identification using self-dissimilarity | |
Chung et al. | Efficient shadow detection of color aerial images based on successive thresholding scheme | |
KR101247147B1 (en) | Face searching and detection in a digital image acquisition device | |
KR20190094352A (en) | System and method for performing fingerprint based user authentication using a captured image using a mobile device | |
CN106951869B (en) | A kind of living body verification method and equipment | |
CN112287867B (en) | Multi-camera human body action recognition method and device | |
CN105205480A (en) | Complex scene human eye locating method and system | |
CN105825168B (en) | A face detection and tracking method of golden snub-nosed monkey based on S-TLD | |
KR101741758B1 (en) | A Real-time Face Tracking Method Robust to Occlusion Based on Improved CamShift with Depth Information | |
KR101303877B1 (en) | Method and apparatus for serving prefer color conversion of skin color applying face detection and skin area detection | |
Huerta et al. | Chromatic shadow detection and tracking for moving foreground segmentation | |
GB2561607A (en) | Detection System, Detection device and method therefor | |
Lin et al. | PRNU-based content forgery localization augmented with image segmentation | |
JP2018120445A (en) | Car number recognition device | |
CN104765440B (en) | Hand detection method and equipment | |
Lecca et al. | Comprehensive evaluation of image enhancement for unsupervised image description and matching | |
CN111402185A (en) | Image detection method and device | |
McFeely et al. | Shadow identification for digital imagery using colour and texture cues | |
JPH11306348A (en) | Object detection apparatus and object detection method | |
Su et al. | Automatic seal imprint verification systems using edge difference | |
Zou et al. | Statistical analysis of signal-dependent noise: application in blind localization of image splicing forgery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20160121 |
|
PA0201 | Request for examination | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20170109 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20170516 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20170524 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20170525 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20200325 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20210525 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20220328 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20230321 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20240326 Start annual number: 8 End annual number: 8 |