Autonomous Driving/2. LiDAR Perception

Ch03. Point cloud matching - 1) point cloud 매칭 및 활용 분야

Dogun Kim 2024. 9. 12. 19:13

Ch03. Point cloud matching

 

<목차>

3-1. Point cloud 매칭 및 활용 분야

3-2. Point cloud 특징 추출 방법

3-3. 고전적인 Point cloud 매칭 방법론, 실습

3-4. 딥러닝 기반 Point cloud 매칭 - RPM-Net

3-5. TEASER 라이브러리를 통한 Point cloud 정합

3-6. Point cloud 매칭을 활용한 Place recognition-PointNetVLAD

 

3-1. Point cloud 매칭 및 정합

  • 포인트 클라우드 매칭

두 포인트 클라우드의 correspondences를 찾는 문제. 이를 통해 정합 등의 문제를 풀 수 있다

Scan matching이나 scan registration에서 동일한 reference frame을 보았을 때, 각각의 map point들이 일치해야 한다.

 

cf. 정합의 종류..

- Known data association: 두 포인트 클라우드 간 대응 관계correspondences를 알 때

- Unknown data association: 두 포인트 클라우드 간 대응 관계를 모를 때

 

cf. correspondences: 상응, 부합, 일치.. 동일한 객체를 찍은 두 이미지에 대해서 찾아낸 같은 쌍..

 

 

  • Known data association

두 포인트 클라우드 간 대응 관계correspondences을 알 때의 정합 과정을 알아보자.

우리는 지금의 위치 (x_n) 에서 대응 되는 위치 (y_n)로 이동하고 싶다. 이를 위해 (x_n)에 회전 변환 행렬 R와 좌표 이동 t를 통해 이동해볼 것이다.

이 때, 대응 관계를 알고 있으므로 실제 딱 맞게 정합되어야 하는 위치 &y_n&를 알고 있다. 모든 point cloud에 대하여 이동된 위치와 실제 위치의 차이를 최소화 한다면 정합이 잘 이루어질 것이다. 

 

두 포인트 클라우드의 질량 중심을 찾기 위해 다음과 같은 식을 사용한다. 이를 원점으로 가정한다.

이를 통해 식을 풀어나간다.

목적함수를 위와 같이 바꾼 후
&x^-_n& 이동 식에서 &y_0&을 빼준다. 회전 행렬 R은 직교행렬이므로 R^T가 역행렬임을 알 수 있다.

 

여기까지 이해했다면 다음을 생각해보자. 질량 중심 $y_0$는 $x_0$을 회전 변환한 후, 이동시킨 것이므로

$y_0$ = R$x_0$ + t 일 것이다. 이에 회전 변환은 직교 행렬이기에 역행렬이 전치 행렬인 성질을 갖는 것을 이용하면 다음과 같이 정리할 수 있다.

이를 좌변에 t만 남기고 정리하여 목적 함수에 대입하면 다음과 같이 질량 중심으로 이동한 목적 함수 식을 도출할 수 있다 

이를 공분산 행렬로 바꾸면, 

이를 특이값 분해(svd)를 통해 성분 분해를 하면 

이렇게 구해진 U와 V를 통해 회전 행렬R을 구해 얼마나 회전된지 알 수 있다..

구한 R을 위에서 좌변만 t만 남기고 정리한 식에 대입하여 t 또한 알 수 있다.

 

그림과 같이 이해할 수 있다..

 

cf. 사실 왜 svd를 통해 회전 행렬을 구할 수 있는지는 잘 모르겠다.. 공부가 더 필요한 모양이다..

 

사실 흠 그렇군.. 이렇게 대응 관계correspondences을 알 때의 정합 과정 Known data association은 정확한 회전 변환 행렬과 이동 값인 t를 뽑아낼 수 있었다.. 이런 과정을 통한다.. 정도 알아두고 넘어가면 된다.

 

이제 우리는 3-2 부터 대응 관계를 알지 못할 때의 정합 과정에 대해서 집중적으로 공부할 것이다.


 

3-2. Point cloud 특징 추출 방법

 

3-3. 고전적인 Point cloud 매칭 방법론, 실습

 

3-4. 딥러닝 기반 Point cloud 매칭 - RPM-Net

 

3-5. TEASER 라이브러리를 통한 Point cloud 정합

 

3-6. Point cloud 매칭을 활용한 Place recognition-PointNetVLAD