[논문 리뷰] Pred-NBV (IROS 2023)
Pred-NBV: Prediction-guided Next-Best-View Planning for 3D Object Reconstruction
NBV planning 는 센서의 다음 포즈를 결정한다.
- 기존 방법들은 기하학적 정보를 사용하였다.
- Pred-NBV는 인공신경망으로 3D 재구성한 것을 기반으로 정보 획득 계산
1. Contribution
- PoinTr-C : 3D 재구성 네트워크
- 커리큘럼 학습 사용
- 부분 포인트 클라우드가 실제 중심에 있지 않아도 됨
- 기본이 되는 모델인 PoinTr보다 최소 23.06% 좋은 성능
- NBV 프레임워크
- 예측 기반 정보 획득을 최대화하고 로봇이 움직여야 하는 거리를 최소화
- geometry에 대해 사전 지식 없이 객체 재구성 수행
- 좋은 성능
💡 커리큘럼 학습(Curriculum Learning)
복잡한 문제를 단계적으로 푸는 방법으로, 쉬운 예제부터 학습을 시작해 점차 어려운 예제를 학습한다. 학습 데이터를 난이도에 따라 정렬한 후, 학습이 진행될수록 어려운 데이터를 추가한다.
안정적인 학습이 가능하고 일반화 성능이 향상될 수 있지만, 데이터 정렬의 기준 설정 등 추가적인 작업이 필요하다.
2. PoinTr-C : 3D 재구성 네트워크
PoinTr (CVPR 2021)
- 낮은 해상도에서 클러스터링을 통해 포인트 간의 기하학적 관계를 찾는다.
- 클러스터 중심 주변에서 생성한 feature를 transformer에 입력한다.
- transformer는 long-range 관계를 찾고 missing 포인트 클라우드의 중심을 예측한다.
- 네트워크 출력 : coarse-to-fine 변환된 missing 포인트 클라우드
PoinTr-C
PoinTr을 fine-tuning
- 커리큘럼 학습을 사용하여 쉬운 작업에서 어려운 작업으로 난이도를 높이며 학습한다.
- 회전과 이동을 점점 증가하여 학습한다. 객체의 중심의 부정확함을 완화할 수 있다. 연속적인 회전-이동 쌍 (25◦,0.0), (25◦,0.1), (45◦,0.1), (45◦,0.25), (45◦,0.5), (90◦,0.5), (180◦,0.5), (360◦,0.5)을 커리큘럼 학습에 사용한다.
3. NBV Planner
- viewpoint $\phi_i$에서 관측한 객체의 표면 $s_i$의 관계를 함수 $f$로 표현한다. i.e., $s_i=f(\phi_i)$
- 궤적 $\xi$는 viewpoints $\{\phi_1, \phi_2, \cdots,\phi_m\}$으로 구성된다.
- 궤적에서 관측된 표면은 각 viewpoint에서 관측한 표면의 합집합이다. i.e., $s_\xi=\bigcup_{\phi \in \xi} f(\phi)$
- 두 viewpoint $\phi_i$와 $\phi_j$ 사이의 거리는 $d(\phi_i, \phi_j)$로 나타낸다.
목표
모든 가능한 궤적 $\Xi$ 중 복셀 필터링 된 전체 표면을 관측하면서 움직이는 거리를 최소화 하는 궤적 $\xi_i$를 찾는다.
$$ \xi^*=\underset{\xi \in \Xi}{\arg \min } \sum_{i=1}^{|\xi|-1} d\left(\phi_i, \phi_{i+1}\right) \text {, such that } \bigcup_{\phi_i \in \xi} f\left(\phi_i\right)=\mathcal{S} \text {. } $$
과정
- 궤적 $\xi_t$를 수행한 후 예측 포인트 클라우드 $\hat{V}$가 주어진다.
- 후보 포즈 $C=\{\phi_1, \phi_2, \cdots,\phi_m\}$를 생성한다.
- $\hat{V}$의 z-range와 중심으로부터 가장 멀리 떨어진 포인트까지의 거리 $d_{\max}$ 계산
- 세 개의 동심원(concentric circles)을 사용해 후보 포즈를 정한다.
- 첫 번째 원은$\hat{V}$를 중심으로 하며, 반지름은 $1.5 \times d_{\max}$이다. 이 원 위에 30∘ 간격으로 후보 포즈를 생성한다.
- 두 번째, 세 번째 원은 $\hat{V}$ 중심에서 $0.25 \times \text{z-range}$만큼 위와 아래인 지점을 중심으로 한다. 반지름이 $1.2 \times d_{\max}$이고 30∘ 간격으로 후보 포즈를 생성한다.
- 최대 정보 획득이 최소 $\tau\%$인 가장 짧은 path를 선택한다.
- 완전한 모델 $\hat{V}$에 대해 각 후보 포즈에서의 정보 획득을 이산화 한다.
- 궤적 $\xi$에 대해 projection 함수 $I(\xi)$를 정의한다.
- projection 함수 $I(\xi)$는 예측된 포인트를 식별한 후, 재구성이나 법선 추정 없이 hidden point removal 연산자 사용한다. 마지막으로 새로운 viewpoint에서 관측하게 될 포인트 수를 찾는다.
- 후보 세트 $C$에서 NBV를 다음과 같이 찾을 수 있다.
- $d\left(\phi, \phi_t\right)$는 RRT-Connect 사용
$$ \phi_{t+1}=\underset{\phi \in \mathcal{C}}{\arg \min } d\left(\phi, \phi_t\right), \text { such that } \frac{I\left(\xi_t \cup \phi\right)}{\max _{\phi \in \mathcal{C}} I\left(\xi_t \cup \phi\right)} \geq \tau $$
4. Evaluation
$\tau=0.95$
3D 형태 예측
SOTA shape 완성 모델인 PoinTr 보다 shape 완성 성능 좋음 (Velodyne 3D LiDAR로 얻은 실제 데이터에서도)
PoinTr-C가 더 실제와 가까운 예측 결과를 보인다.
NBV Planning
AirSim 시뮬레이터에서 고전적인 방법들에 비해 객체 커버리지 25.46% 상승