-
PointSeg 네트워크를 이용한 LiDAR 데이터 Semantic Segmentation 및 TrackingAutonomous Navigation/Examples 2021. 8. 31. 14:43
지난 글들에서 딥 러닝의 사용 없이 포인트 클라우드를 해석하고 JPDA Tracker를 사용하여 LiDAR 데이터를 사용한 다중 차량 추적 시스템에 대해 알아보았습니다. 이러한 approach에는 간단히 생각해 보았을 때에도 몇 가지 문제가 있습니다.
- 직육면체 형태가 아닌 차량의 경우 (e.g. 픽업트럭) L-shape이 잘 나오지 않기 때문에 bounding box fitting이 예쁘게 이루어지지 않을 가능성이 있음
- 자동차 탐지에 특화된 detector임 - 자동차를 관측할 때에 나오는 LiDAR 데이터를 해석하는 데 특화되어 있기 때문에 사람이나 임의의 물체에 대해서는 다른 detector를 사용해야 한다는 문제가 생김
- 매 time-step마다 포인트 클라우드에 대해 clustering과 bounding box fitting을 수행해야 하기 때문에 computational load가 큰 편임 - detector가 temporal relationship을 전혀 사용하지 않아 계산 자원의 낭비가 큼
이 중 첫번째와 두번째 문제를 해결해 줄 수 있는 접근 방법이 바로 킹-러닝입니다. 심층학습은 사람이 직접 규칙을 짜 넣어 줄 수 없는 상황에 사용하기 좋으므로 이런 문제에 아주 제격입니다(그렇기 때문에 object detection 분야에 혁명을 불러올 수 있었습니다). End-to-end 학습이 가능하다는 것도 큰 장점입니다. 물론 LiDAR 데이터의 형태로 ground truth data를 준비하는 것도 쉽지는 않은 일이고, 세번째 문제에 대해서는 전혀 도움이 되지 않습니다. 어쨌든 딥 러닝을 이용한 LiDAR 데이터 semantic segmentation 및 tracking에 대해 알아보겠습니다.
* PointSeg는 포인트 클라우드 데이터를 segmentation만 해 주므로 bounding box fitting은 별도로 해야 합니다. 물론 이것까지 다 해주는 네트워크도 있겠죠?
전체 흐름도 일단 저번 예제에서와 같이 ground plane을 먼저 걸러낸 다음 PointSeg 네트워크 모델을 사용합니다. PointSeg는 LiDAR 데이터인 (x, y, z, intensity, range)를 입력받아 각 픽셀에 label을 부착해 (e.g. 자동차, 트럭, 배경 등...) 출력합니다. 미리 학습시켜 놓은 모델을 사용하는 과정은 다음과 같이 간단합니다.
클래스는 배경, 자동차, 트럭 3가지로, 각각의 클래스는 다른 색으로 표시됩니다. Line 52가 네트워크에 한 time step의 데이터를 집어넣어 돌리는 부분이고, 그 뒤로는 visualization입니다. 결과는 다음과 같습니다.
360도 이미지라 좀 길쭉한데, 어쨌든 대략 물체들의 위치를 표시해준 것을 알 수 있습니다. 그 다음엔 원래 포인트 클라우드에 이 결과를 표시합니다.
이제 이렇게 segmentation이 완료된 시점부터는 이전의 예제와 같습니다. Vehicle로 표시된 포인트들을 기준으로 클러스터링을 수행하고 각각의 클러스터에 대해 L-shape fitting을 수행합니다.
이제 이 작업을 모든 프레임에 대해 수행하고 적절한 tracking 알고리즘을 구동하면 됩니다. 끝!
다른 글에서 PointSeg 네트워크가 어떤 구조이고 어떻게 작동하는지에 대해 다루어 보도록 하겠습니다.
---------- 개인적인 생각 ----------
네트워크가 모든 포인트를 정확하게 labeling할 수 없기 때문에 몇 가지의 찾은 포인트들을 기준으로 clustering을 따로 수행해야 하고, bounding box fitting도 똑같이 수행해야 합니다. LiDAR 또는 스테레오 카메라 데이터에서 bounding box regression까지 한 번에 수행하는 방법이 있는지에 대해 공부해 보려고 합니다.
'Autonomous Navigation > Examples' 카테고리의 다른 글
LiDAR 데이터를 사용한 다중 차량 추적 - Tracker (0) 2021.08.30 LiDAR 데이터를 사용한 다중 차량 추적 - Detector (2) (0) 2021.08.30 LiDAR 데이터를 사용한 다중 차량 추적 - Detector (1) (0) 2021.08.30 LiDAR 데이터를 사용한 다중 차량 추적 - Introduction (0) 2021.08.28