새소식

논문 리뷰

동심원 기반 Ground Segmentation 방법 제안 - Patchwork

  • -

Patchwork: Concentric Zone-based Region-wise Ground Segmentation with Ground Likelihood Estimation Using a 3D LiDAR Sensor

 

Hyungtae Lim, Minho Oh

https://arxiv.org/abs/2108.05560

 

논문 선정 배경 :

 

RELLIS-3D 데이터셋을 사용하여 3D point cloud segmentation 프로젝트를 진행하던 도중, 센서를 기준으로 2~3m 정도 벗어나면 포인트 클라우드가 너무 Sparse 해져서 segmentation 이 안 되는 문제가 있었습니다. 

따라서 새롭게 구역을 분할하는 방법을 찾던 중, 이 논문이 1) 센서를 기준으로 동심원 모양으로 구역을 분할하는 적절한 크기를 제안했을 뿐 아니라, 2) 잘못 판정하는 경우를 줄이기 위해서 여러가지 새로운 필터를 고안했다는 점에서 

배울 점이 많다고 생각해 이 논문을 선정했습니다. 

 

Abstract

Ground Segmentation 은 지형을 주행하는 모바일 로봇이 꼭 해야 하는 과제입니다. 하지만 지면은 평평하지 않기 때문에 Segmentation 을 수행하는 데는 어려움이 있을 수 있습니다.

이 논문은 Patchwork 라는 알고리즘을 제안하며, 이 알고리즘은 40Hz 이상의 속도로 작동합니다. 또한 under-segmentation 문제를 상당 부분 해결했습니다.

이 논문에서, point cloud 는 동심원을 기반으로 한 (Concentric Zone) 표현 방식으로 인코딩됩니다. 복잡도가 그렇게 높지 않은 이 방식을 통해서, bin 들에게 적절한 밀도를 부여할 수 있습니다. 

이후 Region - Wise Ground Plane Fitting 을 통해서 각각의 bin 들의 지면을 추정합니다. 

마지막으로, False Positive 를 줄이기 위해 Ground Likelihood Estimation 이 수행됩니다. 

이 방식은 SematicKITTI 데이터셋과 Rough Terrain Dataset 에서 검증되었으며, sota 방식들보다 나은 결과를 보여줍니다. 

 

여기서 bin 이란 저자가 나눈 구역을 의미하는 것이라고 이해했습니다. 센서 주변을 동심원으로 나눠서 구역별로 처리하는 것이 Concentric Zone 이 의미하는 것이라고 보면 될 것 같습니다. 

1. Introduction

본 논문에서는 Ground Segmentation 을 주요하게 다루는데, 이는 두 가지 이유 때문입니다. 
첫 번째로는 주행 가능 영역 (movable area) 을 탐지하기 위함이고, 두 번째 이유는 moving object 를 탐지하기 위해서 입니다. 
지면 탐지가 선행될 경우, 이후 Object segmentation 을 진행할 때 상당한 이점이 있습니다. 

따라서 본 논문에서 ground 란 단지 도로만을 의미하는 것이 아닌 , 동적인 물체가 맞닥뜨릴 수 있는 모든 지면을 뜻합니다. 

본 논문의 contribution 은 다음과 같습니다. 
1. 지식이 닿는 한에서는, 이는 SemanticKITTI 를 이용하여 Ground estimation 을 진행할 때 bin 의 크기가 미치는 영향을 분석한 첫 번째 시도입니다. 
2. uprightness, elevation, flatness 의 관점에서 Ground Likelihood Estimation (GLE) 를 활용하여 각각의 bin 이 ground 인지 판별했습니다. 
3. 성능이 매우 좋습니다. 

 

2. Related Works

1. Ground Segmentation 의 어려운 점

혹자는 Ground Segmentation 이 높이 정보나 RANSAC 을 이용해서 수행될 수 있는 쉬운 과제라고 말 할지도 모릅니다. 하지만 경사, 울퉁불퉁한 도로, 꽃밭, 연석 등이 모두 outlier 가 될 수 있기 때문에 plane 을 찾아내는 것은 쉽지 않습니다.
따라서 under-segmentaion 문제가 지속적으로 발생하고, 서로 다른 물체에 속하는 점들이 같은 종류로 분류되기도 합니다. 

2. 지면 추정 방법론

가우시안 프로세스를 기반으로 한 방법, 마르코프 random field 를 기반으로 한 방법 등 다양한 방법들이 제시되었고 이들은 지면을 디테일하게 추정할 수 있었지만 연산 시간이 너무 많이 소요된다는 단점이 있었습니다. 따라서 이런 방법들은 20Hz 이상의 빠른 속도를 요구하는 상황에는 적절하지 않을 수 있었습니다. 

3. Scan Represenation

격자 그리드로 표현하는 방식이 많이 사용되기는 하지만, 3D 라이다의 특성을 더 잘 반영할 수 있다는 특징 때문에 원기둥형 (Cylindrical) 좌표계로 표현하는 방법도 사용될 수 있습니다. 
이런 방식은 크게 두 가지로 분류됩니다. a) elevation map-based 와 b) model fitting-based 입니다. model fitting-based 은 또 두 가지 방식으로 나뉠 수 있는데 a) line-fitting based 와 b) plane-fitting based 입니다. 

4. Elavation Map-based 2.5D Grid Representation

7. Deep Learnin-based Methods

Deep Learning 을 기반으로 한 다양한 방법들도 제시되고 있습니다. RangeNet++ 의 경우, point 단위로 라벨을 붙이고, grid based representation 상에서 elevation 정보로 지면을 판정하는 GndNet 도 있었습니다. 
하지만 이 방법들은 보통 많은 컴퓨팅 파워를 필요로 하며, 학습 데이터셋에 피팅되어 있는 경향이 있습니다. 따라서 다른 환경에서 실험하거나 센서가 달라질 경우 성능이 떨어질 수 있습니다. 

 

3. Methodology of Patchwork

Patchwork 는 세 가지 파트로 이루어집니다 : CZM , R-PGF, GLE

1. 문제 정의

우선, 특정 순간의 포인트의 집합을 P 로 정의합니다. 본 논문에서 \(P\) 는 두 가지 집합으로 나뉘는데, 하나는 Ground Point 를 뜻하는 \(G\) 와 \(G\)의 여집합인 \(G^{c}\) 입니다. 
추정하는 Ground Point 는 \(\widehat{G}\) 입니다. 

2. Concentric Zone Model

이전에 언급한 바와 같이, 대부분의 Plane-based 방법들은 관측하는 세계가 평평하지 않을 수도 있다는 것을 가정합니다. 따라서, 지면 segmentation 은 small part (여기서는 bin) 로 쪼개서 각각의 영역에 대해서 수행되어야 합니다. 
따라서 최근의 몇몇 연구들은 polar grid 를 사용하여 외부 환경을 정의하는 방법을 사용하고 있습니다. 

불행히도, Fig (2) 에서 보이는 것과 같이, 90% 이상의 포인트들은 센서로부터 20m 이내에 위치해 있습니다. 따라서 polar grid representation 은 두 가지 한계점이 있습니다. 
첫 번째는 일정 거리 이상부터는 지면을 찾기에 point 가 너무 sparse 해진다는 것입니다. 우리는 이를 sparsity issue 라고 부릅니다.
두 번째는 센서에서 가까운 경우 bin의 크기가 너무 작아서, normal vector 를 추정할 때 문제가 발생한다는 것이었습니다. 우리는 이를 representability issue 라고 부릅니다. 

따라서 이런 문제를 해결하기 위해, CZM-based polar grid representation 이 고안되었습니다. 이 방법은 bin 들에게 적절한 밀도의 point 를 할당합니다. 

C. Region - wise Ground Plane Fitting

그 이후 R-GPF 를 이용해 각각의 bin 들은 부분적인 지면을 추정합니다. 본 논문에서는 RANSAC 보다는 주성분 분석 (PCA) 이 사용되었습니다. 
\(C\) 를 unit space 의 covariance matrix 라고 정의하면, 가장 작은 eigen vector 가 지면의 normal vector 가 됩니다. 
n 번째 bin 을 \(S_{n}\) 이라고 할 때 만약 \(S_{n}\) 의 밀도가 충분히 높다면, 가장 낮은 곳의 point 가 initial seed 로 사용됩니다. 가장 낮은 곳의 포인트가 지면에 속할 확률이 높기 때문입니다. 

D. Ground Likelihood Estimation

 \(\widehat{G_{n}}\) 이 실제로 지면에 속하는 지 판단할 필요가 있습니다. 이는 Binary Classification 을 위한 지역별 확률 테스트입니다. 
이렇게 함으로써 Patchwork 는 GLE 를 활용하여 접지되지 않은 점으로 구성된 초기 평면을 제외하고는 전체 정밀도를 향상시킵니다. 

\(\Theta \) 는 Patchwork 의 파라미터라고 하고, \(\chi\) 는 밀도 함수 f 를 사용하여 연속 확률 분포를 따르는 무작위 변수를 나타냅니다. 
Uprightness

만약  \(\widehat{G_{n}}\)이 실제 지면에 속한다면 (대부분의 포인트들은 TP 입니다) normal vector 는 지면에 수직할 것입니다. 

실험적으로, \(\theta_{ \tau } \) 가 45도 정도면 적당했습니다. 
(a) 왼쪽 - 오른쪽 : elevation filter 를 적용한 전후

Elevation



Flatness

 

4. Experiments

 

SemanticKITTI : 

다른 Ground Segmentation 알고리즘과 제안한 알고리즘의 성능을 비교하기 위해서 SemanticKITTI 데이터셋에서 실험을 진행했습니다. 이때, lane marking, road, parking, sidewalk, other ground, vegetation, terrain 라벨이 붙은 클래스들을 ground 로 평가했습니다.

Rough Terrain Dataset : 

SematicKITTI 데이터셋이 다양한 환경을 포함하고 있기는 하지만, 포장도로밖에 다루지 않기 때문에 추가적으로 실험을 진행해서 데이터셋을 얻었습니다. 

 

5. Result and Discussion

A. 서로 다른 Bin 크기에 따른 성능
그림 6에서 볼 수 있듯이 bin 의 크기가 커질 수록 리콜 저하가 거의 없이 정밀도가 크게 향상되었습니다. 

B. Uprightness 요소의 효과
불행히도, 단순히 Bin 크기를 키우는 것은 그림 (6) 에서 Precision 의 분산 문제를 해결해주지 않습니다. 그러나 Uprightness 를 사용하면 분산을 줄이는 동시에 정밀도의 성능이 크게 향상되어 F1 score 가 향상됩니다. 

따라서 Uprightness 는 잘못 추정된 일부 지면을 걸러내는데 효과적이라는 결론을 낼 수 있습니다. 

C. Ground Likelihood Estimation 의 효과


 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.