在论文 Benchmarking 6DOF Outdoor Visual Localization in Changing Conditions 中看到的公式,根据旋转矩阵的估计值和真值计算角度误差。网上似乎相关资料也不多,记录一下。
Python代码
import numpy as np
import math
#r_gt:真值 r_est:估计值 旋转矩阵形式
def rot_error(r_gt,r_est):
dis = abs(math.acos((np.trace(np.dot(np.linalg.inv(r_gt),r_est))-1)/2))
#公式计算结果单位为弧度,转成角度返回
return dis*180/math.pi