Metadata

HOnnotate

HOnnotate, A method for 3D Annotation of Hand and Object Poses Shreyas Hampali, Mahdi Rad, Markus Oberweger, and Vincent Lepetit Institute for Computer Graphics and Vision, Graz University of Technology, Austria LIGM, Ecole des Ponts, Univ Gustave Eiffel, CNRS, Marne-la-Valle, France CVPR 2020


Abstract

객체를 조작하는 손의 이미지에서 손과 객체의 3D 포즈를 함께 어노테이션하는 방법과 그 방법을 사용하여 생성된 데이터셋을 제안함

✔ 손으로 물체를 다룰 때, 일반적으로 상호 가림으로 인해 3D 포즈를 추정하는 것이 어렵다 이러한 문제에서 생성된 데이터셋이 많지 않다

✔ 이러한 문제를 해결하기 위해 여러 개의 RGB-D 카메라로 시퀀스를 캡쳐하고 3D손 및 객체 포즈를 동기화 하여, 큰 상호 가림에도 정확하게 자동 어노테이션이 가능하다

✔ 최초로 손과 물체 모두에 마커가 없는 컬러 이미지 데이터세트 HO-3D 를 만들었고, 77,557개의 프레임, 68개의 시퀀스, 10명의 사람, 10명의 객체로 구성됨

제안한 데이터셋을 사용하여, 단일 RGB 이미지 기반 상호 가림에도 강인한 Hand Pose 예측 방법을 개발한다


1. Introduction

1.1. 배경

  • 단안 이미지에서 물체와 손의 3D Pose 추정 방법은 딥 러닝의 개발과 대규모 데이터세트로 인해 최근 상당한 발전을 이루었지만, (손 + 객체)의 상호작용에 대한 특정 데이터 세트가 없기 때문에 이러한 상호 가림이 큰 경우 여전히 실패한다.
  • (손+객체) 상호작용 데이터셋은 어노테이션하기 매우 어렵지만 이 것은 증강 현실 응용 프로그램이나 로봇 공학에서 모방을 통한 학습에 매우 유용할 것.

1.2. 실제 이미지에 어노테이션 (Annotating real images)

  • 3D Hand Pose 추정 알고리즘을 사용하여 자동 어노테이션할 수 있다. 이는 노이즈가 많지만 일반적으로 당연하게 훈련과 평가에 사용된다.
  • 다른 방법으로는 그림과 같이 손에 부착된 센서를 사용하는 것. 이는 3D 포즈를 직접 제공하지만, 이미지에 센서가 보일 수 있으므로 학습을 편향시킨다. > 마커는 손 모양을 변경하기 때문에 컬러 이미지의 3D 손 레이블링에 사용할 수 없다.


1.3. 합성 이미지 생성 (Generating synthetic images)

  • 합성 이미지(손 모델 렌더링 이미지 인듯)는 3D 포즈를 완벽하게 알고 있다
  • 합성이미지를 Realistic 렌더링과 Domain transfer 를 통해 학습 시킬 수 있다 (참고)
  • 하지만 복잡한 조작은 시뮬레이션하기가 어렵고 실제 데이터의 일반화를 위해서는 여전히 실제 이미지 - 3D 어노테이션 정보가 필요하다.

제안 (Proposal)

  • 손과 물체가 상호작용하는 실제 이미지에 3D 포즈 자동 어노테이션 방법을 제안함


  • 제안한 방법은 단일 RGB-D 카메라에서 작동하지만, 더 나은 정확성을 위해 가능한 경우 더 많은 카메라를 활용할 수 있다

  • 단일 카메라 셋업은 시퀀스에 따라 그랩 포즈가 조금씩 다르다는 가정하게 작동하고, 멀티 카메라 셋업은 복잡한 손+객체 상호작용 시나리오를 처리할 수 있다


  • 제안한 방법은 frame-by-frame 으로 포즈를 추적하는 것이 아닌, 시퀀스에 걸쳐 손과 물체의 모든 3D 포즈를 최적화 한다


  • MANO 핸드 모델 과 물체의 3D 모델(YCB-Video 데이터 세트)에 의존함


  • 위 그림은 제안한 방법을 사용하여 수집된 HO-3D 데이터세트이고, 이 것을 사용해 단일 RGB 이미지에서 객체를 조작하는 손의 3D 포즈 예측을 학습하였다.

    • 이미지를 입력으로 주면, 관절의 방향 벡터와 2D 포인트를 예측하도록 딥 러닝을 훈련시켰고, 예측된 2D 포인트와 방향 벡터를 MANO 모델에 적용(피팅)하여 3D로 리프팅함

    • 이 검증은 제안한 어노테이션 방법으로 추정된 3D 포즈가, 실제로 사용될 수 있다는 사실을 검증한다.


  • MANO 매개 변수를 다이렉트로 추정하는 핸드+객체 포즈 추정을 위한 방법(ObMan)과 비교하여 2D 키포인트를 예측하고 3D로 리프팅하는 것이 더 정확하게 수행된다는 것을 보여준다.



2.1. 3D Object Pose Estimation

  • 단일 프레임에서 객체의 3D 포즈를 추정하는 문제.
  • 일부 방법은 가림에 강하지만 대부분이 3D 객체 모델을 Depth 데이터에 피팅하기 위해 RGB-D 데이터에 의존한다.
  • 이러한 경우 손이 객체를 잡을 때, 손이 물체의 표면으로 오인될 수 있어서 포즈 추정을 실패할 수 있다.

2.2. 3D Hand Pose Estimation

  • 싱글 이미지에서 손의 3D 포즈를 추정하는 문제.
  • Discriminative 방법Generative 방법으로 나눌 수 있다.
  • Discriminative 방법은 RGB 또는 RGB-D 이미지에서 관절 위치를 직접 찾아낸다.
  • 랜덤 포레스트를 기반으로 초기 방법에서부터 현재 딥러닝을 기반으로하여 놀라운 성능을 보여주는 추세.
  • 그러나 Discriminative 방법은 부분 가림이 일어날 때 성능이 떨어진다.
  • Generative 방법은 핸드 모델의 운동학적 구조를 활용하여 물리적으로 타당한 핸드 포즈 가설의 이점을 가진다. GANerated, 방법2 는 2D 관절 위치를 예측한 후 3D로 리프트함.
  • 제안한 방법은 Discriminative 방법Generative 방법 모두와 관련있다. Generative 방법을 사용하여 글로벌 최적화 프레임워크 내에서 포즈 어노테이션을 생성한다. Discriminative 방법은 이 복잡한 최적화를 초기화하기 위해 사용한다.

2.3. Synthetic Images for 3D Pose Estimation

  • 실제 이미지에 대한 어노테이션을 획득하기 어렵기 때문에, 합성 데이터에 대한 Discriminative 방법을 학습할 수 있는 것은 가치가 있다.
  • 손의 합성 이미지를 보다 사실적으로(실제처럼) 만들기 위해 GAN 을 사용한 GANerated
  • 합성 이미지를 사용하는 것은 매력적이지만 가상 장면(Scene)을 만들기 위해 비용과 시간이 많이 든다.

2.4. Joint Hand+Object Pose Estimation

  • 공동 손+객체 포즈 추정을 위한 초기 포즈 추정 방법은 일반적으로 멀티뷰 카메라 셋업과 프레임 바이 프레임 트래킹 방법에 의존 했으며, 이는 시간이 지남에 따라 발생하는 드리프트 오류나 초기화에 대해 주의가 필요하다.
  • A 방법은 RGB-D 객체 형상 스캐닝을 위해 손가락 접촉점을 추적하는 생성 방법을 제안함.
  • B 방법은 RGB-D 에서 손과 물체의 프레임 간 추적을 위해 물리 시뮬레이터와 3D 렌더러를 사용하는 것을 제안함.
  • C 방법은 RGB-D 이미지에서 다중 객체 및 다중 손 추적을 위해 Collaborative Tracker의 앙상블을 사용함.
  • 이러한 방법의 정확도는 질적으로 높은 것으로 보이지만, 실제 환경에서 실측 자료 수집이 어려운 것으로 알려져 있기 때문에 합성 데이터 세트에 대해 제안된 방법을 평가하거나, 파악 시나리오 중 손 또는 물체 자세 차이의 표준 편차를 측정하여 평가한다.

2.5. Hand+Object Datasets

  • 손+객체 상호 작용을 위한 여러 데이터 세트가 이미 제안되었지만, 대부분 그랩과 동작 레이블링에 초점을 두고, 3D 포즈를 제공하지 않는다.


  • 방법 54는 큐브를 조작하는 손의 RGB-D 데이터 세트를 제안했는데, 여기에는 큐브의 핑거팁 위치와 3D 포즈 모두에 대한 수동 실측 정보가 포함되어 있다.


  • 방법 15 는 손 관절과 물체 포즈 모두에 대한 3D 주석을 가진 손과 물체 상호 작용 데이터 세트를 제공한다. RGB-D 비디오 시퀀스에서 손 3D 포즈 주석을 얻기 위해 사용자의 손과 물체에 부착된 자기 센서로 만들어진 모션 캡처 시스템을 사용했다. 그러나 이는 컬러 이미지에서 센서와 센서를 부착하는 테이프가 보이는 문제가 있다.

  • 최근 ObMan, 2019 손이 물체를 잡는 대규모 이미지 데이터셋을 소개함. 데이터세트는 합성 이미지로 구성되어있고 로봇 공학의 알고리즘을 사용하여 생성됨.


  • FeriHAND, 2019 는 손-객체 상호 작용을 포함하는 멀티 뷰 RGB 데이터세트를 제안하였으나, 주석은 손의 3D 포즈와 모양만 있다.

  • 녹색 화면 배경 환경에서 여러 RGB 카메라로부터 주석을 얻기 위해 human-in-the-loop 방법을 사용한다.


제안방법

제안한 방법은 완전 자동화로 어노테이션을 하고, HO-3D 데이터세트는 실제 이미지에 대한 3D 손 관절과 3D 물체 포즈 주석을 모두 제공하는 최초의 마커 없는 데이터세트이다


3. 3D Annotation Method

  • (3.1) 3D 손과 물체 포즈를 정의
  • (3.2) 비용함수 정의
  • (4.1, 4.2) 포즈를 자동으로 초기화하고 여러 단계에서 최적화하는 방법

3.1. 3D Hand and Object Poses

  • 시퀀스의 모든 이미지에서 객체와 손의 3D 자세를 추정하는 것을 목표로함
  • MANO 핸드 모델을 채택하고 YCB-Video dataset 을 사용했다. 해당 3D 모델이 사용가능하고 품질이 좋기 때문에.
  • MANO 핸드 포즈는 51 DoF = 45 DoF (15개 손가락 관절 마다 3 DoF 씩 ) + 손목 관절의 6 DoF (회전 3, 이동 3) 로 구성되어있다.
  • 손목관절과 15개의 관절은 손목관절 노드를 첫 번째 부모 노드로 하는 운동학적 트리를 형성함.
  • 포즈 파라미터 외에도, 핸드 모델에는 shape 파라미터 가 있고 방법58과 유사하게 추정한다.

3.2. Cost Function

  • 손 + 물체 포즈 추정을 energy minimization 으로 공식화: 이때, 는 데이터 항과 제약조건을 나타낸다.
  • 먼저 를 보면,
    • : 실루엣 불일치 항
    • : Depth residual 항
    • : 2D 핸드 조인트 위치 에러
    • : 3D error 항
  • 는 다음과 같이 정의된다.
    • : 부자연스러운 포즈를 방지하기 위해 손을 사전 포즈
    • : 손과 물체가 서로 겹치지 않도록 하는 물리적 타당성
    • : 시간적 일관성

Silhouette discrepancy term

실루엣 불일치 항 (Silhouette discrepancy term)
  • (현재 추정된 포즈로 렌더링된 손과 객체의 실루엣)과 그들의(세그멘테이션 마스크)와 비교한다.
  • 는 카메라 에서 렌더링된 손과 객체의 실루엣
  • 손과 물체 모델은 자세 매개 변수와 관련된 방정식의 도함수를 계산할 수 있는 미분 렌더러를 사용하여 카메라 평면에서 렌더링된다.
  • 세그멘테이션 는 카메라 의 컬러 이미지 에서 얻는다. (YCB 물체에 손의 이미지를 오버레이, 언더레이 하여 합성한 이미지로 학습된 DeepLabv3를 이용함)

Depth residual term

Depth residual term
  • 손과 물체의 Depth Map 렌더링과 카메라 에서 촬영된 Depth Map을 비교한다.
  • 는 현재 추정된 손과 객체의 포즈의 Depth 렌더링
  • 는 카메라 에서 얻은 Depth.
  • 미분 렌더러를 사용하여 Depth Map이 렌더링 된다.

2D Joint error term

2D 핸드 조인트 위치 에러 (2D Joint error term)
  • ==21개의 손 관절은 15개의 손가락 관절, 5개의 손가락 끝, 손목 관절로 구성되어 있음==
  • 는 핸드포즈 번째 3D 손 관절 위치
  • 를 카메라 에 투영
  • 는 예측된 2D 위치
  • 는 컨피던스
  • 히트맵에서 는 최대 값의 위치이고, 은 최대 값 그 자체.
  • 히트맵을 예측하기 위해서 CNN 기반 방법의 아키텍처 CPM을 학습했다.
  • 학습 데이터셋은 우리의 반자동 방법으로생성된 초기 데이터셋(각 시퀀스의 첫 번째 프레임에 대한 그립 포즈와 객체 포즈를 수동으로 초기화, 그 후 최적화)과 Panoptic Studio Dataset

3D error term

3D 에러 항 (3D error term)
  • 항에서 모든 카메라의 깊이 정보가 사용되므로 반드시 필요하지는 않지만, 최소값 수렴을 가속화 하는데 도움이 된다.
  • RGB-D 카메라들의 깊이 맵을 기준 프레임으로 변환 후 이를 병합하여 포인트 클라우드 를 구축한다.
  • 각 카메라 이미지의 세그멘테이션 마스크 를 이용해 에서 객체 포인트 클라우드 와 핸드 포인트 클라우드 를 분할한다.
  • 최적화의 각 반복과정에서 포인트 클라우드와 mesh 간 (객체 포인트 - 객체 mesh의 vertex), (핸드 포인트 - 핸드 mesh의 vertex) 각각 가장 가까운 쌍을 찾아 서로 비교한다.

Joint angle constraint

관절 각도 제약 (Joint angle constraint)
  • 결과 포즈의 자연스러움을 보장하기위해 손의 15개 관절에 제한을 둔다.
  • 관절의 3차원 회전은 MANO 모델에서 축 각도 표현을 사용하여 매개변수화 되어 45개의 관절 각도 매개변수가 생성된다.
  • 에서 번째 관절 각도 파라미터
  • 는 lower limit, 는 upper limit

Physical plausibility

물리적 타당성 (Physical plausibility)
  • 최적화 중에 핸드 모델은 객체 모델을 관통할 수 있으며, 이는 물리적으로 불가능하다. 이를 피하기 위해 물체와 손이 서로 침투할 경우 서로 밀어내는 항.
  • 각 핸드 vertex 에 대해, 관통하는 양 은 다음과 같이 정의된다.

는 핸드 vertex와 가장 가까운 객체 vertex 는 vertex의 노멀 벡터

  • 즉, 침투량은 손 꼭짓점과 가장 가까운 물체 꼭짓점을 연결하는 벡터를 물체 꼭짓점 위치의 정규 벡터에 투영함으로써 추정된다.

Temporal consistency

시간적 일관성 (Temporal consistency)
  • 이전 항들은 모두 각 프레임에 독립적으로 적용되지만, 해당 항은 모든 프레임에 대한 포즈를 함께 제한할 수 있다.

4. Optimization

  • Eq(1) 최적화는 추정해야 할 매개 변수가 많은 매우 비볼록 문제이기 때문에 어려운 작업이므로, 그림과 같이 여러 단계에서 최적화를 수행한다.

4.1. Multi-Camera Setup

Initialization

  • 멀티카메라 환경에서, 첫 번째 프레임()에서 핸드 포즈에 대한 첫 번째 추정 는 위의 식을 통해 얻는다.
  • Dogleg optimizer 사용
  • 첫 번째 객체 포즈 추정 는 YCB 물체와 손의 합성 데이터셋으로 학습된 BB8 방법을 통해 얻는다.

참고


HandPoseObjectPose논문정리datasets