컴퓨터 비전

[컴퓨터 비전] Rodrigues' Rotatoin Formula

🐋 Growth Whale 2025. 3. 7. 16:34

1. Rodrigues' Rotation Formula 란?

계산이 어려운 Exponential Map

 

저번 글을 통해서 Lie Algebra의 적분을 Exponential Map을 이용해서 구할 수 있음을 알 수 있었다. 그럼 어떻게 Exponential Map을 수행해 3 x 3 Matrix 인 Lie Group으로 표현할 수 있을까?  

 

Expoential Map의 정의를 알아보자. 해당 연산은 멱급수의 형태로 구성되어 있다.

 

컴퓨터 비전에서는 이런 계산을 한정된 자원을 가지고 있는 컴퓨터에서 계산해야 된다. 그렇기에 무한대의 덧셈으로 이루어진 식 계산도 어렵고, 또한 해당 급수는 행렬식이다. 스칼라 계산보다 더 많은 계산이 필요하는 문제를 가지고 있다. 

 

이런 문제를 해결하기 위해서 Rodrigues's Rotation Formula가 나오게 되었다. 

 

Rodrigues' Rotation Formula

 

회전축 k와 회전 각도 theta가 주어졌을 때, 회전 행렬 R은 아래와 같이 표현할 수 있다.

 

이렇게 계산하게 되면 컴퓨터에서 3항의 덧셈으로 Exponential Map을 계산할 수 있게 된다.

 

2. Rodrigues' Rotation Formula 유도 과정

이제 어떻게 Exponential Map에서 Rodrigues' Rotation Formula가 유도되는 지 알아보자

 

회전 축 k이고 회전 각도 theta가 있을 때, 이에 대한 Lie Group 변환식인 Exponential Map은 아래와 같다. 

이 때, K는 반대칭 행렬로 변환된 것이다.

해당 행렬 지수를 급수로 표현하면 아래와 같다. 

 

반대칭 행렬의 거듭제곱 특성

 

반대칭 행렬의 거듭제곱은 아래와 특징을 가지고 있다. (직접 계산하면 알 수 있을 것이다...)

 

이에 홀수 차수의 거듭제곱은 K에 대해서 표현이 가능하고, 짝수 차수의 거듭제곱은 K2으로 표현이 가능하다. 

 

반대칭 행렬의 거듭제곱 특성을 이용해서 급수를 K와 K2으로 정리하면 아래와 같이 표현할 수 있다. 

sin과 cos의 멱급수 표현

 

sin과 cos도 멱급수로 표현할 수 있는데 이를 살펴보면 아래와 같다.

 

 

이를 아까 수식에 대입하면 된다. 이 때 sin은 그대로 넣으면 되지만 cos은 살짝 다르기 때문에 아래의 수식을 대입해서 넣어주면 된다.  

 

그럼 아래의 Rodrigues' Rotation Formula로 표현할 수 있다. 

 

3. 정리 

- Rodrigues' Rotation Formula는 Exponential Map의 계산이 어려울 걸 쉽게 계산하기 위해서 사용되는 공식이다.