[go: up one dir, main page]

KR102796145B1 - Real-time object tracking apparatus and method that can improve processing speed while ensuring the accuracy of object tracking - Google Patents

Real-time object tracking apparatus and method that can improve processing speed while ensuring the accuracy of object tracking Download PDF

Info

Publication number
KR102796145B1
KR102796145B1 KR1020220074563A KR20220074563A KR102796145B1 KR 102796145 B1 KR102796145 B1 KR 102796145B1 KR 1020220074563 A KR1020220074563 A KR 1020220074563A KR 20220074563 A KR20220074563 A KR 20220074563A KR 102796145 B1 KR102796145 B1 KR 102796145B1
Authority
KR
South Korea
Prior art keywords
object tracking
frame
objects
tracking
feature vector
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
Application number
KR1020220074563A
Other languages
Korean (ko)
Other versions
KR20230173824A (en
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 KR1020220074563A priority Critical patent/KR102796145B1/en
Publication of KR20230173824A publication Critical patent/KR20230173824A/en
Application granted granted Critical
Publication of KR102796145B1 publication Critical patent/KR102796145B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

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

Abstract

본 발명에 따른 실시간 객체 추적 장치 및 방법은 DeepSORT(Deep Simple Online and Real-time Tracking) 알고리즘과 SORT(Simple Online and Real-time Tracking) 알고리즘을 혼합하여 입력 영상에 대한 객체 추적을 수행함으로써, 객체 추적의 정확도를 보장함과 동시에 처리 속도의 향상을 도모할 수 있다.The real-time object tracking device and method according to the present invention performs object tracking on an input image by combining the DeepSORT (Deep Simple Online and Real-time Tracking) algorithm and the SORT (Simple Online and Real-time Tracking) algorithm, thereby ensuring the accuracy of object tracking and improving the processing speed at the same time.

Description

객체 추적의 정확도를 보장하면서 처리 속도를 향상시킬 수 있는 실시간 객체 추적 장치 및 방법{REAL-TIME OBJECT TRACKING APPARATUS AND METHOD THAT CAN IMPROVE PROCESSING SPEED WHILE ENSURING THE ACCURACY OF OBJECT TRACKING}{REAL-TIME OBJECT TRACKING APPARATUS AND METHOD THAT CAN IMPROVE PROCESSING SPEED WHILE ENSURING THE ACCURACY OF OBJECT TRACKING}

본 발명은 객체 추적의 정확도를 보장하면서 처리 속도를 향상시킬 수 있는 실시간 객체 추적 장치 및 방법에 대한 것이다.The present invention relates to a real-time object tracking device and method capable of improving processing speed while ensuring accuracy of object tracking.

다중 객체 추적 기술은 비디오 영상에 존재하는 사람, 자동차와 같은 객체들의 위치를 연속적으로 추적하는 기술로써, 자율주행 시스템, 무인 감시 시스템(CCTV, Closed-Circuit Television) 등과 같은 다양한 분야에서 활용되고 있다. Multi-object tracking technology is a technology that continuously tracks the locations of objects such as people and cars in video footage, and is being used in various fields such as autonomous driving systems and unmanned surveillance systems (CCTV, Closed-Circuit Television).

다중 객체 추적 기술은 먼저 영상의 각 프레임(단일 이미지)에서 각 객체들의 위치를 파악하는 단계인 객체 탐지(Object detection) 단계와 연속된 두 프레임에 존재하는 객체들의 관계를 파악하여 각 객체들의 위치 변화를 추적하는 객체 추적(Object tracking) 단계로 나눌 수 있다. Multi-object tracking technology can be divided into an object detection step, which first identifies the location of each object in each frame (single image) of the video, and an object tracking step, which identifies the relationship between objects existing in two consecutive frames and tracks the change in location of each object.

현대의 객체 탐지 기술은 인공지능의 발전과 함께 비약적인 발전을 이루었다. 딥러닝을 이용하여 하나의 이미지에서 여러 객체를 탐지하는 방법으로써 R-CNN(Regions with Convolution Neural Network features), Fast R-CNN, YOLO(You Only Look Once) 등의 방법이 제안되었다. 각 기술마다 탐지성능과 속도 측면에서 장단점이 존재하는데, 예를 들어 YOLO의 경우 정확도 보다는 탐지 속도에 강점을 가지는 기법이다.Modern object detection technology has made great strides with the development of artificial intelligence. Methods such as R-CNN (Regions with Convolution Neural Network features), Fast R-CNN, and YOLO (You Only Look Once) have been proposed as methods for detecting multiple objects in a single image using deep learning. Each technology has advantages and disadvantages in terms of detection performance and speed. For example, YOLO is a technique that has strengths in detection speed rather than accuracy.

객체 추적 기술 또한 매우 빠른 속도로 발전하고 있는데, 대표적으로 FairMOT(Fair Multi-Object Tracking), SORT(Simple Online and Real-time Tracking), DeepSORT(Deep Simple Online and Real-time Tracking) 등의 기법들이 제안되었다. 예를 들어, SORT의 경우 컴퓨팅 연산의 양이 많지 않아 속도 측면에서 빠르다는 장점이 있다. 이러한 객체 추적은 앞서 묘사한 YOLO 등의 기법을 통해 각 프레임의 객체들을 탐지한 후, 이 결과를 이용하여 연속된 프레임 간의 객체들이 서로 얼마나 유사한 위치에 존재하는지 확인하는 방법으로 수행된다.Object tracking technology is also developing at a very fast pace, and representative techniques such as FairMOT (Fair Multi-Object Tracking), SORT (Simple Online and Real-time Tracking), and DeepSORT (Deep Simple Online and Real-time Tracking) have been proposed. For example, SORT has the advantage of being fast because it does not require a large amount of computing operations. This object tracking is performed by detecting objects in each frame using techniques such as YOLO described above, and then using the results to check how similar the objects are in the locations of consecutive frames.

보통, 실시간 객체 추적이 필요한 시스템에서는 객체 추적의 정확도가 높아야 함과 동시에 객체 추적에 따른 연산 속도도 빨라야 할 필요가 있다. 이와 관련해서, DeepSORT 알고리즘을 활용하여 객체 추적을 수행하는 경우, 비교적 높은 정확도의 객체 추적이 가능하지만, 그만큼 연산량이 증가하게 되어, 객체 추적 속도가 느려지는 단점이 있다. 반면에, SORT 알고리즘을 활용하여 객체 추적을 수행하는 경우, DeepSORT 알고리즘에 비해, 연산량이 적기 때문에 비교적 빠른 객체 추적이 가능하지만, 그만큼 객체 추적의 정확도가 낮다는 단점이 있다.In general, in systems that require real-time object tracking, the accuracy of object tracking must be high, and the computational speed according to object tracking must also be fast. In this regard, when performing object tracking using the DeepSORT algorithm, relatively high accuracy object tracking is possible, but the computational amount increases, so there is a disadvantage that the object tracking speed is slowed down. On the other hand, when performing object tracking using the SORT algorithm, relatively fast object tracking is possible because the computational amount is small compared to the DeepSORT algorithm, but there is a disadvantage that the accuracy of object tracking is low.

따라서, 실시간 객체 추적 시스템에서, DeepSORT 알고리즘과 SORT 알고리즘을 적절하게 혼용하여 사용함으로써, 객체 추적의 정확도를 높임과 동시에 속도를 향상시킬 수 있도록 하는 기술에 대한 연구가 필요하다.Therefore, in real-time object tracking systems, research is needed on a technology that can increase the accuracy of object tracking while improving the speed by appropriately combining the DeepSORT algorithm and the SORT algorithm.

본 발명에 따른 실시간 객체 추적 장치 및 방법은 DeepSORT(Deep Simple Online and Real-time Tracking) 알고리즘과 SORT(Simple Online and Real-time Tracking) 알고리즘을 혼합하여 입력 영상에 대한 객체 추적을 수행함으로써, 객체 추적의 정확도를 보장함과 동시에 처리 속도의 향상이 가능하도록 지원하고자 한다.The real-time object tracking device and method according to the present invention perform object tracking on an input image by combining the DeepSORT (Deep Simple Online and Real-time Tracking) algorithm and the SORT (Simple Online and Real-time Tracking) algorithm, thereby ensuring the accuracy of object tracking and supporting an improvement in processing speed.

본 발명의 일실시예에 따른 실시간 객체 추적 장치는 영상이 입력되면, 상기 영상을 구성하는 프레임들 중 첫 번째 프레임을 시작으로 해서 n(n은 3이상의 크기를 갖는 자연수들 중에서 사전 지정된 어느 하나의 값임)번째 프레임까지 DeepSORT(Deep Simple Online and Real-time Tracking) 알고리즘에 기초한 객체 추적을 수행하는 제1 추적부, 상기 n번째 프레임과 n+1번째 프레임에 대해 SORT(Simple Online and Real-time Tracking) 알고리즘에 기초한 객체 추적을 수행한 후, 상기 n+1번째 프레임을 상기 첫 번째 프레임으로 재지정하여 상기 제1 추적부에 인가하는 제2 추적부 및 상기 제1 추적부와 상기 제2 추적부에 따른 객체 추적이 반복 수행되도록 제어하는 반복 수행 제어부를 포함한다.According to one embodiment of the present invention, a real-time object tracking device includes: a first tracking unit which, when an image is input, performs object tracking based on a DeepSORT (Deep Simple Online and Real-time Tracking) algorithm from a first frame among frames constituting the image to an n-th frame (where n is a value designated in advance among natural numbers having a size of 3 or greater); a second tracking unit which performs object tracking based on a SORT (Simple Online and Real-time Tracking) algorithm on the n-th frame and an n+1-th frame and then redesignates the n+1-th frame as the first frame and applies it to the first tracking unit; and a repetition control unit which controls object tracking according to the first tracking unit and the second tracking unit to be repeatedly performed.

또한, 본 발명의 일실시예에 따른 실시간 객체 추적 방법은 영상이 입력되면, 상기 영상을 구성하는 프레임들 중 첫 번째 프레임을 시작으로 해서 n(n은 3이상의 크기를 갖는 자연수들 중에서 사전 지정된 어느 하나의 값임)번째 프레임까지 DeepSORT 알고리즘에 기초한 객체 추적을 수행하는 제1 추적 단계, 상기 n번째 프레임과 n+1번째 프레임에 대해 SORT 알고리즘에 기초한 객체 추적을 수행한 후, 상기 n+1번째 프레임을 상기 첫 번째 프레임으로 재지정하여 상기 제1 추적 단계로 회귀하는 제2 추적 단계 및 상기 제1 추적 단계와 상기 제2 추적 단계에 따른 객체 추적이 반복 수행되도록 제어하는 반복 수행 제어 단계를 포함한다.In addition, a real-time object tracking method according to an embodiment of the present invention includes a first tracking step of performing object tracking based on a DeepSORT algorithm from a first frame among frames constituting the image to an n-th frame (where n is a value designated in advance among natural numbers having a size of 3 or greater) when an image is input, a second tracking step of performing object tracking based on the SORT algorithm on the n-th frame and the n+1-th frame and then returning to the first tracking step by redesignating the n+1-th frame as the first frame, and a repetition execution control step of controlling object tracking according to the first tracking step and the second tracking step to be repeatedly performed.

본 발명에 따른 실시간 객체 추적 장치 및 방법은 DeepSORT(Deep Simple Online and Real-time Tracking) 알고리즘과 SORT(Simple Online and Real-time Tracking) 알고리즘을 혼합하여 입력 영상에 대한 객체 추적을 수행함으로써, 객체 추적의 정확도를 보장함과 동시에 처리 속도의 향상을 도모할 수 있다.The real-time object tracking device and method according to the present invention performs object tracking on an input image by combining the DeepSORT (Deep Simple Online and Real-time Tracking) algorithm and the SORT (Simple Online and Real-time Tracking) algorithm, thereby ensuring the accuracy of object tracking and improving the processing speed at the same time.

도 1은 본 발명의 일실시예에 따른 실시간 객체 추적 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 실시간 객체 추적 방법을 도시한 순서도이다.
FIG. 1 is a diagram illustrating the structure of a real-time object tracking device according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating a real-time object tracking method according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the attached drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents, and substitutes included in the spirit and technical scope of the present invention. In describing each drawing, similar reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, have the same meaning as generally understood by a person of ordinary skill in the art to which the present invention belongs.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a part is said to "include" a certain component, this means that other components may be further included, rather than excluding other components, unless otherwise specifically stated. In addition, in various embodiments of the present invention, each of the components, functional blocks or means may be composed of one or more subcomponents, and the electrical, electronic and mechanical functions performed by each component may be implemented by various known elements such as electronic circuits, integrated circuits, ASICs (Application Specific Integrated Circuits), or mechanical elements, and each may be implemented separately or two or more may be integrated into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.Meanwhile, the blocks of the attached block diagram or the steps of the flow chart may be interpreted as computer program instructions that are loaded into a processor or memory of a device capable of data processing, such as a general-purpose computer, a special-purpose computer, a portable notebook computer, or a network computer, and perform designated functions. Since these computer program instructions may be stored in a memory equipped in a computer device or a computer-readable memory, the functions described in the blocks of the block diagram or the steps of the flow chart may be produced as a manufactured product that includes a command means for performing the same. In addition, each block or each step may represent a module, segment, or part of code that includes one or more executable instructions for performing a specific logical function(s). In addition, it should be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may be performed in a different order from the specified order. For example, two blocks or steps illustrated in succession may be performed substantially simultaneously or in reverse order, and in some cases, some blocks or steps may be performed with some blocks or steps omitted.

도 1은 본 발명의 일실시예에 따른 실시간 객체 추적 장치의 구조를 도시한 도면이다.FIG. 1 is a diagram illustrating the structure of a real-time object tracking device according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 실시간 객체 추적 장치(110)는 제1 추적부(111), 제2 추적부(112) 및 반복 수행 제어부(113)를 포함한다.Referring to FIG. 1, a real-time object tracking device (110) according to the present invention includes a first tracking unit (111), a second tracking unit (112), and a repetition execution control unit (113).

제1 추적부(111)는 영상이 입력되면, 상기 영상을 구성하는 프레임들 중 첫 번째 프레임을 시작으로 해서 n(n은 3이상의 크기를 갖는 자연수들 중에서 사전 지정된 어느 하나의 값임)번째 프레임까지 DeepSORT(Deep Simple Online and Real-time Tracking) 알고리즘에 기초한 객체 추적을 수행한다.When an image is input, the first tracking unit (111) performs object tracking based on the DeepSORT (Deep Simple Online and Real-time Tracking) algorithm, starting from the first frame among the frames constituting the image, to the nth frame (n is a value designated in advance among natural numbers having a size of 3 or greater).

제2 추적부(112)는 상기 n번째 프레임과 n+1번째 프레임에 대해 SORT(Simple Online and Real-time Tracking) 알고리즘에 기초한 객체 추적을 수행한 후, 상기 n+1번째 프레임을 상기 첫 번째 프레임으로 재지정하여 제1 추적부(111)에 인가한다.The second tracking unit (112) performs object tracking based on the SORT (Simple Online and Real-time Tracking) algorithm for the nth frame and n+1th frame, and then redesignates the n+1th frame as the first frame and applies it to the first tracking unit (111).

반복 수행 제어부(113)는 제1 추적부(111)와 제2 추적부(112)에 따른 객체 추적이 반복 수행되도록 제어한다.The repetition execution control unit (113) controls object tracking to be performed repeatedly according to the first tracking unit (111) and the second tracking unit (112).

관련해서, n을 '5'라고 가정하고, 본 발명에 따른 실시간 객체 추적 장치(110)의 동작을 설명하면 다음과 같다.In relation to this, assuming n to be '5', the operation of the real-time object tracking device (110) according to the present invention is described as follows.

먼저, 제1 추적부(111)는 영상이 입력되면, 상기 영상을 구성하는 프레임들 중 첫 번째 프레임을 시작으로 해서 5번째 프레임까지 DeepSORT 알고리즘에 기초한 객체 추적을 수행할 수 있다.First, when an image is input, the first tracking unit (111) can perform object tracking based on the DeepSORT algorithm from the first frame to the fifth frame among the frames constituting the image.

그러고 나서, 제2 추적부(112)는 5번째 프레임과 6번째 프레임에 대해 SORT 알고리즘에 기초한 객체 추적을 수행한 후, 상기 6번째 프레임을 상기 첫 번째 프레임으로 재지정하여 제1 추적부(111)에 인가할 수 있다.Then, the second tracking unit (112) can perform object tracking based on the SORT algorithm for the fifth and sixth frames, and then redesignate the sixth frame as the first frame and apply it to the first tracking unit (111).

이때, 반복 수행 제어부(113)는 제1 추적부(111)와 제2 추적부(112)에 따른 객체 추적이 반복 수행되도록 제어하기 때문에, 제2 추적부(112)에 의해 상기 6번째 프레임이 상기 첫 번째 프레임으로 재지정되어 제1 추적부(111)에 인가되면, 제1 추적부(111)는 상기 6번째 프레임을 시작으로 해서 10번째 프레임까지 다시 DeepSORT 알고리즘에 기초한 객체 추적을 수행할 수 있고, 제2 추적부(112)는 10번째 프레임과 11번째 프레임에 대해 SORT 알고리즘에 기초한 객체 추적을 수행한 후, 11번째 프레임을 다시 첫 번째 프레임으로 재지정하여 제1 추적부(111)에 인가할 수 있다.At this time, since the repetition execution control unit (113) controls the object tracking according to the first tracking unit (111) and the second tracking unit (112) to be performed repeatedly, when the 6th frame is redesignated as the first frame by the second tracking unit (112) and applied to the first tracking unit (111), the first tracking unit (111) can perform object tracking based on the DeepSORT algorithm again starting from the 6th frame up to the 10th frame, and the second tracking unit (112) can perform object tracking based on the SORT algorithm on the 10th frame and the 11th frame, and then redesignate the 11th frame as the first frame again and apply it to the first tracking unit (111).

이러한 방식으로, 제1 추적부(111)는 5개의 연속된 프레임마다 DeepSORT 알고리즘에 기초한 객체 추적을 수행할 수 있고, 제2 추적부(112)는 5번째와 6번째 프레임, 10번째와 11번째 프레임, 15번째와 16번째 프레임과 같이, 매 5k번째와 5k+1번째 프레임마다 SORT 알고리즘에 기초한 객체 추적을 수행할 수 있다.In this way, the first tracking unit (111) can perform object tracking based on the DeepSORT algorithm for every five consecutive frames, and the second tracking unit (112) can perform object tracking based on the SORT algorithm for every 5k-th and 5k+1-th frame, such as the 5th and 6th frames, the 10th and 11th frames, and the 15th and 16th frames.

이렇게, 본 발명에 따른 실시간 객체 추적 장치(110)는 DeepSORT 알고리즘을 기초로 객체 추적을 수행하되, 특정 프레임 간에는 SORT 알고리즘을 기초로 객체 추적을 수행함으로써, 객체 추적에 대한 높은 정확도를 유지함과 동시에, 객체 추적의 속도 향상을 도모할 수 있다. 이때, 실시간 객체 추적 장치(110)의 관리자는 n의 크기를 조정함으로써, 제1 추적부(111)에서 DeepSORT 알고리즘을 기초로 객체 추적이 수행되는 프레임의 수와 제2 추적부(112)에서 SORT 알고리즘을 기초로 객체 추적이 수행되는 프레임의 수를 적절히 조정하여, 객체 추적에 대한 정확도와 속도를 자신이 원하는 수준으로 맞출 수 있다. 예컨대, 관리자는 n의 크기를 증가시켜서 보다 많은 프레임들이 DeepSORT 알고리즘을 기초로 객체 추적이 되도록 함으로써, 높은 객체 추적의 정확도를 달성할 수 있고, n의 크기를 감소시켜서 보다 많은 프레임들이 SORT 알고리즘을 기초로 객체 추적이 되도록 함으로써, 객체 추적의 속도 향상을 도모할 수 있다.In this way, the real-time object tracking device (110) according to the present invention performs object tracking based on the DeepSORT algorithm, and performs object tracking based on the SORT algorithm between specific frames, thereby maintaining high accuracy in object tracking and improving the speed of object tracking. At this time, the manager of the real-time object tracking device (110) can adjust the size of n to appropriately adjust the number of frames in which object tracking is performed based on the DeepSORT algorithm in the first tracking unit (111) and the number of frames in which object tracking is performed based on the SORT algorithm in the second tracking unit (112), thereby adjusting the accuracy and speed of object tracking to a desired level. For example, the manager can achieve high accuracy in object tracking by increasing the size of n so that more frames are subject to object tracking based on the DeepSORT algorithm, and can improve the speed of object tracking by decreasing the size of n so that more frames are subject to object tracking based on the SORT algorithm.

본 발명의 일실시예에 따르면, 제1 추적부(111)는 상기 DeepSORT 알고리즘에 기초한 객체 추적을 수행하기 위해, 현재 시점의 프레임이 제1 프레임이라고 하는 경우, 사전 설정된 객체 검출기를 통해 상기 제1 프레임 상에 존재하는 제1 객체들을 검출하여, 상기 제1 객체들의 위치 정보에 대한 제1 특징 벡터를 산출하고, 상기 제1 프레임의 이전 프레임 상에 존재하였던 제2 객체들의 위치 정보에 대한 특징 벡터를 칼만 필터(Kalman filter)에 인가함으로써, 상기 제2 객체들이 상기 제1 프레임 상에서 존재할 것으로 예측되는 위치 정보에 대한 제2 특징 벡터를 추정한 후, 상기 제1 객체들 각각에 대한 제1 특징 벡터와 상기 제2 객체들 각각에 대한 제2 특징 벡터 간의 마할라노비스 거리(Mahalanobis distance)와 코사인 거리(Cosine Distance)를 연산하여, 상기 제1 객체들과 상기 제2 객체들 중에서, 제1 특징 벡터와 제2 특징 벡터 간의 마할라노비스 거리와 코사인 거리의 가중 평균이 사전 설정된 제1 기준치 이상으로 산출되는 두 객체를 서로 동일한 객체로 추적할 수 있다.According to one embodiment of the present invention, in order to perform object tracking based on the DeepSORT algorithm, if the frame of the current time is the first frame, the first tracking unit (111) detects first objects existing on the first frame through a preset object detector, calculates a first feature vector for location information of the first objects, applies a feature vector for location information of second objects existing on a frame preceding the first frame to a Kalman filter, thereby estimating a second feature vector for location information at which the second objects are predicted to exist on the first frame, and then calculates the Mahalanobis distance and the cosine distance between the first feature vector for each of the first objects and the second feature vector for each of the second objects, and calculates the Mahalanobis distance and the cosine distance between the first feature vector and the second feature vector among the first objects and the second objects, such that the weighted average of the Mahalanobis distance and the cosine distance between the first feature vector and the second feature vector is greater than a preset first reference value. The two resulting objects can be tracked as the same object.

즉, 제1 추적부(111)는 상기 영상에서 현재 시점에 해당되는 현재 프레임이 상기 제1 프레임이라고 하는 경우, 상기 제1 프레임과 이전 프레임 간의 상기 DeepSORT 알고리즘에 기초한 객체 추적을 수행하기 위해서, 사전 설정된 객체 검출기를 통해 상기 제1 프레임 상에 존재하는 제1 객체들을 검출할 수 있다.That is, when the current frame corresponding to the current point in time in the image is called the first frame, the first tracking unit (111) can detect first objects existing on the first frame through a preset object detector in order to perform object tracking based on the DeepSORT algorithm between the first frame and the previous frame.

여기서, 상기 객체 검출기는 YOLO(You Only Look Once) 등과 같이, 이미지로부터 객체를 검출하기 위한 딥러닝 기반의 객체 검출 모델을 기초로 구성된 검출기가 활용될 수 있다.Here, the object detector may be a detector configured based on a deep learning-based object detection model for detecting objects from images, such as YOLO (You Only Look Once).

이렇게, 상기 제1 프레임 상에 존재하는 상기 제1 객체들이 검출되면, 제1 추적부(111)는 상기 제1 객체들의 위치 정보에 대한 제1 특징 벡터를 산출한 후, 상기 제1 프레임의 이전 프레임 상에 존재하였던 제2 객체들의 위치 정보에 대한 특징 벡터를 칼만 필터에 인가함으로써, 상기 제2 객체들이 상기 제1 프레임 상에서 존재할 것으로 예측되는 위치 정보에 대한 제2 특징 벡터를 추정할 수 있다.In this way, when the first objects existing on the first frame are detected, the first tracking unit (111) calculates a first feature vector for location information of the first objects, and then applies a feature vector for location information of the second objects existing on a frame previous to the first frame to a Kalman filter, thereby estimating a second feature vector for location information where the second objects are predicted to exist on the first frame.

여기서, 칼만 필터란 잡음을 포함하여 선형 역학계의 상태를 추적하는 재귀 필터를 의미하는 것으로서, 이러한 칼만 필터는, 객체 추적에 있어서, 이전 프레임 상에 존재하던 객체들이 현재 프레임 상에서 어느 위치에 존재할지 예측하는데 사용될 수 있다.Here, the Kalman filter refers to a recursive filter that tracks the state of a linear dynamic system including noise, and this Kalman filter can be used to predict the location of objects that existed in the previous frame in object tracking in the current frame.

이렇게, 상기 제2 객체들에 대한 제2 특징 벡터가 추정되면, 제1 추적부(111)는 상기 제1 객체들 각각에 대한 제1 특징 벡터와 상기 제2 객체들 각각에 대한 제2 특징 벡터 간의 마할라노비스 거리와 코사인 거리를 연산할 수 있다.In this way, when the second feature vectors for the second objects are estimated, the first tracking unit (111) can calculate the Mahalanobis distance and the cosine distance between the first feature vector for each of the first objects and the second feature vector for each of the second objects.

그러고 나서, 제1 추적부(111)는 상기 제1 객체들과 상기 제2 객체들 중에서, 제1 특징 벡터와 제2 특징 벡터 간의 마할라노비스 거리와 코사인 거리의 가중 평균이 사전 설정된 제1 기준치 이상으로 산출되는 두 객체를 서로 동일한 객체로 추적할 수 있다.Then, the first tracking unit (111) can track two objects among the first objects and the second objects, in which the weighted average of the Mahalanobis distance and the cosine distance between the first feature vector and the second feature vector is calculated to be greater than a preset first reference value, as the same object.

예컨대, 제1 추적부(111)는 상기 제1 객체들 중 하나인 '객체 1'에 대한 제1 특징 벡터와 상기 제2 객체들 중 하나인 '객체 2'에 대한 제2 특징 벡터 간의 마할라노비스 거리와 코사인 거리의 가중 평균이 상기 제1 기준치 이상으로 산출되었다고 하는 경우, 현재 시점의 프레임인 상기 제1 프레임 상에 존재하는 '객체 1'을 이전 프레임 상에 존재하던 '객체 2'와 동일한 객체인 것으로 추적할 수 있다.For example, if the weighted average of the Mahalanobis distance and the cosine distance between the first feature vector for 'object 1', which is one of the first objects, and the second feature vector for 'object 2', which is one of the second objects, is calculated to be greater than the first reference value, the first tracking unit (111) can track 'object 1' existing in the first frame, which is the frame of the current point in time, as the same object as 'object 2' existing in the previous frame.

본 발명의 일실시예에 따르면, 제2 추적부(112)는 상기 SORT 알고리즘에 기초한 객체 추적을 수행하기 위해, 현재 시점의 프레임이 제2 프레임이라고 하는 경우, 상기 객체 검출기를 통해 상기 제2 프레임 상에 존재하는 제3 객체들을 검출하여, 상기 제3 객체들의 위치 정보에 대한 제3 특징 벡터를 산출하고, 상기 제2 프레임의 이전 프레임 상에 존재하였던 제4 객체들의 위치 정보에 대한 특징 벡터를 칼만 필터에 인가함으로써, 상기 제4 객체들이 상기 제2 프레임 상에서 존재할 것으로 예측되는 위치 정보에 대한 제4 특징 벡터를 추정한 후, 상기 제3 객체들 각각에 대한 제3 특징 벡터와 상기 제4 객체들 각각에 대한 제4 특징 벡터 간의 마할라노비스 거리를 연산하여, 상기 제3 객체들과 상기 제4 객체들 중에서, 제3 특징 벡터와 제4 특징 벡터 간의 마할라노비스 거리가 사전 설정된 제2 기준치 이상으로 산출된 두 객체를 서로 동일한 객체로 추적할 수 있다.According to one embodiment of the present invention, in order to perform object tracking based on the SORT algorithm, the second tracking unit (112) detects third objects existing on the second frame through the object detector when the frame of the current time is the second frame, calculates a third feature vector for location information of the third objects, and applies a feature vector for location information of fourth objects existing on a frame preceding the second frame to a Kalman filter, thereby estimating a fourth feature vector for location information predicted to exist on the second frame of the fourth objects, and then calculates the Mahalanobis distance between the third feature vector for each of the third objects and the fourth feature vector for each of the fourth objects, so that two objects among the third objects and the fourth objects, for which the Mahalanobis distance between the third feature vector and the fourth feature vector is calculated to be greater than a preset second reference value, can be tracked as the same object.

즉, 제2 추적부(112)는 상기 영상에서 현재 시점에 해당되는 현재 프레임이 상기 제2 프레임이라고 하는 경우, 상기 제2 프레임과 이전 프레임 간의 상기 SORT 알고리즘에 기초한 객체 추적을 수행하기 위해서, 상기 객체 검출기를 통해 상기 제2 프레임 상에 존재하는 제3 객체들을 검출할 수 있다.That is, when the current frame corresponding to the current point in time in the image is the second frame, the second tracking unit (112) can detect third objects existing on the second frame through the object detector in order to perform object tracking based on the SORT algorithm between the second frame and the previous frame.

이렇게, 상기 제2 프레임 상에 존재하는 상기 제3 객체들이 검출되면, 제2 추적부(112)는 상기 제3 객체들의 위치 정보에 대한 제3 특징 벡터를 산출한 후, 상기 제2 프레임의 이전 프레임 상에 존재하였던 제4 객체들의 위치 정보에 대한 특징 벡터를 칼만 필터에 인가함으로써, 상기 제4 객체들이 상기 제2 프레임 상에서 존재할 것으로 예측되는 위치 정보에 대한 제4 특징 벡터를 추정할 수 있다.In this way, when the third objects existing on the second frame are detected, the second tracking unit (112) calculates a third feature vector for location information of the third objects, and then applies a feature vector for location information of the fourth objects existing on a frame preceding the second frame to a Kalman filter, thereby estimating a fourth feature vector for location information where the fourth objects are predicted to exist on the second frame.

이렇게, 상기 제4 객체들에 대한 제4 특징 벡터가 추정되면, 제2 추적부(112)는 상기 제3 객체들 각각에 대한 제3 특징 벡터와 상기 제4 객체들 각각에 대한 제4 특징 벡터 간의 마할라노비스 거리를 연산할 수 있다.In this way, when the fourth feature vectors for the fourth objects are estimated, the second tracking unit (112) can calculate the Mahalanobis distance between the third feature vector for each of the third objects and the fourth feature vector for each of the fourth objects.

그러고 나서, 제2 추적부(112)는 상기 제3 객체들과 상기 제4 객체들 중에서, 제3 특징 벡터와 제4 특징 벡터 간의 마할라노비스 거리가 사전 설정된 제2 기준치 이상으로 산출된 두 객체를 서로 동일한 객체로 추적할 수 있다.Then, the second tracking unit (112) can track two objects among the third objects and the fourth objects, in which the Mahalanobis distance between the third feature vector and the fourth feature vector is calculated to be greater than a preset second reference value, as the same object.

예컨대, 제2 추적부(112)는 상기 제3 객체들 중 하나인 '객체 3'에 대한 제3 특징 벡터와 상기 제4 객체들 중 하나인 '객체 4'에 대한 제4 특징 벡터 간의 마할라노비스 거리가 상기 제2 기준치 이상으로 산출되었다고 하는 경우, 현재 시점의 프레임인 상기 제2 프레임 상에 존재하는 '객체 3'을 이전 프레임 상에 존재하던 '객체 4'와 동일한 객체인 것으로 추적할 수 있다.For example, if the Mahalanobis distance between the third feature vector for 'object 3', which is one of the third objects, and the fourth feature vector for 'object 4', which is one of the fourth objects, is calculated to be greater than or equal to the second reference value, the second tracking unit (112) can track 'object 3' existing in the second frame, which is the frame of the current point in time, as the same object as 'object 4' existing in the previous frame.

본 발명의 일실시예에 따르면, 실시간 객체 추적 장치(110)는 성능 정보 표시부(114)를 더 포함할 수 있다.According to one embodiment of the present invention, the real-time object tracking device (110) may further include a performance information display unit (114).

성능 정보 표시부(114)는 사전 설정된 단위 시간당 객체 추적이 완료된 프레임의 개수를 상기 영상에 대한 객체 추적 처리 속도로 산출하고, 상기 영상에 대한 객체 추적의 정확도에 대한 정보로서, MOTA(Multiple Object Tracking Accuracy) 지수와 MOTP(Multiple Object Tracking Precision) 지수를 산출한 후, 화면 상에 상기 객체 추적 처리 속도와 상기 MOTA 지수 및 상기 MOTP 지수를 표시한다.The performance information display unit (114) calculates the number of frames in which object tracking is completed per preset unit time as the object tracking processing speed for the image, calculates the MOTA (Multiple Object Tracking Accuracy) index and the MOTP (Multiple Object Tracking Precision) index as information on the accuracy of object tracking for the image, and then displays the object tracking processing speed, the MOTA index, and the MOTP index on the screen.

관련해서, 상기 사전 설정된 단위 시간을 '1초'라고 하는 경우, 성능 정보 표시부(114)는 1초당 객체 추적이 완료된 프레임의 개수를 측정함으로써, 초당 프레임수를 상기 객체 추적 처리 속도로 산출할 수 있다.In relation to this, when the preset unit time is '1 second', the performance information display unit (114) can calculate the number of frames per second as the object tracking processing speed by measuring the number of frames in which object tracking is completed per second.

그리고, MOTA 지수란 하기의 수학식 1에 따라 연산될 수 있는 지수로서, 는 현재 시간 t에 해당하는 프레임에 존재하는 실제 객체들의 수를 나타내고, 는 현재 시간 t의 프레임에 적용한 추적기법이 미탐지한(즉, 실제로 존재하지만 탐지하지 못한) 객체들의 수를 나타내며, 는 부정오류(즉, 존재하지 않은 객체들을 탐지함)의 수를 나타내고, 은 미스매치(즉, 객체들이 서로 교차하였으나 이를 인지하지 못함)의 수를 나타낸다.And, the MOTA index is an index that can be calculated according to the following mathematical formula 1: represents the number of actual objects present in the frame corresponding to the current time t, represents the number of objects that were not detected (i.e., objects that actually exist but were not detected) by the tracking technique applied to the frame of the current time t. represents the number of false negatives (i.e. detecting non-existent objects), represents the number of mismatches (i.e. objects intersecting each other but not recognizing this).

그리고, MOTP 지수란 하기의 수학식 2에 따라 연산될 수 있는 지수로서, 는 현재 시간 t를 기준으로 현재 프레임과 이전 프레임의 통해 계산된, 매치된 객체의 수를 나타내고, 는 매치된 i번째 객체들에 대하여 두 객체의 거리를 나타낸다.And, the MOTP index is an index that can be calculated according to the following mathematical formula 2. represents the number of matched objects calculated through the current frame and the previous frame based on the current time t, represents the distance between two objects for the i-th matched object.

이렇게, 성능 정보 표시부(114)는 실시간 객체 추적 장치(110)를 통해 수행되는 객체 추적의 성능과 관련된 정보로서, 상기 객체 추적 처리 속도, 상기 MOTA 지수 및 상기 MOTP 지수를 화면 상에 표시함으로써, 관리자가 이 성능에 대한 정보를 참고하여 DeepSORT와 SORT를 활용할 프레임의 수를 적절하게 조절할 수 있도록 지원할 수 있다.In this way, the performance information display unit (114) displays the object tracking processing speed, the MOTA index, and the MOTP index on the screen as information related to the performance of object tracking performed through the real-time object tracking device (110), thereby enabling the manager to appropriately adjust the number of frames to utilize DeepSORT and SORT by referring to this performance information.

본 발명의 일실시예에 따르면, 실시간 객체 추적 장치(110)는 이벤트 발생부(115), 산출부(116), 비교부(117), 크기 조정부(118) 및 메시지 표시부(119)를 더 포함할 수 있다.According to one embodiment of the present invention, the real-time object tracking device (110) may further include an event generating unit (115), a calculating unit (116), a comparing unit (117), a size adjusting unit (118), and a message display unit (119).

이벤트 발생부(115)는 사전 설정된 주기 간격으로, 객체 추적의 성능을 분석하기 위한 분석 이벤트를 발생시킨다. 예컨대, 상기 주기가 '10초'라고 하는 경우, 이벤트 발생부(115)는 '10초' 간격으로, 객체 추적의 성능을 분석하기 위한 분석 이벤트를 발생시킬 수 있다.The event generating unit (115) generates an analysis event for analyzing the performance of object tracking at preset intervals. For example, if the interval is '10 seconds', the event generating unit (115) can generate an analysis event for analyzing the performance of object tracking at intervals of '10 seconds'.

산출부(116)는 상기 분석 이벤트가 발생되면, 상기 분석 이벤트의 발생 시점으로부터 상기 주기 동안의, 평균 객체 추적 처리 속도, 평균 MOTA 지수 및 평균 MOTP 지수를 산출한다.When the above analysis event occurs, the calculation unit (116) calculates the average object tracking processing speed, average MOTA index, and average MOTP index during the period from the time of occurrence of the above analysis event.

관련해서, 특정 시점에서 상기 분석 이벤트가 발생되었다고 하는 경우, 산출부(116)는 상기 분석 이벤트의 발생 시점으로부터 상기 주기인 '10초' 동안의 평균 객체 추적 처리 속도, 평균 MOTA 지수 및 평균 MOTP 지수를 산출할 수 있다. 예컨대, 객체 추적 처리 속도를 초당 프레임수라고 하는 경우, 산출부(116)는 '10초' 동안의 객체 추적 처리 속도의 평균을 상기 평균 객체 추적 처리 속도로 산출할 수 있고, '10초' 동안 각 프레임에 대해서 산출된 MOTA 지수와 MOTP 지수의 평균을 상기 평균 MOTA 지수 및 상기 평균 MOTP 지수로 산출할 수 있다.In relation to this, if the analysis event is said to have occurred at a specific point in time, the calculation unit (116) can calculate the average object tracking processing speed, the average MOTA index, and the average MOTP index for the period of '10 seconds' from the time of occurrence of the analysis event. For example, if the object tracking processing speed is the number of frames per second, the calculation unit (116) can calculate the average of the object tracking processing speed for '10 seconds' as the average object tracking processing speed, and can calculate the average of the MOTA index and the MOTP index calculated for each frame for '10 seconds' as the average MOTA index and the average MOTP index.

비교부(117)는 상기 평균 MOTA 지수와 상기 평균 MOTP 지수를 성분으로 갖는 벡터의 유클리드 노름(Norm)을 연산한 후, 상기 유클리드 노름과 사전 설정된 임계 노름을 서로 비교하고, 상기 평균 객체 추적 처리 속도와 사전 설정된 임계 처리 속도를 서로 비교한다.The comparison unit (117) calculates the Euclidean norm of a vector having the average MOTA index and the average MOTP index as components, and then compares the Euclidean norm with a preset threshold norm, and compares the average object tracking processing speed with a preset threshold processing speed.

예컨대, 상기 평균 MOTA 지수를 'Mp'라고 하고, 상기 평균 MOTP 지수를 'Mn'이라고 하는 경우, 비교부(117)는 'Mp'와 'Mn'을 성분으로 갖는 벡터인 '[Mp Mn]'의 유클리드 노름을 연산한 후, 상기 유클리드 노름과 사전 설정된 임계 노름을 서로 비교할 수 있다.For example, if the average MOTA index is referred to as 'Mp' and the average MOTP index is referred to as 'Mn', the comparison unit (117) can calculate the Euclidean norm of '[Mp Mn]', which is a vector having 'Mp' and 'Mn' as components, and then compare the Euclidean norm with a preset threshold norm.

크기 조정부(118)는, 비교부(117)의 비교 결과, 상기 유클리드 노름이 상기 임계 노름을 초과하고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하지 않는 것으로 확인된 경우, 실시간 객체 추적 장치(110)를 통한 객체 추적의 정확도는 높지만, 속도가 매우 느린 상황이라고 볼 수 있으므로, 제1 추적부(111)에서 DeepSORT 알고리즘을 통해 객체 추적이 수행되어야 하는 프레임의 개수인 n의 크기를, 사전 설정된 크기만큼 감소시켜, 감소된 n의 크기에 따라 상기 영상에 대한 객체 추적이 수행되도록 제어할 수 있다.The size adjustment unit (118) determines, as a result of the comparison by the comparison unit (117), that the Euclidean norm exceeds the threshold norm and that the average object tracking processing speed does not exceed the threshold processing speed, that the accuracy of object tracking through the real-time object tracking device (110) is high but the speed is very slow. Therefore, the size of n, which is the number of frames for which object tracking must be performed through the DeepSORT algorithm in the first tracking unit (111), can be reduced by a preset size, and object tracking for the image can be performed according to the reduced size of n.

반면에, 크기 조정부(118)는, 비교부(117)의 비교 결과, 상기 유클리드 노름이 상기 임계 노름을 초과하지 않고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하는 것으로 확인된 경우, 실시간 객체 추적 장치(110)를 통한 객체 추적의 속도는 빠르지만, 정확도가 매우 낮은 상황이라고 볼 수 있으므로, 제1 추적부(111)에서 DeepSORT 알고리즘을 통해 객체 추적이 수행되어야 하는 프레임의 개수인 n의 크기를, 상기 사전 설정된 크기만큼 증가시켜, 증가된 n의 크기에 따라 상기 영상에 대한 객체 추적이 수행되도록 제어할 수 있다.On the other hand, if the size adjustment unit (118) determines, as a result of the comparison by the comparison unit (117), that the Euclidean norm does not exceed the threshold norm and that the average object tracking processing speed exceeds the threshold processing speed, it can be seen that the speed of object tracking through the real-time object tracking device (110) is fast but the accuracy is very low, and therefore, the size of n, which is the number of frames on which object tracking must be performed through the DeepSORT algorithm in the first tracking unit (111), can be increased by the preset size, and object tracking for the image can be performed according to the increased size of n.

마지막으로, 크기 조정부(118)는, 비교부(117)의 비교 결과, 상기 유클리드 노름이 상기 임계 노름을 초과하고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하는 것으로 확인된 경우, 실시간 객체 추적 장치(110)를 통한 객체 추적의 정확도와 속도가 모두 양호한 수준이라고 볼 수 있으므로, n의 크기에 대한 조정을 수행하지 않고, 현재 상태 그대로 객체 추적이 수행되도록 처리할 수 있다.Finally, if the size adjustment unit (118) determines that the Euclidean norm exceeds the threshold norm and the average object tracking processing speed exceeds the threshold processing speed as a result of the comparison by the comparison unit (117), it can be seen that both the accuracy and speed of object tracking through the real-time object tracking device (110) are at a good level, and therefore, object tracking can be performed in the current state without performing any adjustment for the size of n.

메시지 표시부(119)는, 비교부(117)의 비교 결과, 상기 유클리드 노름이 상기 임계 노름을 초과하지 않고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하지 않는 것으로 확인된 경우, 실시간 객체 추적 장치(110)를 통한 객체 추적의 정확도와 속도가 모두 기준치를 미달하는 수준이라고 볼 수 있으므로, n의 크기에 대한 조정을 수행하지 않은 상태에서, 실시간 객체 추적 장치(110)의 설정에 이상이 있음을 안내하는 메시지를 생성하여 화면 상에 표시할 수 있다. 이를 통해, 관리자는 실시간 객체 추적 장치(110)의 설정을 조정함으로써, 객체 추적의 정확도와 속도를 향상시키기 위한 조치를 수행할 수 있을 것이다.The message display unit (119) can generate and display on the screen a message indicating that there is an error in the settings of the real-time object tracking device (110) without performing any adjustment to the size of n, since it can be seen that both the accuracy and the speed of object tracking through the real-time object tracking device (110) fall below the reference level if it is confirmed as a result of the comparison by the comparison unit (117) that the Euclidean norm does not exceed the threshold norm and the average object tracking processing speed does not exceed the threshold processing speed. Through this, the administrator can take measures to improve the accuracy and speed of object tracking by adjusting the settings of the real-time object tracking device (110).

도 2는 본 발명의 일실시예에 따른 실시간 객체 추적 방법을 도시한 순서도이다.FIG. 2 is a flowchart illustrating a real-time object tracking method according to an embodiment of the present invention.

제1 추적 단계(S210)는 영상이 입력되면, 상기 영상을 구성하는 프레임들 중 첫 번째 프레임을 시작으로 해서 n(n은 3이상의 크기를 갖는 자연수들 중에서 사전 지정된 어느 하나의 값임)번째 프레임까지 DeepSORT 알고리즘에 기초한 객체 추적을 수행한다.In the first tracking step (S210), when an image is input, object tracking is performed based on the DeepSORT algorithm from the first frame among the frames constituting the image to the nth frame (where n is a pre-designated value among natural numbers having a size of 3 or greater).

제2 추적 단계(S220)는 상기 n번째 프레임과 n+1번째 프레임에 대해 SORT 알고리즘에 기초한 객체 추적을 수행한 후, 상기 n+1번째 프레임을 상기 첫 번째 프레임으로 재지정하여 상기 제1 추적 단계로 회귀한다.The second tracking step (S220) performs object tracking based on the SORT algorithm for the nth frame and the n+1th frame, and then redesignates the n+1th frame as the first frame to return to the first tracking step.

반복 수행 제어 단계는 상기 제1 추적 단계와 상기 제2 추적 단계에 따른 객체 추적이 반복 수행되도록 제어한다.The repeat execution control step controls the object tracking according to the first tracking step and the second tracking step to be repeatedly performed.

이때, 본 발명의 일실시예에 따르면, 상기 제1 추적 단계는 상기 DeepSORT 알고리즘에 기초한 객체 추적을 수행하기 위해, 현재 시점의 프레임이 제1 프레임이라고 하는 경우, 사전 설정된 객체 검출기를 통해 상기 제1 프레임 상에 존재하는 제1 객체들을 검출하여, 상기 제1 객체들의 위치 정보에 대한 제1 특징 벡터를 산출하고, 상기 제1 프레임의 이전 프레임 상에 존재하였던 제2 객체들의 위치 정보에 대한 특징 벡터를 칼만 필터에 인가함으로써, 상기 제2 객체들이 상기 제1 프레임 상에서 존재할 것으로 예측되는 위치 정보에 대한 제2 특징 벡터를 추정한 후, 상기 제1 객체들 각각에 대한 제1 특징 벡터와 상기 제2 객체들 각각에 대한 제2 특징 벡터 간의 마할라노비스 거리와 코사인 거리를 연산하여, 상기 제1 객체들과 상기 제2 객체들 중에서, 제1 특징 벡터와 제2 특징 벡터 간의 마할라노비스 거리와 코사인 거리의 가중 평균이 사전 설정된 제1 기준치 이상으로 산출되는 두 객체를 서로 동일한 객체로 추적할 수 있다.At this time, according to one embodiment of the present invention, in order to perform object tracking based on the DeepSORT algorithm, the first tracking step detects first objects existing on the first frame through a preset object detector when the frame of the current time is the first frame, calculates a first feature vector for location information of the first objects, and applies a feature vector for location information of second objects existing on a frame preceding the first frame to a Kalman filter, thereby estimating a second feature vector for location information at which the second objects are predicted to exist on the first frame, and then calculates the Mahalanobis distance and the cosine distance between the first feature vector for each of the first objects and the second feature vector for each of the second objects, such that two objects, among the first objects and the second objects, in which the weighted average of the Mahalanobis distance and the cosine distance between the first feature vector and the second feature vector is calculated to be greater than or equal to a preset first reference value, can be tracked as the same object.

또한, 본 발명의 일실시예에 따르면, 상기 제2 추적 단계는 상기 SORT 알고리즘에 기초한 객체 추적을 수행하기 위해, 현재 시점의 프레임이 제2 프레임이라고 하는 경우, 상기 객체 검출기를 통해 상기 제2 프레임 상에 존재하는 제3 객체들을 검출하여, 상기 제3 객체들의 위치 정보에 대한 제3 특징 벡터를 산출하고, 상기 제2 프레임의 이전 프레임 상에 존재하였던 제4 객체들의 위치 정보에 대한 특징 벡터를 칼만 필터에 인가함으로써, 상기 제4 객체들이 상기 제2 프레임 상에서 존재할 것으로 예측되는 위치 정보에 대한 제4 특징 벡터를 추정한 후, 상기 제3 객체들 각각에 대한 제3 특징 벡터와 상기 제4 객체들 각각에 대한 제4 특징 벡터 간의 마할라노비스 거리를 연산하여, 상기 제3 객체들과 상기 제4 객체들 중에서, 제3 특징 벡터와 제4 특징 벡터 간의 마할라노비스 거리가 사전 설정된 제2 기준치 이상으로 산출된 두 객체를 서로 동일한 객체로 추적할 수 있다.In addition, according to one embodiment of the present invention, in order to perform object tracking based on the SORT algorithm, when the frame of the current time is the second frame, the second tracking step detects third objects existing on the second frame through the object detector, calculates a third feature vector for location information of the third objects, and applies a feature vector for location information of fourth objects existing on a frame preceding the second frame to a Kalman filter, thereby estimating a fourth feature vector for location information predicted to exist of the fourth objects on the second frame, and then calculates the Mahalanobis distance between the third feature vector for each of the third objects and the fourth feature vector for each of the fourth objects, so that two objects among the third objects and the fourth objects, for which the Mahalanobis distance between the third feature vector and the fourth feature vector is calculated to be greater than a preset second reference value, can be tracked as the same object.

또한, 본 발명의 일실시예에 따르면, 상기 실시간 객체 추적 방법은 사전 설정된 단위 시간당 객체 추적이 완료된 프레임의 개수를 상기 영상에 대한 객체 추적 처리 속도로 산출하고, 상기 영상에 대한 객체 추적의 정확도에 대한 정보로서, MOTA 지수와 MOTP 지수를 산출한 후, 화면 상에 상기 객체 추적 처리 속도와 상기 MOTA 지수 및 상기 MOTP 지수를 표시하는 성능 정보 표시 단계를 더 포함할 수 있다.In addition, according to one embodiment of the present invention, the real-time object tracking method may further include a performance information display step of calculating the number of frames in which object tracking is completed per preset unit time as an object tracking processing speed for the image, calculating a MOTA index and a MOTP index as information on the accuracy of object tracking for the image, and then displaying the object tracking processing speed, the MOTA index, and the MOTP index on a screen.

이때, 본 발명의 일실시예에 따르면, 상기 실시간 객체 추적 방법은 사전 설정된 주기 간격으로, 객체 추적의 성능을 분석하기 위한 분석 이벤트를 발생시키는 이벤트 발생 단계, 상기 분석 이벤트가 발생되면, 상기 분석 이벤트의 발생 시점으로부터 상기 주기 동안의, 평균 객체 추적 처리 속도, 평균 MOTA 지수 및 평균 MOTP 지수를 산출하는 산출 단계, 상기 평균 MOTA 지수와 상기 평균 MOTP 지수를 성분으로 갖는 벡터의 유클리드 노름을 연산한 후, 상기 유클리드 노름과 사전 설정된 임계 노름을 서로 비교하고, 상기 평균 객체 추적 처리 속도와 사전 설정된 임계 처리 속도를 서로 비교하는 비교 단계, 상기 유클리드 노름이 상기 임계 노름을 초과하고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하지 않는 것으로 확인된 경우, n의 크기를, 사전 설정된 크기만큼 감소시켜, 감소된 n의 크기에 따라 상기 영상에 대한 객체 추적이 수행되도록 제어하고, 상기 유클리드 노름이 상기 임계 노름을 초과하지 않고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하는 것으로 확인된 경우, n의 크기를, 상기 사전 설정된 크기만큼 증가시켜, 증가된 n의 크기에 따라 상기 영상에 대한 객체 추적이 수행되도록 제어하며, 상기 유클리드 노름이 상기 임계 노름을 초과하고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하는 것으로 확인된 경우, n의 크기에 대한 조정을 수행하지 않는 크기 조정 단계 및 상기 유클리드 노름이 상기 임계 노름을 초과하지 않고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하지 않는 것으로 확인된 경우, n의 크기에 대한 조정을 수행하지 않은 상태에서, 상기 실시간 객체 추적 장치의 설정에 이상이 있음을 안내하는 메시지를 생성하여 화면 상에 표시하는 메시지 표시 단계를 더 포함할 수 있다.At this time, according to one embodiment of the present invention, the real-time object tracking method comprises an event generation step of generating an analysis event for analyzing the performance of object tracking at preset periodic intervals, a calculation step of calculating, when the analysis event is generated, an average object tracking processing speed, an average MOTA index, and an average MOTP index during the period from the time of occurrence of the analysis event, a comparison step of calculating a Euclidean norm of a vector having the average MOTA index and the average MOTP index as components, and then comparing the Euclidean norm with a preset threshold norm, and comparing the average object tracking processing speed with the preset threshold processing speed, if it is confirmed that the Euclidean norm exceeds the threshold norm and the average object tracking processing speed does not exceed the threshold processing speed, controlling the size of n to be reduced by a preset size so that object tracking for the image is performed according to the reduced size of n, and if it is confirmed that the Euclidean norm does not exceed the threshold norm and the average object tracking processing speed exceeds the threshold processing speed, controlling the size of n to be reduced by the preset size. The method may further include a size adjustment step of controlling the object tracking for the image to be performed according to the increased size of n by increasing the size, and not performing adjustment for the size of n if it is confirmed that the Euclidean norm exceeds the threshold norm and the average object tracking processing speed exceeds the threshold processing speed, and a message display step of generating a message notifying that there is an abnormality in the settings of the real-time object tracking device and displaying it on a screen if it is confirmed that the Euclidean norm does not exceed the threshold norm and the average object tracking processing speed does not exceed the threshold processing speed, without performing adjustment for the size of n.

이상, 도 2를 참조하여 본 발명의 일실시예에 따른 실시간 객체 추적 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 실시간 객체 추적 방법은 도 1을 이용하여 설명한 실시간 객체 추적 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.Above, a real-time object tracking method according to an embodiment of the present invention has been described with reference to FIG. 2. Here, the real-time object tracking method according to an embodiment of the present invention can correspond to the configuration of the operation of the real-time object tracking device (110) described using FIG. 1, and therefore, a more detailed description thereof will be omitted.

본 발명의 일실시예에 따른 실시간 객체 추적 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A real-time object tracking method according to one embodiment of the present invention can be implemented as a computer program stored in a storage medium for execution through combination with a computer.

또한, 본 발명의 일실시예에 따른 실시간 객체 추적 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the real-time object tracking method according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program commands, data files, data structures, etc., alone or in combination. The program commands recorded on the medium may be those specially designed and configured for the present invention or may be those known to and usable by those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program commands such as ROMs, RAMs, and flash memories. Examples of the program commands include not only machine language codes generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.Although the present invention has been described with specific details such as specific components and limited examples and drawings, these have been provided only to help a more general understanding of the present invention, and the present invention is not limited to the above examples, and those with common knowledge in the field to which the present invention pertains can make various modifications and variations from this description.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the idea of the present invention should not be limited to the described embodiments, and all things that are equivalent or equivalent to the claims described below as well as the claims are included in the scope of the idea of the present invention.

110: 실시간 객체 추적 장치
111: 제1 추적부 112: 제2 추적부
113: 반복 수행 제어부 114: 성능 정보 표시부
115: 이벤트 발생부 116: 산출부
117: 비교부 118: 크기 조정부
119: 메시지 표시부
110: Real-time object tracking device
111: 1st Pursuit Unit 112: 2nd Pursuit Unit
113: Repeat execution control unit 114: Performance information display unit
115: Event generation section 116: Output section
117: Comparison section 118: Resizing section
119: Message display section

Claims (12)

영상이 입력되면, 상기 영상을 구성하는 프레임들 중 첫 번째 프레임을 시작으로 해서 n(n은 3이상의 크기를 갖는 자연수들 중에서 사전 지정된 어느 하나의 값임)번째 프레임까지 DeepSORT(Deep Simple Online and Real-time Tracking) 알고리즘에 기초한 객체 추적을 수행하는 제1 추적부;
상기 n번째 프레임과 n+1번째 프레임에 대해 SORT(Simple Online and Real-time Tracking) 알고리즘에 기초한 객체 추적을 수행한 후, 상기 n+1번째 프레임을 상기 첫 번째 프레임으로 재지정하여 상기 제1 추적부에 인가하는 제2 추적부; 및
상기 제1 추적부와 상기 제2 추적부에 따른 객체 추적이 반복 수행되도록 제어하는 반복 수행 제어부
를 포함하는 실시간 객체 추적 장치.
When an image is input, a first tracking unit performs object tracking based on the DeepSORT (Deep Simple Online and Real-time Tracking) algorithm from the first frame among the frames constituting the image to the nth frame (where n is a pre-designated value among natural numbers having a size of 3 or greater);
A second tracking unit that performs object tracking based on the SORT (Simple Online and Real-time Tracking) algorithm for the nth frame and the n+1th frame, and then redesignates the n+1th frame as the first frame and applies it to the first tracking unit; and
A repeating execution control unit that controls object tracking according to the first tracking unit and the second tracking unit to be performed repeatedly.
A real-time object tracking device comprising:
제1항에 있어서,
상기 제1 추적부는
상기 DeepSORT 알고리즘에 기초한 객체 추적을 수행하기 위해, 현재 시점의 프레임이 제1 프레임이라고 하는 경우, 사전 설정된 객체 검출기를 통해 상기 제1 프레임 상에 존재하는 제1 객체들을 검출하여, 상기 제1 객체들의 위치 정보에 대한 제1 특징 벡터를 산출하고, 상기 제1 프레임의 이전 프레임 상에 존재하였던 제2 객체들의 위치 정보에 대한 특징 벡터를 칼만 필터(Kalman filter)에 인가함으로써, 상기 제2 객체들이 상기 제1 프레임 상에서 존재할 것으로 예측되는 위치 정보에 대한 제2 특징 벡터를 추정한 후, 상기 제1 객체들 각각에 대한 제1 특징 벡터와 상기 제2 객체들 각각에 대한 제2 특징 벡터 간의 마할라노비스 거리(Mahalanobis distance)와 코사인 거리(Cosine Distance)를 연산하여, 상기 제1 객체들과 상기 제2 객체들 중에서, 제1 특징 벡터와 제2 특징 벡터 간의 마할라노비스 거리와 코사인 거리의 가중 평균이 사전 설정된 제1 기준치 이상으로 산출되는 두 객체를 서로 동일한 객체로 추적하는 것을 특징으로 하는 실시간 객체 추적 장치.
In the first paragraph,
The above first tracking unit
A real-time object tracking device characterized in that, in order to perform object tracking based on the DeepSORT algorithm, when the frame of the current time is the first frame, first objects existing on the first frame are detected through a preset object detector, a first feature vector for location information of the first objects is calculated, and a feature vector for location information of second objects existing on a frame preceding the first frame is applied to a Kalman filter, thereby estimating a second feature vector for location information at which the second objects are predicted to exist on the first frame, and then calculating the Mahalanobis distance and the cosine distance between the first feature vector for each of the first objects and the second feature vector for each of the second objects, and tracking two objects among the first objects and the second objects, wherein the weighted average of the Mahalanobis distance and the cosine distance between the first feature vector and the second feature vector is calculated to be greater than a preset first reference value, as the same object.
제2항에 있어서,
상기 제2 추적부는
상기 SORT 알고리즘에 기초한 객체 추적을 수행하기 위해, 현재 시점의 프레임이 제2 프레임이라고 하는 경우, 상기 객체 검출기를 통해 상기 제2 프레임 상에 존재하는 제3 객체들을 검출하여, 상기 제3 객체들의 위치 정보에 대한 제3 특징 벡터를 산출하고, 상기 제2 프레임의 이전 프레임 상에 존재하였던 제4 객체들의 위치 정보에 대한 특징 벡터를 칼만 필터에 인가함으로써, 상기 제4 객체들이 상기 제2 프레임 상에서 존재할 것으로 예측되는 위치 정보에 대한 제4 특징 벡터를 추정한 후, 상기 제3 객체들 각각에 대한 제3 특징 벡터와 상기 제4 객체들 각각에 대한 제4 특징 벡터 간의 마할라노비스 거리를 연산하여, 상기 제3 객체들과 상기 제4 객체들 중에서, 제3 특징 벡터와 제4 특징 벡터 간의 마할라노비스 거리가 사전 설정된 제2 기준치 이상으로 산출된 두 객체를 서로 동일한 객체로 추적하는 것을 특징으로 하는 실시간 객체 추적 장치.
In the second paragraph,
The second tracking unit above
A real-time object tracking device characterized in that, in order to perform object tracking based on the SORT algorithm, if the frame of the current time is the second frame, third objects existing on the second frame are detected through the object detector, a third feature vector for location information of the third objects is calculated, and a feature vector for location information of fourth objects existing on a frame preceding the second frame is applied to a Kalman filter, thereby estimating a fourth feature vector for location information predicted to exist of the fourth objects on the second frame, and then calculating the Mahalanobis distance between the third feature vector for each of the third objects and the fourth feature vector for each of the fourth objects, and tracking two objects among the third objects and the fourth objects, for which the Mahalanobis distance between the third feature vector and the fourth feature vector is calculated to be greater than a preset second reference value, as the same object.
제1항에 있어서,
사전 설정된 단위 시간당 객체 추적이 완료된 프레임의 개수를 상기 영상에 대한 객체 추적 처리 속도로 산출하고, 상기 영상에 대한 객체 추적의 정확도에 대한 정보로서, MOTA(Multiple Object Tracking Accuracy) 지수와 MOTP(Multiple Object Tracking Precision) 지수를 산출한 후, 화면 상에 상기 객체 추적 처리 속도와 상기 MOTA 지수 및 상기 MOTP 지수를 표시하는 성능 정보 표시부
를 더 포함하는 실시간 객체 추적 장치.
In the first paragraph,
The number of frames in which object tracking is completed per preset unit time is calculated as an object tracking processing speed for the image, and as information on the accuracy of object tracking for the image, a MOTA (Multiple Object Tracking Accuracy) index and a MOTP (Multiple Object Tracking Precision) index are calculated, and then a performance information display section displays the object tracking processing speed, the MOTA index, and the MOTP index on a screen.
A real-time object tracking device further comprising:
제4항에 있어서,
사전 설정된 주기 간격으로, 객체 추적의 성능을 분석하기 위한 분석 이벤트를 발생시키는 이벤트 발생부;
상기 분석 이벤트가 발생되면, 상기 분석 이벤트의 발생 시점으로부터 상기 주기 동안의, 평균 객체 추적 처리 속도, 평균 MOTA 지수 및 평균 MOTP 지수를 산출하는 산출부;
상기 평균 MOTA 지수와 상기 평균 MOTP 지수를 성분으로 갖는 벡터의 유클리드 노름(Norm)을 연산한 후, 상기 유클리드 노름과 사전 설정된 임계 노름을 서로 비교하고, 상기 평균 객체 추적 처리 속도와 사전 설정된 임계 처리 속도를 서로 비교하는 비교부;
상기 유클리드 노름이 상기 임계 노름을 초과하고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하지 않는 것으로 확인된 경우, n의 크기를, 사전 설정된 크기만큼 감소시켜, 감소된 n의 크기에 따라 상기 영상에 대한 객체 추적이 수행되도록 제어하고, 상기 유클리드 노름이 상기 임계 노름을 초과하지 않고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하는 것으로 확인된 경우, n의 크기를, 상기 사전 설정된 크기만큼 증가시켜, 증가된 n의 크기에 따라 상기 영상에 대한 객체 추적이 수행되도록 제어하며, 상기 유클리드 노름이 상기 임계 노름을 초과하고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하는 것으로 확인된 경우, n의 크기에 대한 조정을 수행하지 않는 크기 조정부; 및
상기 유클리드 노름이 상기 임계 노름을 초과하지 않고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하지 않는 것으로 확인된 경우, n의 크기에 대한 조정을 수행하지 않은 상태에서, 상기 실시간 객체 추적 장치의 설정에 이상이 있음을 안내하는 메시지를 생성하여 화면 상에 표시하는 메시지 표시부
를 더 포함하는 실시간 객체 추적 장치.
In paragraph 4,
An event generator that generates analysis events for analyzing the performance of object tracking at preset periodic intervals;
When the above analysis event occurs, a calculation unit for calculating an average object tracking processing speed, an average MOTA index, and an average MOTP index during the period from the time of occurrence of the above analysis event;
A comparison unit that calculates the Euclidean norm of a vector having the average MOTA index and the average MOTP index as components, and then compares the Euclidean norm with a preset threshold norm, and compares the average object tracking processing speed with a preset threshold processing speed;
a size adjustment unit that reduces the size of n by a preset size when it is confirmed that the Euclidean norm exceeds the threshold norm and the average object tracking processing speed does not exceed the threshold processing speed, and controls object tracking for the image to be performed according to the reduced size of n; and increases the size of n by the preset size when it is confirmed that the Euclidean norm exceeds the threshold norm and the average object tracking processing speed exceeds the threshold processing speed, and controls object tracking for the image to be performed according to the increased size of n; and does not perform adjustment for the size of n when it is confirmed that the Euclidean norm exceeds the threshold norm and the average object tracking processing speed exceeds the threshold processing speed; and
If it is confirmed that the above Euclidean norm does not exceed the above critical norm and that the above average object tracking processing speed does not exceed the above critical processing speed, a message display unit that generates a message indicating that there is an abnormality in the settings of the real-time object tracking device and displays it on the screen without performing any adjustment to the size of n
A real-time object tracking device further comprising:
영상이 입력되면, 상기 영상을 구성하는 프레임들 중 첫 번째 프레임을 시작으로 해서 n(n은 3이상의 크기를 갖는 자연수들 중에서 사전 지정된 어느 하나의 값임)번째 프레임까지 DeepSORT(Deep Simple Online and Real-time Tracking) 알고리즘에 기초한 객체 추적을 수행하는 제1 추적 단계;
상기 n번째 프레임과 n+1번째 프레임에 대해 SORT(Simple Online and Real-time Tracking) 알고리즘에 기초한 객체 추적을 수행한 후, 상기 n+1번째 프레임을 상기 첫 번째 프레임으로 재지정하여 상기 제1 추적 단계로 회귀하는 제2 추적 단계; 및
상기 제1 추적 단계와 상기 제2 추적 단계에 따른 객체 추적이 반복 수행되도록 제어하는 반복 수행 제어 단계
를 포함하는 실시간 객체 추적 방법.
When an image is input, a first tracking step is performed to track an object based on the DeepSORT (Deep Simple Online and Real-time Tracking) algorithm, starting from the first frame among the frames constituting the image to the nth frame (where n is a pre-designated value among natural numbers having a size of 3 or greater);
A second tracking step of performing object tracking based on the SORT (Simple Online and Real-time Tracking) algorithm for the nth frame and the n+1th frame, and then returning to the first tracking step by redesignating the n+1th frame as the first frame; and
A repeat execution control step for controlling the object tracking according to the first tracking step and the second tracking step to be repeatedly performed.
A real-time object tracking method comprising:
제6항에 있어서,
상기 제1 추적 단계는
상기 DeepSORT 알고리즘에 기초한 객체 추적을 수행하기 위해, 현재 시점의 프레임이 제1 프레임이라고 하는 경우, 사전 설정된 객체 검출기를 통해 상기 제1 프레임 상에 존재하는 제1 객체들을 검출하여, 상기 제1 객체들의 위치 정보에 대한 제1 특징 벡터를 산출하고, 상기 제1 프레임의 이전 프레임 상에 존재하였던 제2 객체들의 위치 정보에 대한 특징 벡터를 칼만 필터(Kalman filter)에 인가함으로써, 상기 제2 객체들이 상기 제1 프레임 상에서 존재할 것으로 예측되는 위치 정보에 대한 제2 특징 벡터를 추정한 후, 상기 제1 객체들 각각에 대한 제1 특징 벡터와 상기 제2 객체들 각각에 대한 제2 특징 벡터 간의 마할라노비스 거리(Mahalanobis distance)와 코사인 거리(Cosine Distance)를 연산하여, 상기 제1 객체들과 상기 제2 객체들 중에서, 제1 특징 벡터와 제2 특징 벡터 간의 마할라노비스 거리와 코사인 거리의 가중 평균이 사전 설정된 제1 기준치 이상으로 산출되는 두 객체를 서로 동일한 객체로 추적하는 것을 특징으로 하는 실시간 객체 추적 방법.
In Article 6,
The above first tracking step
A real-time object tracking method characterized in that, in order to perform object tracking based on the above DeepSORT algorithm, when the frame of the current time is the first frame, first objects existing on the first frame are detected through a preset object detector, a first feature vector for location information of the first objects is calculated, and a feature vector for location information of second objects existing on a frame preceding the first frame is applied to a Kalman filter, thereby estimating a second feature vector for location information predicted to exist of the second objects on the first frame, and then calculating the Mahalanobis distance and the cosine distance between the first feature vector for each of the first objects and the second feature vector for each of the second objects, and tracking two objects among the first objects and the second objects, wherein the weighted average of the Mahalanobis distance and the cosine distance between the first feature vector and the second feature vector is calculated to be greater than a preset first reference value, as the same object.
제7항에 있어서,
상기 제2 추적 단계는
상기 SORT 알고리즘에 기초한 객체 추적을 수행하기 위해, 현재 시점의 프레임이 제2 프레임이라고 하는 경우, 상기 객체 검출기를 통해 상기 제2 프레임 상에 존재하는 제3 객체들을 검출하여, 상기 제3 객체들의 위치 정보에 대한 제3 특징 벡터를 산출하고, 상기 제2 프레임의 이전 프레임 상에 존재하였던 제4 객체들의 위치 정보에 대한 특징 벡터를 칼만 필터에 인가함으로써, 상기 제4 객체들이 상기 제2 프레임 상에서 존재할 것으로 예측되는 위치 정보에 대한 제4 특징 벡터를 추정한 후, 상기 제3 객체들 각각에 대한 제3 특징 벡터와 상기 제4 객체들 각각에 대한 제4 특징 벡터 간의 마할라노비스 거리를 연산하여, 상기 제3 객체들과 상기 제4 객체들 중에서, 제3 특징 벡터와 제4 특징 벡터 간의 마할라노비스 거리가 사전 설정된 제2 기준치 이상으로 산출된 두 객체를 서로 동일한 객체로 추적하는 것을 특징으로 하는 실시간 객체 추적 방법.
In Article 7,
The second tracking step above
A real-time object tracking method characterized in that, in order to perform object tracking based on the above SORT algorithm, if the frame of the current time is the second frame, third objects existing on the second frame are detected through the object detector, a third feature vector for location information of the third objects is calculated, and a feature vector for location information of fourth objects existing on a frame preceding the second frame is applied to a Kalman filter, thereby estimating a fourth feature vector for location information predicted to exist of the fourth objects on the second frame, and then calculating the Mahalanobis distance between the third feature vector for each of the third objects and the fourth feature vector for each of the fourth objects, and tracking two objects among the third objects and the fourth objects, for which the Mahalanobis distance between the third feature vector and the fourth feature vector is calculated to be greater than a preset second reference value, as the same object.
제6항에 있어서,
사전 설정된 단위 시간당 객체 추적이 완료된 프레임의 개수를 상기 영상에 대한 객체 추적 처리 속도로 산출하고, 상기 영상에 대한 객체 추적의 정확도에 대한 정보로서, MOTA(Multiple Object Tracking Accuracy) 지수와 MOTP(Multiple Object Tracking Precision) 지수를 산출한 후, 화면 상에 상기 객체 추적 처리 속도와 상기 MOTA 지수 및 상기 MOTP 지수를 표시하는 성능 정보 표시 단계
를 더 포함하는 실시간 객체 추적 방법.
In Article 6,
A performance information display step in which the number of frames in which object tracking is completed per preset unit time is calculated as an object tracking processing speed for the image, and a Multiple Object Tracking Accuracy (MOTA) index and a Multiple Object Tracking Precision (MOTP) index are calculated as information on the accuracy of object tracking for the image, and then the object tracking processing speed, the MOTA index, and the MOTP index are displayed on a screen.
A real-time object tracking method further comprising:
제9항에 있어서,
사전 설정된 주기 간격으로, 객체 추적의 성능을 분석하기 위한 분석 이벤트를 발생시키는 이벤트 발생 단계;
상기 분석 이벤트가 발생되면, 상기 분석 이벤트의 발생 시점으로부터 상기 주기 동안의, 평균 객체 추적 처리 속도, 평균 MOTA 지수 및 평균 MOTP 지수를 산출하는 산출 단계;
상기 평균 MOTA 지수와 상기 평균 MOTP 지수를 성분으로 갖는 벡터의 유클리드 노름(Norm)을 연산한 후, 상기 유클리드 노름과 사전 설정된 임계 노름을 서로 비교하고, 상기 평균 객체 추적 처리 속도와 사전 설정된 임계 처리 속도를 서로 비교하는 비교 단계;
상기 유클리드 노름이 상기 임계 노름을 초과하고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하지 않는 것으로 확인된 경우, n의 크기를, 사전 설정된 크기만큼 감소시켜, 감소된 n의 크기에 따라 상기 영상에 대한 객체 추적이 수행되도록 제어하고, 상기 유클리드 노름이 상기 임계 노름을 초과하지 않고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하는 것으로 확인된 경우, n의 크기를, 상기 사전 설정된 크기만큼 증가시켜, 증가된 n의 크기에 따라 상기 영상에 대한 객체 추적이 수행되도록 제어하며, 상기 유클리드 노름이 상기 임계 노름을 초과하고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하는 것으로 확인된 경우, n의 크기에 대한 조정을 수행하지 않는 크기 조정 단계; 및
상기 유클리드 노름이 상기 임계 노름을 초과하지 않고, 상기 평균 객체 추적 처리 속도가 상기 임계 처리 속도를 초과하지 않는 것으로 확인된 경우, n의 크기에 대한 조정을 수행하지 않은 상태에서, 상기 실시간 객체 추적 장치의 설정에 이상이 있음을 안내하는 메시지를 생성하여 화면 상에 표시하는 메시지 표시 단계
를 더 포함하는 실시간 객체 추적 방법.
In Article 9,
An event generation step that generates analysis events for analyzing the performance of object tracking at preset periodic intervals;
When the above analysis event occurs, a calculation step for calculating an average object tracking processing speed, an average MOTA index, and an average MOTP index during the period from the time of occurrence of the above analysis event;
A comparison step of calculating the Euclidean norm of a vector having the average MOTA index and the average MOTP index as components, and then comparing the Euclidean norm with a preset threshold norm, and comparing the average object tracking processing speed with a preset threshold processing speed;
a size adjustment step of reducing the size of n by a preset size so that object tracking for the image is performed according to the reduced size of n when it is confirmed that the Euclidean norm exceeds the threshold norm and the average object tracking processing speed does not exceed the threshold processing speed, and controlling the size of n to be increased by the preset size so that object tracking for the image is performed according to the increased size of n when it is confirmed that the Euclidean norm exceeds the threshold norm and the average object tracking processing speed exceeds the threshold processing speed, and not performing an adjustment for the size of n when it is confirmed that the Euclidean norm exceeds the threshold norm and the average object tracking processing speed exceeds the threshold processing speed; and
If it is confirmed that the above Euclidean norm does not exceed the above critical norm and that the average object tracking processing speed does not exceed the above critical processing speed, a message display step for generating and displaying a message on the screen indicating that there is an abnormality in the settings of the real-time object tracking device without performing any adjustment to the size of n
A real-time object tracking method further comprising:
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium storing a computer program for executing the method of any one of claims 6 to 10 through combination with a computer. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6 to 10 through combination with a computer.
KR1020220074563A 2022-06-20 2022-06-20 Real-time object tracking apparatus and method that can improve processing speed while ensuring the accuracy of object tracking Active KR102796145B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220074563A KR102796145B1 (en) 2022-06-20 2022-06-20 Real-time object tracking apparatus and method that can improve processing speed while ensuring the accuracy of object tracking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220074563A KR102796145B1 (en) 2022-06-20 2022-06-20 Real-time object tracking apparatus and method that can improve processing speed while ensuring the accuracy of object tracking

Publications (2)

Publication Number Publication Date
KR20230173824A KR20230173824A (en) 2023-12-27
KR102796145B1 true KR102796145B1 (en) 2025-04-14

Family

ID=89378346

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220074563A Active KR102796145B1 (en) 2022-06-20 2022-06-20 Real-time object tracking apparatus and method that can improve processing speed while ensuring the accuracy of object tracking

Country Status (1)

Country Link
KR (1) KR102796145B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200200912A1 (en) 2018-12-19 2020-06-25 Andrew Chen Detection and tracking of road-side pole-shaped static objects from lidar point cloud data
US20200202540A1 (en) 2018-12-19 2020-06-25 Zijian Wang Techniques for using a simple neural network model and standard camera for image detection in autonomous driving
JP2021034015A (en) 2019-08-20 2021-03-01 富士通株式会社 Target search device and method, electronic equipment
US20210158053A1 (en) 2018-11-01 2021-05-27 Ncr Corporation Constructing shopper carts using video surveillance
JP2021101354A (en) 2020-06-29 2021-07-08 北京百度網訊科技有限公司 Early warning method, device, electronic device, recording medium, and computer program product

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210158053A1 (en) 2018-11-01 2021-05-27 Ncr Corporation Constructing shopper carts using video surveillance
US20200200912A1 (en) 2018-12-19 2020-06-25 Andrew Chen Detection and tracking of road-side pole-shaped static objects from lidar point cloud data
US20200202540A1 (en) 2018-12-19 2020-06-25 Zijian Wang Techniques for using a simple neural network model and standard camera for image detection in autonomous driving
JP2021034015A (en) 2019-08-20 2021-03-01 富士通株式会社 Target search device and method, electronic equipment
JP2021101354A (en) 2020-06-29 2021-07-08 北京百度網訊科技有限公司 Early warning method, device, electronic device, recording medium, and computer program product

Also Published As

Publication number Publication date
KR20230173824A (en) 2023-12-27

Similar Documents

Publication Publication Date Title
US11010905B2 (en) Efficient object detection and tracking
US10984266B2 (en) Vehicle lamp detection methods and apparatuses, methods and apparatuses for implementing intelligent driving, media and devices
US8098885B2 (en) Robust online face tracking
JP2018538631A (en) Method and system for detecting an action of an object in a scene
CN112016371A (en) Face key point detection method, device, equipment and storage medium
Elrefaei et al. Real-time face detection and tracking on mobile phones for criminal detection
US7555046B2 (en) Method and system for searching and verifying magnitude change events in video surveillance
KR102095152B1 (en) A method of recognizing a situation and apparatus performing the same
KR102217003B1 (en) Object tracking method and apparatus performing the same
CN104219488A (en) Method and device of generating target image as well as video monitoring system
KR100994367B1 (en) Moving target motion tracking method of video tracking device
US20110304730A1 (en) Pan, tilt, and zoom camera and method for aiming ptz camera
JPWO2020184539A1 (en) Object tracking device, object tracking method, and program
KR102796145B1 (en) Real-time object tracking apparatus and method that can improve processing speed while ensuring the accuracy of object tracking
KR102323671B1 (en) Method and apparatus for detecting abnormal objects in video
CN114529587A (en) Video target tracking method and device, electronic equipment and storage medium
US20240242493A1 (en) Method and apparatus for generating frame data for neural network learning based on similarity between frames
US11869212B1 (en) Method for training video object detection model using training dataset and learning device using the same
WO2013128839A1 (en) Image recognition system, image recognition method and computer program
KR102176179B1 (en) Electronic device for performing feature vector assignment of a tracklet for object tracking in an image and operating method thereof
US20230316562A1 (en) Causal interaction detection apparatus, control method, and computer-readable storage medium
Aradhya Performance evaluation of background modeling methods for object detection and tracking
KR102830581B1 (en) Electronic apparatus that performs efficient object detection and tracking for multi-camera videos and the operating method thereof
JP2022077697A (en) Tracking device, tracking method, and program
KR102713945B1 (en) Method and apparatus for tracking object of video

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20220620

PA0201 Request for examination
PG1501 Laying open of application
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: 20250409

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250410

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250410

End annual number: 3

Start annual number: 1

PG1601 Publication of registration