본문 바로가기
Projects/3D Reconstruction

Multiway registration - Pose Graph

by 규나 2021. 9. 23.
SMALL

Multiway registration은 여러 프레임들의 pointcloud를 정합하는 것을 말한다. 이번에는 multiway registration via pose graph optimization에 대해서 알아보자. [Choi2015]

Robust Reconstruction of Indoor Scenes (redwood-data.org)

(SLAM) Pose graph optimization 개념 설명 및 예제 코드 분석 · ALIDA's blog (edward0im.github.io)

Pose Graph

pairwise registration은 센서 노이즈로 인해 에러에 취약하다. 이러한 에러의 누적은 전체적인 trajectory를 어긋나게 만든다. 이 알고리즘은 크게 Pose Graph와 Pose Graph Optimization(PGO)로 나뉜다.

Pose Graph는 node와 edge의 그래프 개념을 적용하여 그래프를 생성하는 과정이다. node는 한 프레임에서의 pointcloud Pi를 의미한다. edge는 Pi와 인접한 node Pj를 연결하는 matrix Ti,j이다. TiPi를 global space로 보내는 transformation matrix이다. 여기서 global space란 가장 첫 프레임인 P0을 기준으로 하는 공간이다. 따라서 T0는 identity matrix로 세팅된다. 나머지 Ti,j들은 이웃한 node와의 pairwise point-to-plane ICP를 통해 구할 수 있다. 더 복잡한 경우 global registration으로 구하기도 한다. 여기서 누적되어 가는 그래프는 필연적으로 에러를 가질 수 밖에 없다.

Pose Graph Optimization

Pose Graph를 생성해 나가는 과정에서 Loop Closing과 같은 상황이 발생하면 앞 단계에서 에러가 누적된 모든 node와 edge를 최소가되도록 모든 node들의 위치를 최적화하는 과정을 수행한다. PGO는 각 node의 pose만 변경시키고 맵 상에 존재하는 맵포인트들은 최적화하지 않는다. PGO와 달리 로봇의 포즈와 맵포인트를 동시에 최적화하는 방법을 Bundle Adjustment 라고 한다.

 

 

댓글