[3D-Study] Scene Representations -1

전민수·2024년 3월 17일

3D-Study

목록 보기
1/1

2.5D (Depth Map)

  • Depth Map은 각 픽셀의 (x, y, d) 정보 포함
  • 고정된 view에서 이미지를 representation한다면, Depth Map은 3D로 이미지를 representation한다고 생각할 수 있다.
  • 하지만, view를 돌려서 뒷면을 본다고 생각해보자. 그러면 이미지를 representation할 수 없을 것이다.

=> Depth Map은 'Full' 3D Structure를 나타낼 수 없다. -> 2.5D

Surface Representation

Point Cloud

  • Sensor(i.e. Lidar)를 이용
  • 여러 view에서 Sensor를 이용하여 Point Cloud를 얻고, 이를 이용하여 하나의 Point Cloud로 병합한다.
  • 이렇게 되면 하나의 Point Cloud는 view에 구애받지 않고, Full 3D Struture를 표현한다. (image-dependency 해결)
  • Point Cloud는 각 Point들의 집합(set)으로 표현된다. 하나의 Point는 (x, y, z) 정보를 가진다.
  • 즉, Pont Cloud는 순서가 없는 데이터(Unordered set)이다.
  • 그러므로 Point Cloud에 행해지는 모든 연산은 Permutation-invariant하게 처리되어야 한다.
  • 한계 : Point Cloud는 Lidar를 통해 얻기 때문에 sparse data라는 한계를 지닌다. 이와 더불어 Point 간의 Conectivity information이 없어, Abiguity가 존재한다.


    (다른 형태의 image이지만 같은 형태의 Point Cloud로 표현 가능 => Ambiguity)

Mesh

  • Point Cloud의 한계를 해결하기 위해, 각 Point간의 Connectivity Information을 추가한다.

  • Vertices : Position of Points

  • Faces : Indices of vertices (vertices의 연결로 face를 표현)

  • Mesh = Vertices + Faces

  • 이렇게 되면 Surface는 picewise Linear하게 근사되어 표현됨
    *Picewise Linear : 부분적으로 봤을 때, 직선으로 표현되었다는 의미

  • i.e. 곡면이 직선의 연속으로 표현됨(like 정적분)

  • 더욱 잘게 쪼개어질수록(vertices 간의 간격이 좁을수록) 더욱 근사됨

  • 하지만 계산량(computational cost)이 많아진다.

    Triangular Mesh

  • Faces는 어떻게 정의할까? 몇 개의 Vertices를 하나의 Face로 정하는 것이 좋을까라는 고민이 남아있다.

  • 다각형 중 가장 면의 갯수가 적은 삼각형이 가장 적은 ambiguity를 가지므로 'Triangular Mesh'

  • Triangular Mesh는 'ray-triangle intersertion'을 계산하기에도 효율적
    * ray-triangle intersertion : camera에서 나온 광선이 물체와 충돌하는 것을 의미. 자세한 설명 : https://wraithkim.wordpress.com/2021/06/08/%EB%A0%88%EC%9D%B4-%ED%8A%B8%EB%A0%88%EC%9D%B4%EC%8B%B1%EC%9D%98-%EC%9B%90%EB%A6%AC/ 참조

  • 또한 Texturing과 Rendering 과정에서 이점 (자세한 내용은 잘 모르겠음)

    In or Outside the Shape

  • Watertight : Mesh 내부를 물로 가득 채웠다고 생각해보자. 이 때, 물이 새지 않는다면, 이 Mesh는 완전히 연결된 상태일 것이다. watertight하다는 것은 Mesh가 완전히 연결되어 있음을 의미한다.

  • 어떤 mesh가 watertight 상태라면, 이 Mesh는 외부와 내부의 경계가 있다는 것

  • 따라서 어떤 한 점이 이 Mesh의 내부 혹은 외부에 위치하는지 판단하는 것이 가능

Field Parameterizations

  • Surface Representation part에서 하나의 object를 어떻게 mesh로 표현할 지 알아보았다.

  • 그렇다면, 다수의 Objects가 있는 공간은 어떻게 representation할까?

  • 이렇한 공간을 Field라고 하며, 스칼라, 벡터, 텐서 등 시공간에서 각 point마다의 value를 가지는 물리량으로 표현된다.

  • object의 representation은 앞서 알아봤으니, 그 외의 공간, 즉 free space에 대한 representation을 생각해보자

  • OCC (The Occupancy Field) : 물체가 공간을 차지하는지에 대한 정도를 함수로 표현
    (특정 범위에 물체가 존재한다면 1, 모서리 부분에서 0.5, 비어 있는 부분에서는 0)

  • SDF (Signed Distance Field) : 각 지점에서 가장 가까운 경계(edge)까지의 경계를 함수로 표현
    (경계에서의 SDF는 0, 어떤 원 형태의 object의 중심에서의 sdf는 원의 반지름 r)

profile
Learning Mate

0개의 댓글