3d 모델을 추정하는 Denspose와 다양한 task를 한번에 풀어내는 RetinaFace

1. DensePose

 

1-1) UV map

 

3차원 모델을 2차원 U-V좌표계에 표현하는 방법

 

모델 상 점과 UV 좌표계의 점이 1:1 대응된다

 

3D 모델이 움직이더라도 모델의 각 부분들이 고유 id가 있어서 map에 그대로 matching된다고 한다

 

다시 말하면 UV map과 3D 모델은 움직이더라도 한번 UV map상 위치를 알면 3D 모델의 위치를 추적할 수 있는 불변의 관계에 있다.

 

UV map을 color 코딩해서 대응하는 부분에 맞춰서 입히면 3d모델이 된다는 것 같음

 

3D model을 UV map으로 표시한 것

 

각 좌표축에 색이 있는데 위치에 맞는 그 색을 가져오나봄

 

 

1-2) DensePose R-CNN

 

UV map이 3d model의 좌표와 1:1대응한다는 점을 응용

 

UV map의 좌표를 출력하면 3d model의 좌표를 출력하는 것

 

Mask R-CNN의 기본 구조를 사용

 

마지막 branch에 UV map의 U,V좌표를 추정하는 3d surface regression branch를 추가

 

최종적으로 U,V좌표 맵과 body part의 segmentation map인 patch 3가지를 추정함

 

 

Mask R-CNN의 구조를 사용했다고 직접 언급한 논문+ROI align을 사용했다는 점, segmentation map인 patch를 추정했다는 점

 

Faster R-CNN이라고 써있는데 여러 군데 참고한 결과 Mask R-CNN이 맞지 않나 싶다

 

UV map은 3d 모델로 변환할 수 있으므로 2d 이미지를 넣어서 3d 모델을 만드는 괴물같은 network

 

논문의 의의는 3d 데이터 표현으로 UV map을 제시했다는 점

 

실제로 예측한 결과로 COCO-Densepose dataset이라는 3d dataset을 제공한다는 점이 논문에 언급

 

 

2. RetinaFace

 

2-1) 구조

 

고해상도 feature map을 뽑아내는 Feature pyramid network에

 

classification, bounding box detection, landmark point regression, mesh regression 등 다양한 task의 branch를 모두 결합하여 이들을 한번에 풀게 만들었다

 

RetinaFace의 기본 구조

 

2-2) 다양한 task를 한번에 풀면 어렵지 않을까?

 

결합한 task들은 얼굴 image에 대하여 조금씩 다른 task인데

 

여기서 오는 공통된 정보에 의하여 backbone network인 FPN이 강하게 학습되는 효과가 있다

 

왜냐하면 모든 task branch로부터 오는 gradient를 고려한 FPN이 학습되기 때문에 적은 데이터로도 오히려 데이터를 많이 보는 효과를 얻는다

 

 

하나의 backbone이 동일한 데이터로 모든 task branch로부터 다양한 gradient를 받아 다양한 정보를 흡수하여 강하게 학습하는 all in one training

 

3. 컴퓨터 비전의 큰 흐름

 

Mask R-CNN은 Faster R-CNN에 mask prediction branch를 결합한 형태

 

DensePose R-CNN은 Mask R-CNN에 U,V 좌표를 추정하는 branch를 결합한 형태

 

컴퓨터 비전의 큰 흐름은 모델을 FPN같은 backbone network에 다양한 target task의 branch를 결합하여 설계하고 있다

TAGS.

Comments