프로젝트/Data_Analysis_Track_33_FinalProject

FinalProject_10(개별 Action 수행, webcam detect + tracking기능 구현)

lsc99 2024. 1. 25. 20:37

참고 : Inference arguments -> https://docs.ultralytics.com/modes/predict/

 

iou를 이용한 트래킹 구현을 하자

 

참고: https://dokpin.tistory.com/40

https://ballentain.tistory.com/12

iou란?

 

IOU는 두 사각형이 위치상으로 어느 정도 유사한지 알 수 있는 측정 척도 중 하나.

 

그림으로 살펴보면 아래 같다.

IOU = 사각형이 겹치는 부분의 넓이(주황색 사각형) / 사각형을 합친 부분의 넓이(녹색 사각형)

 

IOU는 0부터 1까지의 값을 갖는다.

두 사각형이 완전히 일치하면 겹치는 사각형과 합친 사각형이 같아지므로 IOU는 1이 되고, 반대로 두 사각형이 겹치는 부분이 없으면 겹치는 사각형 넓이가 0이므로 IOU는 0이 된다.

두 사각형이 1에 가까울수록 많이 겹치고 위치상으로 더 관련이 있을 것으로 해석할 수 있다.

 

- Object Tracker

Object detection과 Object tracking은 뗄레야 뗄 수 없는 관계인 것 같다. 최근에는 트래킹 정확도를 위해 검출 영역들의 특징을 추출하여 매칭하는 방법을 추가한 트래킹을 활용하지만, Legacy한 방법으로 매우 직관적이면서 빠른 방법으로 IOU를 사용한 SORT[1]라는 트래커가 있다.

[1] A. Bewley, G. Zongyuan, F. Ramos, and B. Upcroft, “Simple online and realtime tracking,” in ICIP, 2016, pp. 3464–3468.

 

트래킹 알고리즘에 대한 생각을 해보자

  • 목표: IOU + Class 기반의 tracker 구현 -> Class 기반으로 구현 시 같은 class일때의 다른 객체들에게 다른 트래킹 ID를 부여하지 못한다. -> IOU만을 이용하여 탐지 객체마다에게 트래킹ID 부여

 

YOLOv8 result format