728x90
반응형

 

Paperhttps://openaccess.thecvf.com/content/CVPR2022/papers/Wang_Contextual_Instance_Decoupling_for_Robust_Multi-Person_Pose_Estimation_CVPR_2022_paper.pdf

 

GitHubhttps://github.com/kennethwdk/CID

 

GitHub - kennethwdk/CID: Code for "Contextual Instance Decoupling for Robust Multi-Person Pose Estimation", CVPR 2022 Oral

Code for "Contextual Instance Decoupling for Robust Multi-Person Pose Estimation", CVPR 2022 Oral - GitHub - kennethwdk/CID: Code for "Contextual Instance Decoupling for Robust Multi...

github.com

 

 

개요

CVPR 2022에 게재된 "Contextual Instance Decoupling for Robust Multi-Person Pose Estimation" 논문은 Crowded scene 환경에서 여러명의 pose를 추정하기 위해 CID(Contextual Instance Decoupling)이라는 새로운 파이프라인을 제안합니다.

 

person bounding box에 의존하여 사람을 구분하는 대신 이미지에서 사람을 multiple instance-aware feature map으로 분리합니다. bounding box 기반 방식과 비교하였을 때, bounding box 크기 보다 더 큰 scale에서 context cue를 탐색할 수 있기 때문에 crowd 환경에서 다른 사람으로부터 헷갈렸던 추론 결과를 개선시킵니다. 실험결과에 따르면, CrowdPose 데이터세트에서 비교적 최근 발표되었던 방법들인 DETR, CenterAttention, JC-SPPE 방법 보다 나은 결과를 달성한다고 합니다.

 

이 논문에서 새로운 파이프라인이라고 표현 하였는데, 기존의 방식과 어떤 점이 다른지 살펴보면 좋을 것 같습니다. 

 

MPPE(Multi-Person Pose Estimation)에서는 다양한 파이프라인이 존재합니다. 

 

(a) top-down 방식 : bounding box를 이용하여 사람들을 crop 한 뒤에 heatmap 방식을 이용하여 추론
(b) bottom-up 방식 : 모든 키포인트들을 검출한 뒤 다른 사람이라고 grouping 하는 방법
(c) single-stage 방식 : 샘플링된 feature vector를 기반으로 키포인트 좌표를 직접 regression 하는 방법
(d) CID 방식 : instance-aware feature map을 생성한 다음 각 사람으로부터 heatmap을 추론하는 방법

 

본 논문에서 제안하는 CID 방식은 top-down 방식의 detection error, bottom-up 방식의 keypoint localization error, single-stage 방식의 long distance regression error에 대한 문제를 극복 할 수 있다고 합니다.

 

 

그렇다면, 각 사람의 instance를 어떻게 분리해냈을까요? 핵심은 IIA, GFD 입니다. 

 

IIA(Instance Information Abstraction)

위 그림과 같이 IIA(Instance Information Abstraction)를 통해 각 사람을 나타내는 location 과 feature를 추출합니다. 이 때 center point를 기반으로 중심점을 추정하며, 이와 같은 방법을 쓰면 비슷한 외모를 지니더라도 location 정보가 포함되니 구별 해낼 수 있다고합니다. IIA는 아래와 같이 수식으로 나타낼 수 있습니다. 수식에서 F는 사람의 특징을 나타내는 representative feature 이고, I는 i번째 사람에 대한 위치 정보를 담고있습니다. 이는 GFD를 통해 original feature map F를 m instance-aware feature map으로 decouple하는 attention mechanism을 따르게 됩니다. 

 

 

 

GFD(Global Feature Decoupling)

GFD에서는 original feature map을 변경하여 instance-aware feature를 생성하며, 각 feature map은 사람의 heatmap과 keypoint를 각각 추정하게 된다고 합니다. 즉, original global feature map에서 person cue를 분리하도록 설계됩니다. 이는 spatial-wise 및 channel-wise 를 고려하여 decoupling을 수행하게 됩니다. 쉽게 말해서 사람을 feature map의 공간적 위치 및 채널 측면에서 분리해내는 것입니다. Spatial recalibration 및 Channel recalibration이 이루어지게 되는데, Spatial recalibration은 feature map에서 i번째 사람을 공간상에서 강조하기 위해 foreground에 있는 특징의 가중치를 높이고, 다른 사람들에 대한 특징의 가중치는 저하시키는 것입니다. 즉, GFD는 각 사람의 foreground를 나타내는 spacial mask를 생성하고, i번째 사람에 대한 spatial recalibration을 수행합니다. Channel recalibration은 다른 채널로 사람을 분리하기 위해 수행됩니다. 

위 수식에 있는 첫번째 항의 F는 i번째 사람에 대한 decoupled feature map입니다. 이는 heatmap module에 feed 될 수 있으며, i 번째 사람에 대한 keypoint heatmap H를 얻게 됩니다.

 

 

실험결과

그렇다면 속도 면에서는 어떨까요? SOTA 방법들에 비해 비슷한 크기의 메모리를 사용하며, 더 빠른 추론 속도를 제공한다고 하네요. instance가 늘어나면 늘어날수록 리소스가 많이 들줄 알았는데 center point에 대한 instance를 계산하니까 속도가 빠른 편 같습니다. :) 

 

 

COCO 데이터세트에서 평가한 결과는 아래와 같습니다. top-down, bottom-up, single-stage 방법과 비교했을때 SOTA 성능을 달성합니다.

 

728x90
반응형