侯维岩 段政伟 赵 慧
(郑州大学信息工程学院1,河南 郑州 450001;上海大学机电工程与自动化学院2,上海 200072)
基于多模板匹配的捆扎棒材计量方法
侯维岩1,2段政伟1赵 慧1
(郑州大学信息工程学院1,河南 郑州 450001;上海大学机电工程与自动化学院2,上海 200072)
针对目前钢铁物流行业人工计数法存在劳动繁重、效率低下等问题,介绍了一种基于S3C2440硬件平台和嵌入式WinCE操作系统的手持式捆扎棒材计数系统。该系统采用基于连通性和圆形度检测的多模板匹配法来统计棒材根数,可以准确地分辨出每根棒材并实现计数;系统使用CMOS数字图像传感器获得原始的捆扎棒材图像,再由图像处理程序对图像数据进行处理。试验结果表明,系统有效提高了计数准确度,而区域标识和人工修正相配合的方法,使得系统能够在工业现场被广泛应用。
嵌入式 计数 图像处理 模板匹配 连通性 圆形度
目前,钢铁物流行业采用人工计数的方法统计捆扎棒材支数,劳动繁重且效率低下。随着计算机技术和数字图像处理技术的发展,人们开始研究捆扎棒材自动计数系统。
研究发现[1-2],棒材断面锈蚀、棒材断面形状不规则、捆扎整齐度较差等现象,会导致二值图像中部分棒材断面不完整且相邻棒材严重粘连。针对这一问题,国内很多学者提出了一些解决方法,如凹点分割法[3-4]、中心点法[5]、模板覆盖法[6]、图像距离变换法[7]等。这些方法虽取得了一定的成果,但并不具有普遍适应性,都存在计数不准确、携带不便利等问题。
为了使棒材计数员能够随时随地对捆扎棒材进行计数,并及时判断计数结果的正确性,本文设计了一种手持移动式棒材计数系统。系统硬件平台采用S3C2440作为核心控制芯片,通过CMOS数字图像传感器OV9650采集捆扎棒材图像。同时,本文提出了一种基于连通性和圆形度检测的多模板匹配算法来计数,并在原图像上用红色显示模板覆盖下的棒材,从而能够方便地判断计数结果是否准确。
图像预处理的方法包括感兴趣区域提取、灰度化、二值化和形态学运算。
捆扎棒材通常堆叠在一起存放,在采集某捆棒材断面图像时,其周围的棒材断面会对该捆棒材的识别计数带来不可避免的干扰。因此,需要进行感兴趣区域提取,将该捆扎棒材断面所在的多边形区域从图像中提取出来,作为图像分析的原始图像。
当进行感兴趣区域提取时,用户只需使用触摸笔指定多边形的顶点,应用程序将屏幕坐标转换为图像坐标,在图像中形成封闭的多边形区域;对多边形区域进行区域填充,再和原始图像作与运算,则用户感兴趣的多边形区域便被提取出来。
考虑到棒材断面的颜色特征不能作为辨识棒材的依据和嵌入式系统中内存资源的稀缺性,采用加权平均值法将彩色图像转换为灰度图像。
在灰度图像中,棒材断面和背景灰度有明显的差异,通过阈值分割的方法能够使棒材断面和背景分离。然后利用Otsu方法自动计算全局阈值,并使用该阈值进行分割,得到二值化图像。最后为了消去孤立噪声点和狭小粘连,采用平坦的octagon(八边形)结构元素执行了一次开运算操作。二值化图像和开运算图像如图1所示。
图1 二值化图像和开运算图像Fig.1 The binary image and the open operation image
由于捆扎棒材堆叠在一起,相互间贴近的程度各不相同,导致二值化图像中相邻棒材断面区域相互连通且连通的程度不同。鉴于棒材断面区域具有一定面积的类圆形的性质,本文采用模板匹配的方法来识别计数。传统模板匹配算法采用逐点匹配的方法,该方法将大量的运算时间浪费在非匹配点上,实时性很差。为减少在非匹配点上的运算时间,本文提出了一种基于多个模板的模板匹配算法来识别棒材断面区域并进行计数。
多模板匹配扫描方式[8]如图2所示,按照从左向右的顺序,将二值化图像以棒材直径D为步长分割为若干个矩形区域。
图2 多模板匹配扫描方式Fig.2 The scanning mode of multiple templates matching
水平模板长度为D,宽度为一个像素,始终沿分割线(包括图像边界)进行扫描。小矩形长度为D、高度为D/2。十字形模板由两个水平模板正交组成,在小矩形内部扫描。正八边形模板的直径为D。
多模板匹配算法步骤如下。
①以图像左上角为原点,用水平模板从上向下沿图像左边界进行逐行扫描,并计算水平模板覆盖下的像素个数。若像素个数大于阈值(通常取为水平模板长度的一半),表明当前行附近可能存在一根棒材,转到步骤②;否则,转到步骤③。
②在当前位置创建小矩形区域,用十字模板在小矩形内逐点扫描,并计算十字形模板覆盖下的像素个数和相应的十字形模板中心坐标。扫描完成后,取最大的像素个数和阈值(通常取为水平模板的长度)作比较。若像素个数大于阈值,相应的十字形模板中心坐标即为可能的匹配点,转到步骤③;否则,转到步骤⑤。
③以步骤②中可能的匹配点为正八边形模板的中心坐标,计算模板覆盖下的区域是否满足相似度要求。满足要求时表明一根棒材被识别,转到步骤④;否则,转到步骤⑤。
④计数器加1,并标记模板覆盖下的非零像素,转到步骤⑤。
标记过程分两步执行:第一步的目的是从二值化图像上清除已识别区域,将二值化图像中模板覆盖下的像素置零;第二步是为了能够直观显示计数结果,在原彩色图像中用红色标记已识别区域。
⑤判断是否扫描到图像下边界和右边界。若已扫描到图像下边界,移动到下一分割线扫描;若已扫描到图像右边界,结束扫描。
由此可见,在多模板匹配过程中,大多数像素点采用水平和十字形模板匹配,仅在较少的点上用正八边形模板匹配。由于水平模板和十字形模板的面积远小于正八边形模板的面积,从而减少了运算量,提高了运算速度。
传统的模板匹配算法利用模板和子图像之间对应像素点的一致程度来衡量相似度,在二值化图像中表现为子图像中前景像素数目,也称为子图像的面积。在模板匹配过程中,棒材被识别之后,已识别区域将会被清除,但是通常情况下模板没有完全覆盖棒材断面,导致清除已识别区域后仍存在属于该支棒材的残留像素。当仅利用棒材断面的面积特征衡量相似度时,残留像素会干扰相邻棒材的识别。这主要表现为以下两种情况。
图3 连通性检测前后模板匹配示意图Fig.3 Schematic diagram of the templates matching before and after the connectivity detection
第一种干扰情况是若不进行连通性检测,当前模板覆盖下的两个区域会被误认为是一根棒材。因此,当模板覆盖下的像素不属于同一个连通域,即连通域的数目大于1时,需要通过重新搜索匹配点来调整模板位置。连通性检测前后模板匹配示意图如图3所示。第二种干扰情况是模板覆盖下的像素属于同一连通域,但圆形度较差,若不进行圆形度检测,可能会导致错误的覆盖结果,从而不能准确识别棒材断面的位置。因此,为了使模板中心更接近棒材断面区域的实际中心,需要调整模板位置。圆形度检测前后模板匹配示意图如图4所示。在棒材数目较少时,上述干扰对计数结果影响尚不明显;然而,当棒材数目较多时,干扰的累积效应将严重影响后续识别定位的准确性,产生较大的计数误差。因此,为消除上述干扰,本文在衡量相似度时综合考虑了棒材断面的面积、连通性和圆形度特征。
图4 圆形度检测前后模板匹配示意图Fig.4 Schematic diagram of the templates matching before and after the degree of circularity detection
本文采用8连通图像标记算法[9]统计连通域的数目。圆形度计算公式为:
式中:L为连通区域的周长;A为连通区域的面积。面积A的值在模板覆盖时已经统计,因此这里只需统计连通域的周长L。本文采用边界跟踪[10]的方法提取二值图像的8邻接边界,并计算周长。
图1采集图像中的棒材实际数量为140,采用本文计算算法得到计数为140,结果完全正确,而采用传统模板匹配算法的计数结果为176。引起计数误差的原因是传统算法仅利用了棒材断面的面积特征,棒材被识别之后的残留像素对后续模板覆盖产生了严重的干扰,导致识别出的棒材位置误差较大甚至失去意义。与传统模板匹配算法相比,本文提出的连通性和圆形度检测算法能够有效克服上述干扰,从而正确识别每根棒材的实际位置,计数精度高。
为了验证算法的有效性,本文统计了多种型号捆扎棒材的计数结果,如表1所示。
表1 计数结果统计分析Tab.1 The statistical analysis of counting results
试验结果表明,对于捆扎整齐度较好且断面无严重锈蚀、发蓝的捆扎棒材,图像预处理算法能够比较可靠地分割出完整的棒材断面,本文提出设计的捆扎棒材自动计数系统的计数准确度达到97%左右。然而,由于工业现场环境的复杂性,品相较差的捆扎棒材中部分棒材仍不能够被准确识别,阻碍了自动计数系统的广泛应用。目前文献表明,此问题很难用图像处理方法自动解决。
为此,本文在软件部分设计了“后处理-加”和“后处理-减”两种人工修整措施。即在计数后,若用户发现存在未被识别的棒材或被错误识别为棒材的区域,可使用“后处理-加”和“后处理-减”手动添加或去除一个红色模板,同时计数结果加1或减1。
试验表明,采用红色区域标识和人工修正相配合的方法,计数准确度可以达到100%,使得本系统被广泛应用于工业现场。
本文提出了一种手持移动式捆扎棒材计数系统,使用WinCE6.0作为嵌入式操作系统,在VS2005下完成了基于微软基础类(Microsoft foundation classes,MFC)的软件设计,并通过图像处理技术来统计棒材根数。试验结果表明,该系统能够在工业现场被良好应用,对改善棒材计数员枯燥繁重的工作方式、提高工作效率和计数准确度、杜绝恶意虚假计数及管理自动化等方面都具有重要的意义。
[1]王培珍,杨维翰,杜培明.一种基于融合技术的成捆钢筋端面图象的分割方案[J].中国图象图形学报,2003,8(11):1277-1280.
[2]张达,谢植,艾江山.棒材在线计数中断面定位方法研究[J].仪器仪表学报,2010,31(5):1173-1178.
[3]陈浩,王景中,姚光明.基于类圆分割的棒材计数图像识别[J].工程图学学报,2004(4):98-103.
[4]齐国生,叶丹,洪强宁,等.基于圆形假设和多边形近似的血细胞图像分解[J].计算机工程与应用,2003(16):75-77.
[5]邹应国,康宜华.成捆钢筋快速计数方法的研究[J].机床与液压,2006(2):176-178.
[6]周群,胡光锐.基于模板覆盖法的钢筋在线计数方法[J].上海交通大学学报:自然科学版,1999,33(11):1462-1464.
[7]宋强,徐科,孙浩,等.基于图象处理的棒材自动计数技术[J].钢铁,2004,39(5):34-37.
[8]王卫勇,朱玉泉.一种基于多模板覆盖的钢筋计数方法[J].计算机与现代化,2005(5):25-27.
[9]高红波,王卫星.一种二值图像连通域标记的新算法[J].计算机应用,2007,27(11):2776-2777.
[10]郭健,刘斌,赖海燕.基于二值图像的目标边界跟踪算法及应用[J].红外技术,2005,27(5):416-418.
Measurement Method for Binding Bar Based on Multiple Templates Matching
Aiming at the problems that heavy labor and low accuracy of manual counting in logistics of iron and steel industry,a handheld counting system based on S3C2440 hardware platform and embedded WinCE operating system for bundled steel bars is introduced.By adopting the multiple templates matching method based on connectivity and degree of circularity detection,each rod can be precisely identified and counted by the system.Original image of the bundled steel rod is acquired by using CMOS digital image sensor,the image data are processed with image processing program.The experimental result indicates that this method effectively enhances the counting accuracy,and the method combining regional identification and manual correction makes the system widely used in industrial fields.
Embedded Counting Image processing Template matching Connectivity Degree of circularity
TP274+.3
A
国家自然科学基金资助项目(编号:60974097、60904016)。
修改稿收到日期:2012-04-05。
侯维岩(1964-),男,2004年毕业于上海大学控制理论与控制工程专业,获博士学位,教授;主要研究方向为分布式智能控制、WSN网络、信号和图像处理。
book=0,ebook=140