안녕하세요
오늘 이야기 해볼 주제는 lidar data process 입니다.
velodyne lidar vlp 16 이라는 라이다 장비를 이용해서 pointcloud를 받아오게 됩니다.
이 row data(가공하지 않은 데이터)에는 수많은 점들이 찍혀있습니다. (대략 20000~30000개)
row data를 처리 하는 일련의 과정은 다음과 같습니다.
voxelization
roi 설정
ransac
dbscan
1~3까지는 rowdata의 점의 개수를 줄이는 과정이고, 4번은 군집화를 해주는 과정입니다.
즉 data process = downsamplig + clustering 이라고 볼 수 있습니다.
downsamplig과 clustering 방법에는 여러가지가 있습니다.
1~4번의 과정은 여러 방법 중 하나입니다.
오늘은 1~4번의 진행과정을 자세히 들여다 보겠습니다.
1~4번의 과정을 수행하기 위해 c++/python 등으로 구현이 가능하지만, 저는 python으로 구현해보았습니다.
python에서도 어떤 라이브러리(pcl, open3d, scikit-learn ..)를 활용하느냐에 따라 방법이 나뉘겠지만 저는 open3d와 사이킷런을 활용하였습니다.
voxel의 개념
복셀은 복셀그리드 모양에서 점 1개만을 놔두고 나머지를 제거하는 방법이다.
앞선 예시로 복셀 사이즈를 0.05m로 설정하였음
아래 이미지에 색칠된 모양이 복셀그리드 입니다.
블로그 보다가 궁금사항 생겨서 남깁니다
DBscan할때 input값이 2d 좌표값 인지 3d 좌표값인지 궁금합니다