[DeepSORT] DeepSORT 란?

Date:

카테고리:

태그:

Introduction
제조시스템 프로젝트시 DeepSORT 알고리즘을 사용했다. 그렇다면 DeepSORT는 과연 무엇일까?
참조 page : ENFJ.dev

[DeepSORT]

DeepSORT는 Deep Simple Online and Realtime Tracking으로, 객체 추적 framework이다.

[사전지식]

DeepSORT를 알기위해선 SORT에 여러가지의 사전지식이 필요하다.

[SORT Algorithm]

SORT는 Simple Online and Realtime Tracking이라는 알고리즘이다. 간단하면서도 효과적인 다중 대상 추적 알고리즘이다. IOU를 기반으로 추적된 물체에 대해서 association이 되기 때문에, 매우 빠르다.
하지만 물체의 이동 속도를 따라가지 못하거나, 가려질 경우에 ID Switching 문제가 발생한다

ID Switching이 발생되는 원인
  1. 물체의 속도가 빠르게 움직여 IoU가 작게 판단되어 발생한다. IoU
  2. 가려짐, Occulusion이 발생시, Detecting Box의 크기가 작아져 IoU 값이 낮아 발생한다.

ID Switching문제를 해결하기 위해서 DeepSORT algorithm 이 나왔다. 기존 SORT algorithm 에 비해 ID Switching 문제가 40~50% 넘게 감소한 결과를 보인 알고리즘이다.

[Kalman Filter]

보통 제어 분야에서 많이 사용되는 Kalman Filter이전 프레임에 등장한 개체를 이용하여 다음 프레임의 개체의 위치를 예측하고 측정 하는 필터이다.

Predicted state estimate는 예측 값을 도출하며(Motion model), Measurement는 실제 측정 값을 반환한다 (Measurement model). Motion Model은 현재 프레임의 객체의 위치를 보고, 다음 프레임에서 위치를 예측하는 모델이다. 예측 판단의 오차는 5%이고, 예측한 위치를 기반으로 한 정규분포로 가정한다. 또한 Measurement Model은 실제 측정 모델이며, 오차에 의한 결과로 인해 확률 분포를 띈다. Kalman Filter는 이 두 모델을 활용하여 Optimal state estimate를 위해 상태를 업데이트 하는 구조를 띈다.

[그렇다면 왜 Kalman Filter를 사용할까?]
Kalman filter는 Detection 중 발생하는 Noise를 처리함에 용이하고, 영상에서는 물체의 이동이 선형성을 이루기 때문에 Tracking에 용이하기 때문이다.

[Kalman filter Data]
Kalman filter는 Bounding box를 데이터로 사용된다.
Bounding Box는 이미지 객체인데, 우리에게 익숙한 YOLO의 박스가 이에 해당한다.

[Hungarian Algorithm]

Kalman filter를 사용시, 전후 프레임에서 탐지된 개체가 동일함을 판별할때 이 Hungarian Algorithm을 사용한다.
Hungarian Algorithm최적의 매칭을 찾는 알고리즘으로 할당문제(assignment problem)의 해결 방법으로 사용된다.

[Assignment problem]
할당 문제라고하는데, 가장 효율적인 방법을 찾는다고 생각하면 된다. 모든 작업을 아주 효율적으로 해결할 수 있는 방법은 한 에이전트가 제일 잘하는 작업을 맡아서 진행하는 것이 될 것이다. 즉, 할당해야할 작업의 총 비용이 최소화 되도록 각 에이전트에 최대 한 개의 작업을 할당하는 것을 의미한다.

✏️ 개인 공부 기록용 블로그입니다! 틀린 부분이 있으면 언제든지 댓글로 알려주세요!
👍 항상 감사합니다!

Vision 카테고리 내 다른 글 보러가기

첫 번째 글입니다 가장 최근 글입니다

댓글 남기기