鱼眼镜头的畸变和修正
更新时间:2020-11-20 17:57:13 点击次数:
今天我们来聊聊有关鱼眼镜头畸变的那些事儿。
一、鱼眼镜头成像原理
普通镜头是相似成像,因此所成的像和现实场景相似,这和人眼的视觉感观一样,因此我们很容易接受。很显然,视场角越大,所成的像越大,需要的探测器也越大。为了在有限的探测器尺寸上实现更大的视场角,只能引入一定的畸变,压缩大角度上物体的像。这就是鱼眼镜头成像。如下图所示。
普通镜头成像 鱼眼镜头成像
压缩的结果就是图像不再与现实场景相似了,而是具有一定的扭曲,如下图所示。
二、畸变修正算法
为了修正鱼眼镜头带来的畸变,我们深入研究了鱼眼镜头成像原理,对镜头进行多次空间校准,总结出鱼眼镜头畸变修正算法,实现了高精度还原。下图是采用我们软件的鱼眼镜头畸变修正算法还原的上图图像。
可以看到,虽然因为焦距短而有近大远小的透视效应,但是还原后的图像是横平竖直的,这说明我们的算法很好地修正了鱼眼镜头所带来的桶形畸变。
虽然拉伸可以让图像看起来更“正常”,但是拉伸过程中会填充大量亮度数据,这些填充的数据并不是由像素灰度值乘以校准系数计算的,而是插值算法计算的虚假数值。
事实上,任何图像处理(包括拼接,缩放,拉伸,扭曲等等)的过程都是根据真实数据插值计算虚假数值,虽然看起来是合理的,但是经过图像处理后的亮度值都是没有原始灰度数据的虚假数值,测试设备里不应该出现这样的数值。
基于上述原因,我们的软件并不会拉伸畸变图像,而是将畸变修正算法内置在灯具位置指数和角度计算中,在不引入虚假亮度值的前提下准确测量灯具的位置指数和角度。所以软件界面上看到的图像还是畸变的,所以我们要通过其他方法来验证它的准确度。
三、畸变修正算法准确度验证
上面是用图像直观展示畸变修正算法的效果,下面我们将用UGR里面灯具的位置指数P,从数据上验证畸变修正算法的准确度。
灯具的位置指数P是灯具在人眼视野内方位的加权系数,由灯具的(R,T,H)坐标决定。(R,T,H)是灯具与观察者的三维空间坐标,定义如下图:假定视线水平向前,R是灯具中心与观察者眼睛的距离在视线方向上的投影距离,T是灯具与观察者眼睛在水平方向的偏移量,H是灯具与观察者眼睛的高度差。测量灯具的(R,T,H)坐标,计算(T/R, H/R)查表并插值计算其位置指数P(详见CIE 117-1995或GB 50034-2013)。因此,灯具(T/R, H/R)准确度决定了位置指数P的准确度。
显然,鱼眼镜头畸变会影响灯具的(T/R, H/R),所以我们可以用它来验证畸变修正算法的准确度。我们的眩光测量系统自动测量每个灯具的(T/R, H/R)坐标和位置指数P并把这些参数都详细显示在软件界面的表格里,如下图所示。
因此比对方法很简单,只需要用激光测距仪测量灯具的(T/R, H/R),并与GM-1000软件给出的结果进行比对,就可以知道我们畸变修正算法的准确度。下图是我们与客户一起做的比对实验场景和结果。
No | 手动测量 | 自动测量 | 误差 | ||||||
T/R | H/R | θ | T/R | H/R | θ | △T/R | △H/R | △θ | |
1 | 0 | 0.836 | 39.90° | 0.006 | 0.833 | 39.80° | 0.006 | -0.003 | -0.10° |
2 | 0 | 0.344 | 18.98° | 0 | 0.343 | 18.93° | 0 | -0.001 | -0.05° |
3 | 0.589 | 0.344 | 34.30° | 0.571 | 0.345 | 33.71° | -0.018 | 0.001 | -0.59° |
4 | 0.589 | 0.344 | 34.30° | 0.577 | 0.338 | 33.77° | -0.012 | -0.006 | -0.53° |
可以看到,H/R、T/R和灯具与视线的夹角θ误差都非常小。
四、结论
综上所述,畸变并不会限制鱼眼镜头在眩光测量的应用,因为经过修正后,我们可以得到精确度很高的测量结果。相反,它的最大优势恰恰是引入畸变、使得它可以一次性覆盖UGR要求的超大视场角(143°×125°),相比图像拼接、扭曲会带来的虚假数据,鱼眼镜头测试眩光时每个像素都有原始灰度数据。
另外,对比测试是验证眩光测量系统准确度的唯一方法,不是只有鱼眼镜头才需要验证,事实上所有的眩光测量设备都必须进行各个参数比对测试、计算总不确定度。因此,设备软件除了给出眩光计算总结果外,还必须给出眩光计算公式里的各个过程参数,方便用户比对测试。
如果您对我们的对比测试有兴趣,欢迎您随时联系我!
深圳华萤光电技术有限公司
联系人:黄艳珊
手机&微信号:13418996291
邮箱地址:hys@huayingopt.com
网站&博客:www.huayingopt.com