본문 바로가기

Data-science/논문 읽기

[논문 읽기] Ground and Multi-Class Classification of AirborneLaser Scanner Point Clouds Using FullyConvolutional Networks

728x90

3d point cloud 에서 DTM을 뽑아내는데 딥러닝을 이용한다. DTM은 Digital Terrain Model의 약자로 건물이나 식물들이 없는 평평한 지형의 고도값을 픽셀로 하여 시각화한 이미지를 말한다. 이런 작업을 하기 위해 우선 3d point cloud를 다차원 이미지로 투영시킨다. 그리고 FCN(segmentation에서 쓰이는 딥러닝 아키텍쳐 구조)을 통해 지형인 포인트, 지형이 아닌 포인트를 분류해준다. 성능을 여러 방법들과 비교해본다.

1. Introduction

Although the CNN-based method can produce accurate classifications, the point-to-image conversion is inefficient due to highly redundant calculations. This prevents the application of the CNN-based method to large volumes of ALS data for regional or national level studies.

CNN 방법이 좋긴하지만 포인트에서 이미지로 변환하는데 계산량이 많다. 이게 허들이다.

Our contribution is in the development of an efficient algorithm that is not only able to filter an ALS point cloud into ground and non-ground, but is also able to distinguish buildings from trees. The information needed to do so can be generated by using multi-dimensional two-dimensional (2D) images, instead of 3D point clouds.

지형/지형이 아닌 건물과 같은 사물로 분류하는 것뿐만 아니라, 건물인지 나무인지도 식별할 수 있다.

The lowest point within a pixel resolution cell is used when calculating each pixel value. As a result, points’ features are represented by pixel values in the extracted image. Consequently, the point classification task is transformed to a pixel-wise image classification task.

픽셀 레벨에서 가장 고도가 낮은 점이 픽셀값으로 채택된다. 결과적으로 포인트의 특징이 추출된 이미지에 표현되는 것이다. 그래서 포인트 분류 문제가 픽셀 레벨의 이미지 분류 문제로 변환된다.

2. Related Work

In this paper, we propose an efficient method by converting all of the points simultaneously into a single image instead of converting a single point into an image patch

하나의 포인트를 이미지 조각으로 변환하는게 아닌, 모든 포인트를 동시에 하나의 이미지로 변환하는 효율적인 방법을 제안한다.

3. Proposed Methods

3.1. Point-to-Image Conversion

Lowest points are more likely to belong to the ground than upper points if there is no outlier in the data. Four features are involved: elevation, intensity, return number, and height difference. The first three features are chosen, because those features are the original information of the LIDAR point cloud. The height difference feature is added and defined between the lowest point in the corresponding pixel and the lowest point in a 20 × 20 m horizontal window centered on the point. The size of 20 × 20 m is selected, as the assumption that most of the buildings are smaller than 20 × 20 m.

데이터에 이상치가 없다면 가장 낮은 지점의 점들이 지형에 속할 확률이 높다. 4가지 특징이 포함된다. 고도, 강도, 반환된 숫자, 높이 차이이다. 처음 3가지는 라이다 포인트 클라우드의 원래 정보이고, 마지막 높이 차이란 특징은 해당 픽셀의 가장 낮은 지점과 그 점을 중심으로 20 x 20m의 평면의 이웃한 점 중 가장 낮은 지점 사이의 차이로 정의된다. 20 x 20은 대부분의 건물들이 이보다 작다는 가정하에 선택된 것이다. 

However, projecting 3D points into a 2D image may result in a loss of information. We produce two series of images. The first series is based on the lowest point per pixel for a ground classification. The second series is based on the highest point per pixel to classify above-ground points. As each pixel is only able to accommodate the lowest and the highest points in one pixel, the classification is done at the pixel level.

3차원 정보를 2차원 이미지로 변환하면서 정보에 손실이 있을 수 있다. 이미지 2가지 시리즈를 만든다. 첫번째는 지형 분류를 위한 픽셀당 가장 낮은 점에 근거한 이미지이고, 두 번째는 픽셀별로 지형 위의 점을 분류하기 위해 가장 높은 점에 근거한 이미지이다. 

However, empty pixels still remain in the image due to the water bodies or data gaps. In these cases, the pixel value is interpolated from the neighboring pixels. It remains unlabeled, so that the network does not use it during the training.

이미지 상에 픽셀이 없는 빈 공간이 나타날 수 있다. 이 경우, 이웃한 픽셀값들을 보간한 값으로 픽셀값을 대체한다. 레이블이 없는 상태로 남아있어서 학습할 때 사용되지 않는다.

While the conversion for the ground classification relies on the lowest point within each pixel, the conversion for multi-class classification also uses the highest point within each pixel.

지형 분류의 경우 가장 낮은 지점만을 사용하지만, 여러 사물을 분류하는 과제의 경우 가장 높은 지점또한 이용한다.

(1)이 고도, (2)이 강도, (3)이 반환되는 숫자, (4)이 높이 차이. 각 특징 이미지들을 의미한다. 해상도가 높을수록 더 세세한 구조를 포착해낼수 있다.

각 픽셀내에서 가장 높은 점을 활용한 이미지의 경우 (c)가 다르다. 반환되는 숫자가 아닌, 반환되는 숫자의 개수이다.

3.2. Fully Convolutional Network

일반적으로 보는 FCN 구조인데 dilated kernel을 써서 FCN-DK라고 한다.

5 x 5 Dilated Conv를 많이 사용하였다.

Input1과 Input2 해상도가 다르다. 200x200이 0.5m 해상도, 100x100이 1m 해상도에 해당한다. 크기를 맞춰주기 위해 Input1을 다운샘플링해준다.

(a)에서 Upsampling layer를 추가 해준다.

 

3.2.2. Network Architectures for Multi-Class Classification

Given such a case, we expand our network to have different labels in one pixel. The idea is to have labels for ground classification and labels for the further classification of non-ground points.

이럴 경우 우리는 네트워크를 확장한다. 한 픽셀 다른 레이블을 가지도록. 아이디어는 지형 분류를 위한 레이블과 지형이 아닌 사물을 분류하는 레이블을 가지는 것이다.

In ohter words, we use a higher pixel size to capture the smaller object and a lower pixel size for a faster processing time.

더 작은 사물을 잡기 위해선 더 높은 해상도의 픽셀을 이용하고, 낮은 해상도의 픽셀은 처리 속도를 빠르게 하기 위해 사용한다.

3.3. From Labeled Pixels to Labeled Points

Since the output from the FCN is prediction labels at a pixel level, it has not solved the task of the classification of 3D points yet. A further processing step is needed to label the original ALS points.

FCN의 출력은 픽셀 레벨에서의 레이블이므로 아직 3차원 포인트 분류를 한 게 아니다. 추가적인 처리 과정이 필요하다.

If the ground terrain is defined as a smooth surface, one can densify the labeled points by creating a surface connecting all of the initial ground points, and then label all of the points according to the surface.

지형이 부드러운 곡면으로 정의된다면, 모든 초기 지형 점들을 연결해서 곡면을 만들고 곡면과 관련된 모든 점을 해당 레이블 점으로 정의할 수 있다.