但在实际工程中,RT 往往被当作“理所当然存在的几何工具”,很少被系统性地讨论。
直到开始做多模态融合、BEV、时序对齐,以及模型量化和部署,很多人才会意识到:
RT 相关的几何链路,往往是数值最敏感、量化最容易出问题的一环。
一、RT 是什么?我们到底在“变换”什么?
- R(Rotation):旋转矩阵(3×3)
- T(Translation):平移向量(3×1)
它描述的是:
同一个点,在两个不同坐标系中的表示关系。
如果一个点在坐标系 A 下是 pAp_ApA,那么在坐标系 B 下可以表示为:
其中
负责点PA的角度旋转,RB称作旋转矩阵;而
负责位置平移。

二、智能驾驶中常见的坐标系与 RT 的角色
在智能驾驶系统中,常见坐标系包括:
Ego(车体坐标系)
Camera / LiDAR(传感器坐标系)
World(世界/地图坐标系)
Image(像素坐标系)
RT 的作用就是在这些坐标系之间建立联系,例如:
Ego → Camera(外参)
World → Ego(位姿)
LiDAR → Ego → Camera(多级变换)
一句话概括:
RT 决定了不同来源的数据是否真的“在同一个空间里”。
三、外参和内参说明:它们各自负责什么?
3.1 外参(Extrinsic)
本质上就是一个 RT:
外参通常来自标定,是几何关系。
3.2 内参(Intrinsic)
fx,fy:焦距(像素尺度)
cx,cy:主点
内参并不关心相机“在哪”,只关心“怎么成像”。
四、从 3D 点到像素点:一条完整的几何链路
以一个 ego 坐标系下的点为例:
外参变换(RT)
透视投影(除以 Z)
内参映射到像素
五、为什么 RT 相关计算在量化时特别容易出问题?
在工程实践中,一个非常普遍、但经常被忽略的事实是:
量化风险,很多时候不是来自“平均误差”,而是来自“数值分布极端”。
5.1 RT 链路的数值特点
RT 相关张量往往同时具备以下特性:
R 的数值接近 [-1, 1]
T 的量级可能是米级、十几米
内参 K 的量级可能是几百到上千
除以 Z 会在 Z 较小时放大数值
多帧/多级 RT 连乘会进一步拉宽分布
5.2 为什么“合并矩阵”会放大量化风险?
工程中常见写法:
这种写法在数学上是等价的,但在量化中:
极值会主导 scale
有效精度集中在极少数区间
几何误差被放大到可见程度
这正是很多量化精度问题的根源。
六、工程指导原则:拆分计算,分别控制分布,逐步合并
一个在实践中非常有效的原则是:
如果合并在一起的矩阵数值分布太宽不好量化,就拆开计算、分段量化,最后再逐步合并。
6.1 拆分后的典型流程
RT(R + T)单独计算
尽量保持高精度
或使用独立、可控的量化策略
显式处理除 Z 和 clamp
明确最小 Z
明确投影坐标的合理范围
内参和 resize 作为线性映射单独处理
数值分布更可控
更适合后续合并或量化
6.2 示例:更量化友好的写法
核心思想不是“多写几行代码”,而是:
把分布极端的来源拆开
每一段都能被理解、被统计、被控制
七、排查量化问题时,建议关注哪些中间量?
与其只看最终精度,不如重点看:
Z 的分布(尤其是小 Z 的比例)
1/Z 的分位数
投影后坐标的 P95 / P99
浮点与量化下投影位置的偏差
你会发现,很多问题在这里就已经“暴露”了。
八、延伸参考与进一步学习
如果你希望进一步加深对 RT 和几何链路的理解,可以参考:
BEVFormer / BEVFusion 等模型中的几何实现
OpenCV 中的相机模型与投影文档
写在最后
在智能驾驶中,它是一条 连接几何、模型行为与量化稳定性的关键链路。
往往比单纯改网络结构更有效。
