[논문]
Monocular, One-stage, Regression of Multiple 3D People
[초록]
- regression of multiple 3D people from a single RGB image
- (기존) multi-stage pipeline
- detection in bounding boxes
- independent regression of 3D body meshes
- (제안) ROMP : one-stage fashion for Multiple 3D people
- bounding box-free
- per-pixel representation in an end-to-end manner
- Body Center heatmap + Mesh Parameter map → 3D body mesh on the pixel level
- body-center-guided sampling process 통해, Mesh Parameter map에서 body mesh parameter를 쉽게 추출
- 프로세스가 간결하고 occlusion에 더 강경
[Introduction]
- 기존 3D estimation 방식의 한계: multi-stage approach, multi-person(occlusion) scenes
- ROMP : one-stage network for regressing multiple 3D people in a per-pixel prediction fashion
- 전체 이미지에서 multiple differentiable map들을 직접 추정: 모든 사람들의 3D mesh들을 쉽게 분석해낼 수 있음
- Body Center heatmap 과 Mesh Parameter map을 예측, 2D position of the body center와 상응하는 3D body mesh의 파라미터 벡터를 나타냄
- 간결한 parameter sampling process를 통해, 3D body mesh parameter vectors 를 Mesh Parameter map으로부터 추출 - at the body center locations described by the heatmap
- 그 다음, 샘플링된 mesh parameter vector들을 SMPL body model에 입력하여 multi-person 3D mesh 추출
- 훈련하면서 the guidance of body centers를 따르기 때문에 다인원 상황에서 회귀 타겟(regression target)의 모호함이 크게 감소됨
- (기존 local, bounding-box-level 방식과 다르게) 전체 이미지로부터 end-to-end 방식으로 학습함으로써 모델이 전체 이미지에서 적절한 feature를 학습하고 겹쳐진 몸들을(bodies with occlusion) 예측할 수 있음
- 심각하게 겹쳐진 사람들의 body center의 경우 동일한 2D position에서 충돌할 수 있기 때문에, collision-aware representation(CAR) 를 개선, 개발
- 핵심 : body centers 의 repulsion field(척력장)를 구성, 근접한 body center는 마치 양전하(positive charges)처럼 mutual repulsion(상호 반발성)에 의해 밀어내짐
- 이러한 방식으로, 겹치는 사람들의 body center가 더 distinguishable 해짐
- 심각하게 겹치는 경우 대부분의 신체 부분이 보이지 않게 되는데, mutual repulsion으로써 center를 visible한 신체 부분으로 밀어냄
- 모델은 visible한 신체 부분을 중심으로 한(centered on) position에서 3D mesh parameter를 추정해 샘플링함
- 우수한 벤치마크 성능 달성, 1070Ti GPU 에서 real-time(30 FPS 이상)으로 실행
1. ROMP is the first one-stage method for monocular multi-person 3D mesh regression, along with an open-source real-time implementation. Its simple yet effective framework leads to superior accuracy and efficiency.
2. The proposed explicit body-center-guided representation facilitates the pixel-level human mesh regression in an end-to-end manner.
3. We develop a collision-aware representation to deal with cases of severe overlap.
[Approach]
- a simple multi-head design with a backbone and three head networks
- single RGB image → (1) Body Center heatmap, (2) Camera map, (3) SMPL map
- 추정된 3D human mesh에 대한 구체적인 정보를 묘사함
- Body Center heatmap : probability of each position being a human body center 예측
- At each position of the Camera/SMPL map, 해당 position이 center인 사람에 대해 camera/SMPL parameters 예측
- Camera map + SMPL map = Mesh Parameter map
- inference
- Body Center heatmap 에서 2D body center 위치를 추출, 그 위치에서의 the Mesh Parameter map를 통해 3D body mesh parameter 결과값을 샘플링
- 샘플링된 parameter를 SMPL 모델에 입력해 3D body mesh를 생성함
Basic Representations
- 각 map의 사이즈는 n x H x W
- n : 채널수
- H = W = 64 로 상정
- Body Center heatmap Cm ∈ ℝ1×H×W
- heatmap representing the 2D human body center in the image; each body center is represented as a Gaussian distribution
- 더 나은 representation learning을 위해 2D image 상 scale information까지 통합(integrate)
- 2D body scale 에 대해 각 person center의 Gaussian kernel size k 를 계산
- person bounding box의 대각선 길이 dbb 와 Body Center heatmap의 너비 W가 주어졌을 때,
CAR: Collision-Aware Representation
- 간결한 body-center-guided representation 기반 → 다양한 케이스에서도 모델이 center 위치를 쉽게 추정할 수 있도록 explicit하고 robust한 body center를 정의하는 것이 중요
- Basic definition of the body center
- 기존에는 target center를 bounding box의 중심으로 정의, 의미적으로 중요한 키포인트가 없는 일반적인 객체(ex. 공, 물병) 에 있어서는 잘 작동하지만, 인간 신체에 있어서는 아님
- ground truth 2D pose 로부터 각 body center를 계산
- 어떤 body joint도 겹칠 수 있음을 고려하여, body center를 보이는(visible) torso joints의 중심으로 정의: 목, 좌우 어깨, 골반, 좌우 힙
-
- 모든 torso joint가 보이지 않는 경우(invisible), 보이는(visible) joint들의 평균으로 결정
- 따라서 모델은 visible한 신체부위로부터 body location을 예측하게 됨
- 사람끼리 심각하게 겹치는 경우에, 사람들의 body center가 Cm 상에서 매우 가깝거나 아예 동일한 위치에 있음
- 이러한 “center collision problem” 으로 인해 center가 모호해지고 사람이 붐비는 상황에서 구분하기 어려워짐
- 겹치는 사람들의 center points 이 최소 거리를 유지하여 잘 구분될 수 있게 하고, 동일한 사람에 대해 파라미터를 중복 샘플링하는 것을 피하기 위해, 각 사람에 대해 unique하고 explicit한 center를 부여할 필요가 있음
- Collision Aware Representation(CAR)
- body center들이 충분히 서로 떨어져 있게 하기 위해서 repulsion field(척력장)를 구성함
- 이 필드에서 각 body center를 양전하(positive charge)처럼 다루며 repulsion의 반지름은 Gaussian kernel size(k)와 동일함
- body center가 가까울수록 mutual repulsion이 더 강력해지고 더 멀리 밀어내게 됨
- body center들이 충분히 서로 떨어져 있게 하기 위해서 repulsion field(척력장)를 구성함
-
- 겹치는 사람이 여러 명일 경우, i 번째 center 쌍에 대해서 dpi 생성 - N개의 repulsive forces 에 영향 받는 center는 ΣNi=1 dpi으로 계산
- 학습시에 CAR 를 사용해 근접한 body center를 떨어트리고 Body Center heatmap을 supervise 하는 데 사용, 구별 가능한 거리를 유지한 채로 center를 추정할 수 있게 됨
- Body Center heatmap : 모델이 가려진(occluded) 사람의 위치를 효과적으로 찾을 수 있도록 도움
- Mesh Parameter map : 옮겨진(shifted) 위치로부터 파라미터를 샘플링함으로써 모델이 각 사람에 대한 다양하고 개별적인 feature를 추출할 수 있게 됨
- CAR로 훈련된 모델은 기차역이나 구내식당 등과 같이 사람이 붐벼 객체가 매우 겹쳐 있는 상황에 더 적합 → 우리의 경우에는?
Parameter Sampling
Loss Functions
[용어]
- statistical shape space
- 6d rotation representation
- kinematic chain
probability map
'인공지능 > pose estimation' 카테고리의 다른 글
EasyMocap with Openpose (0) | 2022.08.13 |
---|---|
Impersonator++ 이해하기 (0) | 2022.08.10 |
Vanishing Points; How to Compute Camera Orientation (0) | 2022.05.11 |
Camera Calibration (0) | 2022.05.11 |
How to Compute Intrinsics from Vanishing Points (0) | 2022.05.11 |