기술이야 빠르게 발전하겠지만, 아직까지 civil engineering 분야에서 혹은 적어도 내 분야에서 부족한 부분이라고 생각이 드는 부분은 3D sanner를 활용한 정밀 탐상 자료에 대한 분석, 그 중에서도 점군(pointcloud)의 분류(classification) 문제가 현재 부족하다.
구조공학(structural engineering) 쪽에 몸을 담고 있는 필자는 분류된 데이터를 활용하여 어떤 부분이 구조적으로 취약한지, 앞으로 보수가 더욱 필요할지에 대해서 제시를 할 수 있도록 연구를 하고 있기 때문에 이 post에서는 내가 가지고 있는 pointcloud dataset에 대한 전처리(pre-processing) 과정에 대해서 정리를 해보도록 하겠다.
정답 데이터 (Ground-truth data)
일단 분류하기에 앞서 pointcloud raw data는 어느 부분이 결함이 있고 없는지에 대한 정보가 전혀 없다. 우리가 가지고 있는 정보는 오직 x, y, z 점 좌표 그리고 운 좋다면 r, g, b 색깔 정보와 점의 nx, ny, nz 법선 벡터 일 것이다.
아마도 나를 포함한 많은 사람들이 가장 많이 본 건 차량이 달리면서 취득한 라이다 센서를 통한 poincloud 분류 영상일 것 같은데, 다음의 영상의 SageMaker 혹은 상용프로그램이나 CloudCompare와 같은 open-source 프로그램을 이용해 수동으로 '우리가 만든 모델이 우리가 원하는 답으로 예측해줬으면 하는 데이터에 라벨링(labeling)' 이 먼저 수행되어야 한다. 굉장히 많은 점을 언제 분류 하고 있냐? 하는데 실제로 이렇게들 진행한다고 한다.
따라서, 나도 내 dataset의 ground-truth data를 CloudCompare를 이용해 만들어봤다. 내가 분류해야하는 문제는 3d scan하여 생성된 노후 부식 관로의 pointcloud에서 어느 부분이 부식으로 인해 감육이 되었는지
데이터 전처리 (Data pre-processing)
머신러닝 모델 트레이닝 (Machine learning model training)
'Researches > Pointclouds' 카테고리의 다른 글
PCL(Point Cloud Library: 포인트 클라우드 라이브러리) 활용 (2) | 2023.02.22 |
---|---|
[Python] 3차원 영역확장 알고리즘 (3D region growing algorithm) (0) | 2023.02.14 |