ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3D Human Mesh Regression with Dense Correspondence
    논문 리뷰/오늘의 논문 2022. 4. 25. 21:36

    최근에 재미있게 읽은 논문이 있어서 소개해보고자 한다.

    재미있게 읽은 이유는 다음과 같다.

    1. camera parameter 이용

    2. continuous UVmap 이용

    3. pixel to location, surface

    4. loss function

    사실 논문을 볼때 사람을 mesh 형태로 reconstruction할 때 uv space계로 보낸다음 reconstruction하자는 것으로 생각하면서 논문을 보면 수월할 것이다. 재밌는 점은 1, 2번 그리고 uv space계로 보내자 라는 상상은 평소에 해봤던 상상이라 재미있게 읽을 수 있었고, 디테일한 부분을 볼 수 있었다. 이사람은 이렇게 상상을 현실화 시켰구나 왜 이 loss를 사용했을까 이런생각 말이다. 

    본 논문은 cvpr 2020에 소개된 논문이고 그렇다면 실제로 실험한건 2019년이라는 소리다. ㅎㅎ; 

    전 한참 멀었군요 2019년이면 제가 딥러닝 몰랐었던 때 인것 같습니다. 이런 논문을 발표해 주신 선배님들께 감사드리며 리뷰를 시작하겠다.

     

    Abstract 

    - 단일 2d 이미지에서 인체의 3d mesh를 추정하는것은 vr ar human robot interaction 같은 많은 응용 프로그램에서 중요한 작업이다.

    - 이전 까지의 작업은 CNN으로 부터 추출한 전역이미지 특징(global feature)에서 3D mesh를 reconstruction 하였다. 이런 방법은 픽셀과 mesh surface간의 dense corresponding이 누락되어 차선책 솔루션으로 이어진다.

    - UV 공간(즉, 3D 메쉬의 텍스처 매핑에 사용되는 2D 공간)에서 메쉬와 로컬 이미지 기능 간의 dense corresponding을 명시적으로 설정하는 DecoMR이라는 모델 없는(model-free) 3D human mesh reconstruction 프레임워크를 제안한다.

    1. DecoMR은 먼저 픽셀 대 표면 dense corresponding 맵(즉, IUV 이미지)을 예측하며, 이를 사용하여 이미지 공간에서 UV 공간으로 로컬 특징을 전송한다.

    2. 전송된 로컬 이미지 기능은 UV 공간에서 처리되어 전송된 기능과 잘 정렬된 위치 맵을 회귀한다.

    3. 마지막으로 사전 정의된 매핑 기능을 사용하여 회귀된 위치 맵에서 3D human mesh reconstruction 수행한다.

    - 기존의 UV 맵이 네트워크 학습에 별로 좋지 않음을 관찰함. 따라서, 인접관계를 유지하는 새로운 UV 맵을 제안한다

     

    =>  요약에 사실상 이 논문의 전체가 표현되었다. 참 요약 잘하신거 같다.. 보고 배워야한다. ㅎㅎ

     

    1. Introduction

    - 단안의 카메라에서 사람 전체 몸 포즈 그리고 모형을 추정하는 것은 다양한 응용분야에서 근본적인 일이다.

    ex) VR/AR , video editing

    - 3D mesh human body 표현법은 넓게 채택되고 있다.

    - 그러나, 3D voxel과 다르게 픽셀과 템플릿 mesh 표면과의 조밀한 대응이 사라진 반면 입력과 출력 간의 이러한 조밀한 대응은 다양한 작업에 중요한 것으로 입증되었다. 이러한 한계로 인해 3d mesh based 방법들은 model-free or not 이미지 픽셀 표현과 메쉬 표현 사이에서 대응을 무시해왔다. 그리고 대부분 전역변수를 기반으로 추정하거나 계층적 투영을 하거나 조정하였다. 이러한 것들은 처음의 추정에 민감하거나 시간이 걸리는 작업들이다. 

    - 우리는 메쉬 표면에서 인접 관계를 유지하는 새로운 UVmap을 제안한다.

    - 우리는 전송된 로컬 이미지 특징에 의해 output 3d mesh와 input image 사이의 dense corresponding을 명시적으로 설정한다.

     

    2. Related Work

    2.1. Optimization-based methods

     선구자들의 작업은 실제 신체 랜드마크 위치와 관련하여 사전 정의된 3D 인체 메시 모델(예: SCAP 및 SMPL])의 매개변수를 최적화하거나 2Dkeypoints 추정을 사용하여 3D 인체 재구성을 해결한다. 네트워크 정밀도를 향상시키기 위해 추가 랜드마크가 사용되기도 한다. 최근 연구에서는 인간의 의미 부분 분할 단서, 장면 및 시간적 제약을 통합하여 여러 사람의 신체를 재구성할 수 있음을 보였다.  

     

    2.2. Learning-based methods

    Model-based methods

    - 대표적으로 HMR은 RGB 이미지에서 SMP 매개변수를 회귀한다.

    - 일부의 다른 접근 방식은 2D joint heatmap과 같은 중간 표현(실루엣, 시맨틱 분할, IUV이미지)을 사용한다.

    - SPIN은 네트워크를 감독하여 3D 인체 모델 매개변수 최적화를 네트워크 훈련 프로세스에 통합하고 모델 기반 3D 인체 추정 접근 방식 중 SOTA를 달성하였다.

    - 최적화 기반 방법과 비교할 때 모델 매개변수 회귀 방법은 계산적으로 더 효율적이다. 이러한 방법은 3D 인간 모델에 포함된 사전 지식을 사용할 수 있고 모델이 없는 방법에 비해 생물학적으로 그럴듯한 인체를 재구성하는 경향이 있다. 그러나 이러한 사전 정의된 인간 모델의 매개변수 공간에 의해 표현이 제한된다.  

     

    Model-free methods

    - 인간 모델에 의존하지 않고 이미지에서 직접 3D 인체 표현을 회귀하는 방법론들도 존재한다.

    - BodyNet은 Voxel-CNN을 사용하여 3D 인간의 체적 표현을 추정한다.

    - Voxel 및 포인트 클라우드 기반 표현은 유연하며 다양한 토폴로지로 개체를 나타낼 수 있으나, 디테일을 표현하는 것에 있어서 메모리 효율에 제한을 받는다.

    - CMR은 Graph-CNN을 사용하여 이미지 특징에서 정점의 3D 좌표를 직접 회귀한다. Densebody는 UV 위치 맵의 형태로 정점 위치를 추정한다. 최근 연구는 2차원 기하학 영상을 이용하여 3차원 형상을 표현하는데, 이는 특수한 종류의 UV-위치 지도라고 볼 수 있다. 그러나 여전히 인간 메쉬와 이미지 간의 일치가 부족하고 전역 이미지 기능에만 의존하여 전체 표면을 추정한다.

    - HMD는 계층적 투영과 메쉬 변형을 통해 초기 추정된 인간 메쉬를 개선하였다.

    - PIFu는 3D 인간을 implicit function으로 재구성한다. HMD 와 PIFu는 로컬 이미지 기능을 활용할 수 있다. 

    - HMD와 PIFU는 reconstruction result에서 인상적인 세부 사항을 달성하였으나 HMD는 계산 집약적이며 민감하다. implicit function은 인체의 의미론적 정보가 부족하다.

     

    => 기존의 연구들과 비교하여 왜 우리 연구가 필요한지 기존의 연구들의 단점을 명시하였음

     

    3. Our method

     

    3D Human Mesh Regression with Dense Correspondence CVPR2020

    (그림 참고)

    - DecoMR(저자들이 제안하는 framework)은 2가지 요소로 구성되어 있다. image space에서 행해지는 CNet과 연속적인 UVmap에서 행해지는 지역네트워크인 LNet이다.

    - Cnet은 인코더-디코더 구조이며 IUV이미지를 추론한다. 로컬 이미지 특징 Fim을 추출하고, 그런 다음 이미지 피쳐 Fim을 전송된 로컬 피쳐 FUV로 전송하기 위해 추정된 IUV 이미지를 사용한다.

    - Lnet은 UV 공간에서 위의 전송된 로컬 기능 FUV를 입력으로 사용하고 위치 맵 X를 회귀한다. 픽셀 값은 메쉬 표면의 해당 점의 3D 좌표다. 마지막으로 3D 인간 메쉬 V는 미리 정의된 UV 매핑 기능을 사용하여 위의 위치 맵에서 재구성된다. 결과적으로 위치맵과 전송된 피쳐 맵은 UV 공간에서 잘 정렬되어 출력 3D 메쉬와 입력 이미지간의 dense correspondence를 이끈다.

     

    DecoMR의 목적 함수는 다음과 같다.

    3D Human Mesh Regression with Dense Correspondence CVPR2020

    3가지의 다른 목적의 로스 함수로 정의 되어있다.

    1. LIUV는 예상한 IUV이미지와 GT IUV이미지의 거리를 최소화 한다.

    2. LLOC는 회귀된 human mesh(location map)와 GT human mesh의 비유사성을 최소화 한다.

    3. 인풋 이미지와 아웃풋 메쉬를 정렬하는 것을 돕기 위하여 회귀된 location map과 GT IUV이미지의 consistent loss를 계산한다.(to increase consistency between the regressed location map and the GT IUV image)

     

    3.1. The Continuous UV map

    - 기존의 흔히 쓰는 SMPL UVmap보다 이웃간의 관계가 더 보존이 잘된 새로운 연속적인 UVmap을 정의한다.

    - 먼저 전체 메쉬 표면을 전체적으로 유지하면서 템플릿 메쉬를 열린 메쉬로 조심스럽게 분할한다. 그런 다음 초기 UV 맵을 얻기 위한 UV 맵과 원래 메시 표면 사이의 영역 왜곡을 최소화하기 위해 영역 보존 3D 메시 평면 매개변수화 알고리즘을 사용한다. 

     

    Comparisons.

    3D Human Mesh Regression with Dense Correspondence CVPR2020

    1. S1 으로 표기된 2D상관계수를 구한다. A= 메쉬 B = UV맵 거리 행렬 A바와 B바는 각각 A와 B의 평균이다. m과 n은 매쉬 vertices를 의미한다.

    2. 우리는 메쉬와 UVmap의 정규화된 코사인 유사도를 구하였다. 

     

    3D Human Mesh Regression with Dense Correspondence CVPR2020

    위의 표를 보면 알 수 있듯이 저자들이 만든 연속적인 UVmap이 상관계수와 코사인 유사도가 높게 나온 것을 알 수 있다.

     

    => 저자분들 께서는 UVmap, IUV loss, Loc loss, con loss를 구성하였으므로 뒤에 나올 내용도 이것들의 구성요소가 차례대로 나올 것임을 예상하면서 읽자!

     

     

    Pixel to Mesh Correspondence.

     저자들이 제안하는 연속적인 UV 맵을 사용하면 메쉬 표면의 모든 점을 UV 맵의 좌표(즉, UV 좌표)로 표현할 수 있다. 따라서 인체에 속하는 각 픽셀에 대한 UV 좌표를 추정하여 픽셀과 표면의 대응 관계를 예측할 수 있으며 이것은 IUV 이미지로 이어집니다. 더 중요한 것은 위치 맵으로 3D 메쉬를 나타낼 수도 있다. UV 공간에서 픽셀 값은 메쉬 표면의 해당 점의 3D 좌표이다. 따라서 다음 공식을 사용하여 위치 맵에서 3D 메쉬를 재구성할 수 있다.

     

    => 요약하자면 이미지 스페이스 대신 UV스페이스로 변환하여 표현하면 이는 메쉬 표면위위의 점이 될 뿐만아니라 픽셀과 대응시켜서 관계를 예측할 수 있다는 뜻(맨처음의 아이디어 즉 좌표계를 UV로 옮겨서 생각해보자를 표현한 것임)

    3D Human Mesh Regression with Dense Correspondence CVPR2020

    Vi는 3D 버텍스의 위치를 의미하며 X는 location map ui, visms UV 에 대응되는 버텍스를 의미한다.

     

     

    3.2. Dense Correspondece Network(CNet)

     Cnet은 인코더 디코더 구조이고, 인코더는 resnet50을 백본으로 한다. 그리고 디코덩서는 몇번의 업샘플링과 인코더와 스킵커넥션을 한다. 인코더는 로컬 특징맵과 글로벌 특징 벡터, 마찬가지로 3d mesh를 이미지 평면에 투영할 때 사용하는 카메라 파라미터를 회귀한다. 디코더는 처음 사람몸의 마스크를 생성한다(안의 픽셀과 구분되는). 그리고 디코더는 정확한 전면 픽셀 UV좌표를 생성한다(IUV이미지를 구성하는). 예측된 IUV 이미지를 사용하여 모든 이미지 픽셀에 대한 메쉬 표면의 해당 지점을 결정할 수 있다. Cnet의 loss function은 다음과 같다.

    3D Human Mesh Regression with Dense Correspondence CVPR2020

    Lc는 BCE이며(전면과 후면을 구분하는=> 사람과 배경을 구분하는) Lr은 UV좌표를 예측하는 l1 회귀 로스이다. 

     

     

    3.3 Vertex coordinates regression

     LNet(Location Net)은 3D 메쉬를 쉽게 재구성할 수 있는 위치 맵을 출력하여 메쉬 정점의 3D 좌표를 회귀하는 것을 목표로 한다. LNet은 먼저 예측된 IUV 이미지의 안내에 따라 이미지 공간에서 UV 공간으로 이미지 기능을 전송한다.

    3D Human Mesh Regression with Dense Correspondence CVPR2020

    여기서 (x, y)는 fore로 분류된 픽셀의 이미지 공간 좌표이고 (u, v)는 UV 공간의 예측 좌표이다. Fim은 이미지 공간의 피쳐 맵이고 FUV는 UV 공간의 전송된 피쳐 맵이다. 피쳐 맵 FUV는 출력 위치 맵과 잘 정렬된다. 따라서 LNet은 해당 로컬 이미지 기능을 사용하여 위치 맵을 예측할 수 있다. 이미지 픽셀과 메쉬 표면 영역 간의 대응은 명시적으로 설정된다. 저자들의 프레임워크는 픽셀 값 대신 feature를 전송한다.

     Lnet은 가벼운 CNN으로 구성되어있으며 전송된 로컬이미지 피쳐, 확장된 글로벌 이미지 피쳐 그리고 인풋으로 넣은 참조 로케이션 맵 과 스킵커넥션한다.

     직관적으로, 우리는 예측되는 로케이션 맵 X와 GT 로케이션 맵 사이에 가중화된 l1 로스를 적용한다. 

    3D Human Mesh Regression with Dense Correspondence CVPR2020

     W는 다른 매쉬 부위 발란스를 맞추기 위해서 사용되는 가중치 맵이다.

    3D Human Mesh Regression with Dense Correspondence CVPR2020

    선행 연구들에서 사용되어 왔던 2D, 3D 조인트 로스를 사용한다. 여기서 vi는 가시성을 나타내는 조인트 이다.

     

    3D Human Mesh Regression with Dense Correspondence CVPR2020

    Lnet의 전체 로스는 식 (9)와 같다.

     

    Consistent Loss 

     회귀된 위치 맵과 실제 IUV 이미지 사이에 추가 supervision을 추가하여 3D 메시와 이미지 간의 정렬을 개선한다. IUV 이미지를 사용하여 위치 맵을 UV 공간에서 이미지 공간으로 다시 전송하고 모든 전경 픽셀에 대한 3D 좌표를 얻을 수 있다. 그런 다음 3D 좌표는 이미지 공간의 픽셀 좌표와 일치해야 하는 2D 좌표를 얻기 위해 이미지 평면에 투영된다. consistent loss는 다음과 같다. 

    3D Human Mesh Regression with Dense Correspondence CVPR2020

    여기서 X는 예측된 위치 맵이고 π(X, c)는 예측된 카메라 매개변수 c가 있는 투영 함수를 나타내며 x, y, u, v는 수식 5와 동일하다. 

     

    나머지 내용은 사실 데이터셋, 학습 파라미터 설명, Sota와 비교, ablation study이므로 생략하겠다.

     

    자세히 다시 읽어보니 배울점이 많은 논문이였고, 구현은 어떻게 했을지 궁금해졌다. 

    지금 하는 것을 끝내고 찬찬히 뜯어봐야겠다.

     

Designed by Tistory.