一种基于机器视觉的化工界面检测方法转让专利

申请号 : CN202210483145.6

文献号 : CN114677371B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄俊杰沈鸿飞陈栋飞龚卫东韩胜平

申请人 : 南通市海视光电有限公司

摘要 :

本发明公开了一种基于机器视觉的化工界面检测方法,首先利用补光灯和视觉传感器获得界面图像,并将图像传输到视觉数据处理模块,然后对图像数据进行处理,包括检测区域标定、获取响应值数组、平滑响应值数组、计算响应值梯度,最后根据响应值及其梯度搜索界面并输出界面位置,包括第一次搜索界面下边界,搜索界面中心,搜索界面上边界,第二次搜索界面下边界,确定界面位置,通过上述方法,可以实时精确的测量化工界面位置,测量精度达到mm级,响应速度在200ms以内,完全满足化工生产自动化要求。

权利要求 :

1.一种基于机器视觉的化工界面检测方法,包括界面图像获取和界面图像检测算法,其特征在于:具体检测步骤为:(一)界面图像获取;

1A、首先在检测视镜背部安装补光灯,补光灯发射的光通过被检测介质,由于不同的被检测介质透光率不同,通过介质的光强度不同,形成明暗程度不同的图像;

1B、将视觉传感器安装在检测视镜前面,视觉传感器采集到的不同介质的明暗程度不同的图像,两种介质之间的界面为边界层,边界层的形成状态分为两种情况:①形成区别于界面上下两种介质的第三种介质,②仅为因两种介质明暗不同形成的边界线,视觉传感器对界面图像进行实时抓取,通过串口传输到边缘设备的视觉处理模块中;

(二)界面图像检测算法;

2A、检测区域标定;先定位需要检测的数据,在视镜图像上选取检测区域;

2B、响应值数组获取,从检测区域图像最后一行开始,由下往上求每一行的灰度平均值或中值,将这些值存入一个一维数组中,称为响应值数组,且响应值数组平滑;

2C、扩展响应值数组,对扩展数组进行中值滤波,遍历数组,每次从当前响应值往后连续取S个响应值,求这S个响应值的中值,用中值替换当前响应值,进行响应值梯度计算;

2D、对平滑后的响应值数组在末端进行扩展,遍历扩展后的平滑数组;

2E、界面搜索,根据响应值及其梯度搜索离界面最近的行,界面由上下边界构成,界面包含有下边界;

2F、第一次搜索界面下边界,搜索界面中心,搜索界面上边界;

2G、第二次搜索界面下边界,确定界面位置。

2.根据权利要求1所述的一种基于机器视觉的化工界面检测方法,其特征在于:所述步骤2A中,选取图像上的检测区域为一个方形区域,并设定宽度w、高度为n,单位为mm。

3.根据权利要求2所述的一种基于机器视觉的化工界面检测方法,其特征在于:所述步骤2B中,响应值数组为V=[v0,v1...vn‑2,vn‑1],响应值数组平滑步长s。

4.根据权利要求3所述的一种基于机器视觉的化工界面检测方法,其特征在于:所述步骤2C中扩展响应值数组长度为n+s,响应值梯度计算,设定求梯度的步长为L,对扩展数组Vtmp进行中值滤波,遍历数组,遍历完成后可获得经过平滑的响应值数组Vsmooth,所述步骤2D中,对平滑后的响应值数组Vsmooth在末端进行扩展,扩展后的长度为n+L,Vsmooth=[vs0,vs1...vsn‑1]Vsmooth_exp=[vs0,vs1...vsn‑1,vsn‑L,vsn‑L+1...vsn‑1]遍历扩展后的平滑数组,对第i个响应值,其梯度计算公式为:

遍历完成后获得梯度数组,梯度值有正有负:

G=[g0,g1...gn‑1]。

5.根据权利要求4所述的一种基于机器视觉的化工界面检测方法,其特征在于:所述步骤2F中,第一次搜索界面下边界为在[0,n‑1]索引范围内查找梯度数组G中最大负梯度的值g‑max及其行索引 作为界面下边界,搜索界面中心为在[Ig‑max,n‑1]索引范围内,在响应值数组Vsmooth中搜索最小响应值vsmin及其行索引 搜索界面上边界为在[0,n‑1]索引范围内查找近似梯度数组G中最大正梯度的值gmax及其行索引 当最大正梯度的值大于强梯度阈值时,作为界面上边界,否则界面上边界不存在。

6.根据权利要求5所述的一种基于机器视觉的化工界面检测方法,其特征在于:所述步骤2G中,第二次搜索界面下边界为在最大正梯度的行索引在响应值最小的行下方,即且最大正梯度小于强梯度阈值,在 索引范围内查找最大负梯度值g′‑max及其行索引

最大正梯度的行索引在响应值最小的行上方,即 或最大正梯度大于强

梯度阈值,在 索引范围内查找最大负梯度值g′‑max及其行索引

如果最大负梯度g′‑max小于弱梯度阈值,则界面不存在,输出界面高度为0,如果最大负梯度g′‑max大于弱梯度阈值,界面存在,最大负梯度的行索引 就是界面位置,由于行索引的计量单位为像素,实际界面位置的计量单位为mm,界面的实际位置H为:

说明书 :

一种基于机器视觉的化工界面检测方法

技术领域

[0001] 本发明属于化工检测技术领域,具体涉及一种基于机器视觉的化工界面检测方法。

背景技术

[0002] 在化工生产过程中,经常需要检测界面在管道中的位置,用于控制生产操作。界面是指两体相之间的极薄的边界层,分为液‑气、液‑液、液‑固、固‑气、固‑固。目前化工厂主要采用人工观察界面位置或浮筒式测量来进行相关操作;人工观察操作的方式有如下几个缺点:1、人工观察判断带有主观性,容易出现对界面的判断失误;2、需要不间断有人值守,人力成本高昂,许多化工生产并不适合人员在现场进行观察。浮筒式测量为利用设备中工艺介质对浮筒形成的浮力变化量进行界面测量,缺点为测量范围有限,一般为300‑2000mm,界面波动较大时无法进行准确测量,受介质的限制比较多,需要介质密度稳定,两种介质之间3
的密度差大于0.1g/cm ,且要求介质比较洁净,对于高温、黏稠、密度变化较大的介质不宜采用。
[0003] 随着视觉传感器的技术成熟与成本降低,以及边缘设备算力的不断增强,机器视觉技术越来越多的应用于工业检测中。机器视觉技术通过计算机模拟人类的视觉功能,从图像中提取信息,进行处理并加以理解,最终用于完成实际的检测功能。基于机器视觉的化工视镜界面检测技术,是机器视觉技术在化工界面检测的首次应用,在稳定的光学系统基础上,通过视觉传感器采集视镜图片,在边缘端对图像进行视觉特征提取计算,找出图像中的界面。基于机器视觉技术的界面检测技术,具备非接触式,可无人值守,高准确性,低功耗,低延迟等特点。

发明内容

[0004] 本发明的目的在于克服上述局限,提供一种利用补光灯和视觉传感器获得界面图像,并将图像传输到视觉数据处理模块,然后对图像数据进行处理,最后根据响应值及其梯度搜索界面并输出界面位置。可以实时精确的测量化工界面位置,测量精度达到毫米级,响应速度在200ms以内,完全满足化工生产自动化要求的基于机器视觉的化工界面检测方法。
[0005] 本发明的目的通过以下技术方案来实现:一种基于机器视觉的化工界面检测方法,包括界面图像获取和界面图像检测算法,具体检测步骤为:
[0006] (一)界面图像获取;
[0007] 1A、首先在检测视镜背部安装补光灯,补光灯发射的光通过被检测介质,由于不同的被检测介质透光率不同,通过介质的光强度不同,形成明暗程度不同的图像;
[0008] 1B、将视觉传感器安装在检测视镜前面,视觉传感器采集到的不同介质的明暗程度不同的图像,两种介质之间的界面为边界层,边界层的形成状态分为两种情况:①形成区别于界面上下两种介质的第三种介质,②仅为因两种介质明暗不同形成的边界线,视觉传感器对界面图像进行实时抓取,通过串口传输到边缘设备的视觉处理模块中;
[0009] (二)界面图像检测算法;
[0010] 2A、检测区域标定;先定位需要检测的数据,在视镜图像上选取检测区域;
[0011] 2B、响应值数组获取,从检测区域图像最后一行开始,由下往上求每一行的灰度平均值(或中值),将这些值存入一个一维数组中,称为响应值数组,且响应值数组平滑;
[0012] 2C、扩展响应值数组,对扩展数组进行中值滤波,遍历数组,每次从当前响应值往后连续取S个响应值,求这S个响应值的中值,用中值替换当前响应值,进行响应值梯度计算;
[0013] 2D、对平滑后的响应值数组在末端进行扩展,遍历扩展后的平滑数组;
[0014] 2E、界面搜索,根据响应值及其梯度搜索最接近界面的行,界面由上下边界构成,界面一定有下边界;
[0015] 2F、第一次搜索界面下边界,搜索界面中心,搜索界面上边界;
[0016] 2G、第二次搜索界面下边界,确定界面位置。
[0017] 优选的是,步骤2A中,选取图像上的检测区域为一个方形区域,并设定宽度w、高度为n,单位为mm。
[0018] 优选的是,步骤2B中,响应值数组为V=[v0,v1…vn‑2,vn‑1],响应值数组平滑步长s。
[0019] 优选的是,步骤2C中扩展响应值数组长度为n+s,响应值梯度计算,设定求梯度的步长为L。
[0020]
[0021] 对扩展数组Vtmp进行中值滤波,遍历数组,遍历完成后可获得经过平滑的响应值数组Vsmooth,步骤2D中,对平滑后的响应值数组Vsmooth在末端进行扩展,扩展后的长度为n+L,[0022] Vsmooth=[vs0,vs1…vsn‑1]
[0023] Vsmooth_exp=[vs0,vs1…vsn‑1,vsn‑L,vsn‑L+1…vsn‑1]。
[0024] 遍历扩展后的平滑数组,对第i个响应值,其梯度计算公式为:
[0025]
[0026] 遍历完成后获得梯度数组(梯度值有正有负):
[0027] G=[g0,g1…gn‑1]。
[0028] 优选的是,步骤2F中,第一次搜索界面下边界为在[0,h‑1]索引范围内查找梯度数组G中最大负梯度的值g‑max及其行索引 作为界面下边界,搜索界面中心为在索引范围内,在响应值数组Vsmooth中搜索最小响应值vsmin及其行索引
搜索界面上边界为在[0,h‑1]索引范围内查找近似梯度数组G中最大正梯度的值gmax及其行索引 当最大正梯度的值大于强梯度阈值时,作为界面上边界,否则界面上边界不存在。
[0029] 优选的是,步骤2G中,第二次搜索界面下边界为在最大正梯度的行索引在响应值最小的行下方 且最大正梯度小于强梯度阈值,在 索引范围内查找最大负梯度值g′‑max及其行索引
[0030] 最大正梯度的行索引在响应值最小的行上方 或最大正梯度大于强梯度阈值,在 索引范围内查找最大负梯度值g′‑max及其行索引
[0031] 如果最大负梯度g′‑max小于弱梯度阈值,则界面不存在,输出界面高度为0,如果最大负梯度g′‑max大于弱梯度阈值,界面存在,最大负梯度的行索引 就是界面位置,由于行索引的计量单位为像素,实际界面位置的计量单位为mm,界面的实际位置H为:
[0032]
[0033] 综上所述,本发明具有以下优点:可以实时精确的测量化工界面位置,测量精度达到mm级,响应速度在200ms以内,完全满足化工生产自动化要求。

附图说明

[0034] 图1为本发明检测方步骤流程图。

具体实施方式

[0035] 为了加深对本发明的理解,下面将结合实施例和附图对本发明作进一步详述,该实施例仅用于解释本发明,并不构成对本发明保护范围的限定。
[0036] 如图1所示,本发明提供了一种基于机器视觉的化工界面检测方法,本方法是在视觉传感器和边缘设备等硬件基础上实现的完整的化工视镜界面检测功能,包括:界面图像获取、界面图像检测算法两个步骤,具体描述如下:
[0037] 一、界面图像获取;
[0038] 首先在检测视镜背部安装补光灯,补光灯发射的光通过被检测介质,由于不同的被检测介质透光率不同,通过介质的光强度不同,形成明暗程度不同的图像;
[0039] 将视觉传感器安装在检测视镜前面,视觉传感器采集到的不同介质的明暗程度不同的图像,两种介质之间的界面为边界层,边界层的形成状态分为两种情况:①形成区别于界面上下两种介质的第三种介质,②仅为因两种介质明暗不同形成的边界线,视觉传感器对界面图像进行实时抓取,通过串口传输到边缘设备的视觉处理模块中;
[0040] 二、界面图像检测算法;
[0041] 检测区域标定。先定位需要检测的数据,在视镜图像上选取检测区域,该区域为一个方形区域,宽度w,高度为n,
[0042] 响应值数组获取。从检测区域图像最后一行开始,由下往上求每一行的灰度平均值(或中值),
[0043] 将这些值存入一个一维数组中,称为响应值数组V=[v0,v1...vn‑2,vn‑1],[0044] 响应值数组平滑。平滑步长s,
[0045] 扩展响应值数组,长度为n+s
[0046]
[0047] 对扩展数组Vtmp进行中值滤波。遍历数组,每次从当前响应值往后连续取s个响应值,求这s个响应值的中值,用中值替换当前响应值。遍历完成后可获得经过平滑的响应值数组Vsmooth,
[0048] 响应值梯度计算,设定求梯度的步长为L,
[0049] 对平滑后的响应值数组Vsmooth在末端进行扩展,扩展后的长度为n+L,[0050] Vsmooth=[vs0,vs1...vsn‑1]
[0051] Vsmooth_exp=[vs0,vs1…vsn‑1,vsn‑L,vsn‑L+1…vsn‑1]
[0052] 遍历扩展后的平滑数组,对第i个响应值,其梯度计算公式为:
[0053]
[0054] 遍历完成后获得梯度数组(梯度值有正有负):
[0055] G=[g0,g1…gn‑1]
[0056] 界面搜索,根据响应值及其梯度搜索最接近界面的行,界面一般由上下边界构成。界面一定有下边界,可能有上边界,设置参数:弱梯度阈值、强梯度阈值。
[0057] 第一次搜索界面下边界,在[0,n‑1]索引范围内查找梯度数组G中最大负梯度的值g‑max及其行索引 作为界面下边界。
[0058] 搜索界面中心,在 索引范围内,在响应值数组Vsmooth中搜索最小响应值vsmin及其行索引
[0059] 搜索界面上边界,在[0,h‑1]索引范围内查找近似梯度数组G中最大正梯度的值gmax及其行索引 当最大正梯度的值大于强梯度阈值时,作为界面上边界,否则界面上边界不存在。
[0060] 第二次搜索界面下边界,
[0061] 最大正梯度的行索引在响应值最小的行下方 且最大正梯度小于强梯度阈值,在 索引范围内查找最大负梯度值g′‑max及其行索引
[0062] 最大正梯度的行索引在响应值最小的行上方 或最大正梯度大于强梯度阈值,在 索引范围内查找最大负梯度值g′‑max及其行索引
[0063] 确定界面位置,如果最大负梯度g′‑max小于弱梯度阈值,则界面不存在,输出界面高度为0。如果最大负梯度g′‑max大于弱梯度阈值,界面存在,最大负梯度的行索引就是界面位置。