《武汉工程大学学报》  2015年11期 43-46   出版日期:2015-12-30   ISSN:1674-2869   CN:42-1779/TQ
柱面喷码字符的自动识别算法


0 引 言在工业生产中,许多产品上都记录着大量与产品相关的信息,如产品的质量精度、批次号、生产地、生产商等,这些信息有的用压铸或印刷喷码直接刻印到产品表面上去,不同的产品、不同的工艺流程及制造会造成刻印的文字信息不同,因此采取的识别方式也不同,如二维码扫描、条码扫描、字符识别等. 其中字符信息由于工艺、字体、磨损等原因会出现字符模糊、破损、扭曲变形等缺陷,造成识别难度大,准确率不高. 因此开发快速准确、辨别率高、鲁棒性好的字符识别产品信息采集系统具有非常重要的理论价值和工程应用价值[1]. 随着制造过程自动化及计算机技术在产品制造过程中的迅速普及,机器视觉也越来越多的贯穿到产品的整个生命周期,特别是制造过程和管理过程的监控. MVTec HALCON是德国MVTec Software Gmbh公司开发的专门用于图像处理的软件,具有功能强大的视觉处理函数库,包含了所有标准和高级的图像处理算法,覆盖了从不同的硬件图像采集到高级的模式匹配算法[2]. 黄剑航等人[3]采用HALCON中极坐标变换算子将圆弧形排列的字符变换成直线排列字符,实现了圆环平面区域内字符的识别,识别率高达96%. 由于柱面喷码容易呈现不规则和扭曲变形字符,识别难度较大. 本文采用HALCON机器视觉系统中的中值滤波算子,结合高级语言开发了铜环圆面不规则字符的图像处理及OCR字符识别系统,实现了柱面不规则排列字符的在线自动识别. 1 系统设计工业铜环信息自动采集检测系统需要将生产线上铜环柱面已经喷码好的字符信息采集和识别. 在采集的过程中,需要根据表面字符信息的不同对铜环产品进行产品分类,对于字符信息存在缺漏或完全无法识别的产品进行剔除. 整个采集检测系统包含配光系统、采集平台、传感器、图像采集及处理、自动送件和分拣机构等,总体结构图如图1所示. 2 图像处理在上述系统中通过工业相机获取字符区域的原始图像,在对其进行光学字符识别(OCR). 识别字符图像包含两个关键任务:一是将图像中单个字符分割,二是将分割出来的单个字符进行分类. 在分类时要为分割得到的区域分配一个符号标记,再通过BP(Back Propagation)三层神经网络分配器进行字符识别[3]. OCR识别的主要步骤为图像采集,处理图像,OCR字符识别和结果显示. 2.1 图像采集图像采集设备采用以太网数字信号CMOS相机(方诚FC-IU030M-30相机,配备镜头),如图2(a)所示的光源采用正面明场同轴漫反射LED环形白光光源,防止产生阴影,减少或防止镜面反射,使字符图像对比度增强[4]. 在HALCON软件平台上采用open_framegrabber算子连接相机,使用grab_image_start算子采集图像,结果如图2(b)所示.1-显示屏;2-左传送带;3-气动滑台;4-右传送带;5-工业电脑;6-气抓;7-相机;8-光源;9-不合格品接料盒;10-产品;11-合格品接料盒;12-剔除机构;13-旋转台图1 系统总体结构图Flg.1 Overall structural diagram of the acquisition system图2 照明系统示意图及获取的原始图像Fig.2 Lighting schematic and raw image acquisited2.2 处理图像将采集得到的图像要经过处理,以便得到字符轮廓,再进行识别,包括获取OCR字符区域、OCR字符阈值分割、OCR字符区域排序. 因为铜环产品上面的喷码是印刷在圆柱面上,摄像机只是采集到的面阵图像,各字符区域间存在连通且布局稍有变形,因此对这些连通区域要进行图像分割,将变形的区域进行校正,再提取图像中的目标区域. 2.2.1 获取OCR字符区域 每幅图像都包含某种程度的噪声,必须通过图像平滑、均值滤波处理进行抑制. 常用的降噪方法就是采集同一场景的多幅图像并对这些图像进行平均,计算公式如式(1). gr,c=■■■r,c;i (1)式(1)中■r,c;i代表第i幅图像位置(r,c)处的灰度值,计算得到的图像为时域平均图像. 实际情况下,希望在仅仅一幅图像上就可以对灰度值真值进行估计,可以大大提高图像采集效率. 式(2)提供了一种空间平均操作的方法,即均值滤波[5],它通过估算像素为(2n+1)×(2m+1)窗口内的像素真值,再用原始图像与之求差达到降噪的目的. gr,c=■■■■r-i,c-i (2)式(2)中可以看出,经过几次降噪后,图像噪声降低到原来的■. HALCON中选择目标区域并提取字符轮廓的具体步骤操作如下:a.采用HALCON的decompose3(R、G、B)算子将采集得到的图像分成红(R)、绿(G)、蓝(B) 三个单通道图像,如图3(a)、3(b)、3(c)所示.(a. R通道;b. G通道;c. B通道)图3 R、G、B单通道图像Fig.3 R、 G and B single channel imagesb.调用HALCON的gen_rectangle1算子函数提取目标区域ROI_0,再用mean_image算子对图像做均值滤波降噪处理,得到的图像如图4(a)所示.c.调用HALCON的sub_image(Mult,Add:) 算子对前两幅图像做减法,调整参数得到的清晰图像如图4(b)所示. d.调用HALCON的reduce_domain算子截取目标区域图像,如图4(c)所示. (a.均值滤波图;b.求差图;c.从b图截取的目标区域图)图4 OCR字符区域的获取Fig.4 Character region acquisition of OCR2.2.2 OCR字符阈值分割 为了得到更加清晰醒目的OCR字符轮廓,因此我们需要调节ROI_0图灰度值,进行阈值分割及形态学处理[6]. 图像阈值分割是基于图像灰度值自身的,只要被分割的物体与背景之间存在非常明显的灰度差时,都能使用阈值分割. 阈值分割操作定义为如式(3)所示的形式. S={(r,c)∈R|gmin≤fr,c≤gmax}(3)式(3)中R表示输入图像fr,c灰度值在(gmin,gmax)的集合,阈值分割时将图像ROI_0内灰度值处于某一指定灰度值范围(0,2b-1)内的全部点选到输出区域S中,其中b为位深,起阈值调节作用. 阈值分割后,必须调整区域的形状以获取预期的结果,所有的区域形态学处理根据并集、交集、差集、补集、平移和转置操作来定义[7]. 在HALCON里面调用threshold算子或者直接在灰度直方图中对ROI_0图进行调整,再调用dilation_rectangle1算子对ROI_0图进行形态学膨胀处理,后调用connection算子计算区域的连通域. 本文中当gmin=0,gmax=70时, ROI_0图经过形态学处理后得到的图像如图5所示,合理的阈值范围能够提取较清晰的字符轮廓. 图5 提取的目标字符轮廓Fig.5 Obtained outline of character objects图6 目标区域进行膨胀腐蚀、分割排序后的结果Fig.6 Result of character objects after dilation, erosion,segmentation and sorting operations2.2.3 OCR字符区域排序 为了方便后续的字符识别,需要将字符区域排序,首先调用gen_empty_obj算子创建一个空对象,通过循环搜索学习得到需要的字符,之后调用select_obj算子选择字符对象,再调intersection算子将要学习的字符返回给对象. 在这里还需要进行字符分割,调用connection和partition_rectangle算子对图像膨胀腐蚀,以便得到更加清晰的字符区域,再调用sort_region算子将区域字符进行排列,再次对字符区域进行形态学字符分割,调用concat_obj算子对区域进行图像膨胀,将独立区域连成一个整体区域,经过图像处理后得到的图像如图6所示. 2.3 OCR字符识别OCR字符识别是利用BP(Back propagation)三层神经网络将采集得到的图像经图像处理后与HALCON软件系统中自带的字体模板进行分类匹配,自行判断识别,然后输出识别内容. 本文中调用了算子read_ocr_class_mlp分类器,再调用do_ocr_multi_class_mlp算子将处理后的字符轮廓与HALCON软件字符库自行逐个匹配识别,并返回结果和置信度. 经过图像处理、OCR字符识别之后,调用area_center算子对字符区域做行和列的坐标计算,再利用循环将do_ocr_multi_class_mlp算子得到的字符串显示在窗口上,结果如图7所示. 图7 OCR识别结果显示Fig.7 OCR recognition results shown in original image3 结 语采用HALCON的图像处理算子结合高级语言开发了柱面喷码字符自动识别算法,实现了流水线上铜环柱面不规则喷码信息的连续自动采集及判别,运行结果表明采用均值滤波算法结合图像分割技术可以有效处理模糊及形状不规则字符的识别问题,一次识别率可到99%以上,该系统已成功应用于铜环制造生产线,避免了人工采集效率低、容易疲劳导致误判的风险. 致 谢感谢武汉桑普瑞奇科技有限公司提供的研究平台和武汉工程大学研究生创新基金的支持!