9D 旋转表示
9D Rotation Representation (SVD Orthogonalization)进阶让网络直接输出 3×3 共 9 个数,再用 SVD 投影成最近的合法旋转矩阵。
9D 旋转表示是神经网络预测三维旋转的一种输出方式:网络输出 9 个无约束实数排成 3×3 矩阵 M,做奇异值分解 M = UΣVᵀ,取 R = U·diag(1, 1, det(UVᵀ))·Vᵀ,就得到离 M 最近的旋转矩阵(det 项保证它不是镜像)。Levinson 等人在 NeurIPS 2020 论文 An Analysis of SVD for Deep Rotation Estimation 中系统论证了它:几乎处处光滑,不像四元数、欧拉角会跳变;输入带噪声时,重建误差的期望约为 6D 表示所用 Gram-Schmidt 正交化的一半;在点云对齐、物体位姿、逆运动学等多个任务上达到当时最好水平。需要网络直接回归物体或末端姿态时,它和 6D 表示是替代四元数、欧拉角的常见选择。
例子论文官方仓库给的实现只有十来行:把形状为 [batch, 9] 的网络输出重排成 3×3,做 SVD,按 det(UVᵀ) 修正最后一列的符号,得到 [batch, 3, 3] 的旋转矩阵,可以直接接在任何回归网络末尾端到端训练。
- 也叫
- SVD 正交化、9D rotation、对称正交化、Symmetric Orthogonalization
- 相关
- 6D 旋转表示、旋转矩阵、四元数、特殊正交群 SO(3)、旋转测地距离、欧拉角
- 来源
- An Analysis of SVD for Deep Rotation Estimation (arXiv 2006.14616, NeurIPS 2020)
google-research/special_orthogonalization README
On the Continuity of Rotation Representations in Neural Networks (arXiv 1812.07035)