안녕하세요. 오늘은 Object Tracking 에 대한 핵심 개념과 관련
내용들에 대해 말해보려 합니다.
추후에 다른 핵심 개념들에 대한 포스팅도 올릴 예정이니
도움이 되었으면 합니다.
Object Tracking은 말 그대로 영상이나 이미지 내에서
Object로 추정되는 부분을 탐지해서(Object Detection)
그것의 움직임을 추적해 나가는 과정을 말합니다.
또한 다수의 물체를 동시에 Tracking 할 수도 있습니다.(Multi Object Tracking)
보통 Tracking을 할때에
현재 시점 T 의 프레임과 바로 직전 시점인 T-1 의 프레임을 이용한
"Two-frame method"을 기반으로 많이 작업을 진행합니다.
Tracking의 가장 유명한 알고리즘은 Sort 알고리즘입니다.
Sort 알고리즘은 Simple Online and Realtime Tracking 의 줄임말을 뜻합니다.
(Kalman-filter와 헝가리안 알고리즘을 이용)
Sort 알고리즘은 C++, Python 두 가지 언어로 모두 오픈소스로
공개되어 있습니다. 참고해 보시면 좋을 것 같습니다.
그러나 Sort 알고리즘도 완벽하게 Tracking을 수행하지 못할 때도 있습니다.
Multi Object Tracking 같은 경우,
서로 Object들 끼리 움직이는 방향이나 위치가 다르면 큰 문제가 없지만,
서로의 경로가 겹치거나 같아지게 되면,
올바른 트래킹이 이루어 지지 않게 됩니다..
이유는 무엇일까요..?
첫째, Sort알고리즘은 Detection한 정보들을 위치 기반으로만 트래킹하기 때문에 ID Switching 문제가 발생합니다.
좀 더 자세한 이해는 아래의 그림을 보시면 될 것 같습니다.
둘째, 우선적으로 Detection 결과를 기반으로 Tracking 작업이 이루어지기 때문에
Detection 결과의 Fragmentation으로 인해 Tracking 오류가 발생하는 것 입니다.
위의 내용이 도움되셨길 바라며
더욱 올바르고 유익한 포스팅을 할 수 있도록 노력하겠습니다.
오늘도 감사합니다.
References)
'AI Study' 카테고리의 다른 글
AI 입문 강의 추천 (0) | 2021.01.09 |
---|
댓글