왜 트래킹이 필요한가: KCF / CSRT와 감지 결합 전략
실시간 비전 안정화를 위해 KCF/CSRT 트래커와 감지 하이브리드를 설계하는 방법
Posted
By okorion
왜 트래킹이 필요한가: KCF / CSRT와 감지 결합 전략
문제 정의
객체 트래킹은 영상에서 이미 감지된 객체를 시간 축을 따라 동일한 ID로 추적하는 문제다. 핵심은 “계속 찾는 것”이 아니라 같은 대상을 놓치지 않는 것이다.
요약 한 줄 트래킹은 정확도를 높이기 위한 기술이 아니라 시스템을 안정화하기 위한 기술이다.
1) 감지 vs 트래킹: 역할을 분리해야 하는 이유
정의
- 객체 감지(Detection): 각 프레임마다 객체 위치를 새로 찾는다
- 객체 트래킹(Tracking): 이전 프레임 정보를 이용해 위치를 이어간다
직관
매 프레임 감지는:
- 연산 비용이 크고
- 결과가 프레임마다 흔들린다
트래킹은:
- “이전 위치 근처에 있을 것”이라는 가정을 활용해
- 계산량을 줄이고 연속성을 만든다
오해 포인트
- 트래킹이 감지를 대체한다고 생각함
- 감지 정확도가 낮은 문제를 트래킹으로 해결하려 함
언제 쓰는가 / 쓰지 말아야 하는가
- ✔ 실시간 영상, CCTV, 웹캠
- ✘ 단일 이미지 처리, 객체가 자주 사라지는 환경
구현 체크리스트
- 감지와 트래킹을 서로 다른 역할로 설계
- 트래킹 실패 시 감지로 복구 경로 확보
요약
감지는 “초기화”, 트래킹은 “유지”다.
2) KCF와 CSRT의 핵심 차이
KCF (Kernelized Correlation Filter)
정의 상관 필터를 이용해 가장 비슷한 패턴 위치를 빠르게 찾는다.
직관
- 이전 프레임의 객체 패턴을 템플릿으로 사용
- FFT 기반 연산 → 매우 빠름
장단점
- 장점: 속도 매우 빠름, CPU 친화적
- 단점: 가림·형태 변화에 약함
CSRT (Discriminative Correlation Filter with Channel and Spatial Reliability)
정의 공간적 신뢰도와 채널 가중치를 함께 고려하는 상관 필터
직관
- “어느 부분을 믿을 수 있는가”를 함께 학습
- 배경 영향과 드리프트를 줄인다
장단점
- 장점: 정확도 높음, 가림에 상대적으로 강함
- 단점: KCF보다 느림
언제 쓰는가 / 쓰지 말아야 하는가
- KCF: FPS 최우선, 객체 변화 적음
- CSRT: 안정성 최우선, 부분 가림 가능성 있음
요약
KCF는 속도, CSRT는 신뢰도를 산다.
3) 트래킹의 현실적 문제와 대응
(1) 드리프트(Drift)
문제 트래커가 점점 배경으로 이동
대응
- N프레임마다 감지로 위치 재보정
- 신뢰도 점수 하락 시 트래킹 중단
(2) 가림(Occlusion)
문제 사람이 다른 객체 뒤에 가려짐
대응
- CSRT 사용
- 가림 시 감지 재시도
(3) 스케일 변화
문제 객체가 카메라에 가까워지거나 멀어짐
대응
- scale adaptation 지원 트래커 선택
- min/max box 크기 제한
요약
트래킹은 항상 실패를 전제로 설계해야 한다.
4) 감지 + 트래킹 하이브리드 전략
정의
- 초기 및 주기적 위치 보정: 감지
- 중간 프레임 연속 추적: 트래킹
직관
감지는 “비싸지만 정확”, 트래킹은 “싸지만 누적 오차 존재”. 둘을 섞어야 실무에서 버틴다.
하이브리드 파이프라인 (의사코드)
1
2
3
4
5
6
7
8
9
for each frame:
if frame_id % N == 0 or tracker_failed:
boxes = detect_objects(frame)
init_tracker(boxes)
else:
boxes = tracker.update(frame)
if tracking_confidence_low:
force_detection_next_frame
- N: 5~15 프레임 사이에서 환경별 튜닝
- tracker_failed 기준 명확히 정의 필요
요약
트래킹은 단독이 아니라 감지와 결합될 때 완성된다.
5) KCF vs CSRT 선택 체크리스트
| 기준 | KCF | CSRT |
|---|---|---|
| FPS | ★★★★☆ | ★★☆☆☆ |
| 안정성 | ★★☆☆☆ | ★★★★☆ |
| 가림 대응 | 약함 | 상대적 강함 |
| CPU 환경 | 적합 | 가능 |
| 실무 기본값 | 조건부 | 권장 |
실무 적용 시 추가로 필요한 요소
- 재식별(Re-ID): 트래킹 끊긴 후 동일 객체인지 판단
- 멀티 객체 관리: ID 충돌 방지
- 신뢰도 스코어링: 자동 재감지 트리거
- 카메라 이동 보정(PTZ, 모바일)
최종 요약
- 트래킹은 성능이 아니라 안정성을 위한 기술
- KCF = 빠름, CSRT = 정확
- 실무에서는 감지와 반드시 결합해야 한다
다음 액션 플랜 (5줄)
- 매 프레임 감지를 제거한다
- KCF로 기본 트래킹을 붙인다
- 드리프트 발생 지점을 기록한다
- CSRT와 하이브리드 전략을 적용한다
- 재식별 필요 여부를 판단한다
