[논문]

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가 주어졌을 때,

디폴트 setting : kl=2, kr=5

 

 

 

 

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이 더 강력해지고 더 멀리 밀어내게 됨

겹치는 centers
repulsion vector 만큼 밀어내진 centers

 

repulsion vector

 

CAR triggered

 

    • 겹치는 사람이 여러 명일 경우, 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
복사했습니다!