王 胜,陈 宁
(集美大学 机械与能源工程学院,福建 厦门 361021)
一种改进的集装箱箱号自动识别系统
王 胜,陈 宁
(集美大学 机械与能源工程学院,福建 厦门 361021)
针对已有集装箱箱号字符定位、分割、识别算法上的不足,分别提出了基于逆向扫描的箱号区域提取法,基于区域重心的字符定位分割法和基于概率神经网络的字符识别法。用MATLAB编程,实现了对集装箱箱号的自动识别,识别正确率可达95%。提出的方法具有识别正确率高、算法简单、可靠性好等优点,有望提高码头道口通勤率,降低运营成本。
集装箱箱号;逆向扫描;字符分割;概率神经网络;字符识别
为了满足现代港口发展要求,有必要解决码头道口集装箱通勤率低这一难点问题。目前,有少部分码头采用射频识别(Radio Frequency Identification,RFID)的方式录入箱号信息,相对于传统的人工检查核对,效率有了很大提高。但它需要为每个集装箱贴上统一标准的RFID电子标签,成本较高,难以推广应用。
而基于机器视觉的光学字符识别法是一种可行的解决方案。它无需对集装箱增加额外附件,只需借助相机拍摄集装箱箱号图像,通过计算机处理就可以将信息录入到数据库并控制通行。已有研究人员和工程师在这方面做过一些研究,主要是对箱号字符的定位、分割、识别算法的研究。李小平[1]等研究了利用BP算法实现集装箱箱号识别。He Z[2]等提出了基于模板匹配的箱号字符提取技术。赵海英[3]等介绍了模式识别与结构分析组合及箱号校对的识别技术。庞然[3]等研究了面向集装箱字符识别的预处理算法。陈默[4]等针对箱号预处理后出现粘结现象,提出了基于隐马尔科夫模型的连续字符识别方法。毛洪辉[6]基于实际应用,设计开发了一种码头闸口集装箱箱号自动识别系统,并做了仿真。
集装箱箱号字符识别系统的关键技术包括箱号搜索与提取,字符定位与分割,字符特征提取与字符识别。由于受各种环境因素的影响以及箱号自身特点的约束,实现起来还是有一定的复杂度。前面的研究有些是侧重其中一个方面,有些是相关处理识别算法复杂,不能满足工程应用。因此,本文针对其不足研究了新的集装箱箱号字符处理与识别方法。
集装箱两侧和箱门上除了有集装箱箱号外还存在许多干扰字符,怎样从众多字符中准确提取箱号图像是首要的一步。文献[6]通过假设箱号在图像中的位置固定来提取箱号,这种假设可能不尽合理。文献[5]先预定位满足条件的字符区域,再进一步确定箱号位置,文献[7]提出了基于小波变换的集装箱箱号定位法,它需要提取字符图像的小波特征,因此算法相对复杂,并且字符定位正确率也仅90%左右。鉴于现有方法存在的一些不足之处,本文提出一种基于逆向扫描的箱号区域提取法。其依据是箱门上横向箱号字符处于图像右上角。因此,采用从上到下、从右到左的扫描方式可以大致确定箱号位置,再经过预处理并结合箱号字符特点可以较精确地确定箱号区域并将其提取出来。处理结果如图1所示。
图1 原图及提取到的箱号
从整幅图像中提取出完整的集装箱箱号后就可以开始对字符进行分割了。文献[7]采用了基于灰度投影的字符分割方法,但需要预先知道字符宽度、间距等信息,处理比较复杂。本文提出了基于区域重心的字符定位分割法。
首先需要确定图像中每个字符区域的重心坐标。设单个字符的二维离散图像函数用f(x,y)表示,则其(p+q)阶矩定义为
(1)
然后根据区域信息找出该区域最小外接矩形的左上点坐标以及宽高像素值。最后根据每个矩形所包含的信息就可以自适应地确定各个字符的位置与大小,进而将它们逐一分割出来,并归一化为30×60像素大小。字符信息及分割结果如图2所示。
图2 字符定位与分割结果
对于集装箱侧面的箱号,通常不在同一平面上,字符间隔不均匀。不仅有纵向一列排列的,还存在纵向两列排列的,见图3。同时还可能存在污点、剥落、倾斜、光照不均等不利情况,但相对来说干扰字符较少。因此,这里直接取纵向排列的箱号图像做处理,见图4。不同于横向排列时的处理方法,这里需要采用重心排列法,才能依次有序地分割出单个字符。算法改进后的分割效果如图5所示。
图3 原图(纵向字符)
图4 字符定位(纵向字符)
图5 字符分割结果
字符分割是字符特征提取的基础,而特征提取又是后面自动识别的关键,对特征选择的好坏将直接决定字符自动识别的效果,甚至整个系统的优劣。
特征提取的目标是找到一个长度为n的向量{x1,x2,…,xn},用它来表示原图像,称为原图像的一个特征向量。该特征向量应满足以下条件[8]:
1)当图像类似时,得到的特征向量也比较类似;当图像差距很大时,得到的特征向量的距离差别也很大。即该特征向量必须能够代表这一图像模式。
2)向量的长度n应尽量小,尽量不包含对分类没有作用的分量,以便有效地进行分类并减小计算量。
本文采用了字符结构特征和统计特征相结合的方式,共抽取了12维特征值。其中结构特征6个,包括水平和竖直方向1/3、1/2和2/3处交点数各3个。比如水平1/2交点数是指在图像水平方向1/2处画一条直线,然后计算图中等于1的像素与该直线的交点个数。统计特征有6个,包括将30×60图像四等分得到4个15×30小区域,以及水平和竖直方向1/2~2/3部分区域2个,分别统计各个小区域中像素值为1的点的个数。这样就构成了一个12维的列向量,将其作为图像的特征向量,如图6所示。并对所有训练样本做逐个归一化而不是统一归一化处理,这将大大提高单个字符识别正确率。
图6 图像字符提取
用来解决模式识别与分类的方法比较多,包括模板匹配、欧氏距离判别法和基于支持向量机的字符识别[9]等方法。另外,BP神经网络由于具有实现任何复杂非线性映射的能力,特别适合求解内部机制复杂的问题,将其用于字符识别中的研究也颇多。但它同时也存在一些难以克服的局限性,比如需要的参数较多,容易陷入局部最优,对初始权重比较敏感,网络训练时间较长等。而概率神经网络具有学习速度快,不易陷入局部极小值等优点。因此,本文研究了基于概率神经网络的字符识别方法。
考虑到某些数字和字母的相似性比较大,为了提高识别率,本文创建了两个概率神经网络,分别对10个数字字符和26个大写字母字符进行识别。
网络的第一层为输入层,神经元节点数与输入向量的维数相同,包含12个神经元。第二层为径向基层,神经元节点数等于样本个数(数字识别样本200个,字母识别样本520个)。第三层为隐含层,神经元节点个数为分类的类别数(数字样本分10类,字母样本分26类)。输出层包含一个神经元,对应分类的类别。概率神经网络结构见图7。
图7 概率神经网络结构(字母字符)
程序运行流程如图8所示。
图8 程序运行流程图
用MATLAB神经网络工具箱中的newpnn函数创建两个概率神经网络,分别用来训练数字字符和字母字符。然后再用训练好的网络对训练样本和测试样本进行单个识别,对统一归一化和逐个归一化的识别结果做比较,如表1和表2所示。
表1 识别结果比较(数字字符)%
400个数字字符未加噪声添加噪声训练(统一归一化)7876训练(逐个归一化)10099测试(统一归一化)6261测试(逐个归一化)9189
表2 识别结果比较(字母字符)%
520个字母字符未加噪声添加噪声训练(统一归一化)7471训练(逐个归一化)10098测试(统一归一化)5958测试(逐个归一化)8886
结果表明,逐个归一化后对训练样本的识别率有很大提高,接近100%。对未训练的测试样本的识别率稍低,考虑到概率神经网络识别的原理,这点也是容易理解的。可以通过不断增加相应训练样本数来提高识别正确率,其效果通过实验证明也是很明显的(单个识别正确率可达95%)。而且基于概率神经网络的字符识别对噪声不太敏感,鲁棒性较强。
增加训练样本后,对前面提取的集装箱箱号字符进行逐个识别,MATLAB程序运行结果如图9所示。
图9 集装箱箱号识别结果
测试结果表明,在获得较为可靠的箱号图像,并经过适当处理后,系统识别结果还是相当可靠的。值得注意的是,有时校验码由于图像质量以及边框的影响导致字符提取结果不理想,相对容易出现误识别现象,但也在可控和可接受范围之内。
本文针对集装箱箱号识别的几个关键技术,包括箱号定位、字符分割和字符识别,分别提出了基于逆向扫描的箱号区域提取法,基于区域重心的字符定位分割法和基于概率神经网络的字符识别法,从而完整有效地实现了对不同形式集装箱箱号的正确快速可靠识别。
另外,由于集装箱两侧以及箱门上的箱号周围干扰字符较多,排列复杂多样,从而导致处理算法相对复杂,容易产生误识别。为了进一步提高识别的准确性及系统运行的可靠性,可采集箱顶箱号(无干扰字符)图像或者同时采集不同部位箱号图像进行联合识别,相互验证,系统工作流程如图10所示。
图10 系统运行流程图
另外还可以结合校验码自检验规则来做最后验证。这样就能保证足够高的识别率,以满足实际应用要求,有望提高码头道口甚至整个集装箱装卸管理的自动化水平。
[1] 李小平,段锴,赵健龙. 利用BP算法实现集装箱编号识别[J].北京理工大学学报,2001,21(3):345-347.
[2] HE Z,LIU J,MA H,et al. A new automatic extraction method of container identity codes[J].IEEE Trans. Intelligent Transportation Systems,2005,6(1):72-78.
[3] 赵海英,姚振强,陈斌,等. 集装箱智能道口箱号识别系统中的字符识别技术[J].水运工程,2006(6):34-36.
[4] 庞然,安博文,李丹. 面向集装箱字符识别的预处理算法[J].计算机技术与发展,2010,20(12):21-23.
[5] 陈默,何小海,吴炜,等. 结合独立与连续字符识别的集装箱号识别技术[J].四川大学学报:工程科学版,2011,43(Z1):139-145.
[6] 毛洪辉. 码头闸口集装箱箱号自动识别系统设计与开发[J].水运工程,2011(11):48-51.
[7] 许庶,马志峰,吴炜. 基于计算机视觉的集装箱号码识别系统[J].电视技术,2010,34(5):105-108.
[8] 陈明. MATLAB神经网络原理与实例精解[M].北京:清华大学出版社,2013.
[9] 高保平,白瑞林. 轴承压印字符自动识别算法的研究[J].电视技术,2012,36(9):142-145.
Improved Container Code Automatic Recognition System
WANG Sheng, CHEN Ning
(CollegeofMechanicalandEnergyEngineering,JimeiUniversity,FujianXiamen361021,China)
In view of the insufficiency of the existing positioning, segmentation and recognition algorithm to container codes, the codes area extraction method based on reverse scan, character location and segmentation method based on the center of gravity of area, character recognition method based on probabilistic neural network are presented. It implements automatic identification of the container codes using MATLAB, the recognition accuracy up to 95%. The proposed method has the advantages of high recognition accuracy, simple algorithm and good reliability. So it is expected to increase commuting rate of terminal crossing, and reduce operating costs.
container codes; reverse scan; character segmentation; probabilistic neural network; character recognition
福建省科技厅资助省属高校专项(JK2014024)
TP391.4
A
10.16280/j.videoe.2015.19.027
王 胜(1991— ),硕士生,主要研究方向为机器视觉及其应用、自动控制;
2014-12-25
【本文献信息】王胜,陈宁.一种改进的集装箱箱号自动识别系统[J].电视技术,2015,39(19).
陈 宁(1972— ),副教授,博士,主要研究方向为机器视觉、工程机器人。
责任编辑:任健男