이 게시글은 장형기님의 SLAM 기술 면접 질문 100선에 대한 제 나름대로의 답을 정리한 것입니다.
LiDAR를 사용하게 되면 필연적으로 PointCloud를 다룰 수 밖에 없습니다.
처음엔 그냥 x,y,z 정보를 담고 있는 점 덩어리 같지만 여기에 정보를 추가하여 후처리에 활용할 수 있습니다.
오늘은 PCL library의 point cloud type들을 살펴보면서 x,y,z 정보 외에 어떤 정보를 추가로 넣는지 알아보겠습니다.
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
normal vector
사실 넣고 싶은 정보를 intensity 또는 Label 대신에 뭐든지 계산해서 넣을 수 있기는 합니다.
하지만 보통 어떤 정보를 넣는지를 조금 정리를 해봤습니다.
감사합니다.