포인트 클라우드에 x,y,z 정보 외로 어떤 정보를 담을 수 있을까요?

SJ·2025년 2월 17일
0

이 게시글은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.


LiDAR를 사용하게 되면 필연적으로 PointCloud를 다룰 수 밖에 없습니다.
처음엔 그냥 x,y,z 정보를 담고 있는 점 덩어리 같지만 여기에 정보를 추가하여 후처리에 활용할 수 있습니다.
오늘은 PCL library의 point cloud type들을 살펴보면서 x,y,z 정보 외에 어떤 정보를 추가로 넣는지 알아보겠습니다.

PointType

  • PointXYZ: 가장 기본적인 3D 좌표만 가지는 PointCloud

  • PointXYZI: x,y,z이외에 Intensity(float)를 추가한 PointCloud

  • PointXYZRGB: x,y,z 그리고 각각 RGB 정보를 추가

  • PointXYZL: x,y,z 그리고 Label(int) 정보를 추가


추가되는 정보

  • Intensity

    • Intensity는 LiDAR 센서에서 나온 빛의 반사강도를 나타내는 정보입니다.
      이 값은 표면의 반사율, 거리, 센서 등에 영향을 받고 보통 0~255나 0~1사이의 값으로 표현됩니다.

    • 보통 유리를 LiDAR 가 통과할 경우 intensity가 낮고 금속 같은 경우는 intensity가 높기 때문에 이러한 정보를 얻을 수도 있습니다.

    • 일정 intensity 이하의 정보를 제거할 경우 센서 노이즈를 제거하는데 도움을 줄 수 있습니다.

  • Label

    • Label은 이 Point Cloud를 구분하기 위한 어떤 정보를 넣어 놓는 것입니다. (ex. 1m 높이 위에 있는 Point Cloud는 1, 낮은건 0 )

    • 정수값을 넣는 것이기 때문에 정확한 구분이 가능한 값을 넣게 됩니다.

  • RGB

    • 이 Point Cloud가 속한 색깔을 넣어서 정확한 표현에 사용할 수 있습니다.
  • normal vector

    • 이 Point Cloud가 속한 국소 평면의 Normal Vector를 넣어놓을 수도 있습니다.

    • 이를 통해 평면을 찾거나 Noise를 filtering하는데 사용할 수 있습니다.

사실 넣고 싶은 정보를 intensity 또는 Label 대신에 뭐든지 계산해서 넣을 수 있기는 합니다.
하지만 보통 어떤 정보를 넣는지를 조금 정리를 해봤습니다.

감사합니다.

profile
student

0개의 댓글