1) 3D Overview
왜 3D가 중요한가??
우리가 일상적으로 사는 공간이 3D이기 때문이다. 따라서 앞으로 사용하게 될 프로그램에서 이러한 3D를 인식하는 것이 중요할 것이다.
이러한 3D를 적용하는 다양한 분야가 있다.
- AR/VR
- 3D printing
- Medical application
우리가 3D 세상을 어떻게 인식하는가??
우리는 3D 그대로를 인식하는 것이 아니라 projection 된 2D의 image를 보게 된다.
만약 이러한 이미지가 2개 이상 있다면 우리는 3D로 복원할 수 있다.
3D data는 어떻게 표현하는가??
우리는 2D image는 3차원 형태로 표현했다. width * height 에 RGB라면 3개의 channel이 가지도록 말이다.
3D data의 경우 unique하게 한가지 방법만 있는 것은 아니다.
이렇게 여러가지로 표현할 수 있다.
Multi-view images의 경우 여러각도에서 사진을 촬영한 후 저장한 것과 같다.
Volumetric 은 3D gird에서 실제 물체와 비슷하게 grid를 채운것이다.
Part assembly는 part의 조합으로 본다
Point cloud는 pint 들의 집합으로 표시한다.(x,y,z) 형태의 list로 저장되어 있다.
Mesh 는 graph CNN에서 사용하기 적합한 형태이다. vertex 와 Edge 로 삼각형 형태로 이어져 있다.
Implicit shape은 고차원의 추상적인 함수로 나타내는 것이다. 그리고 그러한 함수가 0이 되는 부분이 3D 의 표면 형태가 된다. 매끈한 outline을 얻을 수 있다.
2) 3D datasets
ShapeNet
55개 종류의 51300개의 3D data가 존재한다.
PartNet
26000개의 model이 있고 각 part들이 segmentation 되어 있다.
SceneNet
500만개 의 data가 있고 RGB depth 가 있는 실내 3D data이다.
ScanNet
250만개의 RGB가 있는 3D data가 있다. 각 part들이 segmentation 되어 있다.
3) 3D tasks
1. 3D recognition
2. 3D detection
3. 3d semantic segmentation
4. Mesh R-CNN
Mesh R-CNN 의 input 에는 2D image 가 들어가고 output으로는 3d의 mesh 형태로 나온다. Mask R-CNN을 수정하여 구현할 수 있다.
Mask R-CNN의 구조는 위와 같았는데 이에 밑에 그림 처럼 3D branch를 추가해주면 된다.
'AI > CV' 카테고리의 다른 글
Vision + Language Transformers, Unified Transformer (0) | 2023.04.09 |
---|---|
Vision Transformer (0) | 2023.04.08 |
Conditional Generative Model (0) | 2023.04.04 |
Instance Panoptic Segmentation (0) | 2023.03.31 |
CNN Visualization (0) | 2023.03.30 |