3D Vision

컴퓨터 비전은 센서를 통해 시각적 정보를 취득하고 이 정보를 분석하여 이미지로부터 목적에 맞는 결과를 전달한다고 볼 수 있음

3D Vision은 3차원 데이터를 직접적으로 활용하여 이 데이터에 대한 이해와 분석을 하는 분야


3D Vision Data 획득 방법

  1. Multi-Geometry

    여러 장의 2차원 이미지를 활용하여 3차원 값을 획득

  2. Depth camera

    Depth camera를 사용하여 z값을 sensing 하여 RGB 뿐만이 아니라 depth 정보 획득 가능

  3. LiDAR Sensor

    레이저 기반 스캐닝 방식으로 3차원 데이터를 직접적으로 취득하는 방식

    출력값이 point cloud로 나옴


LiDAR (Light Detection and Ranging) Sensor

직진성이 강한 pulse laser를 높은 밀도로 쏘아 이 레이저가 목표물에 닿은 뒤 돌아오는 반사광의 지연 시간을 분석하여 물체까지의 거리를 측정


LiDAR 특징
  1. 거리가 200m 이상 떨어진 물체까지 센싱 가능
    • Depth Camera 대비 먼 거리를 커버
    • 매우 근접한 거리의 물체 센싱 어려움
  2. 좋은 공간 분해능
    • 매우 짧은 파장으로 작은 각도 범위까지 세세한 표현 가능
  3. FoV (Field of View)가 좋음
    • 카메라 대비 넓으며, 회전 방식의 경우 360도까지 커버
  4. 해상도
    • 가로 방향으로 얼마나 많은 포인트를 얻는지
    • 수직 방향으로 몇 개의 채널을 사용하는지
  5. 출력으로 포인트 클라우드


LiDAR 센서 종류
Spinning LiDAR

전 모터를 통해 센서를 회전시키며 주변을 스캔하는 방식

수직으로 다수의 레이저(채널)을 쏘아 정밀하게 360도 스캔

센서가 복잡하게 구성되어 있고 가격이 비쌈

Solid state LiDAR (Scanning LiDAR)

별도의 모터 없이 한 방향에 대한 스캔 진행

단순한 센서 구성으로 저렴한 가격과 소형화 가능

시야각이 좁고 정확도가 Spinning 방식 대비 떨어짐

종류 : MEMS, OPA, Flash



3D data representation

대표적인 3D Data Representation


Voxel

Screenshot from 2024-04-04 01-57-59

Volume과 Pixel의 합성어

2D에서의 이미지 픽셀을 3차원의 형태(3D)로 확장

3D grid로 나타내고, 물체가 있는 곳을 on 시켜 3D로 표현 가능

정교한 3d object 생성을 위해 3d voxel이 high spatial resolution 가져야 함

  • 더 촘촘한 3d grid = high spatial resolution

high resolution으로 만드는 것 현실적으로 어려움


Mesh

Screenshot from 2024-04-04 02-00-14

Verticies와 이들로 이루어진 삼각형의 Faces를 사용하여 표현

컴퓨터그래픽스에서 매우 많이 사용

평평한 표면을 나타낼 때 효과적

삼각형 Faces의 크기를 조정하여 여러 detail을 표현

Neural Network에 적용하기 어려움


Point Cloud

Screenshot from 2024-04-04 02-15-16

3차원 형상을 여러 개의 점들의 집합으로 표현하는 방법

point cloud는 voxel grid보다 좀 더 쉽게 조정

  • point cloud에서는 우리가 디테일을 살리고 싶은 부분에만 더 많은 points 할당

points는 매우 작기 때문에 point cloud를 시각화 또는 명시적으로 나타내기 위해서 post-processing 과정 필요

  • points를 공크기로 부풀려서 렌더링하는 등의 과정
Point Cloud 데이터 구성
  1. 3차원 포인트 좌표 (어떤 위치에 존재)

  2. 3차원 포인트 색상
    • 색상 정보 또한 포함 가능
  3. 3차원 포인트 노말 벡터
    • Mesh는 triangle 로 surface를 표현
    • Point cloud는 normal vector를 이용하여 표현한다고 할 수 있음
  4. 그 외의 정보
Point Cloud 특징
  1. Unstructed
  2. Unordered
    • 데이터의 순서가 정해져있지 않음
  3. Simple
    • 점 하나에 위치, 색상, normal vector 등 다양한 정보 저장 가능
  4. Permutation invariant
  5. Hard to apply CNN
    • CNN은 2차원 이미지와 같이 구조화된 입력을 요구로 함


Implicit Function

Screenshot from 2024-04-04 02-18-48

3d shape를 함수로 표현하는 방식

위치값을 넣었을 때 암시적인 함수를 통하여 그 위치에 상응하는 어떤 값을 주는 방법

즉, 3d 위치 (좌표를) input으로 넣으면 그 좌표가 물체의 inside인지 outside인지의 확률을 output으로 출력

Deep Learning의 Blackbox와 같은 구조를 생각하면 편함

Point Cloud, Mesh 와 같은 representation과는 반대



참고

  1. https://ettrends.etri.re.kr/ettrends/138/0905001782/134-143_27-6.pdf
  2. https://www.synopsys.com/ko-kr/glossary/what-is-lidar.html
  3. https://blog.testworks.co.kr/3d-ai-data-point-cloud/

  4. https://koreascience.kr/article/JAKO201876262560233.pdf
  5. https://velog.io/@onground/EECS-498-007-598-005-%EA%B0%95%EC%9D%98%EC%A0%95%EB%A6%AC-17%EA%B0%95-3D-Vision#23-3d-shape-representations-voxels

  6. https://web.eecs.umich.edu/~justincj/slides/eecs498/498_FA2019_lecture17.pdf

카테고리:

업데이트: