본문 바로가기
AI 기초이론

3d computer vision에 대해

by 피라냐콜라다 2023. 4. 8.

흔히 컴퓨터 비전이라 하면 2d 이미지를 학습하고 판별하는 등의 생각을 하지만 컴퓨터 비전은 3d 분야에도 적용될 수 있다. 다만 현재 3d 컴퓨터 비전은 그저 사진을 찍으면 되는 2d 이미지와 달리 dataset을 전부 인간이 직접만들어야 하는 등, 어려움이 있어 2d 학습만큼 발전되지는 않았다고 볼 수 있다.

오늘은 이러한 3d computer vision 분야에 대해 아주 간단히 "이런것도 있다"라는 식으로 얘기해보려 한다.

먼저 3d 학습을 위해서는 3d 데이터를 만들어야 한다. 인간은 한눈으로는 2d이미지를, 두 눈으로는 일종의 삼각측량으로 3d 이미지를보고 있다. 그러나 컴퓨터는 인간의 방식을 이해할 수 없기 때문에 컴퓨터가 이해할 수 있는 데이터를 만들어야 하고, 이런 3d 데이터를 만드는 방법은 여러가지가 있다.

1. multi-view image : 물체를 여러  방향에서 찍은 형태

2. Volumetric(voxel) : 3d 공간을 x,y,z축의 cube로 나눠 각 공간에 물체가 있는지 0,1 로 나타내는 방법

3. Part assembly : 하나의 물체를 여러개의 작은 부분으로 나눠서 나타내는 것

4. Point cloud : 물체의 표면의 각 지점을 (x,y,z) 좌표로 나타낸 좌표들의 집합

5. Mesh(graphh CNN) : triangle mesh와 같이 각 점들을 삼각형 형태로 이어 그 표면을 나타내는 방법

6. Implicit shpae : 물체의 표면을 나타낼 수 있는 일반화된 수식으로 나타내는 것

여러 3d 이미지 형식

이런 형식으로 저장된 dataset들은 다음과 같은 것들이 있다.

1. ShapeNet

51300개의 3d 모델, 55개의 class가 있는 데이터로, 하나 하나가 전문가가 작업한 모델링들로, 각 모델의 퀄리티가 좋은 것을 볼 수 있다.

2. PartNet

26671개의 3d 모델, 573585개의 하위 part가 있는 dataset이다.

part assembly형태로 각 물체들을 나타낸 것이며, 각 물체뿐만 아니라 각 part에도 segmentation이 되어 있는 dataset이다.

예를들어 가방은 가방 본체, 가방 손잡이, 가방 바퀴 등 으로 labeling이 되어 있는 dataset이다.

3. SceneNet

500만개의 데이터가 있는 dataset으로, 단순히 보면 2d 이미지이지만 각 이미지의 RGB값과 그 깊이 정보가 들어 있는 dataset이다.

4. ScanNet

250만개의 데이터가 있는 dataset으로, SceneNet과 같이 RGB와 depth 데이터가 있지만 실제 스캔본으로 이루어진 dataset이다. 

이 외에 다른 데이터셋들도 있으나, 대부분 자율주행 자동차를 위한 dataset들이다.

 

3d data는 2d data들과 차이가 있지만, 그 task는 2d와 유사하다.

1. object recognition 

3d 물체를 보고 해당 물체가 뭔지 판별하는 것

2. object detection

2d 이미지 또는 3d 데이터를 가지고 각 물체의 위치를 특정하는 것으로, 자율주행등에 핵심적인 기술이다.

3. semantic segmentation

3d물체를 여러 부위로 나누는 것으로, neuroimaging과 같은 분야에 이용할 수 있다.

4. 3d conditional generation(cGAN)

2d 이미지를 받아서 3d 물체를 생성하는 것으로, 3d 버전 cGAN이라고 보면 된다.

 

이렇게 3d computer vision은 2d computer vision분야보다 dataset도 훨씬 작고, 아직 연구도 그만큼 많이 되지 않았지만, 그래도 모르고 그냥 생각해봤을때보다는 많이 연구되있고 dataset도 은근 모이고 있는 분야이다. 

댓글