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모델이 된다는 것 같음
각 좌표축에 색이 있는데 위치에 맞는 그 색을 가져오나봄
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를 모두 결합하여 이들을 한번에 풀게 만들었다
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를 결합하여 설계하고 있다
'딥러닝 > Computer Vision' 카테고리의 다른 글
conditional generative model과 Generative Adversarial Network 기본 개념 이해하기 (0) | 2023.06.28 |
---|---|
bounding box를 추정하는 방식이 다른 CornerNet과 CenterNet (0) | 2023.06.26 |
image의 landmark를 추정하는 모델의 기본인 Hourglass Network (0) | 2023.06.25 |
landmark localization task 기본개념 배우기 (0) | 2023.06.25 |
VPSNet의 panoptic segmentation 과정 분석 (0) | 2023.06.25 |