꺼내먹는지식 준

3D Understanding 본문

AI/CV

3D Understanding

알 수 없는 사용자 2022. 3. 17. 14:16

왜 3D 가 중요한가? 

로봇, 자율주행, 게임, AI, VR, 3D prining, medical application, 화학, 단백질 구조 분석 등 중요한 영역이 너무 많다. 

우리 세상 자체도 3D 

3D 공간에 대한 이해와 활용이 중요 

$\rightarrow$ 우리는 3D를 직접은 못보고 프로젝션된 2D image를 본다. 

빛은 직진성이 있기에, 3D와 2D 는 직진 관계에 있다. (선형)

 

그런 의미에서 카메라는 3D 장면을 2D에 projection tool이다. 

재밌는 점은 projection 된 사진 2장이 있으면 3D 복원이 가능하다. 

2장의 2D 이미지 포인트에서 교차점을 통해서 3D 복원 

2D data 표현 방법

3D data 표현 방법 

여러 방법이 있다. 

1) 3D 를 여러 각도에서 2D 이미지를 사용해서 보간 

2) 2D와 비슷한 방법 3D를 적당히 격자로 나눠서 3D object가 격자를 차지하고 있는지 binary 형태로 표현 

3) 간단한 기본적 도형의 parametric 한 집합으로 표현 

4) point 들의 집합 저장될때는 (x,y,z) 형태로 n 개의 데이터가 저장 

5) mesh는 graph cnn에서 사용하기 좋은 구조, triangle mesh를 주로 사용

vertex 와 edge 의 set 으로 구조화 

6) Implicit shape $F(x) = 0$ 고차원의 functing 형태로 3D를 표현하고, 0과 교차하는 부분들을 따면 3D형상이 나오는 형태 

 

Dataset 

 

ShapeNet 

3D 표현으로 학습/ task 정의하기 위한 dataset 

5만여개의 3Dobjects 가 55개의 category로 구분 

디자이너들이 만든 3D 모델들 

 

 

PartNet 

ShapeNet의 개선 버전 

Fine-grained dataset 

하나의 오브젝트에 대해서 디테일들이 annotation 되어있다. 

약 2만 6천개 3D model $\rightarrow$ 파트들의 57만 여개  instance 

 

SceneNet 

5백만개의 RGB-depth pair의 indoor images 

indoor에서 난잡하게 가구가 랜덤하게 배치되어있다. 

 

ScanNet 

RGB - depth pair dataset 250만개의 view 

시뮬레이션이 아닌 실제 스캔 데이터

 

Outdoor 3D dataset 

일반적으로 무인차 연구에 사용되는 데이터들 

 

주로 레이저 스캐너 데이터셋, 3D bounding box label 

 

3D tasks 

3D recognition 

3D detection (3D bbox)

other tasks 

 

그냥 cat 이다 label 

volume metric 사용 

 

3D space에서 point cloud가 주어졌을 때 3D bbox 칠 수도 있고, image에서도 찾을 수 있다. 

 

3D Semantic segmentation 

 

각 파트별로 segmentation 

 

Mesh R-CNN 

인풋은 2D image , 아웃풋은 3D mesh 

detection 도 같이 된다. 

mask R CNN 의 head 를 mesh 형태로 modification 

이미지 --> 2D detection --> 3D mesh or voxels reconstruction 

 

 

MASK R CNN 

box 박스 classes mask 브랜치 

mesh R CNN 은 3D branch 가 하나 추가 

3D branch가 3D mesh 출력 

나머지는 그대로 사용 

 

 

2D 이미지가 주어지면, CNN이용, multi task head 를 이용해서 depth 추정, 실루엣 추정, suface normal 추정 후 합성해서 full 3D 를 만든다. 즉 sub problem (물리적 의미 분리)를 통한 3D reconstruction 

 

RGB 이미지가 들어오면은 depth 를 표현하고, depth 를 spherical map형태로 변환 (depth image center 점으로부터 방사형 방향으로 바라보는 형태로 map 형성), 보이는 부분은 포함되지만 보이지 않는 부분은 누락된다. 이 부분을 추적해서 채워준다. (FULL 3D)그 후 그 부분들을 고려하여 project voxel 생성, 전체적 mesh 구성 

 

물리적 의미있는 sub problem 부터 3D 생성 방법들이었다. 

 

3D이해는 모든 분야에서 정말 중요한 task 이다. 

실제 세계 우리와의 interaction 구현을 위해서는 3D 이해가 필수 

 

 

 

 

'AI > CV' 카테고리의 다른 글

mAP란? FLOPs 란?  (0) 2022.03.21
YOLO v3  (0) 2022.03.19
Multi modal learning  (0) 2022.03.17
Conditional generative model  (0) 2022.03.16
Instance segmentation, Panoptic segmentation  (0) 2022.03.14
Comments