Source-linked AI summary

Vote3Deep: Fast Object Detection in 3D Point Clouds Using Efficient Convolutional Neural Networks

Martin Engelcke, Dushyant Rao, Dominic Zeng Wang, Chi Hay Tong, Ingmar Posner

arXiv:1609.06666v2cs.ROcs.AIcs.CVcs.LGcs.NE

TL;DR

대규모 3D 포인트 클라우드 객체 검출은 세 번째 차원 때문에 순진한 밀집 CNN의 효율이 떨어져 계산 부담이 크다. Vote3Deep은 feature-centric voting과 희소성을 촉진하는 convolutional layer를 사용해 모든 클래스와 난이도 수준에서 KITTI 성능의 최첨단을 달성하며, cyclist AP에서 거의 40%의 격차를 보인다.

  • 문제

    대규모 3D 포인트 클라우드 객체 검출에서 순진한 밀집 CNN은 대부분의 연산이 영을 포함하고 세 번째 차원으로 인해 비용이 증가하므로 계산 부담이 크다.

  • 방법

    Vote3Deep은 sparse 3D convolution을 위해 feature-centric voting을 사용하고, 중간 표현의 sparsity를 촉진하기 위해 L1 penalty를 적용한다.

  • 결과

    Vote3Deep은 KITTI의 모든 클래스와 난이도에서 state-of-the-art 성능을 확립했으며, easy test case의 cyclist average precision에서 거의 40%의 격차를 보인다.

  • 시사점 및 한계

    Sparse voting 기반 CNN은 빠른 native 3D point-cloud 검출을 수행하면서 state-of-the-art KITTI 결과를 달성하고, 대부분의 test case에서 multimodal method보다 뛰어난 성능을 낼 수 있다.

Abstract

from arXiv · show

This paper proposes a computationally efficient approach to detecting objects natively in 3D point clouds using convolutional neural networks (CNNs). In particular, this is achieved by leveraging a feature-centric voting scheme to implement novel convolutional layers which explicitly exploit the sparsity encountered in the input. To this end, we examine the trade-off between accuracy and speed for different architectures and additionally propose to use an L1 penalty on the filter activations to further encourage sparsity in the intermediate representations. To the best of our knowledge, this is the first work to propose sparse convolutional layers and L1 regularisation for efficient large-scale processing of 3D data. We demonstrate the efficacy of our approach on the KITTI object detection benchmark and show that Vote3Deep models with as few as three layers outperform the previous state of the art in both laser and laser-vision based approaches by margins of up to 40% while remaining highly competitive in terms of processing time.

I. 서론

Vote3Deep은 3D에서 직접 sparse convolution을 수행하는 feature-centric voting을 사용해 CNN 기반 3D point-cloud 처리의 계산 부담을 줄인다. 또한 ReLU activation과 L1 regularization penalty로 네트워크 전반의 sparsity를 더욱 촉진한다.

  • 동기: 이 방법은 공간적으로 희소한 point cloud에서 효율적이고 강건한 object detection을 목표로 한다. 대부분의 영역이 비어 있어 조밀한 3D 처리는 계산 부담이 크기 때문이다.이러한 설정은 detection이 planning과 decision making을 지원하는 autonomous driving 같은 mobile robotics 응용에서 특히 중요하다.
  • 기여: Vote3Deep은 native 3D point-cloud 처리에서 sparsity를 활용하는 feature-centric voting 기반의 효율적인 CNN convolutional layer를 구축한다.이 접근법은 입력을 저차원 공간으로 projection하거나 detector의 search space를 제한하지 않는다.
  • 기여: ReLU activation과 L1 sparsity penalty는 희소한 중간 표현을 유도해 CNN stack 전반으로 sparse computation을 확장한다.이 regularizer는 training 중에 적용되어 중간 layer의 sparse input에서 얻는 계산상의 이점을 높인다.
  • 새로움: Vote3Deep은 CNN을 사용해 full 3D point cloud를 효율적으로 대규모 처리하기 위해 voting 기반 sparse convolutional layer와 L1 regularization을 결합한 first approach로 제시된다.저자들은 non-parametric method와 달리 test-time evaluation을 constant time에 수행하면서 높은 capacity와 비선형성을 갖는 model을 학습하는 것을 목표로 한다.
  • 기여: 세 개의 layer만 사용하는 Vote3Deep model도 state-of-the-art performance를 달성하는 것으로 보고되어, 제안한 sparse CNN 설계의 효과를 보여준다.제공된 지문은 이 결과를 소개하지만 비교 수치나 benchmark 세부 사항은 제시하지 않는다.

II. 관련 연구 · III. 방법

기존 연구는 CNN을 투영된, 밀집 또는 희소한 3D 표현에 적용하지만 정보 손실, 계산 비용 또는 작은 입력 크기라는 제약이 있다. 반면 Vote3Deep은 voting 기반 convolution, 방향 처리, 3D NMS, 클래스별 receptive field를 사용해 가변 크기 희소 3D grid를 처리한다.

  • II. 관련 연구: 2D projection에 적용한 CNN은 KITTI car detection에서 와 대등한 성능을 낼 수 있지만, 시점 투영은 귀중한 3D 정보를 버린다.[7]의 접근법은 point height를 channel로 추가한 뒤 detection score를 예측하고 bounding box를 regression한다.
  • II. 관련 연구: 60m × 60m × 5m point-cloud volume에 5ms per m3 처리 속도를 적용하면, 보고된 dense-grid 처리 속도에서 90s per frame이 도출된다.관련 dense occupancy-grid CNN은 32×32×32 crop에 6ms, landing-zone detection에 5ms per m3를 보고한다.
  • II. 관련 연구: 기존 sparse-convolution 방법도 여전히 0 또는 bias 값을 가진 이웃을 처리하며, 비교적 작은 crop 또는 input을 대상으로 한다.인용된 방법은 비교적 작은 2D 또는 3D crop에 sparse convolution을 사용하며, permutohedral-lattice convolution 역시 비교적 작은 input을 고려한다.
  • III. 방법: Vote3Deep은 point cloud를 가변 크기 희소 3D grid로 이산화하고, occupancy, reflectance 통계, shape 정보에서 cell별 feature를 추출한다.각 occupied cell은 binary occupancy, reflectance의 mean과 variance, 세 가지 shape feature를 포함한 point 통계에 기반한 feature vector를 받는다.
  • III. 방법: 이 network는 voting convolution과 ReLU nonlinearities를 쌓으며, output layer는 그 결과인 희소 3D 표현에서 detection score를 예측한다.이 과정은 traditional CNN과 같이 반복할 수 있다.
  • III. 방법: N angular orientations에서 병렬로 CNN을 평가해 서로 다른 object orientation을 다루고, 3D NMS는 중복 detection을 제거하며 깊이 방향으로 겹치는 object를 더 잘 처리한다.이 방법은 N개의 parallel thread를 사용하고 3D space에서 NMS를 적용한다. 3D bounding box는 2D projection보다 서로 덜 겹칠 수 있다.
  • III. 방법: 클래스별 network는 object class에 맞춘 서로 다른 total receptive-field size를 사용하며, test time에 병렬로 실행할 수 있다.receptive field는 과도하게 크지 않으면서 object의 bounding box를 포함해야 한다. 여러 class에 하나의 network를 사용하는 것은 향후 과제로 남겨 둔다.
  • III. 방법: Voting convolution은 non-zero location에서만 뒤집은 filter weight를 적용해 동등한 희소 convolution output을 생성하면서 empty location의 dense evaluation을 피한다.Voting procedure는 여러 feature map을 가진 2D 희소 예시에서 3D input으로 확장되며, 이어서 ReLU를 적용하고 반복 가능한 CNN stacking을 수행한다.

A. 투표를 통한 희소 Convolution

이 절은 비효율적인 dense 3D convolution을, 0이 아닌 입력 feature 주변에서만 계산하면서도 convolutional equivalence 를 유지하는 feature-centric voting으로 대체한다. 양수가 아닌 출력과 양수가 아닌 bias는 결과 feature grid의 sparsity를 유지한다.

  • A. 투표를 통한 희소 Convolution: Dense 3D convolution은 0과의 곱셈에 계산을 낭비하므로, 0이 아닌 입력 feature에 대한 feature 중심 voting을 사용하게 된다.추가된 공간 차원 때문에 dense 3D convolution은 image 기반 CNN의 기반이 되는 2D convolution보다 계산량이 많다.
  • A. 투표를 통한 희소 Convolution: 각 0이 아닌 입력 feature vector는 filter의 수용 영역 안에서 공간적으로 뒤집힌 kernel을 사용해, filter 가중치가 적용된 vote를 인접한 출력 cell에 전달한다.이 voting 연산은 모든 0이 아닌 입력 cell 인덱스와 이에 대응하는 kernel offset에 대해 반복된다.
  • A. Voting을 통한 Sparse Convolution: ReLU는 양수가 아닌 voting output을 버리고, sparsity를 유지하기 위해 양수가 아닌 bias를 비어 있지 않은 output cell에만 더한다.양수 bias는 거의 모든 output cell을 채워 sparse processing의 계산상 이점을 없앤다.
  • A. 투표를 통한 희소 Convolution: 이 희소 방식은 전체 grid가 아니라 점유된 입력 cell에만 filter를 적용하며, exhaustive convolution과 형식적으로 equivalent하다.Dense convolution은 모든 L × M × N 위치에서 계산하는 반면, voting은 0이 아닌 cell 인덱스 집합을 사용한다.

B. ReLU로 희소성 유지

연속적인 convolution은 비어 있지 않은 영역을 확장하므로, Vote3Deep은 비선형 표현 능력을 유지하면서 희소성을 보존하기 위해 sparse convolution 뒤에 ReLU를 사용한다.

  • B. ReLU로 희소성 유지: 연속적인 convolution은 비어 있지 않은 영역을 필터의 receptive field 크기만큼 확장하므로, 빠른 voting을 위해 모든 layer의 입력이 희소하다는 가정이 핵심이다.따라서 activation function은 convolution layer 사이에서 희소성을 유지하는 데 기여해야 한다.
  • B. ReLU로 희소성 유지: [16]에서 제안한 방식에 따라 각 sparse convolution 뒤에 ReLU를 적용하여, 이어지는 sparse representation을 위한 hidden activation을 생성한다.각 layer에서 ReLU는 sparse convolution의 출력을 처리한다.
  • B. ReLU로 희소성 유지: ReLU는 thresholding을 통해 음수 값을 제거하여 중간 희소성을 보존하므로, 다음 sparse convolution에서는 양수 feature만 voting한다.이 thresholding은 비선형 함수 근사도 지원하며 표현 능력을 높인다.

IV. 학습 · A. Linear Hinge Loss

네트워크는 고정 크기 3D crop에서 class-specific binary classifier로 학습되며, 주기적으로 hard negative를 채굴하고 linear hinge loss를 사용한다. 이 loss는 score를 구간 [−1, 1] 바깥으로 밀어 maximum-margin 분리를 강제하며 CNN을 통해 backpropagation할 수 있다.

  • IV. 학습: 학습에는 architecture에서 지정한 receptive-field size와 차원이 일치하는 positive 및 negative 3D crop을 사용한다.
  • IV. 학습: Class-specific network는 maximum-margin 학습 목적을 제공하므로 linear hinge loss를 사용한다.네트워크는 positive sample과 negative sample을 구분하는 binary classifier다.
  • IV. 학습: Negative example은 일정한 수의 training epoch가 지난 뒤 주기적으로 수행하는 hard negative mining을 통해 얻는다.
  • A. Linear Hinge Loss: Hinge loss는 detection score ˆy ∈ R, label y ∈ {−1, 1}, network parameter θ에 대해 정의된다.
  • A. Linear Hinge Loss: Table I은 비교한 architecture의 kernel dimension을 지정하고, Fig. 3은 Model D의 sparse 3D grid와 native sparse convolution을 보여준다.
  • A. 선형 Hinge Loss: 양성 샘플에서는 1 초과, 음성 샘플에서는 −1 미만인 점수에 손실이 0이므로, 학습은 점수를 마진 구간 [−1, 1] 밖으로 밀어낸다.

B. L1 희소성 페널티 · V. 실험

이 방법은 중간 feature activation에 L1 페널티를 추가해 유용하지 않은 feature를 제거하고 CNN 전체에서 희소성을 높이며, 정규화를 통해 입력 크기에 대한 의존성을 줄인다.

  • B. L1 희소성 페널티: 제안된 regulariser는 네트워크가 유용하지 않은 feature를 제거하고 전체 CNN 스택에서 희소성을 높이도록 유도한다.
  • B. L1 희소성 페널티: L1 페널티는 각 feature activation에 L1 norm을 적용해 중간 layer를 대상으로 하며, 정확히 0인 값을 포함할 수 있는 표현을 생성한다.출력 layer의 희소성은 detection threshold를 통해 조정할 수 있다.
  • B. L1 희소성 페널티: L1 loss는 각 layer의 feature-map 공간 차원으로 정규화되므로, 고정된 parameter 설정에서 페널티의 영향이 입력 크기에 덜 의존하게 된다.

A. 데이터셋 · B. 평가 · C. 학습

이 연구는 KITTI에서 3D point-cloud detector를 학습·평가하며, 공식 순위 산정에는 보정된 projection과 moderate-category AP를 사용한다. 학습에는 balanced crop, discretization-aware augmentation, hard-negative mining, 그리고 지정된 최적화·모델 선택 절차를 결합한다.

  • A. 데이터셋: KITTI는 동기화된 stereo-camera와 lidar 프레임을 제공하지만, 모델은 only 3D point clouds만 사용한다. 평가는 car, pedestrian, cyclist에 초점을 둔다.라벨이 있는 training set은 7,481개 프레임으로 구성되며 training과 validation에 80%/20%로 나눈다. test set은 라벨이 숨겨진 7,518개 프레임으로 구성된다.
  • B. 평가: 공식 KITTI 평가는 3D detection을 보정된 2D image space로 projection하고, image 밖의 detection을 제외한 뒤 moderate-category average precision으로 모델 순위를 매긴다.난이도 수준은 bounding-box 크기, truncation, occlusion을 반영한다. hard category에는 가장 많은 positive가 포함되며, 가장 어려운 예시는 moderate 및 easy category에서 무시한다.
  • C. 학습: 학습에는 처음부터 균형을 맞춘 positive 및 negative 3D crop을 사용하며, negative는 positive example과 겹치지 않는 위치에서 샘플링한다.network는 point-cloud training data에서 추출한 3D crop으로 학습한다.
  • C. 학습: sub-cell translation과 sub-bin rotation으로 정면을 향한 positive를 augmentation하여 spatial 및 angular discretisation에도 불구하고 generalisation을 improve한다.translation은 grid-cell 차원보다 작고, rotation은 angular-bin resolution보다 작다.
  • C. 학습: 매 10 epoch마다 현재 모델로 전체 point cloud를 scan한 뒤, training frame마다 score가 가장 높은 false positive ten 개를 hard-negative mining으로 추가한다.이 과정은 어려운 negative example로 training set을 반복적으로 확장한다.
  • C. 학습: internal validation에서 2-layer 및 3-layer nonlinear model은 세 class 모두에서 linear baseline보다 outperform하며, hidden-layer filter를 늘려도 gain은 incremental하다.Figure 4는 Table I의 architecture에 대해 moderate difficulty에서 average precision을 보고한다.
  • C. 학습: network는 momentum 0.9의 SGD, learning rate 10^-3, batch size 16, L2 decay 10^-4를 사용해 100 epochs 동안 학습한다. validation-AP가 가장 높은 epoch를 comparison 및 submission model 선택에 사용한다.weight는 [18]과 같이 초기화한다. validation-AP 선택이 intermediate sparsity가 더 낮은 모델을 선호하므로, timing에는 fully trained 100-epoch model을 사용한다.
  • C. 학습: custom C++ library가 training과 testing을 지원하며, 가장 큰 model은 16-core cluster CPU node에서 about three days가 필요하다.각 batch example은 별도 thread에서 처리한다. 공식 submission에는 car에 Model B를, pedestrian과 cyclist에 Model D를 사용하며, 두 model 모두 hidden-layer filter가 8개이고 sparsity penalty는 없다.

D. 모델 비교

이 절에서는 validation set에서 다섯 sparse 3D CNN architecture를 비교해 model capacity와 detection performance 간 trade-off를 평가한다. 다층 nonlinear model은 linear baseline보다 우수하며, hidden filter 추가나 kernel receptive field 변경으로 얻는 추가 이득은 제한적이다.

  • D. 모델 비교: 최대 세 개의 layer와 서로 다른 filter configuration을 갖는 다섯 architecture를 validation set에서 benchmark해 capacity–performance trade-off를 살핀다.더 크고 표현력이 높은 model은 computational cost가 커지고 더 느리게 실행되므로, robotics에서는 빠른 detection이 중요하다.
  • D. 모델 비교: Nonlinear 다층 network는 와 비교 가능한 linear baseline보다 명확히 우수하며, model complexity가 커질수록 point-cloud object detection이 향상됨을 보여준다.이 결과는 Fig. 4에 보고되어 있다.
  • D. 모델 비교: Hidden-layer filter 수를 늘려도 eight filters로 얻은 큰 향상 이후에는 이득이 제한적이다.
  • D. 모델 비교: Network의 total receptive field를 고정한 채 kernel receptive field를 변경해도 유의미한 performance improvement는 나타나지 않는다.Architecture는 작은 3×3×3 및 5×5×5 lower-layer kernel을 사용하고, 그 뒤에 ReLU를 적용하며, 출력은 class-specific convolutional filter로 계산한다.
  • D. 모델 비교: 더 큰 model의 제한적인 이득은 regularisation이 충분하지 않거나, 비교적 작은 model이 해석 가능한 3D input에서 task와 관련된 variation의 대부분을 포착할 수 있기 때문일 수 있다.

E. 테스트 결과

Vote3Deep은 모든 클래스와 난이도에서 point-cloud detection의 state-of-the-art 성능을 달성하며, 특히 cyclist에서 큰 성능 향상을 보인다. 또한 대부분의 경우 multimodal 방법을 능가하면서도 훨씬 빠른 detection speed로 동작하지만, CPU 실행은 여전히 보다 느리다.

  • E. 테스트 결과: filter 수나 kernel size를 늘려도 정확도는 크게 향상되지 않지만 detection speed가 저하되므로, 각 hidden layer에 3×3×3 filter 8개를 사용하는 구성이 적절하다.테스트 제출본은 정확도와 속도의 균형을 위해 이 구성을 사용한다.
  • E. 테스트 결과: Vote3Deep은 point-cloud detection에서 세 object class와 모든 난이도에 대해 state-of-the-art 성능을 확립한다.Cyclist 성능은 easy test case에서 거의 40% 향상되고, 나머지 두 test case에서는 AP가 두 배 이상 증가한다.
  • E. 테스트 결과: CPU에서 Vote3Deep은 보다 약 두 배 느리며, GPU-accelerated [7]과 거의 비슷한 속도를 보인다.저자들은 GPU sparse-convolution 구현이 detection speed를 향상시킬 것으로 예상한다.
  • E. 테스트 결과: point cloud만 사용함에도 Vote3Deep은 대부분의 test case에서 multimodal 방법, 을 능가하며 훨씬 빠르다.나머지 경우에는 성능이 약간 낮을 뿐이다.
  • E. 테스트 결과: Vote3Deep은 hard test case에서 세 object class 모두에 대해 가장 높은 AP를 달성한다.이 test case에는 positive ground-truth object가 가장 많이 포함되어 있다.
  • E. 테스트 결과: 최근 vision 기법을 사용하지 않고 학습한 비교적 얕은 network도 상당한 성능 향상을 달성할 만큼 충분한 표현력을 가지며, 특히 cyclist detection에서 그렇다.저자들은 cyclist의 독특한 3D 형태가 적은 training example을 보완하는 데 도움이 된다고 추측한다.

F. 시간과 희소성

L1 희소성 페널티는 특히 차량에서 검출 속도를 향상시키지만, 정확도에 미치는 영향은 객체 클래스와 학습 양상에 따라 달라진다. 더 큰 페널티는 보행자와 자전거 이용자의 activation을 소실시킬 수 있는 반면, 더 작은 페널티는 이들의 속도를 높이고 정확도를 regularize할 수 있다.

  • 시간과 희소성: 보행자는 네트워크의 receptive field가 더 작기 때문에 가장 빠르게 검출되며, 2-layer car Model B는 3-layer cyclist Model D보다 빠르다.이러한 속도 순서는 희소성 패널티 사용 여부와 무관하게 유지된다.
  • 시간과 희소성: 더 작은 패널티를 사용하면 보행자와 자전거 이용자 검출이 약 15% 빨라지는 반면, 10^-1 패널티는 학습 중 이들의 activation을 0으로 붕괴시킨다.사용 가능한 가장 큰 패널티는 다른 클래스보다 자동차에서 더 효과적이다.
  • 시간과 희소성: L1 희소성을 적용하면 정확도 손실이 무시할 수 있는 수준인 상태에서 자동차 검출이 거의 40% 빨라지며, Table IV는 패널티 값에 따른 속도와 average precision을 평가한다.검출 시간은 200개의 validation frame에 대해 측정된다.
  • 시간과 희소성: 자동차는 희소성의 혜택을 가장 크게 받는데, 더 적은 intermediate layer와 더 큰 receptive field가 더 희소하면서도 정보를 담은 representation을 생성할 수 있기 때문이다.저자들은 더 큰 패널티를 자동차에 적용할 수 있는 이유를 설명하는 추측으로 이 메커니즘을 제시한다.
  • 시간과 희소성: 저자들은 stochastic training algorithm에 따른 속도 향상은 더 엄밀한 조사가 필요하며, 이는 future work로 남겨 둔다고 주의를 환기한다.현재 결과는 검출 속도에 유익한 효과가 있음을 확립하지만, 그 통계적 특성을 완전히 규명하지는 않는다.

VI. 결론

이 연구는 voting 기반 sparse convolutional layers를 사용하는 CNN으로 point cloud에서 빠른 object detection을 구현했으며, KITTI에서 새로운 state of the art를 확립하고 대부분의 테스트 사례에서 multimodal methods를 능가한다.

  • VI. 결론: 이 방법은 point cloud에서 object를 검출하는 KITTI benchmark에서 새로운 state of the art를 확립한다.sparse convolutional layers로 구성된 CNN을 사용해 빠른 속도로 object detection을 수행한다.
  • VI. 결론: 이 CNN은 에서 도입한 voting scheme에 기반한 sparse convolutional layers를 사용한다.이 네트워크는 계층적 표현과 비선형 decision boundary를 학습한다.
  • VI. 결론: Vote3Deep은 대부분의 테스트 사례에서 point cloud와 image를 모두 사용하는 methods를 능가한다.
Loading 1609.06666v2…