朝向是一个状态
物体坐标轴相对参考坐标轴怎样排列,描述的是 orientation。它总是相对于某个 frame 而言。
Geometric Object
在本站的列向量约定下,R 的三列分别是旋转后物体系 x、y、z 轴在参考系中的坐标。旋转保持长度、夹角和手性,不包含平移、缩放或反射。
物体坐标轴相对参考坐标轴怎样排列,描述的是 orientation。它总是相对于某个 frame 而言。
R 把向量或一组基轴旋到新方向。两个朝向之间的相对旋转由矩阵复合与求逆得到。
矩阵、欧拉角、rotvec、四元数或 6D 向量只是在存储与计算层面对同一几何对象的编码。
Column interpretation
物体系 +x 轴在参考系中的方向
物体系 +y 轴在参考系中的方向
物体系 +z 轴在参考系中的方向,且 r₃ = r₁ × r₂
Representation Atlas
没有一种表示在可读性、无约束、全局连续、唯一性、复合效率和网络回归上同时最优。正确做法不是寻找“唯一标准”,而是为接口选择合适表示,并在边界处显式转换。
几何计算的共同语言。可直接旋转向量、复合姿态,列向量就是旋转后的基轴。
9 numbers · 6 constraints把旋转拆成三次有顺序的轴旋转。适合人机界面,却会出现多解与万向节锁。
order + frame + unit绕单位轴 u 旋转 θ。rotvec 将两者压成 θu,也是 OpenCV rvec 的语义。
r = θu ∈ R³单位四元数位于 S³,可高效复合与 SLERP;但 q 与 −q 映射到同一个旋转。
xyzw ≠ wxyz预测旋转矩阵的前两列,经 Gram–Schmidt 得到合法 R,常用于深度网络回归。
a₁, a₂ → b₁, b₂, b₃在当前旋转附近用 3D 切向量做小增量,再通过 exp 映回 SO(3),适合优化和滤波。
R ← Exp(δφ) R| 表示 | 存储形状 | 唯一性 | 奇异/连续性 | 优势 | 主要陷阱 |
|---|---|---|---|---|---|
| 旋转矩阵 | 3×3 · 9 数 | 矩阵本身唯一 | 无参数奇异 | 直接复合、变换向量、几何语义清楚 | 有 6 个约束;网络裸回归后必须投影回 SO(3) |
| Euler / RPY | 3 数 | 不唯一 | 有万向节锁 | 便于人读、界面控制和机械关节语义 | 必须保存轴顺序、内禀/外禀、角度单位与范围 |
| 轴角 / rotvec | 轴 3 + 角 1 / 3 数 | 存在周期与边界等价 | 零角轴任意;π 附近不连续 | Rodrigues、PnP、局部优化与李代数更新常用 | rotvec 的模长是角度,不是三个欧拉角 |
| 单位四元数 | 4 数 + 单位约束 | q 与 −q 等价 | 无万向节锁 | 复合高效、插值方便、机器人与 SLAM 常用 | xyzw / wxyz 顺序和双覆盖必须处理 |
| 6D 连续表示 | 2×3 · 6 数 | 解码后唯一 | 预测列共线时退化 | 对神经网络回归友好,避免低维全局不连续 | 6 是嵌入维数,不是额外自由度;需 Gram–Schmidt |
| 9D + SVD | 3×3 · 9 数 | 投影后唯一 | 奇异值退化时不稳定 | 输出简单,可用 SVD / polar 投影到 SO(3) | 必须修正 det = −1 的反射情况 |
Interactive Lab
第一视图把本站的 yaw–pitch–roll 同步转换为矩阵、四元数、轴角、rotvec 和 6D 表示;第二视图把目标中心射线与物体自身姿态拆开,解释 allocentric / egocentric 和 in-plane / out-of-plane。
Interactive · SO(3)
9 numbers · 6 constraints
4 numbers · unit sphere
本站显示顺序:[x, y, z, w](scalar-last)
scalar-first:
Axis × angle
Learning-friendly embedding
网络预测两条 3D 向量,再正交化恢复旋转矩阵;输出维数不是旋转自由度。
Ray alignment
本实验采用的定义
Interpretation
Euler Angles
三个角只有连同轴顺序、参考轴是否随物体运动、旋转作用方向和角度单位一起给出,才构成可复现的定义。Roll/Pitch/Yaw 只是常见语义名称,不会自动消除这些差异。
Site convention
Extrinsic · 固定轴
Intrinsic · 随动轴
Euler vs. Tait–Bryan
Axis–Angle & Quaternion
轴角在 θ = 0 时轴任意,在 θ = π 附近存在符号边界;四元数位于四维单位球面,q 与 −q 是同一个旋转。轨迹插值前通常要先把相邻四元数调整到同一半球。
SciPy 默认 scalar-last;许多机器人库和论文使用 scalar-first。形状都是 4,静默错序最危险。
网络输出或数值积分后要归一化;零向量不能直接归一化为合法四元数。
损失可取 min(‖q̂−q‖, ‖q̂+q‖),轨迹则按相邻点积决定是否翻号。
线性插值后归一化并不等价于恒定角速度;大角度插值优先使用 SLERP。
View-Space Decomposition
这些词讨论的是相机观察方式与姿态分解,不是 intrinsic/extrinsic Euler angle 的同义词。它们常用于裁剪后的物体姿态学习、模板视点采样和类别级旋转估计。
它是最终 object → camera 位姿中的 R。即使物体保持相似的局部外观,从图像中心移动到边缘时,指向物体中心的射线变化也会反映到 egocentric 数值中。
先想象一台虚拟相机沿物体中心射线观察,再把该射线拉回主光轴。这样能减弱目标图像位置与旋转标签之间的耦合,适合 RoI/crop 特征学习。
主要表现为物体轮廓在图像平面内转动。物体靠近主点时,常近似为绕相机 z 轴旋转;严格说旋转轴是相机到物体中心的射线。
倾斜或绕物体转向会带来遮挡、透视缩短和新表面。模板方法通常在视点球面上采样它,再额外采样平面内角度。
Learning & Optimization
神经网络需要易回归的无约束向量,优化器需要稳定的局部增量,系统接口需要高效复合,最终评测还要处理对称等价。表示选择应围绕这一整条链路,而不是只看输出维数。
网络输出
6D / quat / 9D合法化
normalize / GS / SVD几何损失
geodesic / point loss对称约简
min over equivalence下游使用
projection / control9D 投影到 SO(3)
M = UΣVᵀ
R = U diag(1, 1, det(UVᵀ)) Vᵀ直接使用 UVᵀ 可能得到 det = −1 的镜像矩阵。对称物体的旋转误差
dsym(R̂, R) = minS∈G d(R̂, RS)离散或连续对称需要通过等价旋转集合 G 进入损失与评测。Across Domains
网络可回归 6D 表示、四元数或 rotvec,但最终几何求解、投影和评测通常都回到旋转矩阵。对称物体需要比较等价旋转集合。
优化器常在 SO(3) 的局部切空间中更新旋转,状态存储则常用四元数。不要把四元数四个分量当成独立欧氏变量直接相加。
控制界面喜欢 RPY,运动学链喜欢旋转矩阵/齐次变换,插值和消息格式常用四元数。接口交界处最容易出现顺序和 frame 错误。
抓取姿态不仅有物体朝向,还包含接近轴、闭合轴与绕接近轴的 roll;夹爪对称会让多个旋转对应同一个可执行抓取。
Debug Protocol
最有效的排错方式不是随机转几下看起来像不像,而是选择单位旋转、单轴 90°、接近 π、万向节锁和 q/−q 等专门暴露约定错误的测试。
所有表示都应恢复 I;四元数应为 [0,0,0,±1],rotvec 应为 0。
例如 Rz(+90°)[1,0,0]ᵀ 必须得到 [0,1,0]ᵀ。它能快速暴露左右手、主动/被动和转置错误。
验证 RᵀR≈I、det(R)≈+1;若 det≈−1,通常混入了反射或 SVD 修正遗漏。
Euler→R→quat→R 比较矩阵或测地角,不要要求最后欧拉角数值逐分量完全相同。
测试 pitch=±90°、θ≈π、q 与 −q、角度跨 ±180° 以及 6D 两列近共线。
把物体系 xyz、CAD 轮廓和不对称特征投到图像,确认数值约定与视觉结果一致。
Next topic · 04