14误差传播与标定诊断

参数错一点点,像素错多少。这一页把误差分成两类,给出两条式子, 然后把"看到什么症状去查哪个自由度"变成一张可以照着查的表。

两类误差 排序会翻转 症状反查自由度

一、先说清三个数

假设焦距 933 像素、图像 1920×1080、目标在 3 米处:

误差来源大小像素偏移
相机转了,绕竖直轴0.5°8.15 px
相机装偏了,垂直于光轴1 cm3.11 px
相机和雷达时间差,车速 10 m/s33 ms102.68 px

这三个数不是量出来的,是算出来的。算法只有两条式子,而且它们完全不同。

二、两条式子

角度类:Δu = fx · Δθ
         不出现距离 Z,所以【跟目标多远无关】

位移类:Δu = fx · Δt / Z
         除以 Z,所以【越远越小】

时间差:等价于一个位移 Δt = v · Δt
         所以它也是位移类,只是那个位移往往很大
关键在分子

公式里面真正进入像素的,是方向,也就是 X 除以 Z。

旋转改变的是方向,所以它跟距离无关。平移改变的是位置,要再除以 Z,所以它随距离衰减。

一句话:方向不带距离,位置才带。

同一份误差,换个距离,排名就翻了

误差3 米处50 米处
转 0.5°8.15 px8.15 px,不变
偏 1 cm3.11 px0.19 px,掉到 1/16
时间差 33 ms102.68 px6.16 px,也掉到 1/16
近处:时间 > 旋转 > 平移
远处:旋转 > 时间 > 平移

所以"哪个误差最要命"这个问题,没有距离就没有答案。 近处看位移类,远处看角度类,也就是标定。

三、另一根轴:误差的形状

光看大小不够,还要看它在画面上长什么样。形状只有两类,而且指向完全不同的自由度。

自由度画面上的效果中心
偏航、俯仰整幅画面一起平移跟着动
横向平移整幅画面一起平移跟着动
时间差整幅画面一起平移跟着动
绕光轴旋转原地旋转不动
焦距误差等比缩放不动
沿光轴平移缩放不动
畸变欠补偿越往外弯得越多不动
这一刀切下去,诊断就有了入口

整幅平移类:中心也错,全画面一样。

绕中心类:中心永远对,越靠边越错。

所以第一个问题不是"差多少像素",是"中心的框准不准"。

焦距误差为什么也是"中心不动"

用那条熟式子看:u − cx = fx · tanθ。焦距错了一点,等于乘错了一个比例尺。

中心的光线 tanθ = 0,乘什么都是 0,所以中心不动
边缘的光线最斜,乘出来误差最大

而"乘一个常数"是等比缩放,所以【直线还是直的】

这条性质很有用:焦距错不弯直线,畸变错才弯直线。 前者是一个常数因子,后者是一个随半径变化的因子。 把图形放大一倍,直线还是直线;把图形按半径不均匀拉伸,直线就弯了。

四、诊断:从症状反查自由度

看到的现象指向
整幅平移,各处一样,与距离无关偏航或俯仰
整幅平移,近处多远处少横向平移
中心对,越靠边越错,直线仍直焦距,或者沿光轴平移
中心对,越靠边越错,直线弯了畸变
画面整体歪了,中心不动绕光轴旋转
静止时准,运动时偏时间同步
整幅像是被放大了一点点焦距
有两种"越靠边越错"很难分

焦距误差和畸变欠补偿,在现象上几乎一样:都是中心对、边缘错、不随距离变。

因为它们在标定里是强耦合的:把焦距调大一点、把畸变系数调小一点, 在标定点上的结果几乎不变。

光看重投影误差的数字,分不开这两个。

怎么分:三个实验

#实验分开什么
①拍一条直线,看它直不直常数倍是焦距,变倍是畸变
②把标定板挪到画面边缘,重算重投影误差边缘误差大说明标定没覆盖到那儿;边缘也小说明标定没问题,是使用方式错了
③看四个角是不是一样差一样差是径向,某个方向差得多是切向

五、一个必须先问的问题:报告里的误差是在哪量的

"重投影误差 0.3 像素"这句话本身不完整

它是拿标定板上那些角点算出来的。如果标定板只铺了画面中心, 那 0.3 像素只证明了中心很好,边缘从来没被约束过。

所以看到"边缘差 20 像素"和"报告 0.3 像素"同时出现,不必惊讶。 它们说的是两件事:一处是范围内的,一处是范围外的。

这也意味着区分两种完全不同的病:

病症状修法
精度不够中心也不好改善标定质量
覆盖不够中心好,边缘差扩大靶标覆盖范围

六、还有一条:有没有参照物,决定你看不看得出来

同一份误差,能不能被发现,取决于画面里有没有一个已知的参照。

鱼眼相机反而更好查

鱼眼和广角的像圈边界是天然的参照物:它的位置就是这颗镜头最大视场角对应的像素位置。

投一条角度正好等于最大视场角的光线,它必须落在边界上。偏了就是偏了,而且能看出偏哪边。

满幅的普通镜头没有这个福利,只能自己去找直线和直角当参照。

七、这一页带走什么

误差只有两类:整幅平移,和绕中心。第一类看中心准不准就能分,第二类看边缘。

大小取决于两个变量:焦距和距离。角度类只跟焦距有关,位移类还要除以距离。

诊断的顺序是:先看形状定类别,再看是否随距离变,最后用三个实验把耦合的那两个分开。

← 上一页:变换链与三类参数 ·  下一篇:3D 投 2D 的范式 →
京ICP备19013239号