基于机器视觉的压缩机滑片计数系统设计
2022-01-26王一董光林马钲东龚肖杰杜岩
王一,董光林,马钲东,龚肖杰,杜岩
基于机器视觉的压缩机滑片计数系统设计
王一,董光林,马钲东,龚肖杰,杜岩
(华北理工大学 电气工程学院,河北 唐山 063200)
对于人工进行压缩机滑片计数烦琐的问题,基于机器视觉技术和PLC设计一种对压缩机滑片自动计数的算法和装置。采用工业相机及大功率LED灯设计视觉装置,并利用PLC作为流水线控制器,与视觉计算机通过TCP通信。基于图像处理技术设计自动计数算法,首先对相机采集的箱装滑片图像裁剪出感兴趣区域并进行滤波、直方图均衡化、形态学处理、自适应阈值分割来增强图像对比度;然后对图像空洞进行填充、较大的噪声斑块去除后使用thin算法对粘连紧密的滑片细化处理,通过水平投影法绘制直方图找出切割位置;最后进行连通域分析确定滑片数目,并设计用户界面显示计数结果和系统状态。通过现场多次测试,整体系统运行流畅,不受外界光照影响,计数准确高效。在一天内不同时间段测试,平均每次计数时间为7.6 s,准确率达到99.83%。投影法的应用解决了密集粘连的分割难题,该方法对环境适应性强,对滑片可稳定准确地进行自动计数,在滑片实际批量生产包装中具有明显应用优势。
滑片;水平投影;计数;分割
随着我国工业和经济水平的持续增长,滑片式压缩机由于其体积小、稳定和高效的特点被大量应用于各种空气压缩设备中,滑片需求量也与日俱增。在大部分中小型压缩机滑片生产厂家中仍采用人工的方式对压缩机滑片计数,这种方式效率低,精度差,影响滑片的生产包装速度,因此,设计高效的压缩机滑片自动计数系统对企业生产至关重要。
1 研究现状
2005年,王卫勇、朱玉泉[1]基于机器视觉技术提出一种多模板覆盖的方法应用于钢筋计数问题,此方法通过水平模板确定目标图像区、十字模板寻找目标位置、八边形模板来进行判断,3个步骤大大提高了钢筋计数的准确度和速度。2009年,Ronald Poppe[2]基于图像处理技术通过标签标记图像的序列、图像的表示和分类方法进行了人体行为的识别研究,对人机交互、视频监控等领域的应用具有重要意义。2011年,程福[3]采用视觉采集设备和开源视觉库对包装生产线上的苹果进行计数,通过设置目标窗口和灰度阈值分割的处理方法使识别苹果的准确率达到97%,该系统成本较低,满足了苹果由计重包装转向计数包装的需求。2013年,贾雄等[4]根据药片中心进出预先设置的虚拟圆会导致其像素值变化的方法实现了药片的实时计数。2015年,敖银辉、蒋进[5]基于图像处理技术,采用纹理分割及修复的方法实现了对大幅面纸张准确高效的计数。2018年,田齐、张令[6]基于机器视觉技术对粘连紧密的晶圆裸片计数,通过改进的随机抽样一致性算法对晶圆切割线拟合,然后根据切割线交点信息来完成晶圆裸片的计数任务。2020年,彭顺正等[7]通过RGB颜色特征提取和角点检测方法设计了一套对油菜籽粒计数的系统,对油菜选种育种具有重要意义。此外,机器视觉检测技术在农业鱼苗计数[8]、医学菌落计数[9],工业零件计数[10]中也有应用。
综上可知,机器视觉技术由初始探索阶段发展到如今成熟应用于各生产领域阶段,离不开其高效方便的特点。对于计数类的自动视觉检测系统来说,大都基于机器视觉和图像处理技术,且计数对象以棒材居多,另外还有谷类、药粒等类圆形对象,使用的算法也有所区别。但是对零件计数的文献较少,特别对箱式包装、量多且粘连紧密的物体计数的文献更少。基于此现状,文中设计一种基于机器视觉技术的压缩机滑片自动计数系统,将大大提高压缩机滑片生产包装效率,对企业生产具有重要意义。
2 滑片自动计数系统总体设计
滑片自动计数系统总体方案设计由流水线、工业相机,视觉检测箱、PLC控制器、光源、光电开关、图像处理主机、显示交互终端和软件部分共同组成,见图1。在滑片生产包装车间设置一条流水线,成箱的滑片通过视觉检测系统,当箱装滑片进入视觉检测箱并到达工业相机拍照的位置时会触发光电开关,此时PLC收到滑片到位信号后控制电机停止,使得相机拍出较清晰没有重影的照片并保存下来。之后电脑读取保存的图像开始处理并将计数结果在终端上显示出来,其中设计了终端显示界面可以进行人机交互。等待计数完成后电脑会通过Server Socket服务器端口给PLC一个信号再控制电机运转。
图1 计数系统设计
文中软件设计主要包括PLC运控、滑片计数、PLC与电脑通信三方面,初始时PLC计数完成应答位置1,压缩机滑片自动计数系统软件部分主程序流程和子线程图像处理部分程序流程见图2。
3 视觉检测算法
3.1 图像预处理
在压缩机滑片生产包装车间中,首先工业相机会对滑片拍摄图像,在此过程中容易受到多种因素的噪声污染,这些噪声会导致采集的图像质量下降,如多出斑点或者出现孔洞等,这些噪声会直接影响后续整个图像处理过程,所以对检测系统的光源进行调整和图像预处理至关重要。文中首先对采集的滑片图像进行感兴趣提取,即相机调整固定后便可提前通过人工测量出滑片所在的核心长方形区域的左上角坐标及长宽,把滑片周转箱边框及其他外界图像尽量去掉,只提取滑片本身所在的核心区域,然后再对滑片核心区域进行预处理操作,为后续的图像信息分析做铺垫。
图2 程序流程
图像的灰度化算法有多种,但实质都是将像素值中3个不同数值组成的通道化为相同数值的通道。彩色的每个像素由R(红)、G(绿)、B(蓝)3种分量共同决定,而且每种分量又有255个中值选择。灰度化后的图像是RGB 3种分量相同的一种特殊彩色图像,同样能够表达图像局部和整体的亮度及色度等级范围,这样就能够大大减少后续图像的计算量。
滤波有多种方式,文中采用的是高斯滤波,它通过设置固定大小的掩膜在滑片图上移动,然后用掩膜覆盖下的邻域值通过不同大小的权值运算后相加,最后把这个平均值设置为掩膜覆盖下的中心点的值并以此遍历整个滑片图片,高斯滤波在二维状态的滤波函数见式(1)。
(1)
式中:0(,)为得到目标图像;为方差;为标准差。高斯滤波可消除高斯噪声,它只有一个波峰,会加强边缘特性,可起到增加图像对比度的作用。
直方图均衡化算法并不复杂,在实际运用起来也较为容易,而且改善图像对比度方面效率较高,因此在图像处理中很受欢迎。其原理是在灰度级别操作,将高低不平的直方图尽量非线性的平摊开,使图像灰度域趋于平均,从而使图像信息量更大、颜色层次更具有辨识度,视觉上看起来更美观一些。文中在对滑片图像滤波后再通过均衡化操作,使亮度不均的滑片图像更具有对比感,若此时滑片图像的灰度排列密度和函数分别为(;,),f(),则其得到目标图像的变换式为:
(2)
如果初始图像(,)在点(,)处的灰度值是,则变换公式为:
(3)
式中:(,)为初始灰度图像;为图像的定义域;(,)为目标滑片图像;为的面积;在原始图像中,滑片之间紧密粘连,没有缝隙,在视觉系统中经调整光源后采集的图像中,与原始图像相比,纵向的滑片出现了缝隙,但横向仍然紧密粘连,同时亮度略有不均衡,左上方和左下角较暗。经过预处理后的图像,中间最亮,但整体亮度已趋向均匀,方便后期处理,3种状态的对比结果见图3。
3.2 自适应阈值图像分割
图像二值化是图像分割中比较简单常用的一种形式,其原理就是根据物体与背景的灰度差异,通过设定一个恰当的阈值与灰度图像中的像素点比较,从而将图像中的像素点分为2类。假设原始图像为(,),选择某种算法来设置阈值,则有:
(4)
式中:为预先选定的阈值;(,)为得到的二值图。根据式(4)可以看出,就是将原始灰度图像中大于设定阈值的像素点变为白色,小于阈值的像素点设置为黑色,从而将图像中的目标区域与背景分割开来,而阈值的选择最为关键。
阈值分割[11]的算法有直方图法、迭代法、大津法、分水岭法,经过测试文中选择自适应局部阈值分割法,这种方法对光照不均的图像处理效果好,其算法实现逻辑如下所述。
1)把预处理后的滑片图像根据灰度排列的不同情况分成许多小的区域,然后分别计算这些小区域的直方图。
2)测试各个子区域的直方图是否为双峰图像,若是则采用迭代法确定具体的阈值,若不是则不 处理。
3)将步骤2中算出来的阈值再用插值法确定各子区域的阈值,从而通过许多不同的阈值同时来分割初始图像。经过多次参数调整及测试后分割的图像见图4,可以看到其左边相较于右边略微有些空洞。
3.3 清除、填充及thin算法
对于阈值分割后的图像中还有不少腐蚀膨胀操作无法去除的较大噪声和存在目标滑片部分空洞的现象,这些因素会导致后期轮廓连通域计数错误,因此基于面积域设计了清除噪声、填充空洞的算法,其最为关键的就是找出内外轮廓。外轮廓是由1连通域的像素点组成,内轮廓(空洞)是由0连通域的像素点组成,他们之间层次虽有序而繁杂,但存在着对应逻辑,寻找具体过程如下所述。
1)遍历整个图像,遍历每行像素时,若遇到(,−1)=0,(,)=1状态时则认为是外轮廓的起点,若遇到(,)>=1,(,+1)=0状态时则认为找到一个洞轮廓的起点。
2)给边界轮廓编号,在内外轮廓起点通过4个指针开始去搜索完整轮廓,一搜索到新的界限点就将它设置的序号NBD加1,在此步骤中若碰到(,)= 1,(,+1)=0则把(,)转换成-NBD即认为到达了右边界的中止点。
3)确定内外轮廓,把以上的相同记录值的点划归到一个边界,洞边界是像素为0的连通域被像素为1的连通域环绕着的,外轮廓则与之相反。
对于噪声斑点的清除和空洞的填充是先将轮廓画出来后计算面积大小,然后依次与预先设定的面积值进行比较来决定是否清除和填充,两者不是同时进行的。经过测试,文中先将小于200的空洞进行填充,然后将小于500的斑点去除。
对于图像的细化算法(Thinning Algorithm, thin)[12—13],通俗点说就是把图像中的目标物体变瘦,其实质就是在二值图像中,按照从外到内的次序把目标物体进行一定程度的像素点去除,但最后需保持主体躯干部分清晰。细化算法原理就是根据八邻域中的值来判断此点是孤立点、端点和内部点,进而判断是否保留此点的像素值,具体分为3个步骤。
图3 预处理过程
1)遍历全部像素点,查看是否满足以下4个条件:P2至p9的像素值总和要大于等于2且小于等于6;在从左到右、从上到下p2->p9的数值顺序中,每2个相邻顺序数值为0和1的数量为1;p2*p4*p6=0;p4*p6*p8=0
2)将步骤1中的后2个条件改为p2*p4*p8 = 0,p2*p6*p8=0,前2个条件不变,遍历像素。
3)若同时能够满足步骤1中或者步骤2中的4个条件,则将该点置0即删除。
经过对自适应阈值分割后的图像进行清除、填充及thin算法后的图像见图5,相较于图4可以看到,滑片周围及滑片缝隙里独立的斑点已被清除干净,经过填充算法大部分空洞已经被填充,图像左上部滑片相对已变得更加饱满。经过thin算法后滑片之间缝隙变得更大了,上下行之间的粘连也变得更小了,有利于后续投影图寻找谷底位置进行切割图像。
图5 细化结果
3.4 水平投影分割算法及计数
对于图像中的滑片纵向看每个滑片已经被分割开来,但是横向依然粘连。文中借鉴车牌识别和字符分割中常用的垂直水平投影分割算法将横向滑片彻底分开。水平投影算法思路为:即二值图像水平方向上的投影,首先在水平方向上取一条直线,然后记录这条直线所有白色像素点的数量并累加求和作为此轴此位置的值,以此遍历图像上所有的行,最后统计出每行白色像素点的数量并在一个空白图像上依次对应画出直方图(将对应位置像素设为255即白色直方图,其余位置像素设为0即黑色背景),最后画出的水平投影直方图见图6,其中标注红色方框的位置就是滑片横向需要切割的位置。
基于投影法[14—16]的图像分割就是把图像映射这种特征后,据此判断切割的位置,从而来分割图像得到目标图像。在车牌字体分割时,主要是将车牌字体投影图中谷峰与谷峰之间的空隙和设定的字体长宽比例作为分割依据,与车牌字符分割不同的是文中横向滑片粘连严重且排列不是十分整齐,无法通过缝隙分割。文中提出通过图像监视方法来确定滑片投影直方图中具体的切割位置,进而确定滑片图像切割的位置。图6中红色方框标注的位置就是需要分割的地方,在visual studio的环境下调试编译算法,通过图像特征和像素信息取谷底纵坐标的平均值得到4个纵坐标分别为415,738,1056,1365,即把这些行值作为切割线位置。另外因为滑片不是整齐排列的,只做一条切割线是不能够将上下2行滑片整齐切开的,所以文中采取在上下两行滑片连接处切掉一个矩形条,将找到的4个行数分别上下各加30行,即把找到的4个纵坐标作为每个矩形的中线,矩形的高为60,长为整个原图像的列数,将矩形条内所有像素点设置为0,最终切割后的图像见图7。
图6 投影直方图
图7 最终切割后图像
由切割后的图像可以看到,每个滑片都已经被完全分离成没有粘连的独立个体,这时就可以通过连通域找出每个滑片的轮廓,轮廓的数量就是滑片的数量,具体算法在3.3节已阐述,最终计数结果为368。
4 实验设计平台及结果
4.1 实验硬件设计
图像处理主机和显示终端为一台64位Window 10戴尔笔记本电脑,英特尔i5处理器,8 G内存。图像采集设备为高清500万像素的敏特U500工业相机,采集的照片像素为2562×1944,相机接口为USB并配有相机支架,相机位置可以调节,还搭配台湾SunWay xw0612型号的工业相机镜头。视觉检测系统的光源为50瓦的大功率LED灯,检测仓为黑色亚克力材质板,限位开关为漫反射式红外光电传感模块D80NK。流水线采用40×40工业铝材方管搭建而成,西门子PLC200控制器作为运控系统的主机,操作箱可以人工操作选择手动模式还是自动模式,急停按钮等,实验硬件实物见图8。
图8 硬件实物
4.2 实验软件设计及结果
计数系统显示界面使用C++跨平台的图形界面开发框架QT,设置2种模式:在自动模式时,打开滑片计数系统软件,当滑片到位后可直接计数并显示出来;在手动模式时,可以先点击读取图像按钮,然后再点击开始计数按钮就可以将计数结果显示出来。另外界面有相机实时显示窗口,也设计了检测系统状态指示灯和状态信息栏等功能,计数界面显示结果见图9。
在实验过程中发现系统光源和自适应阈值算法中分割的块大小和偏移量对滑片计数准确性影响较大,初始时光源选择的是40 cm和20 cm各6条9 W的LED灯带倾斜置于检测仓四周,经算法调参后仍不能准确计数,后来经过分析认为LED灯带亮度不够,而且检测仓内部比较光滑会发生镜面反射,最后更换为50 W大功率LED灯并置于检测仓上方,而且检测仓内部都贴上粗糙壁纸,这样光源在检测仓内部发生漫反射,使得其采集的滑片图像尽量光照均匀。在此光源调整合适并固定前提下,经过多次测试,再次对自适应阈值分割算法参数改进,将其最终调整后的结果同时将由于滑片油污导致的缺损连接起来,并且消除掉了多余的边框,得到准确的滑片数量,其对比结果见图10,另外得益于投影法的创新应用,解决了滑片密集粘连的分割难题。
图9 计数结果显示界面
该滑片自动计数系统计数准确,整箱滑片实际368个,计数结果显示368。根据某公司提出滑片计数准确率要达到99.5%以上,且计数效率不低于每小时25 000片的实际生产需求,在此实验条件下,再次进行系统性的测试3组,每组总数相近且分为100次测试,每次测试在保证滑片直立不倒的情况下,随机将滑片拿出若干片或者不拿,统计最后平均结果。结果显示平均计数准确率达到99.83%,每次计数时间平均为7.6 s,表现出良好的稳定性和准确率,满足实际生产需求,测试结果见表1。
图10 光源调整前后对比结果
5 结语
对于压缩机滑片生产包装过程中人工计数烦琐、效率低等问题,文中利用机器视觉技术设计了滑片自动计数系统,通过对图像预处理来增强图像对比度、细化处理、借鉴字符分割中的投影法对图像进行分割等方法实现了准确计数。该方法在系统光源固定后,对于外界光照环境变化后仍然适用。另外此系统对杂乱摆放的滑片无效,下一步考虑利用深度学习来处理遮挡、随机摆放滑片的计数问题。
[1] 王卫勇, 朱玉泉. 一种基于多模板覆盖的钢筋计数方法[J]. 计算机与现代化, 2005, 4(5): 25-27.
WANG Wei-yong, ZHU Yu-quan. A Method of Reinforcing Bar Based on Multi-Template Coverage[J]. Computer and Modernization, 2005, 4(5): 25-27.
[2] POPPE R. A Survey on Vision-Based Human Action Recognition[J]. Image and Vision Computing, 2009, 28(6): 976-990.
[3] 程福. 基于机器视觉的高品质苹果在线计数方法[J]. 农业装备技术, 2011, 37(4): 45-46.
CHENG Fu. On-Line Counting Method of High-Quality Apples Based on Machine Vision[J]. Agricultural Equipment Technology, 2011, 37(4): 45-46.
[4] 贾雄, 叶邦彦. 基于图像处理的药片计数系统设计[J]. 电子设计工程, 2013, 21(12): 67-69.
JIA Xiong, YE Bang-yan. Design of Tablet Counting System Based on Image Processing[J]. Electronic Design Engineering, 2013, 21(12): 67-69.
[5] 敖银辉, 蒋进. 基于纹理分割的纸张计数研究[J]. 包装工程, 2015, 36(19): 135-138.
AO Yin-hui, JIANG Jin. Research on Paper Counting Based on Texture Segmentation[J]. Packaging Engineering, 2015, 36(19): 135-138.
[6] 田齐, 张令. 基于机器视觉的晶圆裸片计数方法[J]. 传感器与微系统, 2018, 37(10): 41-43.
TIAN Qi, ZHANG Ling. Method for Counting Die of Wafer Based on Machine Vision[J]. Sensors and Microsystems, 2018, 37(10): 41-43.
[7] 彭顺正, 岳延滨, 冯恩英, 等. 基于机器视觉的油菜籽计数系统开发与设计[J]. 计算机应用, 2020, 40(S2): 142-146.
PENG Shun-zheng, YUE Yan-bin, FENG En-ying, et al. Development and Design of Rapeseed Counting System Based on Machine Vision[J]. Journal of Computer Applications, 2020, 40(S2): 142-146.
[8] 多功昊, 王紫聪, 张航. 基于机器视觉的鱼苗自动计数方法研究[J]. 农业技术与装备, 2020(6): 55-56.
DUO Gong-hao, WANG Zi-cong, ZHANG Hang. Research on Automatic Counting Method of Fish Fry Based on Machine Vision[J]. Agricultural Technology and Equipment, 2020(6): 55-56.
[9] 马健锦. 基于机器视觉的菌落自动计数软件开发[J]. 海峡科学, 2019(1): 37-40.
MA Jian-jin. Development of Automatic Colony Counting Software Based on Machine Vision[J]. Strait Science, 2019(1): 37-40.
[10] 方志强, 肖书浩, 熊禾根, 等. 基于机器视觉及SVM的零件产品计数系统[J]. 制造业自动化, 2018, 40(7): 37-40.
FANG Zhi-qiang, XIAO Shu-hao, XIONG He-gen, et al. Parts Product Counting System Based on Machine Vision and SVM[J]. Manufacturing Automation, 2018, 40(7): 37-40.
[11] 宋凯, 王舒卉. 图像分割算法研究与实现[J]. 沈阳工程学院学报(自然科学版), 2020, 16(4): 67-70.
SONG Kai, WANG Shu-hui. Research and Implementation of Image Segmentation Algorithm[J]. Journal of Shenyang University of Engineering (Natural Science Edition), 2020, 16(4): 67-70.
[12] 张晓东, 岳欢. 基于OPTA细化算法在核安保指纹识别系统的应用[J]. 黑龙江科学, 2020, 11(24): 22-25.
ZHANG Xiao-dong, YUE Huan. Application of OPTA Refining Algorithm in Nuclear Security Fingerprint Identification System[J]. Heilongjiang Science, 2020, 11(24): 22-25.
[13] 王哲, 王华昌, 李建军. 二值图像骨架抽取算法在细长面数控加工刀路优化中的应用[J]. 模具工业, 2020, 46(6): 1-5.
WANG Zhe, WANG Hua-chang, LI Jian-jun. Application of Two-Value Image Skeleton Extraction Algorithm in the Optimization of Elongated Surface Numerical Control Processing Knife Road[J]. Mold Industry, 2020, 46(6): 1-5.
[14] 陈虹宇, 李铁军. 运用灰色关联度的仪表数字字符识别[J]. 集美大学学报(自然科学版), 2021, 26(1): 66-71.
CHEN Hong-yu, LI Tie-jun. Identification of Instrumental Digital Character with Gray Correlation[J]. Journal of Jimei University (Natural Science Edition), 2021, 26(1): 66-71.
[15] THILAGAVATHY A. CHILAMBUCHELVAN A. Fuzzy Based Edge Enhanced Text Dalgorithm Using MSER[J]. Cluster Computing, 2019, 22(5): 11681- 11687.
[16] 姚文凤, 甄彤, 吕宗旺, 等. 车牌字符分割与识别技术研究[J]. 现代电子技术, 2020, 43(19): 65-69.
YAO Wen-feng, ZHEN Tong, LYU Zong-wang, et al. Research on Vehicle License Plate Character Segmentation and Recognition Technology[J]. Modern Electronic Technology, 2020, 43(19): 65-69.
Design of Compressor Slide Counting System Based on Machine Vision
WANG Yi, DONG Guang-lin, MA Zheng-dong, GONG Xiao-jie, DU Yan
(College of Electrical Engineering, North China University of Science and Technology, Tangshan 063200, China)
The work aims to designan algorithm and device for automatic counting of compressor slides based on machine vision technology and PLC in view of the cumbersome problem of manually counting compressor slides. Industrial cameras and high-power LED lights were used to design the visual device, and PLC was used as the assembly line controller to communicate with the visual computer through TCP. An automatic counting algorithm was designed based on image processing technology. Firstly, the area of interest was cropped from the boxed slide image collected by the camera and subject to filtering, histogram equalization, morphological processing, and adaptive threshold binary segmentation to enhance image contrast. Then, the image cavities were filled. After the larger noise points were removed, the thin algorithm was used to refine the tightly adhered slides, and the histogram was drawn by the horizontal projection method to find the cutting position. Finally, the connected domain analysis was performed to determine the number of slides, and design the user interface to display the counting results and system status. Through many on-site tests, the overall system ran smoothly and was not affected by external light, with high counting accuracy. Tests were carried out at different time in a day, the average time for each count was 7.6 s, and the accuracy reached 99.83%. The application of the projection method solves the segmentation problem of dense adhesion. This method is highly adaptable to the environment, can automatically count slides stably and accurately and has obvious application advantages in the actual mass production and packaging of slides.
slide; horizontal projection; count; cutting
TB487
A
1001-3563(2022)01-0202-08
10.19554/j.cnki.1001-3563.2022.01.026
2021-03-30
唐山市科技计划(21130212C)
王一(1981—),男,博士,华北理工大学副教授,主要研究方向为视觉检测、智能控制、精密测量。