[졸업작품] 03. Tracking Algorithm

hhanoo·2023년 4월 10일
0

Overview

이전에 사용하기로 정한 모델인 YOLO와 함께 인식한 물체를 추적하며 구분할 수 있는 알고리즘을 선정하고자 하였다.


1. Tracking Algorithm

1-1. Tracking Algorith이란?

물체의 위치 기록을 기반으로 여러 움직이는 물체의 미래 위치를 예측하는 알고리즘이라고 생각하면 이해하기 쉽다.

이것을 이전에 작성했던 주제인 Object Detection Model과 연결하면 영상 속에서 특정 물체를 찾아내서 그 물체의 이동경로를 따라 그대로 추적하는 기능이 가능해진다.

단 추적할 때 여러 객체들을 추적해야하는데 이것을 다중 객체 추적(Multi-Object Tracking, MOT)라고 부른다.

MOT는 탐지를 동일한 클래스이더라도 ID를 부여하여 같은 클래스라도 분류해서 인식할 수 있게 된다.
이러한 MOT 방식은 은 2가지로 구분되는데 배치 트래킹 방식온라인 트래킹 방식이 있다.

1-2. 배치 트래킹 방식이란?

배치 트래킹 방식 또는 배치 메소드라고 불리는 이 방식은 tracking 알고리즘이 사용하는 정보가 온라인 트래킹 방식과 다르다.

바로 특정 프레임에서 개체의 ID를 추론할 때 미래 영상 프레임의 정보를 사용한다.
사실 이렇게만 말하면 '미래 영상 프레임 정보를 어떻게 사용하는거야?' 라고 의문이 들 수 있다.실제로 찾으면서도 이게 도대체 무슨 말인지 한참을 들여다 보고 있었으니까..

결국 batch의 뜻 그대로 전체 tracking 궤도를 형상하기 위해 전체 프레임에서 detection된 반응을 보고 찾는 방식이다.

배치 트래킹은 결국 모든 정보들이 존재해야 사용 할 수 있는 방식인것이다. 이러한 방식은 트래킹에 뛰어난 성능을 보일지라도, 실시간 사용에 적합하지 않다.

1-3. 온라인 트래킹 방식

온라인 트래킹 방식은 실시간 사용에 적합하여 많이 사용되고 있는 방식이다.

온라인 트래킹은 '현재 및 과거 정보만 사용하여 특정 프레임에 대한 결론'을 내리기 때문이다.
대신 미래 프레임에 대한 정보가 없기 때문에 외형 변화나 트래킹 궤도 형성을 위한 탐색 반응 연관이 어려워지는 문제가 발생한다.

이 중 대표적으로 사용되는 알고리즘은 SORT 알고리즘이다.
간단하지만 효과적으로 MOT가 가능한 알고리즘이기에 졸작에서 SORT를 사용하기로 결정하였다.

2. SORT (Simple Online and Realtime Tracking)

SORT 알고리즘은 IoU를 기반으로 물체를 추적한다.
IoU란 'Intersection over Union'으로 객체 인식 모델의 성능 평가를 하는 과정에서 사용되는 도구이다.

두 box의 크기가 동일하다 가정한다면, 두 개의 box가 적어도 2/3는 겹쳐줘야 0.5이상의 값이 나오기 때문에 여러곳에 threshold 값을 0.5로 잡아서 사용하기도한다.

이렇게 IoU를 이용하여 일정 이상의 threshold가 이상인 상태라면 같은 물체라고 판단할 수 있다.

SORT 알고리즘은 이러한 IoU 기반이기에 추적된 물체에 대해 association을 진행하기 때문에 매우 빠르다는 장점이 있다.

위 표에 나와있는 flowchart를 살펴보면 알고리즘의 흐름을 이해할 수 있다.

Track

  • 현재 Tracking되고 있는 Object의 정보를 관리

Detections

  • 현재 이미지에서 탐지한 물체의 Bounding Box와 물체의 Class

IoU (Intersection of Union)

  • Ground truth bounding box와 탐지된 Bounding box와의 비율을 의미
  • 겹쳐진 넓이 / 전체 넓이
  • 교집합 / 합집합

Unmatched Tracks

  • 현재 탐지된 결과와 Track이 할당되지 못한 경우
  • Track이 남음
  • 일정 시간이 흐른 뒤에 해당 Track의 id는 삭제

Unmatched Dections

  • 현재 탐지된 결과 중 기존의 Track과 일치하는 것이 없을 경우
  • Dectection이 남음
  • 새로운 트랙이 생성되어 Following

Matched Track

  • Matching이 제대로 이루어진 경우

참고자료

0개의 댓글