![[논문 리뷰] Observation-Centric SORT:Rethinking SORT for Robust Multi-Object Tracking (CVPR 2023)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIkbQS%2FbtsL1YoAab8%2F8YCtzKelrwn9k3VaNZFP81%2Fimg.png)
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/009.gif)
다음으로 이어서 이야기해 볼 논문은 OC-SORT이며, 선형 운동을 가정하는 Kalman Filter의 문제점을 해결한 논문이다.
Introduction
본 연구는 다중 객체 추적(MOT)을 위한 기존의 SORT에서 사용했던 Kalman Filter(KF) 기반 방법의 문제점을 해결하기 위해 OC-SORT라는 새로운 방법을 제안한다. Kalman Filter 기반 방법은 객체가 선형적으로 움직인다는 가정을 전제로 하기 때문에 장시간의 움직임에 대한 선형 추정치는 부정확할 수 있다. 또한, Kalman Filter 매개변수를 업데이트할 수 있는 측정값이 오랜 time step동안 없는 경우, 사후 업데이트를 위해 선험적 상태 추정을 신뢰하는 것으로 알려져 있으며, 이로 인해 오차가 누적된다. 이 연구에서는 관찰(observation 값 = detection box 값) 중심 정렬을 사용하여 가상 궤적을 계산함으로써 이러한 오류를 수정한다. 이 방법은 단순하고 실시간으로 처리 가능하며, MOT17, MOT20, KITTI 등 다양한 데이터 세트에서 최신 기술을 구현하고 head track, dancetrack 등 여러 데이터 세트에서 최첨단 성능을 보인다.
OC-SORT 알고리즘의 주요 구성 요소와 작동 방식을 더 자세히 설명하면 다음과 같다.
Methodology
OC-SORT는 다음 세 가지 핵심 구성 요소를 통해 기존 SORT 알고리즘의 한계를 극복한다.
1. Observation-centric Re-Update (ORU)
ORU는 객체가 일시적으로 가려졌다가 다시 나타났을 때 발생하는 오류를 줄이기 위한 방법이다.
- 객체 추적이 재개될 때, 가려짐(occlusion)기간의 시작과 끝 지점의 관측치를 사용한다.
(추적 해제되기 전에 마지막으로 본 관측을 zt1로, 재연결을 트리거하는 관측을 zt2로 표시한다.)
- 이 두 관측치를 기반으로 가상 궤적(z˜t(t1 < t < t2))생성한다.
- 생성된 가상 궤적을 사용하여 칼만 필터를 다시 업데이트한다.
이 과정을 통해 가려짐(occlusion)기간 동안 누적된 오류를 줄일 수 있다.
2. Observation-Centric Momentum (OCM)
OCM은 객체의 비선형 움직임을 더 잘 처리하기 위한 방법이다.
- 객체의 움직임 방향에 대한 일관성을 평가한다.
- 기존 추적 링크와 새로운 관측치 사이의 각도(세타 값)를 계산한다. figure 4에 대한 설명을 다시 살펴보면, OCM은 모션 방향 차이 계산하여 방향을 재설정한다. 녹색 선은 기존 트랙을 나타내고 점은 그 위에 관측된 값이다. 빨간색 점은 새로 연결할 관측치이다. 파란색 링크와 노란색 링크는 각각 track θ과 intention θ (선형 운동에 가정한 link)의 방향을 형성한다. 포함된 각도는 방향 ∆θ의 차이이다.
- 이 각도 정보를 비용 행렬(cost matrix)에 통합하여 더 정확한 객체 연관성을 찾는다.
3. Observation-Centric Recovery (OCR)
OCR은 단시간 내에 발생하는 가려짐 문제를 해결하기 위한 방법이다.
- 추적이 비활성화된 경우, 새로운 관측치를 이전의 관측치와 연결한다.
- 비활성화된 추적의 마지막 관측치와 새로운 관측치를 비교한다.
- 이를 통해 짧은 시간 동안 가려진 객체를 빠르게 복구할 수 있다.
전체 워크플로우
1. 객체 detector로부터 새로운 프레임의 detection 결과를 받는다.
2. OCM을 사용하여 기존 추적과 새로운 감지 결과 간의 연관성을 계산한다.
3. 연관된 추적은 칼만 필터를 통해 업데이트된다.
4. 연관되지 않은 추적은 OCR을 통해 복구를 시도한다.
5. 여전히 연관되지 않은 감지 결과는 새로운 추적으로 초기화된다.
6. ORU를 사용하여 재활성화된 추적의 상태를 조정한다.
이러한 과정을 통해 OC-SORT는 객체의 가려짐과 비선형 움직임에 더 강건한 추적 성능을 제공한다.
Conclusion
OC-SORT의 성능 결과이다. MOT17 과 MOT20 에서 다른 tracker보다 성능이 우수하고, ID Switchig도 덜 일어나는 것을 확인할 수 있다. Bytetrack과 비교했을 때 Hota 수치가 더 높은 것을 보아 id switching이 덜 일어난다. 이는 객체의 가려짐에 따라 kalman filter의 방향 예측력이 저하되는 것에 더 강인하게 대처할 수 있다고 볼 수 있다.
다음은 SORT와 OC-SORT를 비교한 visualization 결과이다. 맨 뒤에 있는 사람을 보면 SORT는 앞 사람들에 의해 가려짐에 따라 tracklet이 끊겨서 id가 새로 부여 됨을 볼 수 있지만, 반대로 OC-SORT는 계속 id가 이어짐을 확인할 수 있다.
다음 visualization은 DanceTrack dataset에서 무작위로 선택한 객체의 궤적이다.
검은색 십자가는 실제 궤적(GT)을 나타낸다. 녹색 삼각형은 SORT에 의해 출력된 궤적을 나타낸다.
빨간색 점은 OC-SORT가 출력한 궤적을 나타내며 선택한 GT 궤적과 더 유사함을 확인할 수 있다.
다음 마지막 tracker 리뷰는 비교적 가장 최근 논문인 boosttrack으로 하려한다!
Reference
GitHub - noahcao/OC_SORT: [CVPR2023] The official repo for OC-SORT: Observation-Centric SORT on video Multi-Object Tracking. OC-
[CVPR2023] The official repo for OC-SORT: Observation-Centric SORT on video Multi-Object Tracking. OC-SORT is simple, online and robust to occlusion/non-linear motion. - noahcao/OC_SORT
github.com
'Artificial Intelligence > Research Paper 리뷰 📖' 카테고리의 다른 글
Action speaks louder than words. 하루 하루의 기록을 습관화 합니다 📖
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!