KR102141296B1 - Object tracking method and apparatus performing the same - Google Patents

Object tracking method and apparatus performing the same Download PDF

Info

Publication number
KR102141296B1
KR102141296B1 KR1020190011789A KR20190011789A KR102141296B1 KR 102141296 B1 KR102141296 B1 KR 102141296B1 KR 1020190011789 A KR1020190011789 A KR 1020190011789A KR 20190011789 A KR20190011789 A KR 20190011789A KR 102141296 B1 KR102141296 B1 KR 102141296B1
Authority
KR
South Korea
Prior art keywords
bounding box
feature points
current frame
previous frame
object tracking
Prior art date
Application number
KR1020190011789A
Other languages
Korean (ko)
Inventor
임창훈
정병진
송호용
이석재
채승훈
Original Assignee
건국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Priority to KR1020190011789A priority Critical patent/KR102141296B1/en
Application granted granted Critical
Publication of KR102141296B1 publication Critical patent/KR102141296B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

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

Abstract

Embodiments of the present invention may provide a technique for determining whether to adjust a bounding box of a current frame by using a bounding box for tracking an object in a plurality of frames. An object tracking method and an apparatus thereof are disclosed. According to one embodiment of the present invention, the object tracking method comprises the steps of: calculating at least one of change amount of a bounding box for tracking an object in a previous frame and a current frame and the change amount of the number of feature points; and adjusting the bounding box of the current frame based on the at least one.

Description

객체 추적 방법 및 이를 수행하는 장치{OBJECT TRACKING METHOD AND APPARATUS PERFORMING THE SAME}OBJECT TRACKING METHOD AND APPARATUS PERFORMING THE SAME

아래 실시예들은 객체 추정 방법 및 이를 수행하는 장치에 관한 것이다.The following embodiments relate to an object estimation method and an apparatus for performing the same.

물체를 추적하는 문제는 컴퓨터 비전에서 중요한 분야이다. 비디오 내에서 특정 물체를 추적하는 알고리즘이 다양한 방식으로 개발되었다.Object tracking is an important area of computer vision. Algorithms for tracking specific objects within a video have been developed in a variety of ways.

CamShift 알고리즘은 영상 내 색상 확률 분포와 영상 모멘트를 통해 탐색 윈도우의 크기를 스스로 조정하면서 물체를 추적하는 방법이다. 이 방법은 느리게 움직이는 물체의 위치를 추적할 때 유용한 장점을 보였으나, 여러 번의 반복과, 윈도우 내의 과도한 연산으로 인해서 속도가 저하되어 빠르게 움직이는 물체의 위치를 추적하지 못하는 단점을 보였다.The CamShift algorithm is a method of tracking objects while resizing the search window through color probability distribution and image moment in the image. This method showed a useful advantage when tracking the position of a slow-moving object, but it had the disadvantage of not being able to track the position of a fast-moving object due to multiple iterations and excessive speed in the window.

TLD 알고리즘은 추적(tracking), 학습(learning), 탐지(detection)의 결합을 기반으로 물체를 추적하는 방법이다. 이 방법은 최근 프레임의 정보만 이용해서 물체의 이동을 찾는 추적기(tracker)와 누적된 데이터를 바탕으로 프레임에서 물체를 찾는 탐지기(detector)의 상호 보완으로 인해서 우수한 추적 능력을 가지는 장점을 가진다. 다만, 이 방법은 TLD의 특성에 의하여 추적기는 학습을 하지 않으므로, 한 번 물체를 놓칠 경우 다시 물체를 추적하는 데에 어려움을 가지는 문제가 있다.The TLD algorithm is a method of tracking an object based on a combination of tracking, learning, and detection. This method has an advantage of having excellent tracking ability due to the complementary complement of a tracker that searches for the movement of an object using only the information of a recent frame and a detector that searches for an object in a frame based on accumulated data. However, since this method does not learn the tracker due to the characteristics of the TLD, there is a problem in that it is difficult to track the object again if the object is missed once.

KCF(kernelized correlation filters) 알고리즘은 분류기가 만들어내는 샘플 중에서 중복 픽셀이 있다는 것을 이용하는 방법이다. 또한, 이 방법은 이산 푸리에 변환(discrete Fourier transform)을 통해 저장과 계산을 줄여서 연산 속도를 빠르게 하는 커널 상관 필터(KCF)를 사용하며, 빠른 다중 채널 확장을 위해서 이중 상관 필터(DCF)를 같이 적용한다. 이는 TLD의 단점이라고 볼 수 있는 많은 연산을 해결할 수 있는 방법을 제시하였으나, 다중 템플릿 학습이 불가능하다는 점과, 물체의 스케일 변화에 대한 문제를 해결하지 못한다는 단점을 가지고 있다.The KCF (kernelized correlation filters) algorithm is a method that uses duplicate pixels among samples produced by the classifier. In addition, this method uses a Kernel Correlation Filter (KCF) that speeds up computation by reducing storage and computation through a discrete Fourier transform, and applies a Double Correlation Filter (DCF) together for fast multi-channel expansion. do. This suggested a method that can solve many of the operations that can be considered as a disadvantage of TLD, but it has the disadvantage that multi-template learning is impossible and that it does not solve the problem of scale changes of objects.

물체를 추적 알고리즘은 영상 내 비슷한 물체의 출현, 물체의 빠른 움직임, 영상 스케일의 변화 등의 특수한 경우가 발생할 경우 추적이 잘 안 되는 경우가 발생한다.The object tracking algorithm may not be well tracked when special cases such as the appearance of similar objects in an image, rapid movement of objects, or changes in the image scale occur.

실시예들은 복수의 프레임들에서 객체를 추적하기 위한 바운딩 박스를 이용하여 현재 프레임의 바운딩 박스를 조정 여부를 결정하는 기술을 제공할 수 있다.Embodiments may provide a technique for determining whether to adjust the bounding box of the current frame using a bounding box for tracking an object in a plurality of frames.

또한, 실시예들은 복수의 프레임들에서 매칭되는 특징점들을 이용하여 현재 프레임의 바운딩 박스를 조정하는 기술을 제공할 수 있다.In addition, embodiments may provide a technique for adjusting the bounding box of the current frame by using matching feature points in a plurality of frames.

이에, 실시예들은 다양한 추적 방식에 적용 가능하고, 객체를 추적하는 성능을 향상시킬 수 있다.Accordingly, the embodiments are applicable to various tracking methods, and can improve the performance of tracking an object.

일 실시예에 따른 객체 추적 방법은 이전 프레임 및 현재 프레임에서 객체를 추적하기 위한 바운딩 박스의 변화량과 특징점의 개수 변화량 중에서 적어도 하나를 계산하는 단계와, 상기 적어도 하나에 기초하여 상기 현재 프레임의 바운딩 박스를 조정하는 단계를 포함한다.The object tracking method according to an embodiment includes calculating at least one of a variation amount of a bounding box and a number of feature points for tracking an object in a previous frame and a current frame, and the bounding box of the current frame based on the at least one It includes the step of adjusting.

상기 바운딩 박스의 변화량은 크기 변화량 및 위치 변화량 중에서 적어도 하나를 포함할 수 있다.The amount of change of the bounding box may include at least one of a size change amount and a position change amount.

상기 계산하는 단계는, 상기 이전 프레임의 바운딩 박스와 상기 현재 프레임의 바운딩 박스의 크기 변화량을 계산하는 단계와, 상기 이전 프레임의 바운딩 박스와 상기 현재 프레임의 바운딩 박스의 위치 변화량을 계산하는 단계와, 상기 이전 프레임의 특징점과 상기 현재 프레임의 특징점의 개수 변화량을 계산하는 단계를 포함할 수 있다.The calculating may include calculating a size change amount of the bounding box of the previous frame and the bounding box of the current frame, and calculating a position change amount of the bounding box of the previous frame and the bounding box of the current frame, And calculating a change amount of the feature points of the previous frame and the feature points of the current frame.

상기 특징점의 개수 변화량은, 상기 이전 프레임의 바운딩 박스 및 상기 현재 프레임의 바운딩 박스를 확장한 동일 영역에서 추출된 특징점들의 개수 차이일 수 있다.The amount of change in the number of the feature points may be a difference in the number of feature points extracted from the same region in which the bounding box of the previous frame and the bounding box of the current frame are extended.

상기 조정하는 단계는, 상기 적어도 하나에 기초하여 상기 현재 프레임의 바운딩 박스의 조정 여부를 결정하는 단계와, 상기 이전 프레임의 바운딩 박스의 위치 및 상기 이전 프레임과 상기 현재 프레임 간에 매칭되는 특징점들에 기초하여 상기 현재 프레임의 바운딩 박스의 위치를 조정하는 단계를 포함할 수 있다.The adjusting may include determining whether to adjust the bounding box of the current frame based on the at least one, and based on the position of the bounding box of the previous frame and matching feature points between the previous frame and the current frame. And adjusting the position of the bounding box of the current frame.

상기 현재 프레임의 바운딩 박스의 위치를 조정하는 단계는, 상기 이전 프레임에서 추출된 특징점들과 상기 현재 프레임에서 추출된 특징점들을 매칭시키는 단계와, 매칭된 특징점들의 평균 이동거리 및 평균 방향을 계산하는 단계와, 상기 평균 이동거리 및 평균 방향과 상기 이전 프레임의 바운딩 박스의 위치에 기초하여 상기 현재 프레임의 바운딩 박스의 위치를 조정하는 단계를 포함할 수 있다.Adjusting the position of the bounding box of the current frame may include matching feature points extracted from the previous frame with feature points extracted from the current frame, and calculating an average moving distance and an average direction of the matched feature points. And adjusting the position of the bounding box of the current frame based on the average moving distance and the average direction and the position of the bounding box of the previous frame.

상기 평균 이동거리 및 평균 방향과 상기 이전 프레임의 바운딩 박스의 위치에 기초하여 상기 현재 프레임의 바운딩 박스의 위치를 조정하는 단계와, 상기 이전 프레임의 바운딩 박스를 상기 평균 방향으로 상기 평균 이동거리만큼 이동하여 상기 현재 프레임의 바운딩 박스로 설정하는 단계를 포함할 수 있다. Adjusting the position of the bounding box of the current frame based on the average moving distance and the average direction and the position of the bounding box of the previous frame, and moving the bounding box of the previous frame by the average moving distance in the average direction And setting the current frame as a bounding box.

상기 추출된 특징점들은 상기 동일 영역에서 추출된 모든 특징점들을 매칭률에 따라 정렬하고, 정렬된 특징점들 중에서 상위 일정 비율만큼만 추출한 특징점들일 수 있다.The extracted feature points may be all feature points extracted from the same region according to a matching rate, and may be feature points extracted only by a predetermined percentage of the feature points.

일 실시예에 따른 객체 추적 장치는 이전 프레임 및 현재 프레임을 수신하는 수신부와, 상기 이전 프레임 및 상기 현재 프레임에서 객체를 추적하기 위한 바운딩 박스의 변화량과 특징점의 개수 변화량 중에서 적어도 하나를 계산하고, 상기 적어도 하나에 기초하여 상기 바운딩 박스를 조정하는 컨트롤러를 포함할 수 있다.The object tracking apparatus according to an embodiment calculates at least one of a receiving unit receiving a previous frame and a current frame, a variation amount of a bounding box for tracking an object in the previous frame and the current frame, and a number of feature points, and the And a controller that adjusts the bounding box based on at least one.

상기 바운딩 박스의 변화량은 크기 변화량 및 위치 변화량 중에서 적어도 하나를 포함할 수 있다.The amount of change of the bounding box may include at least one of a size change amount and a position change amount.

상기 컨트롤러는, 상기 이전 프레임의 바운딩 박스와 상기 현재 프레임의 바운딩 박스의 크기 변화량을 계산하고, 상기 이전 프레임의 바운딩 박스와 상기 현재 프레임의 바운딩 박스의 위치 변화량을 계산하고, 상기 이전 프레임의 특징점과 상기 현재 프레임의 특징점의 개수 변화량을 계산할 수 있다.The controller calculates the amount of change in the size of the bounding box of the previous frame and the bounding box of the current frame, calculates the amount of change in the position of the bounding box of the previous frame and the bounding box of the current frame, and the feature points of the previous frame. The amount of change in the number of feature points of the current frame can be calculated.

상기 특징점의 개수 변화량은, 상기 이전 프레임의 바운딩 박스 및 상기 현재 프레임의 바운딩 박스를 확장한 동일 영역에서 추출된 특징점들의 개수 차이일 수 있다.The amount of change in the number of the feature points may be a difference in the number of feature points extracted from the same region in which the bounding box of the previous frame and the bounding box of the current frame are extended.

상기 컨트롤러는, 상기 적어도 하나에 기초하여 상기 현재 프레임의 바운딩 박스의 조정 여부를 결정하고, 상기 이전 프레임의 바운딩 박스의 위치 및 상기 이전 프레임과 상기 현재 프레임 간에 매칭되는 특징점들에 기초하여 상기 현재 프레임의 바운딩 박스의 위치를 조정할 수 있다.The controller determines whether to adjust the bounding box of the current frame based on the at least one, and the current frame based on the location of the bounding box of the previous frame and feature points matched between the previous frame and the current frame. The position of the bounding box can be adjusted.

상기 컨트롤러는, 상기 이전 프레임에서 추출된 특징점들과 상기 현재 프레임에서 추출된 특징점들을 매칭시키고, 매칭된 특징점들의 평균 이동거리를 계산하고, 상기 평균 이동거리 및 평균 방향과 상기 이전 프레임의 바운딩 박스의 위치에 기초하여 상기 현재 프레임의 바운딩 박스의 위치를 조정할 수 있다.The controller matches the feature points extracted from the previous frame with the feature points extracted from the current frame, calculates the average moving distance of the matched feature points, and calculates the average moving distance and average direction and the bounding box of the previous frame. The position of the bounding box of the current frame may be adjusted based on the position.

상기 컨트롤러는, 상기 이전 프레임의 바운딩 박스를 상기 방향으로 상기 평균 이동거리만큼 이동하여 상기 현재 프레임의 바운딩 박스로 설정할 수 있다.The controller may set the bounding box of the current frame by moving the bounding box of the previous frame by the average moving distance in the direction.

상기 추출된 특징점들은, 상기 동일 영역에서 추출된 모든 특징점들을 매칭률에 따라 정렬하고, 정렬된 특징점들 중에서 상위 일정 비율만큼만 추출한 특징점들일 수 있다.The extracted feature points may be all feature points extracted from the same region according to a matching rate, and may be feature points extracted only by a certain predetermined ratio among the aligned feature points.

도 1은 일 실시예에 따른 객체 추적 장치를 나타내는 도면이다.
도 2는 도 1에 도시된 객체 추적 장치의 개략적인 블록도이다.
도 3는 객체 추적 장치가 수행하는 객체 추적 동작을 상세하게 설명하기 위한 플로우 차트이다.
도 4는 도 3에 설명된 복수의 프레임들의 바운딩 박스의 변화량과 특징점의 개수 변화량을 계산하는 동작을 상세히 설명하기 위한 도면이다.
도 5은 도 3에서 설명된 객체 추적 장치의 바운딩 박스 조절 동작을 구체적으로 설명하기 위한 순서도이다.
도 6은 객체 추적 장치가 현재 프레임의 바운딩 박스를 조절하는 동작의 일 예를 설명하기 위한 도면이다.
도 7a 및 도 7b는 일 실시예에 따른 객체 추적 방법을 이용한 결과를 보여주는 도면이다.
1 is a diagram illustrating an object tracking device according to an embodiment.
FIG. 2 is a schematic block diagram of the object tracking device illustrated in FIG. 1.
3 is a flow chart for explaining in detail the object tracking operation performed by the object tracking device.
FIG. 4 is a view for explaining in detail the operation of calculating the amount of change of the number of change points and the amount of change of the bounding box of the plurality of frames described in FIG. 3.
FIG. 5 is a flowchart for specifically describing an operation of adjusting a bounding box of the object tracking device illustrated in FIG. 3.
6 is a view for explaining an example of the operation of the object tracking device to adjust the bounding box of the current frame.
7A and 7B are diagrams showing results using an object tracking method according to an embodiment.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, various changes may be made to the embodiments, and the scope of the patent application right is not limited or limited by these embodiments. It should be understood that all modifications, equivalents, or substitutes for the embodiments are included in the scope of rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for illustrative purposes only and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms "include" or "have" are intended to indicate the presence of features, numbers, steps, actions, components, parts or combinations thereof described in the specification, one or more other features. It should be understood that the existence or addition possibilities of fields or numbers, steps, operations, components, parts or combinations thereof are not excluded in advance.

제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first or second can be used to describe various components, but the components should not be limited by the terms. The terms are for the purpose of distinguishing one component from another component, for example, without departing from the scope of rights according to the concept of the embodiment, the first component may be referred to as the second component, and similarly The second component may also be referred to as the first component.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the embodiment belongs. Terms, such as those defined in a commonly used dictionary, should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined in the present application. Does not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that detailed descriptions of related known technologies may unnecessarily obscure the subject matter of the embodiments, the detailed descriptions will be omitted.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. The same reference numerals in each drawing denote the same members.

도 1은 일 실시예에 따른 객체 추적 장치를 나타내는 도면이고, 도 2는 도 1에 도시된 객체 추적 장치의 개략적인 블록도이다.1 is a diagram illustrating an object tracking device according to an embodiment, and FIG. 2 is a schematic block diagram of the object tracking device shown in FIG. 1.

도 1 및 도 2을 참조하면, 객체 추적 장치(100)는 비디오(110)를 수신할 수 있다. 객체 추적 장치(100)는 비디오(110)에 포함된 복수의 프레임들을 이용하여 현재 프레임(130)의 바운딩 박스를 조정할 수 있다. 객체 추적 장치(100)는 전자 장치에 구현될 수 있다.1 and 2, the object tracking device 100 may receive the video 110. The object tracking device 100 may adjust the bounding box of the current frame 130 using a plurality of frames included in the video 110. The object tracking device 100 may be implemented in an electronic device.

전자 장치는 데이터 서버(data server), 컴퓨터, 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smartphone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 또는 스마트 디바이스(smart device)로 구현될 수 있다. 예를 들어, 스마트 디바이스는 스마트 와치(smart watch) 또는 스마트 밴드(smart band)로 구현될 수 있다. Electronic devices include data servers, computers, laptop computers, mobile phones, smart phones, tablet PCs, mobile internet devices (MIDs), and personal digital assistants (PDAs). ), enterprise digital assistant (EDA), digital still camera, digital video camera, portable multimedia player (PMP), personal navigation device or portable navigation device (PND), handheld game console game console), an e-book, or a smart device. For example, the smart device may be implemented as a smart watch or smart band.

객체 추적 장치(100)는 메모리(210), 수신부(230), 및 컨트롤러(250)을 포함한다.The object tracking device 100 includes a memory 210, a receiver 230, and a controller 250.

메모리(210)는 컨트롤러(250)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 컨트롤러(250)의 동작 및/또는 컨트롤러(250)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.The memory 210 may store instructions (or programs) executable by the controller 250. For example, instructions may include instructions for performing the operation of controller 250 and/or the operation of each component of controller 250.

수신부(230)는 비디오(110)를 수신할 수 있다. 비디오(110)는 복수의 프레임들을 포함할 수 있다. 복수의 프레임들은 이전 프레임(120) 및 현재 프레임(130)을 포함할 수 있다. 즉, 수신부(230)는 이전 프레임(120) 및 현재 프레임(130)을 수신할 수 있다.The receiver 230 may receive the video 110. The video 110 may include a plurality of frames. The plurality of frames may include the previous frame 120 and the current frame 130. That is, the receiver 230 may receive the previous frame 120 and the current frame 130.

컨트롤러(250)는 이전 프레임(120) 및 현재 프레임(130)의 바운딩 박스에 연관된 변화량을 계산할 수 있다. 바운딩 박스에 연관된 변화량은 이전 프레임(120) 및 현재 프레임(130)의 바운딩 박스의 변화량 및/또는 특징점의 개수 변화량을 포함할 수 있다.The controller 250 may calculate a change amount associated with the bounding box of the previous frame 120 and the current frame 130. The amount of change associated with the bounding box may include the amount of change in the bounding box of the previous frame 120 and the current frame 130 and/or the number of feature points.

컨트롤러(250)는 이전 프레임(120) 및 현재 프레임(130)의 바운딩 박스를 이용하여 현재 프레임(130)의 바운딩 박스의 조정 여부를 결정할 수 있다. 예를 들어, 컨트롤러(250)는 이전 프레임(120) 및 현재 프레임(130)의 바운딩 박스의 변화량과 특징점의 개수 변화량 중에서 적어도 하나에 기초하여 현재 프레임의 바운딩 박스의 조정 여부를 결정할 수 있다.The controller 250 may determine whether to adjust the bounding box of the current frame 130 using the bounding box of the previous frame 120 and the current frame 130. For example, the controller 250 may determine whether to adjust the bounding box of the current frame based on at least one of the variation amount of the bounding box of the previous frame 120 and the current frame 130 and the number of feature points.

또한, 컨트롤러(250)는 이전 프레임(120) 및 현재 프레임(130)에서 매칭되는 특징점들을 이용하여 현재 프레임(130)의 바운딩 박스를 조정할 수 있다. 예를 들어, 컨트롤러(250)는 이전 프레임(120)의 바운딩 박스의 위치 및 이전 프레임(120)과 현재 프레임(130) 간에 매칭되는 특징점들에 기초하여 현재 프레임(130)의 바운딩 박스의 위치를 조정할 수 있다.In addition, the controller 250 may adjust the bounding box of the current frame 130 using feature points matching in the previous frame 120 and the current frame 130. For example, the controller 250 determines the location of the bounding box of the current frame 130 based on the location of the bounding box of the previous frame 120 and feature points that match between the previous frame 120 and the current frame 130. I can adjust it.

컨트롤러(250)는 현재 프레임(130)에서 조정된 바운딩 박스를 이용하여 객체를 추적할 수 있다.The controller 250 may track the object using the bounding box adjusted in the current frame 130.

상술한 객체 추적 장치(100)에 의해 수행되는 바운딩 박스 조정 동작은 다양한 객체 추적 방식에 적용이 가능할 수 있다. 이를 통해, 객체 추적 성능은 향상될 수 있다.The bounding box adjustment operation performed by the object tracking device 100 described above may be applied to various object tracking methods. Through this, object tracking performance can be improved.

도 3는 객체 추적 장치가 수행하는 객체 추적 동작을 상세하게 설명하기 위한 플로우 차트이다.3 is a flow chart for explaining in detail the object tracking operation performed by the object tracking device.

도 3를 참조하면, 컨트롤러(250)는 이전 프레임(120) 및 현재 프레임(130)에서 바운딩 박스의 변화량과 특징점의 개수 변화량 중에서 적어도 하나에 기초하여 현재 프레임(130)의 바운딩 박스의 조정 여부를 결정할 수 있다.Referring to FIG. 3, the controller 250 determines whether to adjust the bounding box of the current frame 130 based on at least one of the amount of change of the bounding box and the number of feature points in the previous frame 120 and the current frame 130. Can decide.

예를 들어, 컨트롤러(250)는 이전 프레임(120)의 바운딩 박스와 현재 프레임(130)의 바운딩 박스의 크기 변화량, 위치 변화량, 및 특징점 개수 변화량을 순차적으로 비교하여 현재 프레임(130)의 바운딩 박스의 조정 여부를 결정할 수 있다.For example, the controller 250 sequentially compares a size change amount, a position change amount, and a change in the number of feature points between the bounding box of the previous frame 120 and the bounding box of the current frame 130, and the bounding box of the current frame 130 You can decide whether or not to adjust.

우선, 컨트롤러(250)는 이전 프레임(120)의 바운딩 박스와 현재 프레임(130)의 바운딩 박스의 크기 변화량을 계산할 수 있다(310). 컨트롤러(250)는 크기 변화량과 크기 임계값을 비교할 수 있다(320). 크기 변화량이 크기 임계값 이상인 경우, 컨트롤러(250)는 현재 프레임(130)의 바운딩 박스를 조정할 수 있다.First, the controller 250 may calculate a size change amount of the bounding box of the previous frame 120 and the bounding box of the current frame 130 (310 ). The controller 250 may compare the size change amount and the size threshold (320). When the size change amount is equal to or greater than the size threshold, the controller 250 may adjust the bounding box of the current frame 130.

크기 변화량이 크기 임계값보다 작은 경우, 컨트롤러(250)는 이전 프레임(120)의 바운딩 박스와 현재 프레임(130)의 바운딩 박스의 위치 변화량을 계산할 수 있다(330). 컨트롤러(250)는 위치 변화량과 위치 임계값을 비교할 수 있다(340). 위치 변화량이 위치 임계값 이상인 경우, 컨트롤러(250)는 현재 프레임(130)의 바운딩 박스를 조정할 수 있다.If the size change amount is smaller than the size threshold, the controller 250 may calculate the amount of change in the position of the bounding box of the previous frame 120 and the bounding box of the current frame 130 (330). The controller 250 may compare the position change amount with the position threshold (340 ). When the position change amount is equal to or greater than the position threshold, the controller 250 may adjust the bounding box of the current frame 130.

위치 변화량이 위치 임계값보다 작은 경우, 컨트롤러(250)는 이전 프레임(120)의 바운딩 박스와 현재 프레임(130)의 바운딩 박스의 특징점 개수 변화량을 계산할 수 있다(350). 컨트롤러(250)는 특징점 개수 변화량과 특징점 개수 임계값을 비교할 수 있다(360). 특징점 개수 변화량이 특징점 개수 임계값 이상인 경우, 컨트롤러(250)는 현재 프레임(130)의 바운딩 박스를 조정할 수 있다.If the position change amount is smaller than the position threshold, the controller 250 may calculate the amount of change in the number of feature points of the bounding box of the previous frame 120 and the bounding box of the current frame 130 (350). The controller 250 may compare the change in the number of feature points with the threshold for the number of feature points (360). When the change in the number of feature points is greater than or equal to the threshold for the number of feature points, the controller 250 may adjust the bounding box of the current frame 130.

상술한 바와 같이, 현재 프레임(130)의 바운딩 박스를 조정하기로 결정한 경우, 컨트롤러(250)는 현재 프레임(130)의 바운딩 박스를 조정할 수 있다(370).As described above, when it is determined to adjust the bounding box of the current frame 130, the controller 250 may adjust the bounding box of the current frame 130 (370).

도 3에서는 바운딩 박스 조정 여부를 결정하기 위해 이전 프레임(120)의 바운딩 박스와 현재 프레임(130)의 바운딩 박스의 크기 변화량, 위치 변화량, 및 특징점 개수 변화량 순서로 비교하였지만, 반드시 이에 한정되는 것은 아니며, 다양한 순서로 비교하고 바운딩 박스 조정 여부가 결정될 수 있다.In FIG. 3, the size change amount, the position change amount, and the number of feature point changes of the bounding box of the previous frame 120 and the bounding box of the current frame 130 are compared in order in order to determine whether to adjust the bounding box, but the present invention is not limited thereto. , It can be compared in various orders and whether or not the bounding box is adjusted can be determined.

도 4는 도 3에 설명된 복수의 프레임들의 바운딩 박스의 변화량과 특징점의 개수 변화량을 계산하는 동작을 상세히 설명하기 위한 도면이다.FIG. 4 is a view for explaining in detail the operation of calculating the amount of change of the number of change points and the amount of change of the bounding box of the plurality of frames described in FIG. 3.

도 4를 참조하면, 이전 프레임(120)은 바운딩 박스(410)을 포함할 수 있고, 현재 프레임(130)은 바운딩 박스(430)을 포함할 수 있다.Referring to FIG. 4, the previous frame 120 may include the bounding box 410, and the current frame 130 may include the bounding box 430.

컨트롤러(250)은 이전 프레임(120) 및 현재 프레임(130)에서 객체를 추적하기 위한 바운딩 박스의 변화량과 특징점의 개수 변화량 중에서 적어도 하나를 계산할 수 있다. 바운딩 박스의 변화량은 크기 변화량 및 위치 변화량 중에서 적어도 하나를 포함한다.The controller 250 may calculate at least one of a change amount of a bounding box for tracking an object in a previous frame 120 and a current frame 130 and a change amount of the number of feature points. The amount of change of the bounding box includes at least one of a size change amount and a position change amount.

컨트롤러(250)는 이전 프레임(120)의 바운딩 박스(410)와 현재 프레임(130)의 바운딩 박스(430)의 크기 변화량을 계산할 수 있다. 이전 프레임(120) 및 현재 프레임(130)의 바운딩 박스(410 및 430)의 크기는 각각의 바운딩 박스(410 및 430)의 폭(w)와 높이(h) 값을 곱한 넓이(a) 값일 수 있다. 크기 변화량은 이전 프레임(120)의 바운딩 박스(410)의 넓이 값과 현재 프레임(130)의 바운딩 박스(430)의 넓이 값의 차이일 수 있다.The controller 250 may calculate a size change amount of the bounding box 410 of the previous frame 120 and the bounding box 430 of the current frame 130. The size of the bounding boxes 410 and 430 of the previous frame 120 and the current frame 130 may be a width (a) value multiplied by the width (w) and height (h) values of the respective bounding boxes (410 and 430). have. The size change amount may be a difference between the width value of the bounding box 410 of the previous frame 120 and the width value of the bounding box 430 of the current frame 130.

컨트롤러(250)는 이전 프레임(120)의 바운딩 박스(410)와 현재 프레임(130)의 바운딩 박스(430)의 위치 변화량을 계산할 수 있다. 이전 프레임(120) 및 현재 프레임(130)의 바운딩 박스(410 및 430)의 위치는 각각의 바운딩 박스(410 및 430)의 좌표 값일 수 있다. 예를 들어, 이전 프레임(120) 및 현재 프레임(130)의 바운딩 박스(410 및 430)의 위치는 각 바운딩 박스(410 및 430)의 중심 좌표일 수 있다. 위치 변화량은 이전 프레임(120)의 바운딩 박스(410)의 좌표 값과 현재 프레임(130)의 바운딩 박스(430)의 좌표 값의 차이일 수 있다.The controller 250 may calculate a position change amount of the bounding box 410 of the previous frame 120 and the bounding box 430 of the current frame 130. The positions of the bounding boxes 410 and 430 of the previous frame 120 and the current frame 130 may be coordinate values of the respective bounding boxes 410 and 430. For example, the positions of the bounding boxes 410 and 430 of the previous frame 120 and the current frame 130 may be the center coordinates of each bounding box 410 and 430. The position change amount may be a difference between the coordinate value of the bounding box 410 of the previous frame 120 and the coordinate value of the bounding box 430 of the current frame 130.

컨트롤러(250)는 이전 프레임(120)의 특징점과 현재 프레임(130)의 특징점의 개수 변화량을 계산할 수 있다. 특징점의 개수 변화량은 이전 프레임(120)의 바운딩 박스(410) 및 현재 프레임(130)의 바운딩 박스(430)를 확장한 동일 영역(450)에서 추출된 특징점들의 개수 차이일 수 있다. 예를 들어, 바운딩 박스(410 및 430)를 확장한 동일 영역(450)은 바운딩 박스(410 및 430)의 폭 및 높이를 각각 c만큼 확장한 동일 영역일 수 있다. 확장된 동일 영역(450)에서 특징점을 추출할 경우, 객체의 특징점이 모두 포함될 수 있다. 특징점 개수 변화량은 이전 프레임(120) 및 현재 프레임(130)의 확장한 동일 영역(450)에서 추출한 특징점 중에서 이전 프레임(120)의 바운딩 박스(410) 안에 있는 특징점의 개수 차이일 수 있다.The controller 250 may calculate the number of changes in the feature points of the previous frame 120 and the feature points of the current frame 130. The amount of change in the number of feature points may be a difference in the number of feature points extracted from the same area 450 extending the bounding box 410 of the previous frame 120 and the bounding box 430 of the current frame 130. For example, the same area 450 in which the bounding boxes 410 and 430 are extended may be the same area in which the width and height of the bounding boxes 410 and 430 are extended by c, respectively. When the feature points are extracted from the same extended area 450, all the feature points of the object may be included. The amount of change in the number of feature points may be a difference between the number of feature points in the bounding box 410 of the previous frame 120 among the feature points extracted from the same region 450 expanded in the previous frame 120 and the current frame 130.

도 5은 도 3에서 설명된 객체 추적 장치의 바운딩 박스 조절 동작을 구체적으로 설명하기 위한 순서도이고, 도 6은 객체 추적 장치가 현재 프레임의 바운딩 박스를 조절하는 동작의 일 예를 설명하기 위한 도면이다.5 is a flowchart for specifically describing an operation of adjusting the bounding box of the object tracking device illustrated in FIG. 3, and FIG. 6 is a diagram for explaining an example of an operation of the object tracking device adjusting the bounding box of the current frame .

도 5 및 도 6을 참조하면, 컨트롤러(250)은 이전 프레임(120)의 특징점과 현재 프레임(130)의 내의 특징점을 매칭 시킬 수 있다(510).5 and 6, the controller 250 may match the feature points of the previous frame 120 and the feature points of the current frame 130 (510 ).

매칭시키는 특징점은 이전 프레임(120) 및 현재 프레임(130)의 바운딩 박스(410 및 430)을 확장한 동일 영역(450)에서 추출한 특징점일 수 있다.The matching feature points may be feature points extracted from the same area 450 in which the bounding boxes 410 and 430 of the previous frame 120 and the current frame 130 are expanded.

컨트롤러(250)는 동일 영역(450)에서 추출된 모든 특징점들을 매칭률에 따라 정렬하고, 정렬된 특징점들 중에서 상위 τ%의 개수만큼 특징점들을 매칭된 특징점들로 추출할 수 있다. 일정 비율만큼만 추출한 특징점들은 비교적 정확히 매칭된 특징점들이므로, 객체 추적 장치(100)의 객체 추적 방법의 성능을 향상시킬 수 있다. 매칭된 특징점의 추출 비율을 결정하는 τ값의 경우, 값이 작을수록 비교하는 특징점의 개수가 줄어들 수 있다. 정확성을 높이기 위해 100에 가까운 값을 사용할 수 있다. 일부 영상의 경우 매칭이 잘못된 특징점을 포함할 수 있으므로, τ값을 조절하여 매칭이 잘못된 특징점을 제외할 수 있다.The controller 250 may sort all feature points extracted from the same area 450 according to the matching rate, and extract feature points as matched feature points by the number of upper τ% among the aligned feature points. Since the feature points extracted only by a certain ratio are relatively exactly matched feature points, the performance of the object tracking method of the object tracking device 100 may be improved. In the case of the τ value for determining the extraction ratio of the matched feature points, the smaller the value, the fewer the number of feature points to be compared. You can use values close to 100 to increase accuracy. In the case of some images, since matching may include incorrect feature points, it is possible to exclude feature points having incorrect matching by adjusting the value of τ.

컨트롤러(250)은 매칭된 특징점들의 평균 이동거리 및 평균 방향을 계산할 수 있다(530). 평균 이동거리 및 평균 방향(750)은 매칭된 특징점들의 x좌표 차이의 평균 값(

Figure 112019010915077-pat00001
) 및 y좌표 차이의 평균 값(
Figure 112019010915077-pat00002
)으로 나타낼 수 있다. 컨트롤러(250)는 x좌표 차이의 평균 값(
Figure 112019010915077-pat00003
) 및 y좌표 차이의 평균값(
Figure 112019010915077-pat00004
)을 수학식 1 및 수학식 2을 이용해 계산할 수 있다.The controller 250 may calculate the average moving distance and average direction of the matched feature points (530 ). The average moving distance and the average direction 750 are the average values of the x-coordinate differences of the matched feature points (
Figure 112019010915077-pat00001
) And the mean value of the y-coordinate difference (
Figure 112019010915077-pat00002
). The controller 250 is the average value of the x-coordinate differences (
Figure 112019010915077-pat00003
) And the mean value of the difference between y coordinates (
Figure 112019010915077-pat00004
) Can be calculated using Equation 1 and Equation 2.

Figure 112019010915077-pat00005
Figure 112019010915077-pat00005

Figure 112019010915077-pat00006
Figure 112019010915077-pat00006

여기서, Fi는 i번째 프레임에서 바운딩 박스 영역 안의 매칭된 특징점들의 집합을 나타내고, N은 전체 매칭된 특징점들의 개수를 의미하고, xt및 yt는 각각 t번째 특징점의 x좌표와 y좌표 값을 의미할 수 있다.Here, F i denotes a set of matched feature points in the bounding box area in the i-th frame, N denotes the total number of matched feature points, and x t and y t denote the x and y coordinate values of the t-th feature point, respectively. Can mean

컨트롤러(250)는 이전 프레임(120)의 바운딩 박스를 평균 방향으로 평균 이동거리만큼 이동하여 현재 프레임(130)의 바운딩 박스로 설정할 수 있다.The controller 250 may set the bounding box of the current frame 130 by moving the bounding box of the previous frame 120 by the average moving distance in the average direction.

예를 들어, 컨트롤러(250)는 이전 프레임(120)의 바운딩 박스(410)의 x좌표(x) 및 y좌표(y) 값에 매칭된 특징점들의 평균 이동거리 및 평균 방향의 x좌표(

Figure 112019010915077-pat00007
) 및 y좌표(
Figure 112019010915077-pat00008
)의 값을 합하여 현재 프레임(130)의 조정된 바운딩 박스(610)의 x좌표(x') 및 y좌표(y') 값을 계산할 수 있다. 컨트롤러(250)는 조정된 바운딩 박스(610)를 현재 프레임(120)의 바운딩 박스로 설정할 수 있다.For example, the controller 250 may include the average moving distance and the x-coordinate of the average direction of feature points matched to the x-coordinate (x) and y-coordinate (y) values of the bounding box 410 of the previous frame 120 (
Figure 112019010915077-pat00007
) And y coordinates (
Figure 112019010915077-pat00008
), the x-coordinates (x') and y-coordinates (y') of the adjusted bounding box 610 of the current frame 130 can be calculated. The controller 250 may set the adjusted bounding box 610 as the bounding box of the current frame 120.

조정된 바운딩 박스(610)의 x좌표(x') 및 y좌표(y')는 수학식 3 및 수학식 4을 통해 계산될 수 있다.The adjusted x-coordinate (x') and y-coordinate (y') of the bounding box 610 may be calculated through Equation 3 and Equation 4.

Figure 112019010915077-pat00009
Figure 112019010915077-pat00009

Figure 112019010915077-pat00010
Figure 112019010915077-pat00010

컨트롤러(250)는 현재 프레임(130)의 바운딩 박스(430)를 현재 프레임의 조정된 바운딩 박스(610)로 설정하여 현재 프레임(130)의 바운딩 박스(430)를 조정할 수 있다(550).The controller 250 may adjust the bounding box 430 of the current frame 130 by setting the bounding box 430 of the current frame 130 to the adjusted bounding box 610 of the current frame (550 ).

도 7a 및 도 7b는 객체 추적 방법을 이용한 결과를 보여주는 도면이다. 7A and 7B are diagrams showing results using an object tracking method.

도 7a는 기존 TLD(Tracking-Learing-Detection) 알고리즘을 이용한 추적 결과를 나타내고, 도 7b는 객체 추적 장치(100)가 객체 추적 동작을 이용한 결과를 TLD 알고리즘을 이용한 추적 결과와 비교하여 보여주는 도면이다. 객체의 크기에 알맞게 설정된 박스가 현재 프레임의 조정된 바운딩 박스(610)을 의미하며, 기존 TLD 알고리즘보다 추적 성능이 향상된 것을 알 수 있다.7A shows a tracking result using an existing Tracking-Learing-Detection (TLD) algorithm, and FIG. 7B is a diagram showing an object tracking apparatus 100 comparing the result using an object tracking operation with the tracking result using the TLD algorithm. It can be seen that the box set to the size of the object means the adjusted bounding box 610 of the current frame, and the tracking performance is improved compared to the existing TLD algorithm.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and constructed for the embodiments or may be known and usable by those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. -Hardware devices specifically configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the transmitted signal wave. The software may be distributed on networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (16)

이전 프레임 및 현재 프레임에서 객체를 추적하기 위한 바운딩 박스(bounding box)의 변화량 및 특징점의 개수 변화량을 계산하는 단계; 및
상기 바운딩 박스의 변화량 및 상기 특징점의 개수 변화량에 기초하여 상기 현재 프레임의 바운딩 박스의 위치를 조정하는 단계
를 포함하는 객체 추적 방법.
Calculating a change amount of a bounding box and a number of feature points for tracking an object in a previous frame and a current frame; And
Adjusting the position of the bounding box of the current frame based on the variation amount of the bounding box and the variation amount of the feature points
Object tracking method comprising a.
제1항에 있어서,
상기 바운딩 박스의 변화량은 크기 변화량 및 위치 변화량 중에서 적어도 하나를 포함하는 객체 추적 방법.
According to claim 1,
The amount of change of the bounding box includes at least one of a size change amount and a position change amount.
제1항에 있어서,
상기 계산하는 단계는,
상기 이전 프레임의 바운딩 박스와 상기 현재 프레임의 바운딩 박스의 크기 변화량을 계산하는 단계;
상기 이전 프레임의 바운딩 박스와 상기 현재 프레임의 바운딩 박스의 위치 변화량을 계산하는 단계; 및
상기 이전 프레임의 특징점과 상기 현재 프레임의 특징점의 개수 변화량을 계산하는 단계
를 포함하는 객체 추적 방법.
According to claim 1,
The calculating step,
Calculating a size change amount of the bounding box of the previous frame and the bounding box of the current frame;
Calculating a position change amount of the bounding box of the previous frame and the bounding box of the current frame; And
Calculating the number of changes in the feature points of the previous frame and the feature points of the current frame
Object tracking method comprising a.
제1항에 있어서,
상기 특징점의 개수 변화량은,
상기 이전 프레임의 바운딩 박스 및 상기 현재 프레임의 바운딩 박스를 확장한 동일 영역에서 추출된 특징점들의 개수 차이인 객체 추적 방법.
According to claim 1,
The amount of change in the number of the feature points,
An object tracking method that is a difference in the number of feature points extracted from the same region in which the bounding box of the previous frame and the bounding box of the current frame are extended.
제4항에 있어서,
상기 조정하는 단계는,
상기 현재 프레임의 바운딩 박스의 조정 여부를 결정하는 단계; 및
상기 이전 프레임의 바운딩 박스의 위치 및 상기 이전 프레임과 상기 현재 프레임 간에 매칭되는 특징점들에 기초하여 상기 현재 프레임의 바운딩 박스의 위치를 조정하는 단계
를 포함하는 객체 추적 방법.
According to claim 4,
The adjusting step,
Determining whether to adjust the bounding box of the current frame; And
Adjusting the position of the bounding box of the current frame based on the position of the bounding box of the previous frame and feature points matching between the previous frame and the current frame
Object tracking method comprising a.
제5항에 있어서,
상기 현재 프레임의 바운딩 박스의 위치를 조정하는 단계는,
상기 이전 프레임에서 추출된 특징점들과 상기 현재 프레임에서 추출된 특징점들을 매칭시키는 단계;
매칭된 특징점들의 평균 이동거리 및 평균 방향을 계산하는 단계; 및
상기 평균 이동거리 및 평균 방향과 상기 이전 프레임의 바운딩 박스의 위치에 기초하여 상기 현재 프레임의 바운딩 박스의 위치를 조정하는 단계
를 포함하는 객체 추적 방법.
The method of claim 5,
Adjusting the position of the bounding box of the current frame,
Matching feature points extracted in the previous frame and feature points extracted in the current frame;
Calculating an average moving distance and an average direction of the matched feature points; And
Adjusting the position of the bounding box of the current frame based on the average moving distance and the average direction and the position of the bounding box of the previous frame
Object tracking method comprising a.
제6항에 있어서,
상기 평균 이동거리 및 평균 방향과 상기 이전 프레임의 바운딩 박스의 위치에 기초하여 상기 현재 프레임의 바운딩 박스의 위치를 조정하는 단계는,
상기 이전 프레임의 바운딩 박스를 상기 평균 방향으로 상기 평균 이동거리만큼 이동하여 상기 현재 프레임의 바운딩 박스로 설정하는 단계
를 포함하는 객체 추적 방법.
The method of claim 6,
Adjusting the position of the bounding box of the current frame based on the average moving distance and the average direction and the position of the bounding box of the previous frame,
Moving the bounding box of the previous frame by the average moving distance in the average direction to set the bounding box of the current frame
Object tracking method comprising a.
제7항에 있어서,
상기 추출된 특징점들은
상기 동일 영역에서 추출된 모든 특징점들을 매칭률에 따라 정렬하고, 정렬된 특징점들 중에서 상위 일정 비율만큼만 추출한 특징점들인 객체 추적 방법.
The method of claim 7,
The extracted feature points
The object tracking method of sorting all the feature points extracted from the same area according to a matching rate, and extracting only a certain percentage of the feature points from the sorted feature points.
이전 프레임 및 현재 프레임을 수신하는 수신부; 및
상기 이전 프레임 및 상기 현재 프레임에서 객체를 추적하기 위한 바운딩 박스의 변화량 및 특징점의 개수 변화량을 계산하고, 상기 바운딩 박스의 변화량 및 상기 특징점의 개수 변화량에 기초하여 상기 바운딩 박스의 위치를 조정하는 컨트롤러
를 포함하는 객체 추적 장치.
A receiver configured to receive a previous frame and a current frame; And
A controller that calculates a change amount of a bounding box and a number of feature points for tracking an object in the previous frame and the current frame, and adjusts the position of the bounding box based on the change amount of the bounding box and the number of change of the feature points
Object tracking device comprising a.
제9항에 있어서,
상기 바운딩 박스의 변화량은 크기 변화량 및 위치 변화량 중에서 적어도 하나를 포함하는 객체 추적 장치.
The method of claim 9,
The amount of change of the bounding box is an object tracking device including at least one of a size change amount and a position change amount.
제9항에 있어서,
상기 컨트롤러는,
상기 이전 프레임의 바운딩 박스와 상기 현재 프레임의 바운딩 박스의 크기 변화량을 계산하고, 상기 이전 프레임의 바운딩 박스와 상기 현재 프레임의 바운딩 박스의 위치 변화량을 계산하고, 상기 이전 프레임의 특징점과 상기 현재 프레임의 특징점의 개수 변화량을 계산하는 객체 추적 장치.
The method of claim 9,
The controller,
The size change amount of the bounding box of the previous frame and the bounding box of the current frame is calculated, and the amount of change of the position of the bounding box of the previous frame and the bounding box of the current frame is calculated, and the feature point of the previous frame and the current frame An object tracking device that calculates the amount of change in the number of feature points.
제9항에 있어서,
상기 특징점의 개수 변화량은,
상기 이전 프레임의 바운딩 박스 및 상기 현재 프레임의 바운딩 박스를 확장한 동일 영역에서 추출된 특징점들의 개수 차이인 객체 추적 장치.
The method of claim 9,
The amount of change in the number of the feature points,
An object tracking device that is a difference in the number of feature points extracted from the same region that extends the bounding box of the previous frame and the bounding box of the current frame.
제12항에 있어서,
상기 컨트롤러는,
상기 현재 프레임의 바운딩 박스의 조정 여부를 결정하고, 상기 이전 프레임의 바운딩 박스의 위치 및 상기 이전 프레임과 상기 현재 프레임 간에 매칭되는 특징점들에 기초하여 상기 현재 프레임의 바운딩 박스의 위치를 조정하는 객체 추적 장치.
The method of claim 12,
The controller,
Object tracking to determine whether to adjust the bounding box of the current frame, and to adjust the position of the bounding box of the current frame based on the position of the bounding box of the previous frame and feature points matching between the previous frame and the current frame Device.
제13항에 있어서,
상기 컨트롤러는,
상기 이전 프레임에서 추출된 특징점들과 상기 현재 프레임에서 추출된 특징점들을 매칭시키고, 매칭된 특징점들의 평균 이동거리 및 평균 방향을 계산하고, 상기 평균 이동거리 및 상기 평균 방향과 상기 이전 프레임의 바운딩 박스의 위치에 기초하여 상기 현재 프레임의 바운딩 박스의 위치를 조정하는 객체 추적 장치.
The method of claim 13,
The controller,
Match the feature points extracted from the previous frame and the feature points extracted from the current frame, calculate the average moving distance and average direction of the matched feature points, and calculate the average moving distance and the average direction and the bounding box of the previous frame. An object tracking device that adjusts the position of the bounding box of the current frame based on the position.
제14항에 있어서,
상기 컨트롤러는,
상기 이전 프레임의 바운딩 박스를 상기 평균 방향으로 상기 평균 이동거리만큼 이동하여 상기 현재 프레임의 바운딩 박스로 설정하는 객체 추적 장치.
The method of claim 14,
The controller,
An object tracking device for moving the bounding box of the previous frame by the average moving distance in the average direction to set the bounding box of the current frame.
제14항에 있어서,
상기 추출된 특징점들은,
상기 동일 영역에서 추출된 모든 특징점들을 매칭률에 따라 정렬하고, 정렬된 특징점들에서 상위 일정 비율만큼만 추출한 특징점들인 객체 추적 장치.
The method of claim 14,
The extracted feature points,
An object tracking device that sorts all feature points extracted from the same area according to a matching rate and extracts only a certain percentage of the feature points from the sorted feature points.
KR1020190011789A 2019-01-30 2019-01-30 Object tracking method and apparatus performing the same KR102141296B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190011789A KR102141296B1 (en) 2019-01-30 2019-01-30 Object tracking method and apparatus performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190011789A KR102141296B1 (en) 2019-01-30 2019-01-30 Object tracking method and apparatus performing the same

Publications (1)

Publication Number Publication Date
KR102141296B1 true KR102141296B1 (en) 2020-08-04

Family

ID=72048772

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190011789A KR102141296B1 (en) 2019-01-30 2019-01-30 Object tracking method and apparatus performing the same

Country Status (1)

Country Link
KR (1) KR102141296B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102308063B1 (en) * 2021-08-11 2021-10-01 강철영 Apparatus for manufacturing a blown film
KR102321164B1 (en) * 2020-11-20 2021-11-03 동아대학교 산학협력단 System for Machined Rebar Calibration and Method thereof
KR102368122B1 (en) * 2021-08-31 2022-02-25 이홍기 Method and system for recognizing vehicle number by using deep learning image recognition-based vehicle detection and tracking technology
KR102430071B1 (en) * 2022-02-08 2022-08-05 국방과학연구소 Image preprocessing method and apparatus based on labeling bounding box
KR20220159638A (en) * 2021-05-26 2022-12-05 삼성전자주식회사 Method and apparatus for tracking object
KR102617846B1 (en) * 2022-12-22 2023-12-27 주식회사 핀텔 Method and System for Detecting Moving Object in Video

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150034398A (en) * 2013-09-26 2015-04-03 서진이엔에스(주) A Parking Event Detection System Based on Object Recognition

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150034398A (en) * 2013-09-26 2015-04-03 서진이엔에스(주) A Parking Event Detection System Based on Object Recognition

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
tracking learning detection* *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102321164B1 (en) * 2020-11-20 2021-11-03 동아대학교 산학협력단 System for Machined Rebar Calibration and Method thereof
KR20220159638A (en) * 2021-05-26 2022-12-05 삼성전자주식회사 Method and apparatus for tracking object
KR102637343B1 (en) 2021-05-26 2024-02-16 삼성전자주식회사 Method and apparatus for tracking object
KR102308063B1 (en) * 2021-08-11 2021-10-01 강철영 Apparatus for manufacturing a blown film
KR102368122B1 (en) * 2021-08-31 2022-02-25 이홍기 Method and system for recognizing vehicle number by using deep learning image recognition-based vehicle detection and tracking technology
KR102430071B1 (en) * 2022-02-08 2022-08-05 국방과학연구소 Image preprocessing method and apparatus based on labeling bounding box
KR102617846B1 (en) * 2022-12-22 2023-12-27 주식회사 핀텔 Method and System for Detecting Moving Object in Video

Similar Documents

Publication Publication Date Title
KR102141296B1 (en) Object tracking method and apparatus performing the same
US11302315B2 (en) Digital video fingerprinting using motion segmentation
US10600190B2 (en) Object detection and tracking method and system for a video
US9741170B2 (en) Method for displaying augmented reality content based on 3D point cloud recognition, and apparatus and system for executing the method
US9552642B2 (en) Apparatus and method for tracking object using feature descriptor, and apparatus and method for removing garbage feature
KR20180105876A (en) Method for tracking image in real time considering both color and shape at the same time and apparatus therefor
US20150279021A1 (en) Video object tracking in traffic monitoring
KR20150110697A (en) Systems and methods for tracking and detecting a target object
KR102217003B1 (en) Object tracking method and apparatus performing the same
CN110807410B (en) Key point positioning method and device, electronic equipment and storage medium
CN111314626B (en) Method and apparatus for processing video
KR20180037746A (en) Method and apparatus for tracking object, and 3d display device thereof
US9489742B2 (en) Apparatus, method and computer-readable recording medium for detecting moving object using depth map
US20180047181A1 (en) Image processing method, image processing apparatus and medium storing image processing program
JP2022521540A (en) Methods and systems for object tracking using online learning
CN112966654A (en) Lip movement detection method and device, terminal equipment and computer readable storage medium
KR102434397B1 (en) Real time multi-object tracking device and method by using global motion
KR20210092672A (en) Method and apparatus for tracking target
KR20200080109A (en) Method of selecting key prame and apparatuses performing the same
KR101982942B1 (en) Method of tracking object and apparatuses performing the same
CN106934818B (en) Hand motion tracking method and system
KR20200094430A (en) Video inpainting operating method and apparatus performing the same
KR20200094496A (en) Object tracking method and apparatus performing the same
KR102637343B1 (en) Method and apparatus for tracking object
US20230377188A1 (en) Group specification apparatus, group specification method, and computer-readable recording medium

Legal Events

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