3D 이해하기2 - 3D를 표현하는 방법

1. 2d image

 

2d image는 image의 각 pixel value가 2d array에 저장됨

 

RGB 이미지인 경우는 3 channel의 array가 존재하여 각 채널에 R,G,B의 pixel value가 저장

 

etc-image-0
사과 이미지를 자료구조로 표현하는 방법

 

 

이미지의 부분에 대응하는 pixel값이 저장

 

컬러 이미지면 3 channel로 구성

 

 

2. 3d representation

 

3d 표현은 2d image와는 다르게 유일하지 않다

 

 

1) multi-view image

 

3d 물체를 여러 각도에서 사진 찍어서 각각을 전부 보관함

 

etc-image-1

 

 

 

2) volumetric(voxel)

 

2d 이미지 표현법과 가장 비슷한 방법?

 

3d space의 물체를 적절하게 grid로 나눠서 해당 grid에 3d 물체가 차지하면 1 아니면 0의 binary로 표현?

 

etc-image-2

 

 

3) part assembly

 

3d object들의 primitive part들의 parametric한 set으로 표현?

 

그냥 쉽게 말해 3d object의 part들의 합집합으로 표현하겠다 이거인듯

 

etc-image-3
6개의 크기가 다른 사각형 상자들의 모임

 

 

4) point cloud

 

3d 물체의 각 위치를 (x,y,z)로 나타내어 이 좌표들을 리스트에 저장

 

etc-image-4

 

 

5) mesh

 

graph CNN에서 쓰기 좋은 구조

 

point cloud에서 각 점 (x,y,z)를 vertex, 각 점을 이은 선분을 edge라 하여 graph 형태로 나타냄

 

모든 연결을 삼각형 형태로 만들면 triangle mesh

 

각 삼각형이 3d 물체의 면을 형성

 

vertex와 edge의 집합을 list로 저장

 

etc-image-5
mesh에서 자주쓰는 triangle mesh를 나타낸 그림

 

 

6) implicit shape(implicit function)

 

흔하게 쓰진 않지만 최근에 각광받고 있는 표현

 

고차원의 함수로 3d 물체를 표현

 

etc-image-6

 

 

고차원의 함수 F(x)에 대하여 F(x)=0인 부분을 표현하면 3d물체의 표면이 될 것

728x90