阮学云,白文杰,倪 桥,黄 伟
(安徽理工大学机械工程学院,安徽 淮南 232001)
随着互联网电商平台的快速发展,网上购物过程中产生了大量快递包裹,在快递配送的各个环节,目前主要依赖人工手动分拣,而人会产生疲劳,容易发生误操作。针对物流分拣中心人工分拣快递[1]效率低的问题,提出了基于机器视觉的三段码识别[2]技术,三段码是一串包含地址分拣区域的数字与字母的组合。然而传统OCR直接匹配定位识别在某些复杂背景[3]下会有一定的偏差,因此本文中会以几何变化优化定位以及参数的变量替换,以达到更好的自适应调整,从而提高OCR识别[4]的准确率。
本次测试采用的图片素材为300张快递面单的不同的角度、距离以及曝光度下摄取的图片,所采用的识别系统如图1所示。识别系统包括摄像机、光源、光电传感器和图像处理单元。待测物体置于平台装置上,经过并触发光电传感器,传感器将信号传输给摄像机对待测物体抓拍,同时有环行光源对其补光,使目标能够更加清晰的反馈给图像处理模块。
图1 图像识别系统
在此次对字符识别的测试中,采用了基于形状模板匹配[5-6]下的定位,以及大量的运用仿射变换和Blob分析对图像进行识别[7]前的预处理。
1)模板的创建与查找。如图2是模板的创建与查找流程。模板匹配有三种方法,分别是基于组件的匹配,基于灰度值的匹配和基于形状的匹配。在本次测验中选择比例缩放模板Scale_mode,其支持投影变形的匹配。
图2 模板的创建与查找流程
上式在齐次坐标上,等价于下面的式(1)
(1)
3) Blob分析。Blob是指图像中的一块连通区域,Blob分析[10]就是对前景/背景分离后的二值图像,进行连通域提取和标记。其核心思想就是在一块区域内,将出现“灰度突变”的范围找出来,确定其大小、形状及面积等。其算法就是设定一个m×n扫描矩阵,矩阵每移动一步,就计算矩阵中前半部的灰度值总和,与矩阵中后半部的灰度值总和的差。如果矩阵扫描到了一块前景的边缘,这时矩阵前部与后部灰度值总和差突变了,灰度值不再接近,则是到了一个Blob。当算法扫描完整的时候,系统就记录了发生这种突变情况的点的坐标。之后再对这些边缘点进行一系列的分析,便可以得到这个Blob的大小、形状及面积等信息[11]。
1) 图像灰度化。灰度图像上每个像素的颜色值又称为灰度。图像的每个像素的颜色由R、G和B三个分量决定,每个分量有256种取值,如果直接进行处理,信息计算量非常大,因此对图像进行灰度化处理可降低图像处理时间。图像灰度化处理有以下几种方式:
①分量法
(2)
②)最大值法
Gray(i,j)=max{R(i,j),G(i,j),B(i,j)}
(3)
③平均值法
Gray(i,j)=((R(i,j)+G(i,j)+B(i,j))/3
(4)
④加权平均法
Gray(i,j)=0.299*R(i,j)+0.578*G(i,j)+
0.114*B(i,j)
(5)
上述式中i,j为各像素点在图中的位置,R、G和B为各颜色通道的灰度值。由于人眼对绿色的敏感最高,对蓝色敏感最低,因此将三个分量依据上式(5)进行加权平均。
2)图像滤波。由于成像系统、传输介质和记录设备等的不完善,数字图像在其形成、传输记录过程中往往会受到多种噪声的污染。另外,在图像处理的某些环节当输入的像对象并不如预想时也会在结果图像中引入噪声。这些噪声在图像上常表现为一引起较强视觉效果的孤立像素点或像素块。对于数字图像信号,噪声表为或大或小的极值,这些极值通过加减作用于图像像素的真实灰度值上,对图像造成亮、暗点干扰,极大降低了图像质量,影响图像复原、分割、特征提取、图像识别等后继工作的进行。一种有效抑制噪声的滤波器须考虑两个基本问题:能有效地去除目标和背景中的噪声,能很好地保护目标的形状、大小及特定的几何结构特征。
此处选择中值滤波:对一个数字信号序列xj(- y(i)=Med[x(i-N),…,x(i),…x(i+N)] (6) 3)定位校准。由于快递面单中因其背景较为复杂,无法通过单一的Blob仿射将目标区域准确选中,且定位角度的差异会使得目标难以精准识别,这是由于在亚像素(SubPixel)级别上通过形状匹配的原理查找目标可影响查找的方位、角度和缩放比例。 图3所示的区域产生了轻微的平行四边行的畸变,造成了较为明显的角度差异。 图3 角度偏差示意图 因此为了减少角度偏差带来的影响,将实际面单中同一水平上的且有一定水平距离的两点作为基准点,如‘H3’两边的连字符,或者选取周围的线条上的两部分线段,本次测试中选取了连字符区域,然后获取它们在图像窗口上的像素中心坐标,如图4所示,以像素为单位。 图4 两点求夹角示意图 (7) 图5 向量求夹角示意图 图6 中心变换示意图 (8) (9) (10) (11) 如图11,在匹配到的区域圆心M上建立二维坐标系,均以像素为单位,实际待处理区域的中心与匹配区域中心的连线与水平有α的角度,由几何知识推导出以下式子 (12) 式中:s为位移长度,Scale为缩放比。 但在图像窗口上,N点相对于M点的坐标还需加上M点在图像窗口原来的坐标,即假设M点在图像窗口的位置坐标为(i,j),则 (13) 在测试中存在着光照不均匀[12]的影响,会导致选择的区域会有稍微的缺损,从而导致像素中心点的坐标会有微小误差。选择一张水平放正的图像,依次对图像旋转固定的角度,再利用上述的算法对其进行角度测量,将测量后的角度与原来固定的进行比较。为了使结果更加形象直观,在这里以0.157弧度为单位刻度,选取了其中20组测量数据来绘制图7和表1。 表1 不同方法定位角度数据 图7 角度误差折线图 观察上述图表可知,单纯地进行模板匹配而没有进行定位的优化,其误差值的幅度最大;当以选取的基准点的方向作为定位优化后的方向,其波动幅度也较大;而通过本文两向量求夹角方法的定位角度波动范围最小,即计算误差值为最小,图8和图9能很明显的对比出定位优化后的精确度。 图8 定位优化前 图9 定位优化后 1)阈值分割。相机在采集图片时,由于光照[13]条件存在细微的差别,导致图像的分割可能会出现部分偏差。在处理图像分割时,halcon中自带均值和标准偏差局部阈值分割算法,可动态进行阈值调整[14],能够较好的分开目标和背景,对不适合的参数设置不敏感。该算法中变量阈值v(i,j)定义: v(i,j)=max(StdDevScale*d(i,j),AbsThreshold) StdDevScale≥0 (14) v(i,j)=min(StdDevScale*d(i,j),AbsThreshold) StdDevScale<0 (15) (16) (17) (18) 式中:Min为图像的最小灰度值,依据灰度直方图10,调节方差的权重系数g。经过多次测试,如图11所示,改动后的全局阈值算法分割的目标较为饱满,使得求交集后的图像最大程度的保持完整性。 a. 传统阈值分割 b. 局部阈值法分割 c. 改进后的阈值法分割图11 不同方法的阈值分割 2)特征选择。阈值分割后,需要调用connection算子将非连通区域分隔开,再调用select_shape算子,利用形状特征选择区域过滤掉一部分毛刺,通过观察字符特征得出,如果将字符周边无关的杂乱区域也选中,就可能会造成字符识别错误。此处测量模板特征区域的最大像素面积mubanmax和最小mubanmin,利用模板区域像素面积与缩放比的关系推导出公式(19),得到待处理图片中目标区域的最大像素面积areamax和最小areamin,使得面积选择可以随着摄取的图片的大小变化而自适应。选中的目标区域效果如图12所示。 (19) 根据多层感知器的原理,可以创建一个字符识别分类器来识别字符,且HALCON自带OCR字符库,且具有很好的识别效果。OCR字符识别技术是一个系统的技术集,它的实质是根据字符所提取的特征,与系统中的模板相对比,将置信度最大的值返回,以此达到识别的目的。识别结果显示在图像窗口,如图13所示,以及表2的不同情形下的识别率,由表中数据可明显看出,在测试的300张图片中,未经过本文方法优化前,同一张图在任意角度下,识别正确率可达83%,而经过本文方法优化后识别正确率可提高到100%;当任意图片在任意角度下进行识别处理时,本文方法优化前识别正确率为71%,而经过本文方法优化后识别正确率可达99.7%。 图13 识别结果 表2 面单识别率 在利用机器视觉处理快递面单的过程中,由于图像摄取角度的偏差,背景环境的给光线等影响对面单三段码的定位都会产生不可避免的误差。本文的方法则做了以下的改进: (1)在模板匹配定位时出现的角度差,利用目标背景的几何位置关系,重新确立目标的中心方位。此处采用向量求解方式求取中心,避免了单纯使用三角函数求解带来的角度限制。 (2)且由上述数据可知,大大缩小了定位的误差范围,增加了识别面单的稳定性。 (3)基于图像灰度值信息构造的变量参数能较好的克服光亮的变化,且变量的应用也能较好的适应目标与背景分割。 下一步将会在面单的处理效率与识别率上进一步优化,对方法进行改进,使其能够满足现代社会物流面单日益加速变化且面单背景多元复杂化的需求。1.4 图像分割的自适应调整
2 结果
3 结论