0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

镜头畸变是怎么产生的

QQ475400555 来源:机器视觉沙龙 2023-06-02 15:38 次阅读

1、问题背景 最近在做的项目有畸变校正的需求,但测试镜头畸变时,发现畸变的形态不太正常。如下图所示中间向内凹、四周向外凸,感觉像是曲线型的。 但常见的畸变就两种,一种是向内收的枕形畸变,另一种是向外凸的桶形畸变,所以本篇文章主要是对这个问题做一个分析, 以及总结一下什么是畸变、畸变是怎么产生的、畸变的计算。 b362bdd2-fbbe-11ed-90ce-dac502259ad0.png   2、问题分析 关于畸变,是属于像差的一种,肯定是和镜头相关的。遇到我上面的问题具体该怎么处理呢? 最简单的方法就是对着图卡(一般是点阵图/棋盘格)去拍 raw 图,将有问题现象的 raw 图反馈给镜头厂去确认。 一开始我是給的上面点阵图的那张 raw,他们反馈看现象是不太正常,但说我拍歪了,让再摆正重新拍一张。 随即又拍了张摆正的解析力卡的 raw 给他们,因为是确认边缘直线变曲线的问题,所以用其他图卡能复现现象也行。 如下是这颗模组的规格,反馈说是这颗镜头的视场角是120度,属于广角镜头,只要畸变<10.5%就是正常的,   确实短焦距的广角镜头是会容易出现明显的桶形畸变,但目前看到的这种曲线的畸变,就不太确定是什么了。   b380cfca-fbbe-11ed-90ce-dac502259ad0.png     镜头厂那边实测,模拟给出的结论就是桶形畸变,也是满足镜头的设计要求的。并做了如下解释,如下图所示是反映镜头畸变的曲线图、网格图。   从畸变曲线看,是单调递增的,且是负值,所以是单纯的桶形畸变。   曲线图上,在 2.2mm像高内,畸变都比较小,2.2mm 开始,畸变就变的比较大,应该是内视场畸变和外视场畸变差异过大导致的视差。   b38d5b32-fbbe-11ed-90ce-dac502259ad0.png   我的理解是类似于在一个一圈一圈的圆环里面画直线,会感觉直线变形了一样。 如上网格图也是一样,内视场的畸变很小,而到边角部分的畸变明显变大所以视觉上就感觉中间不直了一样。   3、知识延申:关于畸变的相关概念 a、什么是畸变 畸变是指物体所成的像在形状上的变形,它并不会影响像的清晰度,而只影响像与物的相似性。 如下示意图所示,常见的畸变类型有桶形畸变和枕形畸变。 b3a47dbc-fbbe-11ed-90ce-dac502259ad0.png   那什么时候是桶形畸变,什么时候又是枕形畸变呢?   以如下简单的示意图为例,将靠近镜头中心部分所成的像视为内视场(y1),边缘部分为外视场(y2)。   当内视场的放大倍率 :y1/h1 > 外视场的放大倍率:y2/h2时,所成的像是从中心是往外放大的,也就是桶形畸变。反之则是枕形畸变。 b3cf4fec-fbbe-11ed-90ce-dac502259ad0.png   而具体出现桶形畸变还是枕形畸变,取决于光圈的位置,当光圈在透镜前面或后面时,会限制光线的行为。   当光圈在镜头前面,像的高度减小了,也就是像缩小了,就造成了桶形失真。复杂的镜头,例如后焦距广角镜头,往往就会出现桶形失真,因为前组镜头会充当后组的光圈。   当光圈在镜头后面,像的高度增加了,也就是放大了,就是枕形失真。远焦镜头的后组为负,会导致枕形失真。   下面这幅图片是对应的三维图,更加清晰的看出光圈与镜头的关系。 b3e84e48-fbbe-11ed-90ce-dac502259ad0.png   b、畸变产生的原因 从上面的概念我们了解到,畸变产生的根本原因是镜头像场中央区的放大倍率和边缘区的放大倍率不一致导致,那为什么不一致呢?   b3fcab86-fbbe-11ed-90ce-dac502259ad0.png   请看如上这个光路图,A 和 B一个是轴上点,一个是轴外点。过 B 点作辅助光轴,也就是这个虚线,与像面交于 B0′,B0′点即为 B点的理想像点。   另一方面,B点若是以细光束成像,则像点是B′点,注意,细光束成像是没有球差和慧差的,但是有场曲,所以B在细光束下成像像点实际在B', B′B0′为B点的场曲。   当B点以主光线成像时,看黄色主光线,这时注意,主光线是宽光束,存在球差和慧差,所以宽光束成像时,黄色主光线交辅轴于B1′点,所以B1′B′为B点的球差。   所以,综合球差慧差场曲的影响,主光线最终经B1′点交像面于Bz′点,那实际像点Bz’就偏离了理想像点B0′。   再看看位于光轴上的A点,主光线与光轴重合,主光线的像点与理想像点在像面的中心点A′重合,因此轴上点成像没有偏差,但是轴外点的像高和理想像高有差异,造成中心和边缘的放大倍率不同,这就产生了畸变。   所以,由以上分析可以看出,畸变的形成既有场曲的因素也有球差的因素。   注: 篇幅有限,这里就不再解释关于球差,慧差,场曲的概念了,后续文章会再单独描述;   c、关于畸变的计算 再回到上面镜头的spec,描述了镜头的 TV 畸变是10.5%,光学畸变是20%,那这两者的区别是什么,具体是如何计算的? b419231a-fbbe-11ed-90ce-dac502259ad0.png   1)、关于光学畸变: 光学畸变是对应镜头的指标,描述的是物体所成像的理想位置和实际位置的偏差,如下光路图中的轴外一点B,实际像点Bz',理想像点为B0′。   可以用理想像高y’,和实际像高 yz’ 的比值来描述偏离程度, 公式为:( yz'-y' ) / y' x 100%;   b3fcab86-fbbe-11ed-90ce-dac502259ad0.png   可以用此项目中的镜头规格来做具体的验证,镜头的光学畸变是随视场范围变化而变化的,规格书给出的20%是最大的光学畸变值,   所以我们要计算出最大的理想像高,也就是计算当是最大视场范围时成像时的理想像高是多少。   b4349d3e-fbbe-11ed-90ce-dac502259ad0.png   最大的视场角如上规格书,对角线方向的 FOV 值为120° (如下图 ɵ = 60° ),焦距 f 是2.13mm,理想像高为:tan 60° x 2.13 = 3.689mm;   而最大实际像高就是 sensor 对角线长的一半:5.867 / 2 = 2.934mm; 则镜头最大光学畸变为:(2.934-3.689)/ 3.689 x 100% = - 20% ; b444bf52-fbbe-11ed-90ce-dac502259ad0.png 2)、关于 TV 畸变: TV畸变是对应所拍摄出的图片而言的,体现图像的变形程度,我们平常用 imatest 软件所测试的就是TV畸变的值。    TV 是 Transverse Vertical,横向竖向的意思。   关于TV畸变的计算它有SMIA 和 Traditional TV distortion 两种,如下示意图所示: b45285ec-fbbe-11ed-90ce-dac502259ad0.png SMIA TV Distortion = 100% * ( A-B )/B ;A = ( A1+A2 )/2 Traditional TV distortion = 100% * ∆H/H   如上 SMIA TV Distortion 计算中,A = ( A1+A2 )/2 = H+2∆H,B = H,则 100% *(A-B)/B = 2∆H/H,所以 SMIA TV Distortion = 2x Traditional TV distortion。   还是以此项目中用到的镜头来做具体的验证,规格书中给出的TV 畸变值是10.5%,且是SMIA TV 畸变;   b46e78ba-fbbe-11ed-90ce-dac502259ad0.png   如下是实拍的棋盘格的图,用来计算 SMIA TV畸变,拍两条横向直线,让他们与图像的上下边相切。   b47f3ee8-fbbe-11ed-90ce-dac502259ad0.png   两条直线与图像左侧相交,得到两个坐标,计算出纵向像素差A1。同样的方法可以得到右侧的纵向像素差A2。两条直线间的距离就是图像的高B,畸变值就是((A1+A2)/2 - B)/B。   用画图工具打开后,就可以得到每个点的像素位置,如下图的坐标所示,先算出左侧的像素差(2944-176=2768),右侧的像素差(2937-169=2768),中间的像素差为3120,   可以计算出畸变值为:((2768+2768)/2 - 3120)/3120 = -11.2%),结果有点误差,但也不大,实际测试一般都是用 imatest 软件去计算,能了解一下具体是怎么计算的就可以了。  
责任编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模拟
    +关注

    关注

    7

    文章

    1413

    浏览量

    83655
  • 镜头
    +关注

    关注

    2

    文章

    481

    浏览量

    25350
  • 线型
    +关注

    关注

    0

    文章

    5

    浏览量

    6552

原文标题:关于镜头畸变问题的总结

文章出处:【微信号:机器视觉沙龙,微信公众号:机器视觉沙龙】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [求助] 关于NI 视觉助手的标定训练栅格图像的选取以及畸变模式

    要使能Compute Lens Distortion Model计算镜头畸变模式,那么在这一个畸变校正的步骤中,根据向导提示信息,是需要选择一幅或者多幅标定栅格图像来计算畸变模式。(问
    发表于 06-13 11:14

    跪求各位大神,如何处理摄像头桶形畸变

    本人正在参加飞思卡尔智能车比赛,摄像头组,用的广角镜头,图像畸变严重,跪求大神,桶形畸变处理算法,
    发表于 05-09 21:09

    为什么输入信号受运放影响会产生畸变

    `输入信号100Hz,峰峰值1V,偏置0.5V的正弦波。运放LM358P,双电源正负2.5V供电。结果输入信号底部畸变,且随电源电压升高而输入信号底部畸变变大。何解?`
    发表于 07-18 17:27

    广角镜头桶形畸变的样条函数修正方法

    广角镜头桶形畸变的样条函数修正方法
    发表于 06-15 14:22 0次下载

    FA低畸变5百万像素镜头

    可见光镜头
    发表于 01-13 14:18 0次下载

    机器视觉镜头的主要特性

    镜头设计中有许多重要的特性,包括镜头分辨率、镜头畸变和光照均匀性等,直接影响机器视觉系统性能。
    的头像 发表于 05-06 11:46 3057次阅读
    机器视觉<b class='flag-5'>镜头</b>的主要特性

    基于除法畸变模型的镜头线性标定方法

    针对鱼眼镜头的高精度标定需求,提岀一种基于除法畸变模型的线性标定方法。通过除法模型将题转换为线性方程组求解问题相机畸变中心后对畸变方程矩阵进行解耦,分别求解相机内外参数和
    发表于 05-19 11:39 7次下载

    Blackfin-Download生产码的空间变换和镜头畸变校正(STLDC)

    Blackfin-Download生产码的空间变换和镜头畸变校正(STLDC)
    发表于 06-05 19:48 0次下载
    Blackfin-Download生产码的空间变换和<b class='flag-5'>镜头</b><b class='flag-5'>畸变</b>校正(STLDC)

    海思芯片上LDC(镜头畸变校正)功能原理浅析

    海思35xx芯片专门有一个模块GDC(Geometry Distortion Correction)来对畸变图片进行校正。它里面其实有两个应用case,一个是fisheye校...
    发表于 01-26 18:28 7次下载
    海思芯片上LDC(<b class='flag-5'>镜头</b><b class='flag-5'>畸变</b>校正)功能原理浅析

    远心工业镜头的原理和作用

    远心镜头具有众多优点,包括大景深、低畸变、高分辨率等。在汽车零部件、五金件、PCB板等尺寸测量需求应用广泛,但远心镜头种类多样,选择远心工业镜头时,需要根据实际需求选择适合的焦距、分辨
    的头像 发表于 06-07 16:48 861次阅读
    远心工业<b class='flag-5'>镜头</b>的原理和作用

    一种广角镜头成像几何畸变校正算法实现

    摘要 :由于成像光学系统固有的特性,以及镜头成像平面与物体平面存在的倾斜角和转角,使得获取的图像存在着非线形几何畸变。在对图像进行定量分析和检测之前,必须消除这些畸变。为此,本文提出了一种以校正径向
    的头像 发表于 06-20 10:18 523次阅读
    一种广角<b class='flag-5'>镜头</b>成像几何<b class='flag-5'>畸变</b>校正算法实现

    halcon单相机标定和畸变矫正程序

    一种光学畸变(optical aberration)。畸变是一种相差,可能由于摄像机镜头导致,会对拍摄的物体的形状产生变化,影响测量。
    的头像 发表于 07-03 10:12 1619次阅读
    halcon单相机标定和<b class='flag-5'>畸变</b>矫正程序

    谐波畸变率计算公式解析

    谐波畸变率计算公式解析 谐波畸变率是指电信号中所有谐波的总功率与基波功率之比。谐波畸变率通常是一个小数,或表现为百分数。谐波畸变是由于信号被扭曲或变形而引起的,这会对信号的完整性和质量
    的头像 发表于 09-21 17:13 2322次阅读
    谐波<b class='flag-5'>畸变</b>率计算公式解析

    电流谐波畸变率最高多少算正常

    电流谐波畸变率最高多少算正常 电流谐波畸变率是当电器设备使用时,其所产生的电流波形失去了本应该的正弦波形而变得扭曲并包含了波形畸变的情况。这种电流谐波
    的头像 发表于 09-21 18:19 2190次阅读

    电压总谐波畸变率多少合格

    方法及合格标准进行讲解。 电压总谐波畸变率的含义 电压总谐波畸变率指的是采用三次谐波组分计算的电压畸变程度,单位为%。在电网中,电流和电压中都会存在谐波成分,因为谐波会产生一些不良的影
    的头像 发表于 09-21 18:20 2053次阅读