꺼내먹는지식 준
3D Understanding 본문
왜 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 |