본 글은 네이버 부스트 캠프 AI Tech 기간동안
개인적으로 배운 내용들을 주단위로 정리한 글입니다
본 글의 내용은 새롭게 알게 된 내용을 중심으로 정리하였고
복습 중요도를 선정해서 정리하였습니다
✅ Week 5
- What is 3D?
- 3D Data represent
- 3D Data sets
- 3D tasks
- 3D recognition
- 3D obejct detection
- 3D Segmentation
- Conditional 3D generation
1. What is 3D?
우리가 생활하고 살아가는 공간은 3D로 구성되어 있다
따라서 이 3D를 모델에 학습시키고 데이터적으로 표현할 수 있다면
더 많은 것을 딥러닝으로 구현할 수 있을 것이다
실제로 우리가 3D 세상을 어떻게 인식할까?
사실 우리가 인식하고 있는 3D는 2D로 projection된 객체들이다
즉, 실제 3D의 물체를 우리는 시각적으로 2D로 받아들이고 있는것이다
이는 컴퓨터 화면에 사진을 띄웠을 때도 같은 원리로 작동한다
기존 3D 객체를 2D의 형태로 변환하여 화면에 구현하게 된다
그렇다면 2D 객체를 다시 3D로 되돌릴 수는 없을까?
가능하다
projection 되어진 2개의 2D가 있다면 교차점을 통해서 3D로 되돌릴 수 있다
이를 Triangulation이라고 한다
1.1 3D Data represent
그렇다면 실제로 우리는 3D를 컴퓨터에서 어떻게 표현할 수 있을까?
2D 이미지의 경우 RGB 3차원을 갖는 2차원의 행렬로 표현을 했었다
이와 다르게 3D는 다양한 형태로 표현이 가능하다
(1) Multi view image
: 여러 각도에서 객체를 촬영한 이미지
(2) Volumetric
: 3D 객체를 격자로 나누어서 3D space 차지 정도를 나타난 형태
(3) Part assembly
: 객체의 기본적인 부분을 나눠서 표현한 형태
(4) Point Cloud
: 3D 공간 상에 위치한 포인트들의 집합
(5) Mesh
: Point Cloud 의 점들을 삼각형의 형태로 선으로 연결한 형태
(6) Implicit shape
: 고차원의 함수를 이용해서0과 교차하는 지점을 이어 나온 3D 형태
1.2 3D Data sets
3D data는 많이 존재하지 않기 때문에 얻기가 어렵다
대표적인 Datasets들은 다음과 같다
⭐ShapeNet
⭐PartNet
각 파트별로 구성되어있어서 Segmentation에 좋은 데이터셋
⭐ScanNet
RGB-Depth Dataset
⭐Outdoor 3D scene datasets
- KITTI dataset
- Semantic KITTI
- Waymo Open Dataset
2. 3D tasks
3D data들 또한 2D image 처럼 다양한 task들이 존재한다
지금부터 3D의 다양한 task들에 대해서 알아보도록 하자
2.1 3D obeject recognition
3D data도 2D data와 마찬가지로 CNN 모델을 사용해서 라벨을 출력하는 classification에 활용된다
여기서 사용되는 CNN 은 Volumetric CNN으로 이는 모델의 차원과 인풋의 형태만 달라졌을 뿐
크게 달라진 점은 없다
2.2 3D obeject detection
3D object detection의 경우 앞에서 살펴본 KITTI 데이터셋의 형태를 활용해서 진행할 수 있다
3D 이미지의 위치를 파악한다거나 3D 공간을 파악함으로써
이러한 task는 자율주행에 많이 활용된다
2.3 3D semantic segmentation
3D semantic segmentation의 경우 앞에서 살펴본 Segmantic KITTI 데이터셋을 활용해서 진행할 수 있는데
이러한 task는 각 객체의 클래스를 추출하는 것을 목표로하고
3D Mesh를 segmentation하는 Task도 존재한다
2.4 Conditional 3D generation
3D 데이터셋은 또한 생성모델에서도 활용이 가능하다
Mesh R-CNN의 경우 조금 특별한데
2D 이미지를 input으로 넣으면 3D mesh를 출력값으로 리턴한다
모델 구조는 어렵지 않는데
앞에서 배웠던 Mask R-CNN에 3D branch를 추가해서 3D mesh 출력을 추가해준다
'네이버 부스트캠프 🔗 > ⭐주간 학습 정리' 카테고리의 다른 글
[네이버 부스트 캠프 AI Tech]Pytorch 알쓸신잡 - Autograd 작동원리 (0) | 2023.04.11 |
---|---|
[부스트 캠프]Week 5 회고 및 Week 6 목표 정리 (0) | 2023.04.10 |
[네이버 부스트 캠프 AI Tech]Multi Modal (0) | 2023.04.05 |
[네이버 부스트 캠프 AI Tech]Conditional Generative Model (0) | 2023.04.03 |
[네이버 부스트 캠프 AI Tech]Landmark Localization & Detecting objects as keypoints (0) | 2023.04.03 |