一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于机器视觉测量系统的镜头评估及图像恢复方法

2022-04-09 03:06:48 来源:中国专利 TAG:


1.本发明属于机器视觉领域,特别涉及一种基于cnn的用于机器视觉测量系统的镜头评估及图像恢复方法。


背景技术:

2.机器视觉是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量等任务。机器视觉测量系统是通过机器视觉产品即图像摄取装置镜头将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。然而其核心部件镜头由于制作精度和组装偏差造成镜头畸变使系统获得的图像失真,对造成镜头畸变的因素进行评估即是对镜头畸变参数进行估计。首先透镜制造精度造成镜头的径向畸变,组装工艺的偏差造成透镜的切向畸变,代表径向畸变的畸变参数有3个,分别为k1、k2、k3,代表切向畸变的畸变参数有2个,分别为p1和p2。因此对造成视觉测量系统镜头畸变两个因素进行评估即对k1、k2、k3、p1、p2这5个参数进行估计。
3.目前,人们已经探索了畸变参数估计方法来恢复系统获得的图像,但都在某些方面存在着不足之处,能够投入实用的方法不多。如传统方法张正友标定法,在得到畸变参数之前,必须先知道镜头的其他参数,而且该方法只考虑了径向畸变,而且将径向畸变系数k3忽略。由此可见传统方法对镜头畸变参数的估计不准确。另一方面该方法得到镜头的其他参数后,要用数学工具求出畸变参数,不能直接得到畸变参数,而且忽略了一些参数用数学工具计算得来的参数精度不高,因此图像的恢复精度不高。


技术实现要素:

4.本发明的目的是,克服传统畸变参数估计方法存在的不足,提供一种基于cnn的机器视觉测量系统镜头评估及恢复方法,来满足机器视觉测量系统实际工作时获得被摄物的精准成像。cnn,即卷积神经网络(convolutional neural networks)。
5.本发明的技术问题通过以下技术方案解决:
6.一种用于机器视觉测量系统的镜头评估及图像恢复方法,首先对镜头畸变进行评估,即利用cnn进行畸变参数估计,然后再利用得到的畸变参数将畸变的图像恢复;
7.所述的对镜头畸变进行评估包括数据集的获取和畸变参数的评估:
8.所述的数据集的获取,具体步骤为:首先利用机器视觉测量系统的图像摄取装置镜头将被摄取目标转换成图像信号,传送给机器视觉测量系统的图像处理系统,图像处理系统将图像信号转变成数字化信号;图像系统对这些信号进行运算来抽取目标的特征;最后,根据预设的容许度和其他条件输出结果,所述的结果包括:尺寸、角度、偏移量、个数、合格/不合格、有/无;通过对机器视觉测量系统如何成像进行研究,通过matlab编程模拟机器视觉测量系统的成像模型,在程序中通过不断改变镜头制造精度以及组装偏差因素的相关
参数来模拟不同的机器视觉测量系统成像,得到10000张图像作为cnn训练的数据集;
9.所述的畸变参数的评估,具体步骤为:在google提供的tensorflow框架环境中对数据集进行回归,将影响机器视觉测量系统的因素解算成畸变参数,影响机器视觉测量系统的因素为透镜制造精度和组装工艺的偏差,透镜制造精度造成系统镜头的径向畸变,组装工艺的偏差造成镜头的切向畸变,代表径向畸变的畸变参数有3个,分别为k1、k2、k3,代表切向畸变的畸变参数有2个,分别为p1和p2,因此将影响机器视觉测量系统的因素解算成畸变参数即对k1、k2、k3、p1、p2这5个参数进行估计,这一过程的具体步骤如下:
10.1)将数据集按照6:2:2分配分别为训练集、验证集和测试集,将matlab程序里生成的标签对应图片放到.txt文档里,这一步为打标签,按照训练集、验证集、测试集将图像和标签放好压缩,上传到google云端硬盘;
11.2)倒包,将需要用到的tensorflow、numpy数据包导入,然后找到能使用的cpu,将google colab挂载到谷歌云盘上;
12.3)加载和可视化数据标签,先构建训练集、验证集、测试集以及标签的文件路径名,然后用imagedatagenerator加载图片,查看一下图片和标签;为了防止数据过拟合,采取数据增强操作,将图像进行水平翻转、随机旋转,然后定义一下batchsize为20;
13.4)搭建卷积神经网络,然后编译模型:优化器使用adam,损失函数为交叉熵函数;
14.5)利用搭建好的卷积神经网络对数据集进行训练,先定义一下epoch,每20个周期保存下模型参数,这时看一下训练精度和验证精度,训练精度验证精度曲线重合时停止训练;
15.6)输入测试集验证模型效果;
16.所述的利用得到的畸变参数将畸变的图像恢复,是指依据畸变参数,将图像恢复到畸变前;像素在uov坐标系下的无畸变坐标(u,v),经过径向畸变和切向畸变后落在了uov坐标系的(ui,vi)上,也就是说,真实图像imgr与畸变图像imgd之间的关系为:
17.imgr(u,v)=imgd(ui,vi)
18.已知的是畸变后的图像,要得到没有畸变的图像就要通过畸变模型推导其映射关系,通过公式,找出所有的imgr(u,v),实现过程是,对输出图的点做遍历,对于生成的64p畸变图像,从点(0,0)到点(64,64),一行一行的遍历,依次找到输出点(u,v)对应的原图点(ui,vi)的像素值,再将(ui,vi)的值赋给(u,v),如果计算出来的对应的原图的点(ui,vi)不是整数,则用二次线性插值计算此点,然后赋值给(u,v),完成所有遍历后,得到畸变前的图像。
19.有益效果:
20.1、本发明的一种基于cnn的机器视觉测量系统镜头评估及恢复方法,先对造成系统核心部件镜头畸变的因素进行评估,即镜头制造精度及组装工艺的偏差。利用cnn来对这两个因素进行评估,即对k1、k2、k3、p1、p2这5个参数进行估计。本发明采用标准的模板作为机器视觉测量系统的被摄物,因为镜头的制作精度以及装配误差都不同,系统获得的图像畸变程度不同。利用cnn对畸变图像回归,得到这5个畸变参数,即将影响镜头畸变的因素解算成畸变参数。再利用实时得到的畸变参数做与畸变相反的变换,消除图像畸变,以较小的代价使机器视觉测量系统获得更加真实的图像。先利用cnn进行畸变参数估计,再利用畸变参数对图像恢复,使机器视觉测量系统得到表达被摄物的真实形态的图像,满足现实任务
需求。
21.2、传统方法只考虑了径向畸变,或者对径向畸变参数阶次考虑较少,将径向畸变系数k3忽略。由此可见传统方法对镜头畸变参数的估计不准确。由于切向畸变和径向畸变都会对机器视觉测量系统成像产生影响,对参数的估计不全面图像的恢复精度无法满足现实需求。本发明采用标准的模板作为机器视觉测量系统的被摄物,因为镜头的制作精度以及装配误差都不同,系统获得的图像畸变程度不同。利用畸变程度不同的图像使用cnn对全部畸变参数进行估计,再进一步消除图像畸变,使机器视觉测量系统能精准成像。
22.3、可直接利用系统获得的畸变图像实时的用cnn模型对畸变图像回归,得到畸变参数,再做畸变的逆变换,获得正常图像。不需要像传统方法先知道镜头的其他参数,然后再用数学工具求出畸变参数,不能直接得到畸变参数,而且忽略了一些参数用数学工具计算得来的参数精度不高,因此图像的恢复精度不高。
附图说明:
23.图1为本发明的机器视觉测量系统镜头成像的非线性模型。
24.图2为本发明的作为系统被摄物的标准模板。
25.图3为本发明的cnn模型结构示意图。
26.图4为本发明利用畸变参数进行部分图像恢复前后对比示意图。
27.图5为本发明应用此系统镜头评估和图像恢复方法的流程图。
具体实施方式
28.实施例1本发明的机器视觉测量系统镜头成像的非线性模型
29.本发明的一种基于cnn的机器视觉测量系统镜头评估及恢复方法的系统镜头成像的非线性模型如图1所示,在非线性的成像模型中,镜头实现如下转换:世界坐标系(用(xw,yw,zw)表示其坐标值)-》相机坐标系(坐标值用(xc,yc,zc)表示)-》图像坐标系(用(x,y)表示其坐标值)-》像素坐标系(用(u,v)表示其坐标值)。通过研究系统被摄物成像到靶面上的传递函数,为利用matlab编程模拟该过程生成代表不同畸变程度的图像作为数据集作准备。通过不断改变系统镜头制造精度以及组装工艺偏差相关系数来模拟这两个因素对系统造成的影响,生成的图像失真程度也不相同,产生的10000张图像作为cnn训练的数据集;
30.机器视觉测量系统的被摄物成像到靶面上的传递函数为:
[0031][0032]
实施例2本发明的作为系统被摄物的标准模板
[0033]
本发明的作为系统被摄物的标准模板如图2所示,该标准模板为利用matlab编程生成的棋盘格图像,采用6
×
6布局方格,该图像像素为64
×
64pixel。该图像为灰度图像。具体程序如下:
[0034]
j=checkerboard(60,3,3);
[0035]
j(j》0)=1
[0036]
figure
[0037]
imshow(j)
[0038]
saveas(gca,'checkerboard','jpg')
[0039]
实施例3本发明的malab模拟透镜制造精度及组装工艺偏差对机器视觉测量系统成像影响的程序设计
[0040]
本发明的malab模拟透镜制造精度及组装工艺偏差对机器视觉测量系统成像影响的程序设计如下:
[0041]
[0042]
[0043][0044]
在程序中,先读入标准模板,再不断改变系统镜头制造精度以及组装工艺偏差相关系数来模拟这两个因素对系统造成的影响,生成失真程度不相同的图像,产生的10000张图像作为cnn训练的数据集。在程序中最后利用label生成图像的标签。
[0045]
实施例4本发明的用于cnn估计畸变参数的数据集打标签具体实现方法
[0046]
本发明的部分失真图像对应的标签如下:
[0047][0048]
[0049]
利用cnn估计畸变参数需要先打好图像的标签,标签即为k1、k2、k3、p1、p2的数值。该标签按照如上格式放到.txt文档里,该标签的第一行即为图像0的标签,以此类推。这样图像和标签一一对应。
[0050]
实施例5本发明的cnn模型结构示意图
[0051]
本发明的cnn模型结构示意图如图3所示,该模型为由三层卷积层、三层池化层、两层全连接层和一层输出层组成的卷积神经网络。将已经制作好的数据集输入到模型中进行训练(其具体步骤见发明内容),输出可以得到k1、k2、p1、p2、k3这5个参数值(一般将参数k3放在p1和p2之后)。训练好的模型可以用来为其他机器视觉测量系统镜头畸变实时进行评估,调用model.predict函数即可进行,该方法精确度高,效率高,满足现实机器视觉测量系统任务需要。得到的k1、k2、p1、p2、k3参数可为失真图像恢复作准备。
[0052]
实施例6本发明利用畸变参数进行部分图像恢复前后对比示意图
[0053]
本发明利用畸变参数进行部分图像恢复前后对比示意图如图4所示,上面五张图像为系统获得的失真图像,后五张图像为利用畸变参数进行恢复的正常图像。正在进行任务的机器视觉测量系统获得的图像实时输入训练好的模型的得到畸变参数。然后做与畸变相反的变换,消除图像畸变,以较小的代价使机器视觉测量系统获得更加真实的图像。该方法节省人力物力,而且精度更高。
[0054]
具体步骤为:像素坐标系(uov坐标系)下的无畸变坐标(u,v),经过径向畸变和切向畸变后落在了uov坐标系的(ui,vi)上。即就是说,真实图像imgr与畸变图像imgd之间的关系为:
[0055]
imgr(u,v)=imgd(ui,vi)
[0056]
已知的是畸变后的图像,要得到没有畸变的图像就要通过畸变模型推导其映射关系。通过公式,找出所有的imgr(u,v)。实现过程是,对输出图的点做遍历。对于生成的64p畸变图像,从点(0,0)到点(64,64),一行一行的遍历,依次找到输出点(u,v)对应的原图点(ui,vi)的像素值,再将(ui,vi)的值赋给(u,v)。如果计算出来的对应的原图的点(ui,vi)不是整数,则用二次线性插值计算此点,然后赋值给(u,v)。完成所有遍历后,就得到了输出图像。
[0057]
本发明的完整操作过程的流程图如图5所示。
[0058]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。在以上实施例中,所涉及的具体程序脚本的编写属于本领域常规技术,在本发明给出的设计思想的基础上,本领域普通技术人员可根据自己编程习惯选择相应的编程语言实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献