DataScience
article thumbnail
Published 2023. 5. 17. 09:58
BoT-SORT 영상처리/Object Tracking
728x90

BoT-SORT(Bag of tricks for SORT)

SORT 시스템의 한계

칼만 필터 상태 벡터

 SORT계에서는, 등속을 가정한 칼만 필터를 이용하고 있습니다. 칼만 필터의 사용은 가로폭(width)에서 부정확한 일이 있기 때문에 박스 비율을 이용하여 대응해 왔습니다. 그로인해 경계 박스 예측이 정확하지 않습니다.

 

· 카메라 편차

 통상 SORT계에서는, IoU 베이스의 매칭 혹은 코사인 유사도를 이용한 매칭이 행해집니다. IoU 기반 매칭은 예측 상자의 정확성에 크게 의존합니다. 그 때문에, 검출 정밀도가 내려가면, 당연히 매칭도 실패하기 쉬워져, 특히 카메라의 움직임에 의해 정밀도가 떨어진다고 할 수 있습니다.

 

매칭 기법

 SORT계 알고리즘에 있어서, 포인트 정보를 이용하는 IoU 기반의 매칭과 외관 정보를 이용하는 코사인 유사도 기반의 매칭에는, 트래킹을 개시하는 것(MOTA로 측정된다)와 올바른 ID를 유지하는 것( IDF1로 측정)의 절충 관계에 있습니다. 일반적으로 IOU를 이용하면 MOTA를 좋아하고 Re-ID를 이용하면 IDF1이 좋아집니다.

 

한계점을 개선하고자

ByteTrack기반으로 아래 세가지 방법을 이용하여 더 우수한 성능을 얻었다고 합니다.

 

1. 칼만 필터 상태 벡터 개선

2. 카메라 모션 보정

3. IOU - Re-ID 퓨전

아래 그림은 전체 Pipeline입니다.

전체적인 과정은 ByteTrack과 같습니다. 1~3번부분이 차이나는 부분입니다.

1. 칼만필터 개선

SORT알고리즘에서 칼만필터 상태 벡터는 일반적으로 7-튜플 벡터를 사용합니다.

x, y : 타겟 중심 수직, 수평 픽셀 위치

s : 박스 면적

a : 박스 종횡비

BoT-SORT에서는 폭(Width)과 높이(Height)를 추가해 정밀도를 올렸습니다. 

칼만필터 상태 벡터 x, measure 벡터 z, 그에 맞는 noise 공분산 행렬 Q,R을 아래와 같이 정의합니다.

칼만필터 수정을 통해 개선된 bounding box

 

2. 카메라 모션 보정

카메라 움직임으로 인해 고정된 카메라에서도 감지 프레임이 드리프트될 수 있으며, 대상에 있는 인물의 불규칙한 움직임으로 인해 대상에 진동이 발생할 수 있다고 합니다.
이 부분에서는 배경 모션을 표현하기 위해 openCV의 Global Motion Compensation(GMC) 기법을 사용합니다. 먼저 이미지 키포인트를 추출후 이동으로 발생하는 local outlier를 제거하기 위해 sparse optical flow을 사용합니다. RANSAC을 이용하여 아핀 행렬을 구합니다.

 

A 행렬이 affine matirx이며 M은 scale과 rotation이 들어간 행렬입니다. T는 translation이 들어간 행렬이며 이제 아래 식 2개를 통해 변환 과정을 넣어서 추정치를 변환하게 됩니다. 그런 후에 아래 식을 거쳐 칼만 필터는 업데이트 됩니다.

3. IOU - Re-ID 퓨전

deep visual representation을 활용하기 위해 tracker에 appearance features를 tracker와 통합했습니다.
Re-ID feature를 추출하기 위해 ResNet기반 FastReID library를 사용합니다.
appearance state는 아래와 같이 계산됩니다.

  • f는 현재 매칭된 detection의 appearance임베딩 벡터
  • alpha=0.9, 로 설정된 모멘텀

앞에서 계산한 appearance state와 새로운 detectoin임베딩 벡터를 매칭시키기 위해서 코사인 유사도를 측정합니다.
appearance feature는 흐리거나 가려진 물체에 취약하므로 높은 신뢰도 점수 detection만 사용합니다.

motion, appearance를 결합(IoU,cosine distance를 결합)식

  • Ci,j는 C의(i,j)번째 원소, d(iou)는 IoU disttance이며 motion cost를 의미, d(cos)는 appearance distatnce이며 appearance cost의미
  • theta(iou) motion cost threshold=0.5, theta(emb) appearance cost threshold =0.2

'영상처리 > Object Tracking' 카테고리의 다른 글

MOT(ByteTrack)  (102) 2023.05.16
object tracking 객체 추적  (11) 2023.01.04
profile

DataScience

@Ninestar

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!