扎捆棒材的图像识别计数算法

2016-06-27 06:39侯维岩侯兆阳
自动化仪表 2016年5期
关键词:棒材形态学字形

侯维岩 侯兆阳

(郑州大学信息工程学院,河南 郑州 450001)

扎捆棒材的图像识别计数算法

侯维岩侯兆阳

(郑州大学信息工程学院,河南 郑州450001)

摘要:为了快速获得扎捆棒材的数量,在大量观测和实验的基础上,提出一种动态获取棒材形态学直径的方法;根据扎捆棒材的形态学分布,提出“米”字形搜索算法(RSS算法)和一种覆盖原则。先对棒材截面图像进行灰度化处理,然后根据灰度图片的灰度直方图两峰一谷的特点得到图片的全局阈值,将灰度棒材图片二值化;再对二值图片进行膨胀、腐蚀操作削弱粘连;最后基于二值图片,利用RSS算法进行计数。现场采集扎捆棒材的计数实验验证了该算法的有效性、可靠性和准确性。在加入人工矫正环节后,棒材计数准确度达到100%。试验结果表明,在计数对象满足两个分布特征的情况下,该算法都可以实现高准确度的计数。

关键词:扎捆棒材形态学“米”字形搜索(RSS)智能分割人工矫正图像处理图像识别

0引言

在扎捆棒材的流通过程中,传统称重方法人力消耗大,且不容易操作,人工计数往往效率低下。目前,还没有一种方法能实现对棒材数量的快速准确计量,这给物流和用户带来许多不便。因此,对扎捆棒材的精确计数成为一个亟待解决的问题。

随着数字图像处理技术和CCD技术的发展,从扎捆棒材截面的图像中计算获取棒材的数量成为目前常见的方法,但这些方法都有不同的缺点。极限腐蚀法[1]虽然解决了棒材的粘连问题,但是腐蚀导致了棒材的形变,更严重的是过腐蚀可能腐蚀一部分棒材,从而导致漏计数。模板匹配法[2]和十字模板搜索法[3]的搜索间隔大小的选取严重影响算法的性能。较大的间隔可能导致漏计数;较小的间隔可能导致搜索太慢,并降低算法的有效性,而且匹配模板的大小无法确定。文献[3]提出的手动指定的模板大小往往也不精确。常见的棒材类圆识别、圆形度检测[4]、凹度检测[5],由于计算量过大、算法复杂度高,将导致整个识别计数过程缓慢。

本文在大量观测和实验的基础上,提出一种动态获取棒材形态直径的方法和一种基于扎捆棒材形态学分布的快速计数米字形搜索(rice shape searching,RSS)算法。

1算法的概述

根据观察,扎捆棒材具有以下两个形态分布特征。

(1)每根棒材的形态学参数相似,例如形态学直径φ相近,截面近似圆形。

(2)每根棒材和周围棒材紧密堆叠,每根棒材周围有4~8根棒材,且中心棒材和周围棒材的距离都为棒材的形态直径。如果以直径搜索将大大节省搜索时间。

由以上两个分布特征,可获取棒材的形态学直径φ;再以φ为半径,用RSS算法搜索棒材并用正八边形模板覆盖和计数。算法核心步骤如下。

①动态获得棒材的形态直径φ,给正八边形模板覆盖提供参考。

②随机找到一个出现棒材的位置(最好在图片的中心位置),棒材数量加1,用正八边形模板覆盖此棒材出现的区域(此处的覆盖只是防止重复检测),标记棒材位置。

③在上一步找到的棒材的周围,以半径φ“米”字形搜索周围出现棒材的位置。如果找到出现棒材的位置,棒材数量加1,覆盖出现棒材的位置,标记新出现的棒材位置,供下一步使用。

④不断重复步聚③,直到搜索不到新的棒材。

⑤算法退出。

找到棒材的精确几何中心位置,实现对已找到棒材的准确、完全覆盖。这样可以提高结果的正确性,且对其他棒材的准确搜索和找到形态学尺寸具有重要意义。尤其是对于棒材有粘连的情况,如果把其中一个棒材准确覆盖,那么对另一根棒材来说已经不存在粘连了,因此,完整、准确地覆盖其中一根棒材,就可以把粘连的棒材分离。

在实验中使用了“米”字形搜索的方式,原因如下。

①根据大量观测知道,每根棒材周围有4~8根棒材。

②提高算法的冗余,防止漏检,提升算法的鲁棒性。

③“米”字形搜索的邻域相对于中心位置特殊,计算简单。

图1为棒材的形态学参数示意图。

图1 棒材的形态学参数示意图

图1中,MN、HG为分割线。

理想情况下,形态学参数为:棒材中心O1的坐标位置(xcenter,ycenter),棒材的横向最大尺寸xLength=LAB,棒材的纵向最大尺寸yLength=LCD。对于有粘连的棒材,LEF、LPQ也包含了一定的信息量,可以据此判断出是纵向粘连还是横向粘连,从而加以智能分割,然后再对分割后的类圆棒材进行判断。

2算法流程

图2为算法整体流程图。先读取图片,选择感兴趣的区域,进行灰度化和二值化处理,腐蚀膨胀操作可以消除一部分粘连;然后获取棒材的形态学直径φ,用RSS算法搜索并覆盖已经找到的棒材;最后加入人工矫正并显示结果。

图2 计数算法整体流程图

图3 为“米”字形搜索示意图,0位置处是随机找到的,或者由上一步提供的位置信息。

图3 “米”字形搜索示意图

“米”字形搜索就是以棒材的形态学直径为半径,在0位置的周围8个位置搜索新的棒材位置。假设0处的位置为(xcenter,ycenter),构造矩阵:

(1)

图3中,1~8处中心位置g(i)为:

g(i)=[xcenter+RM(i,1),ycenter+RM(i,2)]

(2)

式中:i=1~8;g(i)为第i个点的坐标。

“米”字形搜索实验示意图如图4所示。

图4 “米”字形搜索实验示意图

图4中,中心位置O是第一层随机找到的或者上一层提供的棒材位置,然后以φ为半径,在它的8个临域内搜索。如果找到新的棒材,则棒材数目加1,覆盖此处棒材,记录棒材位置供下一层使用。图4中,在O周围搜索到了5根棒材并加1覆盖,防止重复计数。A处判断没有棒材,原因是A和左边的棒材存在横向粘连,需要分割后再判断。

3算法的具体实现

3.1获取灰度图片

从照相机或者摄像头得到的是一张RGB图片,用R、G、B分别表示图片中一个像素的红色分量、绿色分量、蓝色分量,则该像素处的灰度值可由下式得到:

f(i,j)=0.3R(i,j)+0.59G(i,j)+0.11B(i,j)

(3)

3.2灰度图片二值化

阈值法[6]是一种简单而且有效的二值化方法。根据图片中前景和背景的区别,选择适当的阈值,可以滤除背景,保留前景。通过灰度图像的直方统计图[3],可以很直观地得到图片的二值化阈值。

灰度图像的直方图如图5所示。

图5 灰度图像的直方图

如图5所示,灰度图片的直方统计图呈现两峰一谷,从而可以很直观地获知此图片的二值化阈值在60左右。根据全局阈值,将图片二值化。

3.3动态获取棒材形态学参数φ

此处φ是动态的、全局的、具有统计意义的棒材形态学直径φ(单位为像素)。作用是为“米”字形搜索提供参考半径、智能判断和正八边形模板参考。获得φ的方法是多次测量求平均值。获得棒材形态学参数如图6所示。

图6 获得棒材形态学参数示意图

①如图6所示,在二值图像上面随机找到一个点M,然后上下延伸到棒材的边缘,记录AB的长度,找到AB的中点。

②在AB的中点处左右延伸到棒材的边缘,记录CD的长度为xLength和中点xcenter。

③在CD的中点处上下延伸到棒材的边缘,记录EF的长度为yLength和中点ycenter。

④对xLength、yLength求平均,得到此处棒材的形态学直径φ,保存φ。

⑤重复以上步骤,待找到一定数量的φ后,去掉最大的和最小的,对剩下的φ求平均,得到全局的具有统计意义的φ。

“米”字形搜索算法实现如图7所示。第一层随机找到一个棒材位置A,进行“米”字形搜索,搜索到4个棒材;然后在这4个棒材的位置进行“米”字形搜索。依次类推,直到第N-1层不能再找到新的棒材位置,即第N层不能再搜索,算法退出。

图7 “米”字形搜索算法实现

3.4RSS算法的具体实现

在具体实现上,定义两个矩阵:数量矩阵NM[N]、位置矩阵LM[N][K][2]。其中,数量矩阵是1维的,存储每1层的棒材数量信息;位置矩阵是3维的,存储每1层找到的每一个棒材的位置信息,供下一层使用。例如LM[2][2][1]表示第2层第2个棒材的横坐标,NM[2]表示第2层的所有棒材数量。其中N是算法搜索的层数,K是每一层搜索到的棒材数量。通过数量矩阵,可以知道一共找到的棒材数量。这里的N、K都是无法预知的,算法运行的层数N无法预测,并且每一层的值是不同的。具体操作流程如下。

①初始化第1层,随机找到一个棒材位置,设置第1层的数量矩阵(第一层的棒材数量为1)和位置矩阵。

②判断上一层提供的棒材数量是否为0,如果是0,搜索结束,进入第⑤步;如果不是0,进入第③步。

③进入m层,利用m-1层提供的位置信息和数量信息,遍历所有m-1层找到的棒材;“米”字形搜索,每找到一个棒材位置,更新本层棒材数量,设置新找到棒材的位置信息,并且覆盖找到的棒材位置,防止重复搜索。

④返回第②步。

⑤计算棒材数量,显示棒材数量和计数用时,退出算法。

3.5智能判断

由于棒材的裁剪工艺、棒材之间的互相遮挡、拍照时的倾斜对图片中棒材的拉伸变形以及棒材的腐蚀等原因,造成二值图像中的棒材不是理想的圆形,可能是压扁的椭圆棒材或几个棒材粘连在一起。那么怎么知道是否找到了一个棒材,下面提出了一个理想棒材的判断准则和粘连棒材的判断准则。

准则1:如果0.5φ

准则2:如果xLength≥1.4φ,则判断此处存在横向粘连棒材;如果yLength>1.4φ,则判断此处存在纵向粘连棒材。

如果在搜索的过程中发现粘连棒材,则先根据是纵向粘连或者是横向粘连进行分割,然后在此处搜索判断。此方法也在仿真中得到了很好的验证。

4实验结果

为验证算法的正确性,现场获取了棒材图片,实验结果如图8所示。由图8可以看出,在存在干扰的情况下,RSS算法实现了准确的覆盖和计数,体现了“米”字形搜索算法的高效性、准确性。

图8 棒材计数结果

从图8可以直观地发现:RSS算法检测到了所有的棒材,如果有漏检,可以很容易地发现并通过人工矫正。此次仿真检测到68根棒材,用时0.98 s,没有对干扰进行误判。一些水平或竖直的分割线反映了RSS算法的智能分割功能。RSS算法实现了100%的棒材计数。

对其他尺寸棒材的实验结果及性能评价见表1。实验发现,直径小的对象,识别时间和识别率指标有所下降。这是所有图像识别算法的共同问题[7-16]。针对此问题,可以加入人工矫正环节。

表1 实验结果及性能评价

在棒材图片的采集过程中,采集者与棒材的角度和距离因人而异,所以棒材的真实尺寸已经失去了原有的意义。因此,为了对比算法的性能,实验控制棒材的形态学直径φ近似相等。通过改变实验对象中棒材的数量,探讨实验的检测率和实验用时,从而得出结论。如表1所示,实验控制棒材的形态直径φ在50像素左右,此值是算法每次动态获取的,和真实值有一定的浮动。表1中记录了棒材直径φ、检测数量、计数用时,计算了检测率,验证了算法的有效性、可靠性。

5结束语

本文根据扎捆棒材的两个分布特征,提出了RSS搜索算法和动态获取棒材形态学直径φ的方法,给出了本文中用到的形态学参数,设计实验验证了算法的准确性、可靠性和有效性,并在嵌入式设备上得到实现。只要计数对象满足本文中提到的两个分布特征,均可以用此方法实现其他对象的快速准确计数,如医学病理检测中的细胞计数。

参考文献

[1] 安军锋,任吉堂.在线棒材计数系统现状与研究[J].中国冶金,2007,17(11):1-5.

[2] 周群,胡光锐.基于模板覆盖法的钢筋在线计数方法[J].上海交通大学学报,1999,4(5):559-564.

[3] 侯维岩,张利伟,党蟒,等.一种基于图像处理的棒材计数测量系统的设计与实现[J].仪器仪表学报,2013,34(5):1100-1106.

[4] 罗三定,肖飞.不规则类圆形团块目标图像识别的新方法[J].中南大学学报,2004,35(4):632-637.

[5] 赵欣欣.生物组织纤维图像中的细胞计数方法[D].武汉:华中科技大学,2012.

[6] 梁华为.直接从双峰直方图确定二值化阈值[J].模式识别与人工智能,2002,15(2):253-255.

[7] 张达,谢植,艾江山.棒材在线计数中断面定位方法研究[J].仪器仪表学报,2010,31(5):1173-1178.

[8] Wang Tingmei ,Chen Ge,Guan Hui.An improved filling algorithm for image with complicated closed edges[C]//International Conference on Information Technology for Manufacturing Systems,2010:894-897.[9] 左敏,曾广平,涂序彦,等.基于等价对的图像连通域标记算法[J].计算机仿真,2011,28(1):14-16.

[10] 张久权,金友仲.一种新兴棒材计数装置设计[J].制造业自动化,2011,33(1):127-128.

[11] 段政伟.面向扎捆棒材计数系统的图像预处理算法研究[D].郑州:郑州大学,2012.

[12] Wang T N,Wan Q L,Philip O.An improved template matching method for object detection[C]//Lecture Notes in Computer Science,Asian Conference on Computer Vision,2010:193-202.

[13] 黄玲,齐保谦,胡波.基于图像连通区域面积的成捆棒材自动计数方法[J].工矿自动化,2012,38(5):77-79.

[14] 陶兆胜,屠大维.基于图像几何静矩阵的机器视觉基础矩阵估计[J].仪器仪表学报,2011,32(8):1776-1780.

[15] 陈浩,王景中,姚光明.基于类圆分割的棒材计数图像识别[J].工程图学学报,2004,25(4):98-103.

[16] 薛彦冰.基于机器视觉的棒材计数系统的研究和实现[D].济南:山东大学,2014.

Counting Algorithm Based on Image Recognition for Bundled Bar

Abstract:In order to quickly obtain the number of the lash bar,the method of dynamically obtaining the morphology diameter of the lash bar is put forward on the basis of a large number of observations and experiments.According to the morphological distribution of the lash bar,the rice shape searching(RSS) algorithm and coverage principle is proposed.Firstly,gradation processing is conducted for section image of rod,then,according to the global threshold of the image is obtained in accordance with the two peaks one valley characteristics of the gray histogram of the gray scale image to get the binarization image,and then the adhesions is weakened by operations of expansion and corrosion,finally based on binarized image the RSS algorithm is used for counting.The experiments on site prove the validity,reliability and accuracy of this algorithm.The accuracy of bar counting is up to 100% when manual correction is added.The result of test shows that the conclusion is highly accurate counting can be implemented if the objects satisfy the two distribution features mentioned.

Keywords:Lash barMorphologyRice shape searching(RSS)Intelligent segmentationManual correctionImage processingImage recognition

中图分类号:TH74;TP29;TP313

文献标志码:A

DOI:10.16086/j.cnki.issn1000-0380.201605008

修改稿收到时间:2015-08-16。

第一作者侯维岩(1964-),男,2004年毕业于上海大学控制理论与控制工程专业,获博士学位,教授;主要从事分布式智能控制、无线通信和数字图像处理方向的研究。

猜你喜欢
棒材形态学字形
昆玉棒材轧制产线提速增效工艺改进措施
异体字字形类似偏旁的互用类型综合字图构建
棒材车间集中监控系统优化及应用
棒材倍尺飞剪剪切稳定性改进措施
五切分轧制技术在玉钢棒材生产线的应用
前交通动脉瘤形成和大脑前动脉分叉的几何形态学相关性研究
甲骨文中的字形直立化二则
复习生字字形的方法
添一笔变个字
医学微观形态学在教学改革中的应用分析