取图分辨率与观测精度
同一块装甲板在不同焦距下占据多少像素,以及四个角点如何影响 PnP。
取图是识别链路的起点:相机给出图像,识别模块在图像上框出装甲板的四个角点,角点再被送入 PnP 计算位姿。取图分辨率和镜头焦距直接决定这四个点能有多清楚、多稳定。
这一节只关心一条链路:同一块装甲板在画面中占据的像素 → 四个框角的定位误差 → PnP 位姿误差。实车上最常调的曝光和增益,则决定这四个点是否会因为拖尾、过曝或噪声而抖动。
1. 镜头焦距决定画面能看见多大范围
在同一颗相机上更换镜头时,规律很直观:短焦看到的范围更大,长焦看到的范围更小;同一距离上的装甲板,在长焦画面里会占据更多像素。
若图像水平分辨率为 Nx、水平视场角为 FOVx,针孔模型下的像素焦距近似为:
fx ≈ Nx / (2 · tan(FOVx / 2))将焦距换成“像素焦距”后,真实宽度为 W、距离为 Z 的装甲板在图像中的投影宽度可近似写成:
w_px ≈ fx · W / Z这两个式子用于建立量级概念即可。实际系统应以最终标定得到的内参、畸变参数和实际工作分辨率为准,而不是把镜头铭牌上的焦距直接送入 PnP。
视场的取舍
- 宽视场能保留更大的场景范围,但同一装甲板的投影更小;
- 窄视场让远处目标占据更多像素,但画面覆盖范围随之减小;
- 在固定焦距下,提高取图分辨率会把同一块装甲板采样为更多像素;镜头解析力、对焦和图像传输共同决定这些像素能否形成清晰边缘。
2. 同一块装甲板:像素数、框角误差与 PnP
从 PnP 的角度看,输入不是整张图,而是框出的四个二维角点。相同的 1 px 角点扰动,落在小目标上时占装甲板尺寸的比例更大;落在大目标上时相对影响更小。这个差异会继续传给 PnP。
图中采用一组固定取图记录:1440 × 1080、距离约 5.95 m、同一块小装甲板。6 mm 画面中的 PnP 外框宽度为 25.8 px;按 16 mm 等效视场重投影后为 68.8 px。将四个角点同时向外扰动 1 px 后,PnP 的深度变化分别约为 347.7 mm 和 135.7 mm,总位置变化分别约为 348.3 mm 和 135.9 mm。
这组数值把焦距、取图分辨率和角点误差放到了同一条线上:同样的像素级误差,在装甲板投影更小的画面中占比更高,因此传给 PnP 的位姿变化也更大。
水平方向的角点偏移 Δu 与近似角误差的关系为:
Δθ ≈ Δu / fx若用目标投影宽度估计深度:
Z ≈ fx · W / w_px
ΔZ / Z ≈ -Δw_px / w_px因此,左右角点向相反方向偏移会改变投影宽度,深度通常比“整块装甲板在画面里一起平移”更敏感。四个角点一起平移、分别抖动、长期偏向同一方向,或者发生角点语义交换,对 PnP 的影响也完全不同。
3. 实车取图时最常调的两个参数:曝光和增益
实车调试中,最常主动调整的是曝光时间和增益。先区分两个容易混淆的时间量:
- 帧周期是两帧开始曝光之间的时间间隔;例如 120 FPS 对应约
8.33 ms的帧周期; - 曝光时间是单帧传感器累积光子的时长;相机在这段时间内“开着快门”收集光线;
- 曝光不是取图间隔。它是一个帧周期中的采光窗口;当曝光时间接近或超过当前帧周期允许的范围时,才会限制可达到的帧率。
曝光:用时间换亮度,也可能换来拖尾
提高曝光时间,传感器可以收集更多光子,画面通常会更亮,暗处的信噪比也往往更好。但相机在曝光期间并不会停止观察运动:装甲板、云台或车体一旦相对运动,亮边缘会在图像上拉成拖尾,角点就不再是清晰的几何交点。
运动模糊长度 b_px ≈ fx · ω · t_exp其中 ω 是相对角速度,t_exp 是曝光时间。这个式子只用于估算趋势:焦距更长、相对运动更快、曝光更久,像素拖尾都会更明显。长曝光也更容易让高亮灯条或反光区域饱和,边缘信息会被压成一片亮白。
增益:让信号变大,不会让光子变多
增益会放大传感器读出的电信号,使图像看起来更亮。它不会增加曝光期间进入传感器的光子数量,因此通常不会像延长曝光那样增加运动模糊,也通常不会直接降低设定帧率。代价是信号和噪声一起被放大:暗处颗粒、读出噪声和颜色抖动都会更明显,可用动态范围也可能减小。
| 调整项 | 画面变亮的原因 | 常见收益 | 常见副作用 |
|---|---|---|---|
| 增大曝光时间 | 累积更多光子 | 暗场信噪比通常更好 | 运动拖尾、亮区饱和;曝光占满帧周期时会压低可达帧率 |
| 增大增益 | 放大传感器电信号 | 在不延长曝光的情况下补亮度 | 噪声和颗粒变强,亮暗细节更容易丢失 |
实车中的设置顺序
- 先确定希望运行的帧率,由帧周期确定曝光时间的上限;
- 在该帧率下设置曝光时间;
- 再调整增益,使取图质量符合当前识别方案的需要;
- 最终记录曝光、增益、帧率、分辨率和镜头状态。更换镜头、改变对焦或分辨率后,重新检查标定和取图效果。
神经网络和传统视觉对亮度、噪声、颜色和边缘的利用方式不同,因此曝光和增益的最终数值应在各自的识别链路中确定。
不同工业相机对曝光、模拟增益和数字增益的命名、量纲和上限并不完全一致。调参时以相机 SDK 中的实际单位为准,曝光通常以 µs 表示。
4. 哪些是选型参数,哪些是实车运行参数
镜头焦距、传感器分辨率、快门类型和数据接口通常在硬件确定时决定;曝光和增益则会随着赛场亮度、补光与运动状态进行实车调整。
| 参数 | 更常出现的阶段 | 对后续链路的直接影响 |
|---|---|---|
| 焦距 | 选型与装车 | 视场与装甲板投影大小 |
| 取图分辨率 | 相机与采集配置 | 同一块装甲板的采样像素数、带宽与传输负载 |
| 全局/卷帘快门 | 选型 | 快速运动下的几何形变 |
| 光圈、对焦、锁焦 | 装车与维护 | 进光量、清晰度、标定长期稳定性 |
| 帧率 | 运行配置 | 时间采样密度与端到端时序 |
| 曝光、增益 | 赛场实车调参 | 亮度、拖尾、噪声、角点稳定性 |
| 时间戳、触发方式 | 系统集成 | 图像与云台姿态是否对应同一时刻 |
动态自瞄通常会优先使用全局快门:全局快门在同一时间窗口内曝光整幅图像;卷帘快门逐行记录,快速相对运动时矩形装甲板可能出现倾斜或形变。全局快门并不能消除曝光期间的运动拖尾,曝光和光照仍需要单独调好。关于两类快门的差异可参考 Teledyne Vision Solutions 的说明。
5. PnP 的二维输入精度从哪里来
PnP 接收的是二维点和对应的三维点,但二维点已经经过完整的观测链:
真实装甲板
→ 镜头投影与畸变
→ 传感器曝光和采样
→ 图像传输与颜色处理
→ 缩放、补边或 ROI
→ 网络预测关键点
→ 坐标还原与角点排序
→ PnP下面几类问题都会进入 PnP:
- 成像:失焦、拖尾、过曝、暗场噪声、边缘像差和卷帘形变;
- 模型与标注:标签中“角点”的定义、关键点回归能力、输入缩放、遮挡与距离分布;
- 坐标还原:letterbox 比例、padding、ROI 偏移,以及角点顺序;
- 标定:PnP 使用的图像坐标、内参和畸变系数是否对应同一分辨率与镜头状态;
- 时间:图像的曝光时刻与云台姿态是否对齐。
检测框准确不等于角点准确。一个模型即使检测框稳定,也可能把四个角点整体向外推一两个像素;这对检测指标影响很小,却可能显著改变 PnP 的距离和朝向。标定完成后应检查重投影误差,并在真实距离、画面中心和边缘分别验证。OpenCV 的 Camera Calibration and 3D Reconstruction 给出了内参、畸变与投影关系的定义。
6. 一组焦距—角点—PnP 对照数据
下表使用与上图相同的取图和四角点。16 mm 列由同一帧的中心 ROI 做等效重投影,保持输出分辨率 1440 × 1080;它让我们只观察“焦距使同一装甲板放大”这一件事。
| 焦距 | 取图分辨率 | 距离 | PnP 外框宽度 | 四角同时向外 1 px | PnP 深度变化 | PnP 总位置变化 |
|---|---|---|---|---|---|---|
| 6 mm | 1440 × 1080 | 5.95 m | 25.8 px | 宽度的 3.88% | 347.7 mm | 348.3 mm |
| 16 mm 等效视场 | 1440 × 1080 | 5.95 m | 68.8 px | 宽度的 1.45% | 135.7 mm | 135.9 mm |
这不是“每个场景都固定为这些毫米数”的结论。它固定同一装甲板、同一距离和同一种角点扰动,展示投影尺寸变化后 PnP 对角点误差的响应。实际记录时可沿用这一张表,替换为自己的焦距、分辨率、距离和角点扰动结果。
7. 验收时应一起记录什么
不要只比较静态样张。让每个候选方案运行同一模型、同一 PnP 与同一记录程序,再按距离、亮度和运动状态分组统计:
| 指标 | 建议记录方式 |
|---|---|
| 目标像素尺寸 | 各距离下宽高的均值与范围 |
| 取图质量 | 曝光、增益、饱和比例、帧率和连续丢帧长度 |
| 角点精度 | 每个语义角点的平均、P95、系统偏差与帧间抖动 |
| PnP 精度 | 横向、深度、yaw 与重投影误差 |
| 动态表现 | 不同曝光下的拖尾、姿态偏差和检测连续性 |
| 标定稳定性 | 中心/边缘误差,以及重新上电、升温、振动后的变化 |
| 资源开销 | 相机带宽、CPU/GPU 占用和模型吞吐 |
8. 本节检查清单
- 能解释焦距与视场、目标投影大小之间的关系;
- 能根据焦距、距离和取图分辨率,解释装甲板外框为什么会变大或变小;
- 能区分帧周期和曝光时间,并说明高曝光与高增益各自带来的影响;
- 能列出角点从成像、模型、坐标还原到 PnP 的误差链;
- 能将角点误差、重投影误差和最终位姿误差放在同一张记录表里比较;
- 能在最终分辨率、镜头与对焦状态下完成并复查标定。
接下来进入传统视觉:从灯条到装甲板,编写第一个识别程序。