향상된 온라인 다중 카메라 인물 추적을 위한 Cluster Self-Refinement

Jeongho Kim
Research Engineer, Nota AI

 

요약

  • 객체 추적을 위한 효율적인 온라인 다중 카메라 시스템

  • Cluster Self-Refinement(CSR)을 통한 정확한 ID 관리

  • 향상된 포즈 추정을 통한 성능 개선

소개

  • 이번 연구에서는 CVPR 2024 AI City Challenge Workshop에서 Track1 부문 3위를 차지한 저희의 온라인 다중 카메라 인물 추적(Multi-camera people tracking, 이하 MCPT) 방법론을 소개해 드리려고 합니다. MCPT는 여러 카메라를 통해 개인을 감지하고 추적하여 그들의 움직임과 행동을 분석하는 기술입니다. 

    MCPT의 과정은 다음의 단계로 이루어집니다.

    1) 여러 카메라의 영상을 사람 감지 모델에 입력하여 객체의 위치를 바운딩 박스와 좌표로 나타냅니다.
    2) 단일 카메라 추적 알고리즘을 사용하여 감지된 객체에 로컬 ID를 할당하고, 각 ID에 대한 외형 및 위치 정보를 저장합니다.
    3) 각 단일 카메라에서 수집된 정보를 매칭하여 글로벌 ID를 부여합니다.

  • MCPT는 비디오 프레임의 타이밍에 따라 온라인 MCPT와 오프라인 MCPT로 나뉩니다. 온라인 MCPT는 과거 프레임만을 사용하여 현재 프레임을 분석하며, 실시간 스트리밍을 포함한 모든 비디오 소스에 적용할 수 있습니다. 그러나 예측이 틀렸을 경우, 이후 예측에도 영향을 미쳐 연속적인 오류로 이어질 수 있습니다. 반면, 오프라인 MCPT는 과거와 미래의 프레임을 모두 사용하여 예측 오류를 사후에 수정할 수 있기 때문에 성능은 더 뛰어나지만, 실시간 스트리밍에는 적용할 수 없습니다.

  • 이번 연구는 오프라인 MCPT의 평가 및 수정 방법을 온라인 MCPT에 적용하는 것을 목표로 합니다. 또한, 포즈 추정 모델을 최대한 활용하여 성능을 크게 향상시킨 온라인 MCPT 시스템을 제안합니다.

  • Github에서 이 코드를 확인하실 수 있습니다.

그림 1. 여러 카메라에 걸쳐 사람들을 동일한 아이디로 매핑하여 추적하는 MCPT의 예시를 보여줍니다. 중앙에 있는 이미지는 각 카메라에서 캡처한 사람들의 위치를 2D 맵으로 보여주며, 숫자는 이들의 글로벌 아이디를 나타냅니다.

 

연구의 중요성

  • 저희는 이번 연구에서 온라인 MCPT 방법을 통해 높은 성과를 거두었으며, AI City Challenge Track 1 부문에서 3위를 차지했습니다.

  • 오프라인 MCPT에서 사용된 기법을 온라인 MCPT에 적용함으로써 좋은 성능을 얻을 수 있었습니다.

그림 2. 시스템의 전체 아키텍처입니다.

 

방법론 요약

  • 저희는 2023 AI City Challenge에서도 같은 과제로 참가하여 10위를 기록했던 방법으로 논문을 발표한 바 있습니다(Kim et al., 2023). 당시 제안한 방법 역시 온라인 MCPT로, 이를 기반으로 성능을 더욱 개선했습니다.

  • 이번 연구에서는 Online CSR을 제안하여 MCPT시스템이 지금까지 저장된 외형 특징과 추적된 트랙렛을 주기적으로 확인할 수 있도록 했습니다.

그림 3. CSR의 개요입니다. 왼쪽 그림은 외형 특징을 정제하는 과정을 보여줍니다. 병합 클러스터링을 활용하여 서로 다른 사람들이 동일 클러스터에 저장되었는지 확인한 후, 맞는 경우 클러스터 트랙렛 내의 외형 특징을 정제합니다. 오른쪽 그림은 한 인물이 두 개 이상의 글로벌 ID를 가진 경우를 처리하는 중첩 클러스터 정제 과정을 보여줍니다. CSR 절차는 그림에서 빨간색 원으로 표시된 것처럼 주기적으로 수행됩니다.

1. 외형 특징 정제

클러스터 트랙렛은 단일 인물의 외형 특징만을 저장해야 합니다. 그러나 여러 사람의 외형이 하나의 트랙렛에 저장된 경우 다른 클러스터 트랙렛과의 아이디 전환(ID Switching)이 발생하며, 이는 이후 추적의 품질을 저하시킬 수 있습니다. 이를 방지하기 위해 코사인 거리를 기준으로 하는 병합 클러스터링을 사용해 트랙렛에 저장된 외형 특징을 두 개의 특징 클러스터로 나눕니다. 그런 다음, 두 특징 클러스터 간의 코사인 거리를 측정해 특정 임계값을 초과하는 경우 해당 클러스터 트랙렛에 서로 다른 인물이 포함된 것으로 판단하고 이후에 저장된 외형 특징을 삭제합니다. 설령 세 명 이상의 사람이 클러스터 트랙렛에 존재하더라도, CSR을 주기적으로 수행해 결국 단일 인물의 외형 특징만 남도록 합니다.

2. 중첩 클러스터 정제

이 단계에서는, 새로 추가된 클러스터 트랙렛의 인물이 이미 추적 중인 트랙렛의 인물과 동일한지 확인합니다. 이를 위해 새로 추가된 트랙렛과 기존 트랙렛의 외형 특징 간의 거리와 가상 공간에서 매핑된 지점 간의 거리를 측정하며, 거리가 일정 값 이하일 경우 동일 인물로 간주하고 새로 추가된 트랙렛을 삭제합니다.

이 두 가지 정제 작업은 더 나은 추적을 위해 주기적으로 수행됩니다.

  • 저희는 포즈 추정 모델을 활용해 더욱 정교한 시스템을 개발했습니다. 개인의 위치를 가상 공간에 매핑함으로써 유사한 위치에 있는 인물들이 동일 인물일 가능성이 높음을 확인할 수 있었습니다. 특히, 현재 카메라 프레임에 보이는 인물의 발 위치를 가상 공간에 매핑했습니다. 그러나 발을 포함한 신체 부위가 구조물에 의해 가려지는 경우가 많아 정확한 매핑이 어려웠습니다. 이를 해결하기 위해, 포즈 추정 모델을 사용해 신체 부위의 비율을 미리 계산하고 이를 바탕으로 가려진 발 위치를 추정하여 보다 정확한 매핑을 구현했습니다.

  • 또한, 글로벌 ID를 부여하기 위해 서로 다른 바운딩 박스에서 동일 인물로 식별된 인물의 외형 특징을 저장한 후, 새로운 프레임에서 이 특징들과 비교해 동일 인물을 매칭했습니다. 그러나 하나의 바운딩 박스에 여러 인물이 포함된 경우 혼동이 발생할 수 있습니다. 이를 방지하기 위해 포즈 추정 모델을 사용하여 신체 키포인트의 개수가 일정 임계값을 초과하는 경우, 해당 바운딩 박스를 저장하지 않도록 시스템을 설계했습니다.

 

실험 결과

  • 표 1에서 볼 수 있듯이, CSR을 적용한 결과 성능이 크게 개선되었습니다. 의도했던 대로 잘못된 아이디 매칭이 줄어들면서 Assignment Accuracy(AssA) 지표가 상승했습니다. Enhanced Utilizing Pose Estimation (EUP) 기법을 통해서도 성능을 더욱 개선할 수 있었습니다.

  • 해당당 시스템을 AI City Challenge Track 1에 제출하여 HOTA 점수 60.93%을 기록하며 참가한 17개 팀 중 3위를 차지했습니다.

표 1. CSR과 EUP를 사용한 소거 연구의 결과입니다. CSR은 Cluster Self-Refinement, EUP는 Enhanced Utilizing Pose estimation을 나타냅니다.

표 2. Challenge Track 1의 공개 리더보드입니다.

 

결론

본 연구는 단기간 내에 높은 성능을 달성하기 위해 고성능 모델을 사용했습니다. 앞으로는 이 모델을 보다 효율적인 모델로 대체하여 실제 환경에서도 높은 성능을 발휘할 수 있는 시스템을 개발할 계획입니다.


이 연구에 대해 추가로 궁금한 점이 있으시면, 📧 contact@nota.ai로 문의해 주세요.

또한, AI 최적화 기술에 관심이 있으시면 🔗 netspresso.ai를 방문해 보세요.

Previous
Previous

모바일 디바이스에 효율적인 비전 언어 모델 배포하기

Next
Next

이미지 가장자리 왜곡에 특화된 도로 객체 탐지