一种基于LMDO的注塑机械手模具异常检测方法
技术领域
本发明涉及工业自动化领域中注塑机行业,是一种配有机械手的注塑机生产 过程中对模具的智能监视装置。
背景技术
近年来随着塑料制品应用领域的不断扩大,全球制造业对注塑机的需求呈现 出持续大幅攀升的趋势。现代化的注塑机都配有机械手,机械手是能够模仿人体手 臂的部分功能,可以对注塑产品进行自动取出,使其按照 预定要求对产品进行堆叠、排列及摆放。机械手是专门为注塑机设计开发的自动 化生产设备,它可以减轻工人繁重的体力劳动,改善劳动条件保证安全生产,提高生 产效率,在增强企业的市场竞争力等方面起到极其重要的作用。如今注塑机机械手 使用普遍,机械手自动夹取料过程中的安全保护以及模块保护越发重要。为了对 带有机械手的注塑机生产过程中模具存在的残留、滑块错位、脱模不良等异常情 况进行实时监控以实现对模具的自动保护,模具保护器被大量引入带有机械手的 注塑机行业中。
这种基于图像处理技术的监控系统极大提高了注塑机模具生产过程中的安全 性和工作效率,很大程度上降低了修模成本和工作人员的劳动强度。目前市场上 的模具保护器功能都比较单一,模具保护装置所使用的软件的图像处理算法相对 简单,智能化程度相对较低,导致了系统往往需要复杂的人工校准和经验来保证 其异常检测结果的正确性。但是一般情况下带有机械手的注塑机所在的工作环境 会十分复杂,时常会有较大程度的光照变化,而采用传统算法的模具保护系统不 能在这种多变的环境中正常工作,容易频繁的出现异常区域错误报警等问题。这 时候用户需要频繁调整系统的相关参数,或者是直接重新学习,导致操作繁琐以 及工作效率低下的问题。
发明内容
为了克服已有注塑机械手模具监视方法的实时性不足、对光照变化鲁棒性较 差等不足,本发明提供一种具有实时性良好、对光照变化鲁棒性强等特点的基于 局部多层次差分算子(LMDO)的异常检测方法,其能够通过注塑机开模图像信 息监控模具是否有异常状态。
本发明解决其技术问题所采用的技术方案是:
一种基于LMDO的注塑机械手模具异常检测方法,所述异常检测方法包括以 下过程:
1)采集注塑机开模到位时的标准模板图像,并进行预处理,作为之后的差分背景 图像;
2)等待注塑机工作状态信息,当检测到注塑机运行至开模到位时,通过摄像机对 模具型腔面连续取像,提取几幅图像的平均图像,并对平均图像做预处理,,为后 续图像处理做准备,作为之后的差分前景图像;
3)对差分前景图像和差分背景图像执行基于LMDO的异常检测算法,得到排除 光照干扰部分的异常区域;过程如下:
3.1)局部多层次差分算子
在半径为R,邻居点为P的图像局部区域,每个邻居点像素值所对应的对比 度层次tp由下式计算所得:
gs=gp-gc (1)
式中,gp为P个邻居点的灰度值,gc为局部区域中心像素点的灰度值,maxC,minC 分别代表邻居点和中心点之间的对比度最大值和最小值,T代表对比度分层数量; 针对每一个对比度层次i,观察中心点周围有多少个邻居点的对比度值落入了该 层,以获取每层次的LMDO:
LMDO P . R i = Σ p = 0 P - 1 2 p · C p , C p = 1 , t p = i 0 , t p ≠ i , i = 1 . . . T - - - ( 3 ) ]]>
将每个层次的
级联在一起构成了LMDOP.R:
LMDO P . R = LMDO P . R 1 / LMDO P . R 2 / . . . / LMDO P . R T ]]>
3.2)利用LMDO值对背景与前景图像进行差分
根据T个层次的
值来判定像素之间的相识度,记背景图像某一点的 第i层次
的8bit二进制值为Blmdo(j),j=0...7,前景图像该点的第i层
的8bit二进制值为Flmdo(j),两者差分,得到第i层次的相似度:
S i = Σ j = 0 P - 1 ( Blmdo ( j ) ⊗ Flmdo ( j ) ) - - - ( 4 ) ]]>
其中,
为同或;
求像素之间的相似度就得求出每个层次的权重,再将每个层次的相似度Si与 各自的权重相乘,得到整体的相似度:
S = Σ i = 1 T ( a i × S i ) - - - ( 5 ) ]]>
其中,ai代表第i个层次的权重,经过大量试验数据表明,当a1=a2=…aT时, 比较两幅图像的相似度效果最佳;若相似度S小于一个设定阈值T时,则该点像 素即被认定为前景,则值为灰度级0,否则为背景,其值为灰度级255,从而实现 异常区域的分割;
4)对异常区域图像进行连续的开和闭运算;
5)通过区域生长法对异常区域进行标记和面积测量;
6)最后通过形态边缘提取得到异常区域轮廓并报警,注塑机停止压模进入连锁保 护措施。
本发明的有益效果主要表现在:利用基于局部多层次差分算子的异常检测方 法,高效地解决了光照变化引起的系统误检的问题。同时,LMDO具有较小的计 算复杂度和不错的纹理特性,大部分为比较运算,实现简单,提升了图像异常检 测效率。这些都是现有技术所没有考虑的影响系统的关键因素,这种异常检测算 法大大增强了系统的实时性和鲁棒性。
附图说明
图1是基于LMDO的开模异常检测方法的结构框图。
图2是前景图像LMDO值的获取过程图。
图3是背景图像LMDO值的获取过程图。
图4是背景图像的学习流程图。
图5是基于LMDO的开模异常检测方法流程图。
图6是背景LMDO图与前景LMDO图差分并阈值分割后的图像。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图6,一种基于LMDO的注塑机械手模具异常检测方法,所述异常 检测方法包括以下过程:
1)采集注塑机开模到位时的标准模板图像,并进行预处理,作为之后的差分背景 图像;
2)等待注塑机工作状态信息,当检测到注塑机运行至开模到位时,通过摄像机对 模具型腔面连续取像,提取几幅图像的平均图像,并对平均图像做预处理,,为后 续图像处理做准备,作为之后的差分前景图像;
3)对差分前景图像和差分背景图像执行基于LMDO的异常检测算法,得到排除 光照干扰部分的异常区域;过程如下:
3.1)局部多层次差分算子
LMDO是一种比较某一像素点与其邻域像素值,进而产生像素点间的对比 度,然后将对比度值映射到一定的层次上去,得到多个层次的LMDO值,将LMDO 值作为图像特征,用来识别在光照变化的环境下的图像差异有非常好的效果。
在半径为R,邻居点为P的图像局部区域,每个邻居点像素值所对应的对比 度层次tp由下式计算所得:
gs=gp-gc (1)
式中,gp为P个邻居点的灰度值,gc为局部区域中心像素点的灰度值,maxC,minC 分别代表邻居点和中心点之间的对比度最大值和最小值,T代表对比度分层数量。 针对每一个对比度层次i,可以观察中心点周围有多少个邻居点的对比度值落入了 该层,以获取每层次的LMDO:
LMDO P . R i = Σ p = 0 P - 1 2 p · C p , C p = 1 , t p = i 0 , t p ≠ i , i = 1 . . . T - - - ( 3 ) ]]>
将每个层次的
级联在一起构成了LMDOP.R:
LMDO P . R = LMDO P . R 1 / LMDO P . R 2 / . . . / LMDO P . R T ]]>
3.2)利用LMDO值对背景与前景图像进行差分
根据T个层次的
值来判定像素之间的相识度,记背景图像某一点的 第i层次
的8bit二进制值为Blmdo(j)(j=0...7),前景图像该点的第i层
的8bit二进制值为Flmdo(j),两者差分,得到第i层次的相似度:
S i = Σ j = 0 P - 1 ( Blmdo ( j ) ⊗ Flmdo ( j ) ) - - - ( 4 ) ]]>
其中,
为同或。
由于每个层次的像素值在局部区域中都占有一定的对比度,求像素之间的相 似度就得求出每个层次的权重,再将每个层次的相似度Si与各自的权重相乘,得 到整体的相似度:
S = Σ i = 1 T ( a i × S i ) - - - ( 5 ) ]]>
其中,ai代表第i个层次的权重,经过大量试验数据表明,当a1=a2=…aT时, 比较两幅图像的相似度效果最佳。若相似度S小于一个设定阈值T时,则该点像 素即被认定为前景,则值为灰度级0,否则为背景,其值为灰度级255,从而实现 异常区域的分割;
4)对异常区域图像进行连续的开和闭运算以消除噪声影响;
5)通过区域生长法对异常区域进行标记和面积测量;
6)最后通过形态边缘提取得到异常区域轮廓并报警,注塑机停止压模进入连锁保 护措施;如果没有异常区域,则继续等待下一周期的注塑机开模状态信息。
整个系统装置主要由:模拟摄像机,视频解码器,核心DSP处理器,触摸屏, 液晶显示器,键盘等构成。整个异常处理过程:首先,在注塑机开模状态的情况 下,通过键盘按钮执行学习指令,使摄像头采集标准模板图像,并进行预处理, 以消除图像中无关的信息,作为之后用于差分的背景图像,并将信息存储在DSP 核心控制板(TMS320DM6437)的存储模块中,如图4所示;其次,如图5所示, 等到开模到位时,系统处于监控状态,通过模拟摄像机对模具型腔面连续取像, 由DSP核心控制板对摄像机采集到的几幅图像提取平均图像,并对平均图像做预 处理,为后续图像处理做准备,作为用于差分的前景图像;再将背景图像和前景 图像进行差分,并将差分之后的图像采用阈值分割实现二值化;并对图像进行连 续的开和闭运算以消除噪声影响;通过区域生长法对异常区域进行标记和面积测 量;最后通过空穴检测查看是否存在异常,如果有异常,在触摸屏显示报警信息, 注塑机停止压模进入连锁保护措施;否则继续等待开模到位时注塑机工作状态信 息。
所述基于LMDO的异常检测方法,具体步骤:
如图2所示,在半径为1,邻居点为8的图像局部区域,像素值gc=130的点 为中心点,每个邻居点像素值从左上角按逆时针旋转所对应的像素值分别为 134,27,60,4,127,221,82,187。取对比度分层数量T=4,求取背景图像的LMDO值, 首先求出每个邻居点所对应的对比度层次tp由下式计算:
g s 2 = g p 2 - g c = 27 - 130 = - 103 ]]>
g s 3 = g p 3 - g c = 60 - 130 = - 70 ]]>
g s 4 = g p 4 - g c = 4 - 130 = - 126 ]]>
g s 5 = g p 5 - g c = 127 - 130 = - 3 ]]>
g s 6 = g p 6 - g c = 221 - 130 = 91 ]]>
g s 7 = g p 7 - g c = 80 - 130 = - 48 ]]>
g s 8 = g p 8 - g c = 187 - 130 = 57 ]]>
针对每一个对比度层次i(i=1…4),可以观察中心点周围有多少个邻居点的对比 度值落入了该层,以获取每层次的LMDO值:
LMDO 8.1 1 = Σ p = 0 P - 1 2 p · C p = 2 7 × 0 + 2 6 × 1 + 2 5 × 0 + 2 4 × 1 + 2 3 × 0 + 2 2 × 0 + 2 1 × 0 + 2 0 × 0 = 80 ]]>
LMDO 8.1 2 = Σ p = 0 P - 1 2 p · C p = 2 7 × 0 + 2 6 × 0 + 2 5 × 1 + 2 4 × 0 + 2 3 × 0 + 2 2 × 0 + 2 1 × 1 + 2 0 × 0 = 34 ]]>
LMDO 8.1 3 = Σ p = 0 P - 1 2 p · C p = 2 7 × 1 + 2 6 × 0 + 2 5 × 0 + 2 4 × 0 + 2 3 × 1 + 2 2 × 0 + 2 1 × 0 + 2 0 × 0 = 136 ]]>
LMDO 8.1 4 = Σ p = 0 P - 1 2 p · C p = 2 7 × 0 + 2 6 × 0 + 2 5 × 0 + 2 4 × 0 + 2 3 × 0 + 2 2 × 1 + 2 1 × 0 + 2 0 × 1 = 5 ]]>
将每个层次的
级联在一起构成了LMDO8.1:
LMDO 8.1 = LMDO 8.1 1 / LMDO 8.1 2 / LMDO 8.1 3 / LMDO 8.4 4 = 80 / 34 / 136 / 5 ]]>
如图3所示,在半径为1,邻居点为8的图像局部区域,像素值gc=120的点 为中心点,每个邻居点像素值从左上角按逆时针旋转所对应的像素值分别为 134,47,58,6,140,231,75,160。同样取对比度分层数量T=4,求取前景图像的LMDO 值,首先求出每个邻居点所对应的对比度层次tp由下式计算:
g s 1 = g p 1 - g c = 134 - 120 = 14 ]]>
g s 2 = g p 2 - g c = 47 - 120 = - 73 ]]>
g s 3 = g p 3 - g c = 58 - 120 = - 62 ]]>
g s 4 = g p 4 - g c = 6 - 120 = - 114 ]]>
g s 5 = g p 5 - g c = 140 - 120 = 20 ]]>
g s 6 = g p 6 - g c = 231 - 120 = 111 ]]>
g s 7 = g p 7 - g c = 75 - 120 = - 45 ]]>
g s 8 = g p 8 - g c = 160 - 120 = 40 ]]>
针对每一个对比度层次i(i=1…4),可以观察中心点周围有多少个邻居点的对比 度值落入了该层,以获取每层次的LMDO值:
LMDO 8.1 1 = Σ p = 0 P - 1 2 p · C p = 2 7 × 0 + 2 6 × 1 + 2 5 × 1 + 2 4 × 1 + 2 3 × 0 + 2 2 × 0 + 2 1 × 0 + 2 0 × 0 = 112 ]]>
LMDO 8.1 2 = Σ p = 0 P - 1 2 p · C p = 2 7 × 0 + 2 6 × 0 + 2 5 × 0 + 2 4 × 0 + 2 3 × 0 + 2 2 × 0 + 2 1 × 1 + 2 0 × 0 = 2 ]]>
LMDO 8.1 3 = Σ p = 0 P - 1 2 p · C p = 2 7 × 1 + 2 6 × 0 + 2 5 × 0 + 2 4 × 0 + 2 3 × 1 + 2 2 × 0 + 2 1 × 0 + 2 0 × 1 = 137 ]]>
LMDO 8.1 4 = Σ p = 0 P - 1 2 p · C p = 2 7 × 0 + 2 6 × 0 + 2 5 × 0 + 2 4 × 0 + 2 3 × 0 + 2 2 × 1 + 2 1 × 0 + 2 0 × 0 = 4 ]]>
将每个层次的
级联在一起构成了LMDO8.1:
LMDO 8.1 = LMDO 8.1 1 / LMDO 8.1 2 / LMDO 8.1 3 / LMDO 8 . 1 4 = 112 / 2 / 137 / 4 ]]>
下面根据4个层次的
值来判定像素之间的相识度,记背景像素值130 的第i层次
的8bit二进制值为Blmdo(j)(j=0...7),前景像素值120的第i 层
的8bit二进制值为Flmdo(j),两者差分,得到第i层次的相似度:
S 1 = Σ j = 0 P - 1 ( Blmdo ( j ) ⊗ Flmdo ( j ) ) = 0 ⊗ 0 + 1 ⊗ 1 + 0 ⊗ 1 + 1 ⊗ 1 + 0 ⊗ 0 + 0 ⊗ 0 + 0 ⊗ 0 + 0 ⊗ 0 = 7 ]]>
S 2 = Σ j = 0 P - 1 ( Blmdo ( j ) ⊗ Flmdo ( j ) ) = 0 ⊗ 0 + 0 ⊗ 0 + 1 ⊗ 0 + 0 ⊗ 0 + 0 ⊗ 0 + 0 ⊗ 0 + 1 ⊗ 1 + 0 ⊗ 0 = 7 ]]>
由于每个层次的像素值在局部区域中都占有一定的对比度,求像素之间的相似度 就得求出每个层次的权重,再将每个层次的相似度Si与各自的权重相乘,得到整 体的相似度:
S = Σ i = 1 T ( a i × S i ) = 7 × 1 + 7 × 1 + 7 × 1 + 7 × 1 = 28 , ]]>取a1=a2=…aT=1
若相似度S小于一个设定阈值T时,则该点像素即被认定为前景,则值为灰度级 0,否则为背景,其值为灰度级255,从而实现异常区域的分割;
在模具开模状态下,通过摄像头采集的模板图像,并进行预处理,以消除图 像中噪声以及无关的信息的图像。在模具开模到位时,系统处于监控状态下,通 过摄像机对模具型腔面连续取像,提取几幅图像的平均图像,并对平均图像做预 处理后的图像。在模具开模到位时多了一个模具未脱落下,会影响系统的效率。
如图6所示,为背景图像与前景图像经过LMDO异常处理所得的结果图,图 中黑色部分就是异常区域分割的结果。
这种LMDO异常检测方法可以有效的去除光照变化的影响,运算简单,加快 了异常检测的速度,有效提升了操作效率。