1. 개요
혼잡한 비디오 시퀀스에서 인간을 추적하는 것은 시각적 장면 이해의 중요한 구성 요소이다. 증가하는 군중 밀도는 인간의 가시성에 도전하여 기존 보행자 추적기의 확장성을 더 높은 군중 밀도로 제한한다. 이러한 이유로, 우리는 2,276,838개 이상의 헤드가 있는 11,463개 프레임의 9개 시퀀스와 다양한 장면에서 주석이 달린 5,230개 트랙으로 구성된 CroHD(Crowd of Heads Dataset)로 머리 추적을 활성화할 것을 제안한다. 평가를 위해, 우리는 이미지 좌표 공간에서 가장 긴 거리에 대한 고유한 정체성을 보존하는 알고리듬의 효과를 측정하여 보행자 군중의 모션과 추적 알고리듬의 성능 사이의 대응 관계를 구축하기 위해 새로운 메트릭인 IDEucl을 제안했다. 또한, 우리는 붐비는 장면에서 작은 머리 감지를 위해 설계된 새로운 머리 감지기인 헤드헌터를 제안한다. 우리는 머리 추적을 위해 입자 필터와 색상 히스토그램 기반 재식별 모듈로 헤드헌터를 확장한다. 이를 강력한 기준선으로 확립하기 위해 추적기를 CroHD의 기존 최첨단 보행자 추적기와 비교하고 특히 신원 보존 추적 메트릭에서 우수성을 입증한다. 경량 머리 감지기와 신원 보존에 효율적인 추적기를 통해, 우리는 우리의 기여가 밀집된 군중에서 보행자 추적을 발전시키는 데 유용할 것이라고 믿는다.
2. 소개
밀집된 환경에서 인간을 효율적으로 추적하기 위해, 우리는 뚜렷하게 보이는 부분인 머리를 통해 인간을 추적하고자 한다. 이를 위해 추적을 위해 Annotation(이하 주석)이 달린 머리의 바운딩박스가 있는 11,463 프레임의 9개 시퀀스로 구성된 새로운 데이터 세트인 CroHD, Crowd of Heads Dataset을 제안한다. 또한 이를 보완하기 위해, 우리는 CroHD에 대한 두 가지 새로운 기준 방법인 헤드헌터, 그 Trackier인 헤드헌터-T를 개발한다. HeadHunter-T는 헤드헌터를 입자 필터 프레임워크와 헤드트래킹을 위한 경량 재식별 모듈로 확장한다. HeadHunter-T가 강력한 기준 추적기임을 검증하기 위해 CroHD에서 평가된 혼잡한 MOT 챌린지 벤치마크에서 발표된 3개의 최고 성능 보행자 추적기와 비교한다. 우리는 또한 우리의 기여의 유용성을 설명하기 위해 머리 감지에 의한 추적과 신체 감지에 의한 추적 사이의 비교를 수행한다.
추적 알고리듬과 보행자 동작 간의 대응 관계를 설정하려면 GT 보행자 궤적을 성공적으로 표현하는 데 있어 다양한 추적기의 적절성을 이해할 필요가 있다. 따라서 우리는 이미지 좌표 공간에서 GT 궤적의 가장 긴 길이에 대해 동일한 정체성을 유지하는 일관성을 기반으로 추적 알고리듬을 평가하는 새로운 메트릭 IDeucl을 제안한다. IDEucl은 우리의 데이터 세트와 호환되며 정적 카메라로 기록된 모든 추적 벤치마크로 확장할 수 있다.
요약하면, 이 논문은 다음과 같은 기여를 한다.
(i) 우리는 밀집된 군중에서 추적을 위해 주석이 달린 보행자 헤드를 가진 새로운 데이터 세트인 CroHD를 제시한다.
(ii) 우리는 CroHD, HeadHunter,
(iii) HeadHunter를 CroHD의 기준 헤드 트래커로 확장하여 HeadHunter-T를 개발한다.
(iv) 우리는 추적기의 효율성을 평가하기 위해 새로운 메트릭인 IDeucl을 제안한다. GT 궤적과 마지막으로
(v) HeadHunter-T가 CroHD의 기존 최첨단 추적기 세 대와 비교하여 강력한 기준선임을 입증한다.
[3] - 데이터셋이라 pass
[4] - Evaluation Metric
5. 방법 : 머리 감지 및 추적
이 섹션에서는 Head Hunter와 Head Hunter-T의 설계 및 작업에 대해 설명합니다.
5.1. 헤드헌터 : 탐지기
탐지는 객체 추적의 중추적인 단계이기 때문에 탐지하는 객체의 특성과 크기를 고려하여 헤드헌터를 기존 객체 탐지기와 다르게 설계했다. 헤드헌터는 3가지 기능적 특성을 가진 종단 간 2단계 검출기이다.
첫째, Resnet-50 백본을 기반으로 피처 피라미드 네트워크(FPN)를 사용하여 여러 규모의 기능을 추출한다. 머리의 이미지는 모양이 균일하며, 혼잡한 장면에서는 종종 외부 물체(일반적으로 배경)와 유사하다. 그러한 이유로, 머리 감지 문헌에서 영감을 받아, 우리는 상황 의존적 예측 모듈(CPM)인 각 개별 FPN 위에 증강했다. 이 상황별 모듈은 3×3 컨볼루션을 위한 128개 및 256개 필터와 1×1 컨볼루션을 위한 1024개 필터가 있는 4개의 Inception-ResNet-A 블록으로 구성된다. 혼잡한 장면에서 보행자의 머리를 감지하는 것은 인접한 많은 작은 크기의 물체를 감지하는 문제이기 때문에, 우리는 각 feature map의 공간 해상도를 높이기 위해 모든 피라미드 수준에 걸쳐 Feature에 트랜스포스(Transpose) 컨볼루션을 사용했다. 마지막으로, 회귀 및 분류 헤드가 각각 위치 오프셋과 신뢰 점수를 제공하는 동안 지역 제안 네트워크(RPN)가 객체 제안(Objcet Proposals)을 생성하는 고속 RCN 헤드를 사용했다. 우리가 제안한 네트워크의 아키텍처는 그림 4에 요약되어 있다.
즉, 기존 U-net방식마냥 다운샘플링-업샘플링은 하면서(맨 왼쪽, 각 P의 사이즈는 (256, 10*2^i, 10*2^i)),
각 P는 3×3 컨볼루션을 진행하는 128개 및 256개 필터와 1×1 컨볼루션을 진행하는 1024개 필터, 총 4개의 필터로 구성된 CPM을 돌린다. 이는 말그대로 Context-Sensitive로, 여러 Scale에서 맥락을 파악하게 해주는 거다.
다음으로는 Transpose Convolution을 진행한다. 이는 단순히 해상도를 높이는 역할을 한다. 즉 이전 단계에서 해상도가 완전히 쪼그라들었을 수 있으니, 이를 회복시키는 것. Transpose Convolution에 대해선 아래에 링크 남긴다.
마지막인 RPN이 Regression과 Classification을 진행. 정작 RPN이 뭔진 안나온다. 다른데서 찾으면 나올지도..
5.2. 헤드헌터-T : 추적기
헤드헌터를 두 개의 모션 모델과 헤드트래킹을 위한 색상 히스토그램 기반 재식별 모듈로 확장했다. 모션 모델은 대상의 모션을 예측하는 입자 필터와 시퀀스에서 카메라 모션을 보상하는 향상된 상관 계수 최대화로 구성된다. 입자 필터는 동적 시스템의 상태를 재귀적으로 추정하는 순차 몬테카를로(SMC) 프로세스입니다. 저자의 구현에서, 저자는 입자(Particle)라고 하는 각 대상에 대한 경계 상자 제안 세트로 사후 밀도 함수(posterior density function)를 나타낸다. 입자 필터를 사용하면 프레임에 걸쳐 헤드의 빠른 이동과 보행자 변위로 인해 발생하는 동작의 비선형성을 동시에 모델링할 수 있다.
표기법: 비디오 시퀀스 I이 주어지면, 우리는 그 안에 있는 순서대로 정렬된 프레임 집합을 {I0, · · ·, IT -1}로 나타낸다. 여기서 T는 시퀀스의 총 프레임 수이다. 논문 전반에 걸쳐, 우리는 비디오 시퀀스에서 시간 인스턴스를 나타내기 위해 첨자 표기법을 사용한다. 시간 t의 프레임 I에서 활성 트랙(Active Track)은 Tt = {b1t, b2t, ... bNt}로 표시됩니다. 여기서 bkt는 k번째 활성 트랙의 경계 상자(Bounding Box)를 가리키며, bkt = (xkt, ykt, wkt, hkt)로 표시됩니다. 시간 t에서 k번째 트랙에 해당하는 i번째 입자는 p(k,i)t로 표시되고 각각의 중요도 가중치(Importnace Weigt)은 w(k,i)t로 표시된다. Lt 및 Nt는 각각 비활성 트랙과 새로 초기화된 트랙의 세트를 나타냅니다.
입자 초기화: 새 트랙은 시퀀스 시작 시, 헤드헌터가 제공한 탐지에서 I0, 기존 트랙과 연결할 수 없는 탐지를 위해 프레임 It에서 초기화된다. 기존 트랙과 새로운 탐지의 그럴듯한 연관성은 NMS(Non-Maximal-Suppression)로 해결된다. 각 입자의 중요도 가중치는 초기화 시 동일하게 설정됩니다. 각 입자는 4차원 상태 공간을 나타내며, 각 대상의 상태는 (xc, yc, w, h, ˙xc, ˙yc, ˙w, h˙)로 모델링됩니다. 여기서 (xc, yc, w, h)는 경계 상자의 중심, 폭 및 높이를 나타냅니다.
예측 및 업데이트: 시간 t > 0에서 활성 트랙에 해당하는 입자의 경계 상자를 사용하여 현재 프레임의 Feature Map인 Ft에서 RoI 풀링을 수행한다. 그런 다음 현재 프레임에서 각 입자의 위치는 이전 프레임에서 주어진 HeadHunter의 회귀 헤드를 사용하여 조정됩니다. 각 입자의 중요도 가중치는 HeadHunter 분류 헤드를 통해 각각의 Foreground 분류 점수로 설정된다. 각 입자의 새로운 위치와 중요성 가중치를 고려할 때, k번째 트랙의 추정 위치는 입자의 가중 평균으로 계산된다. (5)
리샘플링: 입자 필터링 프레임워크는 퇴행성 문제(degeneracy problems)를 겪는 것으로 알려져 있으며, 그 결과 중요도가 낮은 입자를 대체하기 위해 샘플링되었다. k번째 트랙에 해당하는 M개의 입자는 각 헤드의 위치의 확률 분포에 유의미하게 기여하는 입자의 수 N=(6)이 임계값을 초과하면 리샘플링된다.
비용 일치: 추정 상태 S(식 5의 답)의 점수가 임계값 아래로 떨어지면 트랙이 비활성으로 설정됩니다. 이러한 트랙의 위치는 등속 가정(CVA)에 따라 예측되며 새로 감지된 트랙과 확실한 유사성이 있으면 추적이 재개됩니다.
유사성, C는 (7)식으로 정의되며, 여기서 Lit과 Njt는 각각 잃어버린 트랙과 j번째 새 트랙이다. 그리고, d1은 HSV 공간에서 각각의 색상 히스토그램 사이의 Bhattacharyya 거리를 나타낸다. 트랙이 다시 식별되면 새 위치 주변의 입자를 다시 초기화합니다.
즉, 위의 과정에서 머리를 찾아냈으면 RoI풀링을 진행한다. 이는 RoI인 FeatureMap을 FC layer에 집어넣기 위해 구획으로 나눈 다음 MaxPooling을 진행해 어거지로 FC layer Input사이즈로 만드는 작업이다.
다음으로 HeadHunter의 Classification에서 진행한 작업을 통해 각 머리(추정)의 foreground에 가중평균을 계산한다. 이것이 곧 (5)의 식.
그중 일부는 중요도가 낮은, 즉 머리가 아닌데도 머리를 나타내는 것일 수도 있다. 이를 걸러내는 작업이 (6).
이렇게 되면 이 헤드(추정)에 대한 추적은 비활성화가 된다. 그러나 만약 새로 감지된 트랙이 이것과 유사하다면 재추적을 실시한다. 이를 계산하는 것이 (7)식으로, C를 통해 기존 잃어버린 L과 새로찾은 j번째 새트랙 N이 유사하다면 트랙이 재식별되며, 새 위치 주변의 입자(particle)을 다시 초기화한다.
[참조글]
Transpose Convolution
https://zzsza.github.io/data/2018/02/23/introduction-convolution/
딥러닝에서 사용되는 여러 유형의 Convolution 소개
An Introduction to different Types of Convolutions in Deep Learning을 번역한 글입니다. 개인 공부를 위해 번역해봤으며 이상한 부분은 언제든 알려주세요 :)
zzsza.github.io
RoI풀링
https://velog.io/@iissaacc/RoI-Pooling
RoI Pooling
Backbone과 RPN으로부터 넘어오는 data를 받아서 최종적으로 bbox를 그리고 bbox 안에 있는 object의 class를 예측하는 모듈이다. 2 stage detector, 1 stage detector 모두에 두루 쓰인다.
velog.io
가중평균
https://ko.wikipedia.org/wiki/%EA%B0%80%EC%A4%91_%EC%82%B0%EC%88%A0_%ED%8F%89%EA%B7%A0
가중 산술 평균 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 가중 산술 평균은 자료의 평균을 구할 때 자료 값의 중요도나 영향 정도에 해당하는 가중치를 반영하여 구한 평균값이다. 예를 들면, 어느 학생의 아래 성적표
ko.wikipedia.org
그리고 (순차)몬테카를로 방식도 좀 찾아봐야겠다.
'버츄얼유튜버' 카테고리의 다른 글
마르코프 체인 / 몬테카를로 예측 / 선형 칼만 필터 (0) | 2023.02.19 |
---|---|
NVIDIA-SMI 및 기타 환경 구축 (0) | 2022.12.06 |
To Choose or to Fuse? Scale Selection for Crowd Counting (2) | 2022.12.02 |
Generating High-Quality Crowd Density Maps using Contextual Pyramid CNNs (0) | 2022.12.02 |
Density Map 작성법 (0) | 2022.11.29 |