基于视觉检测的智能数字光源及方法与流程

文档序号:26098233发布日期:2021-07-30 18:08阅读:129来源:国知局
基于视觉检测的智能数字光源及方法与流程

本发明属于视觉检测技术领域,具体涉及一种基于视觉检测的智能数字光源及方法,特别是适用于大型曲面、反光物体的视觉检测。



背景技术:

随着中国3c电子行业的快速发展,中国机器视觉行业也不断壮大和成熟,中国机器视觉软、硬件系统迅速发展,尤其是机器视觉光源已经占据主要国内市场份额。国内外机器视觉光源都已经形成完善的、标准化的体系。标准化的光源,如:条线光、面光源、穹顶光源、同轴光源,解决了光源的量产与成本问题,但随着机器视觉向各个领域的渗透与中国制造业的自动化需求的增长。如今,一方面标准化的光源无法解决像高反光、曲面物体表面检测的打光需求;另一方面定制化光源成本太高,很难不普及。高反光、曲面物体表面的检测受限于打光成像难题的限制,没有很好的行业解决方案。因此需要一种新的增加光源通用性的发展思路。特别是高反光、大曲面物体(例如车身的漆面检测)表面检测有诸多的不便:1)一个相机无法将整个物体拍全;2)大物体在生产线上的定位不是很精确;3)大物体很难营造均匀的打光环境和简单的背景环境;4)大物体一般存在大曲面或是多个需要检测的曲面,普通视觉检测相机是很难拍全物体的。所以,像大物体的精细检测,很难实现机器视觉的自动化,目前市面上没有底层的实现手段。



技术实现要素:

本发明的目的在于提供一种基于视觉检测的智能数字光源及方法,本发明根据产品定制化的光源设计,对应难打光的曲面、高反光物体表面检测提供低成本可行方案,本发明的光源可以打出人的经验无法打出的最适合的光线。

为实现上述目的,本发明提供如下技术方案:

一种基于视觉检测的智能数字光源,其特征在于:包括若干灯珠、光源控制器和上位机,所述上位机用于给光源控制器发送一个亮度矩阵信号,所述亮度矩阵与灯珠一一对应,每个数的值对应灯珠的亮度信息,所述光源控制器根据亮度矩阵对应的打光模式单独控制每个灯珠。

进一步地,所述亮度矩阵中每个数的值还包括每个灯珠的颜色信息、照射角度信息、反光时长信息、点亮延时信息中的一种或者多种。

进一步地,该数字光源还包括相机,所述相机用于拍摄打光后的待检测物体,并将图像传送给上位机,共上位机计算亮度矩阵。

进一步地,所述光源控制器通过千兆网线或usb3.0数据线与上位机通信。

进一步地,所述光源控制器包括以下打光模式:

a)内置打光模式:光源控制器内部存储有既定打光模式,选择调用使用;

b)加载打光模式:通过加载上位机调制好的亮度矩阵,来获取对应的打光模式,所述亮度矩阵来自于上位机的训练、学习或是手动调制,并存储到光源控制器内,下次直接调用。

一种基于视觉检测的数字光源的自学习方法,其特征在于:

包括上述数字光源,待检测物体置于该数字光源下,给数字光源一个初始亮度矩阵,再使用相机采集当前待检测物体的图像;

上位机对图像进行分析计算,获得一个优化后的亮度矩阵,根据优化后的亮度矩阵更新数字光源的打光方式;

再次使用相机采集当前待检测物体的图像,上位机再次分析计算优化亮度矩阵,如此往复迭代优化,达到一定条件后停止,得到最佳打光模式和亮度矩阵。

进一步地,设定阈值,对亮度低于阈值的灯珠强制熄灭。

一种大型物体精细外观检测方法,其特征在于:包括上述数字光源和机械手,机械手携带相机和所述数字光源一起运动,机械手需要调整拍照点位来检测待检测物体上的每个位置,所述机械手每调整一个拍照点位均需要采用上述基于视觉检测的数字光源的自学习方法获得最佳打光模式和亮度矩阵。

与现有技术相比,本发明的有益效果如下:

1、本发明根据产品定制化的光源设计,对应难打光的曲面、高反光物体表面检测提供低成本可行方案。本发明的光源可以打出人的经验无法打出的最适合的光线。

2、本发明在硬件不变的前提下,可以满足多类型、复杂打光的需求;减少对经验丰富的打光工程师依赖。更加方便快捷,降低定制化光源的成本,拓展机器视觉的利用领域。

3、本发明从控制上复用相同的光源硬件,实现不同打光效果,“一灯多用”;改善定制化光源成本高和定制效果在光源制作出来前不确定的问题。本发明可复制性好,批量生产,可以降低光源成本。

附图说明

图1为碗光型的数字光源的示意图。

图2为碗光型的数字光源在视觉检测中的应用示意图一。

图3为碗光型的数字光源在视觉检测中的应用示意图二。

图4为基于视觉检测的数字光源的自学习方法的示意图。

图中:1-数字光源,11-底板,12-灯珠,13-漫反射板,2-相机,3-镜头,4-待检测物体,5-机械手。

具体实施方式

下面将结合具体实施例对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1、2、3,一种基于视觉检测的智能数字光源,包括若干灯珠12、光源控制器、上位机和相机2。

所述灯珠12均安装在底板上,在覆盖漫反射板13,每个灯珠12均与光源控制器连接,光源控制器可以采用如tlc9541等大型露天led显示屏的控制和驱动芯片,实现对每个灯珠12的独立亮度控制。可以单独控制每个灯珠12的亮度,如果使用三色led灯珠,包括颜色控制;如果led带压电陶瓷,就可以加入led照射角度控制。

所述上位机用于给光源控制器发送一个亮度矩阵信号,所述亮度矩阵与灯珠12一一对应,每个数的值对应灯珠12的亮度信息,亮度矩阵的每个数的取值范围在0-255之间,“0”代表“灯珠”熄灭,“255”代表“灯珠”最亮(所述亮度矩阵中每个数的值还包括每个灯珠12的颜色信息、照射角度信息、反光时长信息、点亮延时信息中的一种或者多种)。所述光源控制器通过千兆网线或usb3.0数据线等高速数据传输接口与上位机通信。

所述光源控制器根据亮度矩阵对应的打光模式单独控制每个灯珠12。

所述相机2,所述相机2用于拍摄打光后的待检测物体4,并将图像传送给上位机,共上位机计算亮度矩阵。

所述光源控制器包括以下打光模式:

a)内置打光模式:光源控制器内部存储有既定打光模式,选择调用使用;包括:所以灯珠12亮度相等,同时同步变化,统一控制的常规模式;条纹模式,若干排灯珠12亮,若干排灯珠12暗;边缘补偿模式,中心灯珠12暗,边缘灯珠12亮,弥补相机2中心亮边缘暗的成像问题等;

b)加载打光模式:通过加载上位机调制好的亮度矩阵,来获取对应的打光模式,所述亮度矩阵来自于上位机的训练、学习或是手动调制,并存储到光源控制器内,下次直接调用。

所述数字光源形态可以多种多样,包括但不限于现有的标准光源,如:灯箱、碗光、拱型、面光、环光、同轴光等。甚至可以是“积木光源”,即用多个小光源进行“积木式”组装的光源,将光源做成只有几个灯珠的“微小”、可组装、带通信编号的“积木”模块,由这些“积木”模块任意组合实现任意形态要求,而通过模块编码和内部灯珠编码,光源控制器可以独立控制每个“积木”模块的每个灯珠,这样便突破了外形的限制,是定制化光源的低成本实现方案。亮度矩阵中的亮度值在矩阵中的位置(几行几列)不需要和实际灯珠的空间位置相一一对应,只要可以唯一对应即可。

基于视觉检测的智能数字光源的自学习方法,包括:

1)包括上述数字光源,外形类型可以根据历史经验选取,或是直接选择覆盖更全面的光源。

2)将被检测的高反光、曲面待检测物体4置于光源下,设置一个初始亮度矩阵(如:全亮);然后,先保证物体不动,使用相机2采集当前的图像。

3)上位机对图像进行分析计算,获得一个优化后的亮度矩阵,根据优化后的亮度矩阵更新数字光源的打光方式;更新所述数字光源的打光方式,再次拍照,再次分析优化,如此往复迭代优化,达到一定条件后停止,得到最佳打光模式和亮度矩阵。

这里上位机的优化算法可以是各类寻优算法或是机器学习算法,如:

a)搜索算法:牛顿梯度下降算法、启发式搜索算法、遗传算法、退火算法、蚁群算法等;

b)机器学习算法:随机森林、蒙特卡罗树搜索等,对抗生成网络、高斯过程、强化学习等。

4)打光优化的方向,需要根据具体应用确定:可以是增加或是降低图片的对比度,增加图像的锐利度,防止出现过曝光区域或是亮度不足区域,突显某一特征,消除纹理干扰,图像均匀性等。

a)如果是使用“搜索算法”,需要给定图像优化方向的“目标”函数,目标函数的设计根据应用决定,也可以多种优化目标进行组合,如:追求图像中两个区域的对比度最大化,可以每次都随机取图片中两个区域中的若干像素的平均灰度值的插值为优化目标函数;又如:追求某个边缘的锐利度最佳,就将边缘像素宽度作为优化目标,像素宽度越“窄”锐利度越好等。

b)如果使用非监督“学习算法”,同样需要定义图像质量“好的”标准。

如图4所示,通过算法优化,再次打光成像,再次优化的,“软--硬”件交互迭代优化形式,找到当前打光条件下的最优解。

5)为防止打光模式过度拟合当前单一个体,设立恰当的条件,停止迭代过程,如:设置停止迭代次数;或是目标函数达到目标值停止。

6)智能光源在应用中会遇到“过拟合”的问题,所以,为了让该光源具有广的兼容性、适用性,需要增加泛化能力,同时也防止过拟合。因为如果仅仅对一个物体反复打光学习,最后得到的亮度矩阵,可以在该物体上实现最佳打光,产品稍微变化,如:该产品不同个体之间存在一定差异,或是不同产品运动到光源下时的位姿存在细微差异,可能智能光源的打光就无法适应这种变化,而对其他产品的打光大打折扣;这便是因为对一个物体过度学习,形成了仅对该物体、该位置形成了很强的正对性,即过度拟合单一场景、单一个体,失去了迁移和适应能力,为了解决该问题:

a)第一种方法:并行优化。用多个智能光源,对存在允许差异的多个物体(这些个体包含着检测过程需要兼容的产品变化和位姿变化)同时进行学习优化;采用所述数字光源搭建多个相同的视觉平台,每个平台上放置同样的待检测物体4,待检测物体4的位置在运行的范围内进行变动;或是放置需要兼容的同一类产品的多个存在细微差异的待检测物体4;此时的优化函数是各个平台优化算法的优化函数的总和;迭代学习过程的结果是兼容当前所有物体的一个综合优化结果,保证光源打光对所有产品都能达到理想效果。该方法需要的硬件资源比较多,但学习速度快。

b)第二种方法:串行优化。使用循环流水线或是转盘:将需要检查的相同或是不同物体放置在循环流水线或是转盘上,循环流水线或转盘按照节拍,每次移动一个待检测物体4的位置,这样每次拍照的物体其实都不一样,这样光源最终学习的结果是循环流水线或是转盘上的每个物体都能获得较好的打光效果。该方法学习速度慢,但需要的硬件资源少。

c)适度提前停止优化过程,也能达到防止过拟合的作用。

实际运用中使用如上方法来学习的优点:一、视觉检测多用于流水线作业,而流水线产品的位置是存在或大或小的差异的,无法要求产品在流水线上的位姿绝对一致,或是成本太高;二、同一流水线可能会同时生产不同又相似的产品,或是产品运行存在品质允许范围内的不同;智能光源在实际应用当中如果兼容这些变化,便能减少设备数量,降低成本;同时这样也对光源的安装进度没有那么高;而且使得光源易用性、稳定性更好。

7)最终输出的“打光”矩阵中必定有些灯珠12的亮度是很低的,这样在可以设定一个亮度阈值,某些灯珠12亮度值低于阈值时就直接强制为“0”,也就是熄灭;这样做的好处是,这些值为0的位置的灯珠12,在后续光源的批量生产中可以“裁剪”掉,也就是不用安装的,达到降低成本的目的。

8)当一个待检测物体4有多个检测要求,而各个要求的检测目标不是很好兼容时,可以一个待检测物体4训练多种打光模式,多次打光,多次拍照,每次完成不同任务。如果是缺陷检测,可以检测多种打光模式下,物体表面同一位置特征在每种光照下为缺陷的概率,综合判断,增强检测的置信度。

如图2所示,以镀铬水龙头为待检测物体4的表面缺陷检测为案例,进行说明。

1)日常生活中使用的各种水龙头为了美观和不易污染,水龙头表面都会进行镀铬处理,这样显得银白光洁。镀铬水龙头就是典型的曲面、高反光物体,其视觉缺陷检测难点在于如何打光,获取亮度均匀,能够突出缺陷的图像。普通的标准光源,一般都会造成局部高亮,而其他部分有偏暗。

2)如图2所示,图中使用的是碗光源。光源控制器根据输入的亮度矩阵,控制碗光源内的200个灯珠12的亮度。

3)本案例中使用遗传算法对输入图像进行分析,迭代搜索更优的亮度矩阵。每个灯珠进行线性编号,如:1-200;每个灯珠的亮度值用0-255之间的一个数值控制,“0”代表亮度最低,不发光;“255”表示亮度最高;l代表亮度,l(200)=125,表示第200号灯珠亮度为125。

4)采用500万像素黑白相机采集图像数据;采集到的图像为2448*2048的矩阵,用g表示,g(100,200)=125表示图像第100行、200列处像素灰度值为125。好的亮度矩阵获取的图像应该满足:检测物检测区域没有过曝,没有亮度过暗,整体亮度接近。

5)遗传算法实现方法:

a.约束条件:

xmin>x>xmax,ymin>y>ymax,xmin=500,xmax=2000,ymin=200,ymax=1600,取图像中心区域;

g(x,y)>gmin;gmin=80,图像不能过暗;

g(x,y)<gmax;gmax=200,图像不能过亮。

b.算法评价函数:

c.编码方式:

对亮度矩阵进行二进制编码,即每个灯珠的亮度值可以用8位二进制数表示,如:亮度为125时,就用二级制01111101表示;各个灯珠亮度值串联构成一个亮度矩阵的基因型:

d.遗传算子:

选择算子使用比例选择算子,交叉算子使用随机多点交叉算子,变异算子使用基本位变异算子。

e.初始群体大小100,迭代次数100,交叉概率0.5,变异概率0.002。

6)遗传算法每产生下一代新个体基因,便将新个体解码为光源矩阵,输出给光源控制器。在光源点亮后,延时0.5秒,触发相机拍照;相机获取图片后,传给电脑,然后以图像作为评价函数的输入,计算新个体的适应度,获得新一代所有个体基因的适应度后,根据个体适应度比重,挑选下一代个体基因。

7)获取一代新个体基因后需要根据解码的亮度矩阵拍摄一次图像,将采集图像重新进行质量评估;迭代过程如图4所示,通过设定最大迭代次数,停止搜索优化过程。

基于视觉检测的智能数字光源进行大型物体精细外观检测方法,包括上述数字光源和机械手5,机械手5携带相机2和所述数字光源一起运动,机械手需要调整拍照点位来检测待检测物体4上的每个位置,所述机械手每调整一个拍照点位均需要采用上述基于视觉检测的数字光源的自学习方法获得最佳打光模式和亮度矩阵。如下所述:

(1)机械手5携带相机2和所述数字光源一起运动,所述数字光源可以面光源或是环形光源,如图3中所示。

(2)可以是多台上述机械手系统同时配合,待检测物体(待检测物体4)也可以配合检测拍照移动,沿物体表面拍摄物体每个区域的照片,进行分析。

(3)同一个数字光源,但不同位置,不同的打光模式:为了实现表面的全检,机械手5需要走很多的拍照点位;而每个拍照点位物体表面形态都不一样,光源都需要因地制宜的采用不同的打光模式,以采集清晰的图片;物体表面每个拍照点位的亮度矩阵可以使用上述自学习方法中的方法得到;同一个数字光源可以针对当前曲面的变化提供最优的打光效果;物体曲面上每个位置打光模式都是因地制宜的,而且数字光源硬件是同一个。

(4)疑似缺陷的跟踪确认:因为有机械手5的配合,机械手5不仅可以在固定位置拍照,还可以进行跟踪确认;即机械手5在某个拍照点位拍照后,获取图像中如果探测到可能异常(缺陷),机械手5要根据图像中缺陷的位置,进行姿态微调,以使得疑似缺陷处于最佳拍照点位上,然后进行二次确认拍照,如果在第二次拍照中该位置仍然被判定为“缺陷”,即可确认;通过多次不同条件下的拍照,提供冗余信息,增加检测置信度。

(5)根据缺陷来“学习”如何调整打光模式和机械手5位姿:跟踪拍照的位置不是之前既定的位置,所以没有完全匹配的打光模式,位置变化后光源如何变化,也可以通过训练一个深度神经网络算法,来进行预测。类比深度学习的检测算法,可以将当前拍照的亮度矩阵、当前拍照的图像、当前拍照疑似缺陷的位置和类型信息、当前机械手5位姿输入到神经网络算法中,让神经网络计算出下一次“跟踪拍照”所需的新的信息:机械手(相机)的位移量(3个位移量调整量,3个角度调整量)、新的亮度矩阵,通过深度学习算法根据之前拍照的缺陷形态输出最佳的打光优化方案进行打光。

(6)输出每个位置的拍摄最佳打光模式,可以将物体三维模型和表面材质信息输入给深度神经网络,让深度神经网络预测出当前曲面的最佳打光模式。

(7)收集深度神经网络的训练数据:能实现上一步预测的前提是先有收集和标注训练深度神经网络所需要的数据。有如下一种自动收集和标注数据的方法:人为收集一些带缺陷的样本,或是在一个样本上人为制造一些典型缺陷,将这些位置告诉机械手5,然后让机械手5在这些缺陷位置附近的安全区域,随机的变动位置并拍照,使用同一个缺陷检测算法来判定该缺陷,对比变动前后该缺陷的置信度,保留那些明显提升了缺陷检测置信度的调整,作为前面深度神经网络预测算法的训练数据。由于,机械手5运动,打光模式变化,相机2拍照时间都是比较短的,可以24小时不停的采集,可以采集到比较多的训练数据。训练好预测算法后,以后就无需进行穷举、试错,而是立刻就能得到一个很好的调整方向。

(8)实现人机协同:生产流水线上,前面人工检测,将检测到缺陷录入深度神经网络,随后工位机械手5就根据录入缺陷信息进行自我打光和学习,相当人来教机器识别各种缺陷。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1