2022. 3. 2. 17:47ㆍ3D Vision
PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space
Charles R. Qi, Li Yi, Hao Su, Leonidas J. Guibas
Abstract
포인트 세트에 대한 딥 러닝을 연구한 이전 연구는 거의 없다.
PointNet [20]은 이러한 방향의 선구자입니다.
그러나 설계상 PointNet은 살아있는 메트릭 공간 포인트에 의해 유도된 로컬 구조를 캡처하지 않으므로 미세한 패턴과 일반화 가능성을 복잡한 장면으로 인식하는 능력이 제한된다.
본 연구에서는 입력 포인트 세트의 중첩된 분할에 PointNet을 재귀적으로 적용하는 계층적 신경망을 소개한다.
메트릭 공간 거리를 활용함으로써, 우리 네트워크는 상황별 스케일이 증가하는 로컬 기능을 학습할 수 있다.
포인트 세트가 일반적으로 다양한 밀도로 샘플링되어 균일한 밀도로 훈련된 네트워크의 성능이 크게 저하된다는 추가 관찰과 함께, 우리는 여러 척도의 특징을 적응적으로 결합하는 새로운 세트 학습 계층을 제안한다.
실험에 따르면 PointNet++라는 네트워크는 딥 포인트 세트 기능을 효율적이고 강력하게 학습할 수 있다.
특히 3D 포인트 클라우드의 도전적인 벤치마크에서 최첨단보다 훨씬 나은 결과가 나왔다.
1. Introduction
우리는 유클리드 공간에서 점의 집합인 기하학적 점 집합을 분석하는 데 관심이 있다.
특히 중요한 유형의 기하학적 포인트 세트는 예를 들어 적절히 장착된 자율 주행 차량에서 3D 스캐너로 캡처한 포인트 클라우드이다.
집합으로서, 그러한 데이터는 부재의 순열에는 불변이어야 한다.
또한 거리 메트릭은 다른 특성을 나타낼 수 있는 로컬 이웃을 정의합니다.
예를 들어, 점의 밀도와 다른 속성은 여러 위치에서 균일하지 않을 수 있습니다 — 3D 스캐닝에서는 밀도 변동성이 원근 효과, 방사형 밀도 변동, 움직임 등에서 발생할 수 있습니다.
포인트 세트에 대한 딥 러닝을 연구한 이전 연구는 거의 없다.
PointNet[20]은 포인트 세트를 직접 처리하는 선구적인 노력입니다.
PointNet의 기본 아이디어는 각 포인트의 공간 인코딩을 학습한 다음 모든 개별 포인트 특징을 글로벌 포인트 클라우드 시그니처에 집계하는 것이다.
설계상 PointNet은 메트릭에 의해 유도된 로컬 구조를 캡처하지 않는다.
그러나 로컬 구조를 활용하는 것은 컨볼루션 아키텍처의 성공에 중요한 것으로 입증되었다.
CNN은 일반 그리드에 정의된 데이터를 입력으로 받아들이고 다중 해상도 계층을 따라 점점 더 큰 규모로 기능을 점진적으로 캡처할 수 있다.
낮은 수준에서는 뉴런의 수용장이 작은 반면 높은 수준에서는 수용장이 더 크다.
계층을 따라 로컬 패턴을 추상화하는 기능은 보이지 않는 사례에 대한 일반화를 더 잘 가능하게 한다.
우리는 메트릭 공간에서 샘플링된 점 집합을 계층적 방식으로 처리하기 위해 PointNet++라는 계층적 신경망을 도입한다.
PointNet++의 일반적인 개념은 간단하다.
먼저 기본 공간의 거리 메트릭에 따라 포인트 집합을 겹치는 로컬 영역으로 분할한다.
CNN과 유사하게, 우리는 작은 이웃에서 미세한 기하학적 구조를 캡처하는 로컬 특징을 추출한다; 이러한 로컬 특징은 더 큰 단위로 추가로 그룹화되고 더 높은 수준의 특징을 생산하기 위해 처리된다.
이 과정은 전체 포인트 집합의 특징을 얻을 때까지 반복된다.
PointNet++의 설계는 두 가지 문제를 해결해야 한다: 포인트 집합의 분할을 생성하는 방법, 그리고 로컬 피쳐 학습기를 통해 포인트 집합 또는 로컬 피쳐를 추상화하는 방법을 제공합니다.
포인트 세트의 분할은 컨볼루션 설정에서처럼 로컬 특징 학습자의 가중치를 공유할 수 있도록 파티션 간에 공통 구조를 생성해야 하기 때문에 두 가지 문제는 상관관계가 있다.
우리는 로컬 기능 학습자를 PointNet으로 선택합니다.
그 연구에서 입증되었듯이, PointNet은 의미적 특징 추출을 위해 순서가 정해져 있지 않은 포인트 세트를 처리하는 효과적인 아키텍처이다.
또한 이 아키텍처는 입력 데이터 손상에도 강력합니다.
기본 빌딩 블록인 PointNet은 로컬 점 또는 피쳐 세트를 더 높은 수준의 표현으로 추상화합니다.
이 관점에서 PointNet++는 입력 세트의 중첩된 분할에 PointNet을 반복적으로 적용합니다.
여전히 남아 있는 한 가지 문제는 점 집합의 중복 분할을 생성하는 방법입니다.
각 파티션은 기본 유클리드 공간에서 이웃 공으로 정의되며, 그 매개 변수에는 중심 위치와 배율이 포함된다.
전체 세트를 균일하게 덮기 위해, 중심은 가장 먼 점 샘플링(FPS) 알고리즘에 의해 설정된 입력 포인트 중에서 선택됩니다.
고정된 strides로 공간을 스캔하는 체적 CNN과 비교하여, 우리의 로컬 수용 필드는 입력 데이터와 메트릭 모두에 의존하므로 더 효율적이고 효과적이다.
그러나 로컬 이웃 볼의 적절한 스케일을 결정하는 것은 형상 스케일의 얽힘과 입력 포인트 세트의 불균일성으로 인해 더 어렵지만 흥미로운 문제이다.
입력 지점 세트가 다양한 영역에서 가변 밀도를 가질 수 있다고 가정하며, 이는 구조 센서 스캔 [18]과 같은 실제 데이터에서 매우 일반적입니다(그림 1 참조).
따라서 우리의 입력 지점 세트는 균일한 일정한 밀도를 가진 일반 그리드에 정의된 데이터로 볼 수 있는 CNN 입력과 매우 다르다.
CNN에서 로컬 파티션 스케일의 상대는 커널 크기이다.
[25]는 작은 커널을 사용하는 것이 CNN의 능력을 향상시키는 데 도움이 된다는 것을 보여준다.
그러나 포인트 세트 데이터에 대한 우리의 실험은 이 규칙에 반대되는 증거를 제공한다.
작은 이웃은 샘플링 부족으로 인해 너무 적은 점으로 구성될 수 있으며, 이는 PointNet이 패턴을 강력하게 캡처하는 데 충분하지 않을 수 있다.
본 논문의 중요한 기여는 PointNet++가 여러 규모로 이웃을 활용하여 견고성과 상세 캡처를 모두 달성한다는 것이다.
학습 중 무작위 입력 드롭아웃을 지원받아 네트워크는 다양한 척도에서 감지된 가중치 패턴을 적응적으로 사용하고 입력 데이터에 따라 다중 스케일 기능을 결합하는 방법을 학습한다.
실험에 따르면 PointNet++는 포인트 세트를 효율적이고 강력하게 처리할 수 있다.
특히 3D 포인트 클라우드의 도전적인 벤치마크에서 SOTA보다 월등히 우수한 결과가 나왔다.
2. Problem Statement
X = (M, d)가 유클리드 공간 R^n에서 메트릭을 상속받는 이산 메트릭 공간이라고 가정하자. 여기서 M ⊆ R^n은 점의 집합이고 d는 거리 메트릭이다.
또한, 주변 유클리드 공간의 M의 밀도는 모든 곳에서 균일하지 않을 수 있다.
우리는 그러한 X를 입력(각 포인트에 대한 추가 특징과 함께)으로 사용하고 X를 재분류하는 의미론적 관심의 정보를 생성하는 집합 함수 f를 배우는 데 관심이 있다.
실제로 이러한 f는 X에 레이블을 할당하는 분류 함수 또는 M의 각 멤버에 점당 레이블을 할당하는 분할 함수일 수 있다.
3. Method
우리의 연구는 계층 구조가 추가된 PointNet [20]의 확장으로 볼 수 있다.
먼저 PointNet(섹션 3.1)을 검토한 다음 계층 구조를 가진 PointNet의 기본 확장(섹션 3.2)을 도입한다.
마지막으로, 균일하지 않은 샘플링된 포인트 세트(섹션 3.3)에서도 기능을 강력하게 학습할 수 있는 PointNet++를 제안한다.
3.1 Review of PointNet [20]: A Universal Continuous Set Function Approximator
x_i ∈ R^d를 갖는 순서가 없는 포인트 집합 {x_1, x_2, ..., x_n}이 주어졌을 때, 포인트 집합을 벡터에 매핑하는 집합 함수 f : X → R을 정의할 수 있다:
여기서 γ와 h는 일반적으로 다층 퍼셉트론(MLP) 네트워크이다.
식 (1)의 집합 함수 f는 입력 포인트 순열에는 불변이며 임의의 연속 집합 함수를 근사할 수 있다 [20].
h의 반응은 포인트의 공간 인코딩으로 해석될 수 있습니다(자세한 내용은 [20] 참조).
PointNet은 몇 가지 벤치마크에서 인상적인 성능을 달성했습니다.
그러나 다른 규모로 로컬 컨텍스트를 캡처할 수 있는 기능이 부족하다.
한계를 해결하기 위해 다음 섹션에서 계층적 기능 학습 프레임워크를 소개하겠습니다.
3.2 Hierarchical Point Set Feature Learning
PointNet은 단일 최대 풀링 작업을 사용하여 전체 포인트 세트를 집계하는 반면, 우리의 새로운 아키텍처는 포인트의 계층적 그룹을 구축하고 계층을 따라 점점 더 큰 로컬 영역을 추상화한다.
우리의 계층 구조는 설정된 여러 추상화 수준으로 구성된다(그림 2).
각 레벨에서 포인트 집합은 처리되고 추상화되어 적은 수의 요소가 포함된 새로운 집합을 생성합니다.
추상화 레벨은 세 가지 주요 계층으로 구성된다: 샘플링 레이어, 그룹화 레이어 및 PointNet 레이어.
샘플링 레이어는 로컬 영역의 중심을 정의하는 입력 포인트에서 포인트 세트를 선택합니다.
그런 다음 그룹화 레이어는 중심 주변에서 "이웃" 점을 찾아 로컬 영역 집합을 구성한다.
PointNet 레이어는 미니 PointNet을 사용하여 로컬 영역 패턴을 피쳐 벡터로 인코딩합니다.
집합 추상화 레벨은 d-차원 좌표와 C-차원 점 특징을 가진 N개의 점으로부터 오는 N x (d + C) 행렬을 입력으로 취한다.
d-차원 좌표와 로컬 컨텍스트를 요약하는 새로운 C'-차원 특징 벡터가 있는 N' x (d + C') 하위 샘플링된 점의 N' 행렬을 출력한다.
우리는 다음 단락에서 설정된 추상화 수준의 계층을 소개한다.
Sampling layer.
입력 포인트 {x_1, x_2, ..., x_n}이 주어진 경우 반복적인 FPS(원거리 샘플링)를 사용하여 점 {x_i1, x_i2, ..., x_im}의 하위 집합을 선택합니다, 즉, x_ij는 집합 {xi1, x_i2, ..., x_ij-1}에서 나머지 포인트에 대해 가장 멀리 떨어져 있는 포인트(미터 단위)이다.
무작위 표본 추출에 비해 동일한 수의 중심 포인트가 주어졌을 때 전체 포인트 세트에 대한 적용 범위가 더 좋다.
데이터 분포의 벡터 공간 불가지론을 스캔하는 CNN과 달리, 우리의 샘플링 전략은 데이터 의존적인 방식으로 수용 필드를 생성한다.
Grouping layer.
이 레이어에 대한 입력은 크기 N x (d + C)의 포인트 집합과 크기 N' x d의 중심 집합의 좌표이다.
출력은 N' x K x (d + C) 크기의 포인트 집합 그룹이며, 여기서 각 그룹은 로컬 영역에 해당하며 K는 중심 포인트 주변의 포인트 수입니다.
K는 그룹마다 다르지만 이어지는 PointNet 레이어는 유연한 포인트 수를 고정 길이의 로컬 영역 피쳐 벡터로 변환할 수 있습니다.
컨볼루션 신경망에서 픽셀의 로컬 영역은 픽셀의 특정 맨하탄 거리(커널 크기) 내에 배열 인덱스가 있는 픽셀로 구성된다.
미터법 공간에서 샘플링된 포인트 집합에서 포인트의 주변은 미터법 거리로 정의된다.
볼 쿼리는 쿼리 포인트의 반경 내에 있는 모든 포인트를 찾습니다(구현 시 K 상한값이 설정됨).
다른 범위 쿼리는 고정된 수의 인접 포인트를 찾는 K nearest neighbor(kNN) 검색입니다.
kNN과 비교하여, 볼 쿼리의 로컬 이웃은 고정된 영역 척도를 보장하므로 공간 전체에 걸쳐 로컬 지역 특징을 보다 일반화할 수 있으며, 이는 로컬 패턴 인식이 필요한 작업(예: 의미적 포인트 레이블링)에 선호된다.
PointNet layer.
이 레이어에서 입력은 데이터 크기가 N' x K x (d+C)인 포인트의 N' 로컬 영역이다.
출력의 각 로컬 영역은 중심과 중심 이웃을 인코딩하는 로컬 특징에 의해 추상화된다.
출력 데이터 크기는 N' x (d + C')입니다.
로컬 영역에 있는 포인트의 좌표는 먼저 중심 포인트에 상대적인 로컬 프레임으로 변환된다: x^(j)_i = x^(j)_i - ^x^(j)는 i = 1, 2, ..., K 및 j = 1, 2, ..., d에 대해 중심 좌표이다.
섹션 3.1에서 설명한 바와 같이 우리는 로컬 패턴 학습을 위한 기본 구성 요소로 PointNet [20]을 사용한다.
상대 좌표를 포인트 피쳐와 함께 사용하면 로컬 영역에서 포인트 대 포인트 관계를 캡처할 수 있습니다.
3.3 Robust Feature Learning under Non-Uniform Sampling Density
앞에서 논의한 바와 같이, 포인트 집합은 다른 영역에서 균일하지 않은 밀도를 갖는 것이 일반적이다.
이러한 불균일성은 포인트 세트 특징 학습에 중요한 문제를 야기한다.
고밀도 데이터에서 학습된 특징은 희박하게 샘플링된 영역으로 일반화되지 않을 수 있다.
따라서 희소 포인트 클라우드에 대해 훈련된 모델은 세분화된 로컬 구조를 인식하지 못할 수 있다.
이상적으로, 우리는 조밀하게 샘플링된 영역에서 가장 미세한 디테일을 포착하기 위해 가능한 한 포인트 세트를 면밀히 조사하기를 원한다.
단, 시료채취 부족으로 로컬 패턴이 손상될 수 있기 때문에 저밀도 영역에서는 이러한 정밀검사가 금지된다.
이 경우, 우리는 더 큰 규모의 패턴을 더 가까운 곳에서 찾아야 합니다.
이 목표를 달성하기 위해 입력 샘플링 밀도가 변경될 때 서로 다른 규모의 영역에서 기능을 결합하는 방법을 배우는 밀도 적응형 PointNet 계층(그림 3)을 제안한다.
밀도 적응형 PointNet 레이어를 가진 계층적 네트워크를 PointNet++라고 부른다.
이전 섹션 3.2에서는 각 추상화 수준에 단일 스케일의 그룹화 및 특징 추출이 포함되어 있다.
PointNet++에서 각 추상화 수준은 로컬 패턴의 여러 척도를 추출하고 로컬 포인트 밀도에 따라 지능적으로 결합한다.
로컬 영역을 그룹화하고 서로 다른 척도의 특징을 결합하는 관점에서, 우리는 아래와 같은 두 가지 유형의 밀도 적응 계층을 제안한다.
Multi-scale grouping (MSG).
그림 3 (a)에 표시된 것처럼, 다중 스케일 패턴을 포착하는 간단하지만 효과적인 방법은 서로 다른 스케일로 그룹화 레이어를 적용한 다음 PointNets에 따라 각 스케일의 특징을 추출하는 것이다.
여러 척도의 피쳐가 연결되어 다중 축척 피쳐를 형성합니다.
우리는 다중 스케일 기능을 결합하기 위한 최적화된 전략을 학습하기 위해 네트워크를 학습한다.
이것은 각 인스턴스에 대해 무작위 확률로 입력 포인트를 무작위로 드롭아웃하는 방식으로 이루어지며, 이를 랜덤 입력 드롭아웃이라고 한다.
특히, 각 학습 포인트 세트에 대해, 우리는 p ≤ 1인 [0, p]에서 균일하게 샘플링된 드롭아웃 비율 θ를 선택한다.
각 포인트에 대해 확률 θ의 점을 무작위로 떨어뜨립니다.
실제로 빈 포인트 집합이 생성되지 않도록 p = 0.95로 설정합니다.
이를 통해 다양한 희소성(γ에 의해 유도됨)과 다양한 균일성(드롭아웃의 무작위성에 의해 유도됨)의 학습 세트를 네트워크에 제시한다.
테스트하는 동안, 우리는 가능한 모든 포인트를 유지합니다.
Multi-resolution grouping (MRG).
위의 MSG 접근법은 모든 중심 포인트에 대해 대규모 이웃에서 로컬 PointNet을 실행하기 때문에 계산 비용이 많이 든다.
특히 보통 가장 낮은 수준에서 중심 포인트 수가 상당히 많기 때문에 시간 비용이 상당하다.
여기서 우리는 그러한 값비싼 계산을 피하면서도 포인트의 분포 특성에 따라 적응적으로 정보를 집계할 수 있는 능력을 보존하는 대체 접근법을 제안한다.
그림 3 (b)에서, L_i 수준의 영역의 특징은 두 벡터의 결합이다.
하나의 벡터(그림의 왼쪽)는 집합 추상화 수준을 사용하여 하위 수준 L_(i-1)로부터 각 하위 영역의 특징을 요약하여 구한다.
다른 벡터(오른쪽)는 단일 PointNet을 사용하여 로컬 영역의 모든 원시 포인트를 직접 처리하여 얻은 기능입니다.
로컬 영역의 밀도가 낮을 때, 첫 번째 벡터는 두 번째 벡터보다 신뢰도가 낮을 수 있는데, 첫 번째 벡터는 첫 번째 벡터를 계산하는 부분 영역이 더 희박한 포인트를 포함하고 표본 추출 결핍으로 더 고통 받기 때문이다.
이러한 경우, 두 번째 벡터는 더 높은 가중치를 부여해야 한다.
반면에, 로컬 영역의 밀도가 높을 때, 첫 번째 벡터는 더 높은 해상도에서 낮은 수준에서 재귀적으로 검사할 수 있는 능력을 가지고 있기 때문에 더 미세한 세부 정보를 제공한다.
MSG와 비교하여, 이 방법은 가장 낮은 수준에서 대규모 이웃에서 특징 추출을 피하기 때문에 계산적으로 더 효율적이다.
3.4 Point Feature Propagation for Set Segmentation
집합 추상화 계층에서 원래 포인트 집합은 하위 샘플링된다.
그러나 의미론적 포인트 레이블링과 같은 설정 분할 작업에서 우리는 모든 원래 포인트에 대한 포인트 특징을 얻기를 원한다.
한 가지 해결책은 설정된 모든 추상화 수준에서 항상 모든 포인트를 중심 포인트로 샘플링하는 것이지만, 이는 높은 계산 비용을 초래한다.
또 다른 방법은 하위 샘플링된 포인트에서 원래 포인트로 형상을 전파하는 것이다.
거리 기반 보간 및 레벨 건너뛰기 링크를 사용한 계층적 전파 전략을 채택한다(그림 2 참조).
형상 전파 수준에서, 우리는 N_l x (d+C) 포인트에서 N_(l-1) 포인트로 포인트 형상을 전파한다, 여기서 N_(l-1)과 N_l (N_l ≤ N_(l-1)은 입력 및 집합 추상화 수준 l의 포인트 집합 크기이다.
N_(l-1) 포인트의 좌표에 N_l 포인트의 형상 값 f를 보간하여 형상 전파를 달성한다.
보간을 위한 많은 선택 중에서 k nearest neighbor을 기반으로 하는 역거리 가중 평균을 사용합니다(방정식 2와 같이 기본적으로 p = 2, k = 3).
그런 다음 N_(l-1) 포인트의 보간된 피쳐는 설정된 추상화 수준의 스킵 링크된 포인트 피쳐와 연결됩니다.
그런 다음 연결된 기능은 CNN의 일대일로 컨볼루션과 유사한 "유닛 포인트넷"을 통과한다.
몇 개의 공유 fully connected 및 ReLU 레이어가 적용되어 각 포인트의 형상 벡터를 업데이트한다.
이 과정은 우리가 원래의 포인트 집합으로 특징을 전파할 때까지 반복된다.
4. Experiments
5. Related Work
계층적 특징 학습의 아이디어는 매우 성공적이었다.
모든 학습 모델 중에서 컨볼루션 신경망[10, 25, 8]이 가장 두드러진 모델 중 하나이다.
그러나 우리 작업의 초점인 거리 메트릭이 있는 정렬되지 않은 포인트 세트에는 컨볼루션이 적용되지 않는다.
몇 가지 매우 최근의 연구[20, 28]는 순서 없는 집합에 딥러닝을 적용하는 방법을 연구했다.
이들은 포인트 집합에 기본 거리 메트릭이 있더라도 무시한다.
결과적으로, 그들은 점의 로컬 컨텍스트를 캡처할 수 없고 전역 세트 변환 및 정규화에 민감하다.
이 작업에서는 메트릭 공간에서 샘플링된 지점을 대상으로 하고 설계의 기본 거리 메트릭을 명시적으로 고려하여 이러한 문제를 해결한다.
미터법 공간에서 샘플링된 점은 일반적으로 노이즈가 많고 균일하지 않은 샘플링 밀도를 가진다.
이는 효과적인 포인트 피쳐 추출에 영향을 미치고 학습에 어려움을 초래한다.
핵심 문제 중 하나는 포인트 피쳐 설계에 적합한 축척을 선택하는 것입니다.
이전에 기하학 처리 커뮤니티 또는 사진 측량 및 원격 감지 커뮤니티에서 이것 [19, 17, 2, 6, 7, 30]에 관한 몇 가지 접근방식이 개발되었다.
이러한 모든 작업과 달리, 우리의 접근 방식은 엔드 투 엔드 방식으로 포인트 형상을 추출하고 여러 형상 스케일의 균형을 맞추는 방법을 배운다.
포인트 세트를 제외한 3D 메트릭 공간에는 체적 그리드[21, 22, 29] 및 기하학적 그래프[3, 15, 33]를 포함하여 딥러닝에 널리 사용되는 몇 가지 표현이 있다.
그러나 이러한 연구 중 어느 것도 비균일 표본 추출 밀도 문제를 명시적으로 고려하지 않았다.
6. Conclusion
본 연구에서는 메트릭 공간에서 샘플링된 포인트 세트를 처리하기 위한 강력한 신경망 아키텍처인 PointNet++를 제안한다.
PointNet++는 입력 포인트 세트의 중첩된 분할에서 반복적으로 작동하며 거리 메트릭과 관련된 계층적 특징을 학습하는 데 효과적이다.
균일하지 않은 포인트 샘플링 문제를 처리하기 위해 로컬 포인트 밀도에 따라 다중 스케일 정보를 지능적으로 집계하는 두 개의 새로운 세트 추상화 레이어를 제안한다.
이러한 기여 덕분에 3D 포인트 클라우드의 까다로운 벤치마크에서 SOTA 성능을 달성할 수 있습니다.
향후에는 특히 MSG 및 MRG 계층에 대해 각 지역에서 더 많은 계산을 공유함으로써 제안된 네트워크의 추론 속도를 가속화하는 방법을 생각해 볼 가치가 있다.
CNN 기반 방법은 계산적으로 불가능하지만 우리의 방법은 잘 확장될 수 있는 고차원 메트릭 공간에서 애플리케이션을 찾는 것도 흥미롭다.