论文部分内容阅读
[摘 要]箱号是集装箱重要的标识,实现箱号的自动识别是集装箱管理和装卸实现自动化的一项关键技术。本文利用机器视觉技术实现集装箱箱号的自动识别,对工业相机所采集的集装箱图像进行预处理、箱号区域定位、字符分割与识别等步骤处理,从而识别出集装箱的箱号,并通过校验位的计算和识别来验证箱号识别结果是否正确。经过大量实验证明,基于机器视觉的自动识别系统识别正确率超过98%,同时平均耗时不超过0.8s,既满足了自动识别系统的准确性和稳定性,又符合实时性的要求。
[关键词]集装箱箱号;机器视觉;自动识别
中图分类号:F49 文献标识码:A 文章编号:1009-914X(2018)47-0115-02
0 引言
集裝箱箱号是集装箱在全世界范围内的唯一标识[1],也是码头、货场、海关、港口等物流管理的重要依据。随着经济全球化、集装箱数量急剧增长和现代化管理的需要,传统的人工箱号识别已经无法满足需求。据统计,仅在2018年2月,全国部分港口集装箱吞吐量就达1674.16万TEU。实现集装箱箱号的自动识别,可以规避人工现场操作的安全隐患,提高集装箱管理的自动化程度,也对码头、货场、海关和港口生产和管理的自动化智能化的提升具有重要意义。
机器视觉用机器来代替人眼进行测量、识别与判断,是将图像处理应用到现代生产的技术,目前广泛应用在工业、医药、军事等领域,如包装、制药、烟草、汽车制造、交通等行业[2-4]。机器视觉应用到集装箱箱号自动识别上,是基于图像识别中的光学字符识别(Optical Character Recognition,OCR)技术,通过工业相机将集装箱图像采集与传输到工业计算机,利用图像处理系统准确和可靠地识别出图像上的字符,并根据集装箱编号规则获取集装箱的箱号,从而分析得到集装箱的厂家、型号和编号等信息。
基于机器视觉的集装箱箱号自动识别系统结合了计算机、图像处理、模式识别和人工智能等多学科技术,不仅具有识别时间短、准确率高和稳定可靠等优点,而且对存在污损、字符剥落、字迹不清等情况,也可以准确无误地识别;同时,与基于射频识别技术(Radio Frequency Identification,RFID)的自动识别系统相比[5],结构简单,无需在集装箱上安装任何设备或标签。
1 系统组成及箱号规则
箱号识别系统主要由图像采集和图像处理两大部分组成,如图1所示。图像采集包括工业相机、镜头、辅助光源和图像传输模块等,图像数据传输采用CAB总线,速度可达200 Mbit/s,具有很高的实时性。
图像处理是本文研究的重点,包括图像预处理、箱号区域定位、字符分割和识别、箱号校验、箱号输出等,每一步具体实现方法在后续详细介绍,其基本步骤如图2所示。
标准的集装箱箱号有11位,如图3所示,其中前4位为大写英文字母,代表集装箱所属公司;中间6位为阿拉伯数字,代表集装箱专用注册码;最后1位也是阿拉伯数字,通常由外框包围,是前面10位的校验码,也作为自动识别系统判断是否识别正确的标准。除了阿拉伯数字0~9一一对应外,英文字母A~Z分别对应数字10~38,其中除去11、22和33这三个数字[6],具体校验位计算方式如下:
(1)
式中, 表示集装箱箱号的第i位字符, 为求余运算。
2 图像处理
当工业计算机接收到工业相机传输的集装箱图像,首先对其进行预处理,包括灰度变换、平滑滤波和二值化。然后对箱号的区域进行定位,得到箱号在图像中的具体位置,通常为一个矩形区域。接着通过图像分割和像素统计将箱号区域分割成一个个字符,并分别与字符库的模板进行匹配,得到11位的箱号。最后进行箱号的校验,即通过式(1)计算前10位的编号,与识别的第11个字符进行比较,验证正确即输出箱号。
2.1 图像预处理
工业相机采集的彩色图像的每个像素都由R、G、B三个分量组成,其中每个分量在0~255中取值[7]。首先要将彩色图像转换为灰度图像,通常有两种转换方式,一是将R、G、B三个分量的平均值作为对应像素的灰度值;二是每个分量结合一定的权值,进行加权平均计算。由于第二种方法更符合人眼对各个颜色分量的敏感程度,因此采用加权平均法进行图像灰度化处理,计算公式如下:
(2)
由于采集的图像在成像过程中,会受到相机内部电子噪声和外部光照等影响,因此需要对图像进行平滑滤波处理,减少噪声对识别系统的干扰。常用的滤波方法有高斯滤波、中值滤波和均值滤波等。高斯滤波是根据高斯函数形状选择权值进行平滑滤波,对高斯型噪声抑制效果最佳;中值滤波是将像素点邻域灰度值进行排序,取中间值作为该点的灰度值;均值滤波是用像素点邻域灰度值的平均值作为该点的灰度值。作为一种简单和直观的线性滤波方法,本文采用均值滤波法。以像素点 为中心的 矩形邻域为 , 为该区域内受干扰的灰度值,则经均值滤波后的灰度值 为:
(3)
图像二值化进一步将灰度图像转化为只有0和1的二值图像,采用如下的阈值法计算:
(4)
式中T为阈值,其取值是二值化处理的关键。本文采用最大熵法来确定阈值,即依据图像背景和目标分布的信息量最大原理,通过计算图像灰度直方图的熵,找出最大熵对应的阈值T,并依此对图像进行二值化处理。
2.2 箱号定位和分割
在集装箱图像中,箱号字符与背景交替出现,所以箱号区域的像素跳变频率会明显高于其他非箱号区域的行或者列[1]。因此,充分利用箱号区域像素跳变频率高的特点,可以实现箱号区域的定位。
首先,对图像进行边缘检测,检测算法有很多,经典的有Robert算子、Sobel算子、Laplacian算子和Canny算子,算法性能各有优劣。由于Canny算子检测边缘噪声少,边缘清晰,因此采用Canny算法对二值化的图像进行边缘检测,包括平滑图像、计算梯度的幅值及方向、对梯度幅值进行非极大值抑制、双阈值方法检测和连接边缘等。 其次,对经过边缘检测的图像像素进行行统计,统计所有行像素跳变次数 ,即二值图像中像素从1变0或从0变1,再按行找出跳变次数大于一定的阈值 ,并且连续行数大于 的区域,即为箱号区域的上下边界。用同样的方法进行列统计,就可以得到箱号区域的左右边界。
最后,在箱号区域采用投影法进行字符分割,将各个字符单独分割出来,用于下一步的字符识别。由于箱号字符间的间隔是由一定的距离,并且字符见得间距基本相等,因此字符区域的投影图像具有波峰-波谷-波峰的规则,且具有周期性[8]。基于这种周期性的规则,可以得到箱号的各个字符。考虑到集装箱箱号由横排和竖排两种方式,因此投影方式也相应分为水平方向和垂直方向。另外,分割出的字符数要满足11个,超过或少于11个则认为识别不正确。
2.3 箱号识别
模板匹配是机器视觉中常用的字符识别方法,有着广泛的应用领域[9]。模板匹配就是度量字符模板和箱号字符的相似度,并将具有最大相似性的字符模板所属的类作为匹配结果。
为了进行字符匹配,首先要将每个字符图像转换到与模板统一的尺寸,即进行归一化处理。集装箱箱号可能出现的字符有0~9十个阿拉伯数字和A~Z二十六个英文字母,为了适应不同的情况,每个阿拉伯数字和英文字母均选取20个标准模板。考虑计算复杂度,采取欧式距离作为模板匹配相似性度量准则。设T为模板图像,S为输入图像,计算公式如下:
(5)
通过式(5)计算待识别字符图像与所有模板图像的距离,找到其中最小的距离,并将最小距离对应的模板图像所属的类作为识别出的字符。
箱号的最后一位即校验码含有边框,这对字符的识别有一定的干扰,因此在匹配校验码前要去掉边框。二值图像形态学处理中腐蚀操作可以很好地解决这一问题,腐蚀就是用卷积核扫描分割出最后一个字符图像的每个像素,用结构元素与其覆盖部分做位的与操作。
3 实验结果
为了验证基于机器视觉的集装箱箱号自动识别系统的正确性和有效性,采用5000组集装箱图像样本进行测试,测试样本均来自实际应用环境。为了测试系统的稳定性,测试样本是从不同角度、不同时间和不同光照条件下获取。工业相机采用DASLA公司生产的Trillium系列,工控机为研华科技的IPC-610H系列, 3.0GHZ主频和2G内存。应用软件基于MATLAB R2014a平台。
经测试,5000组样本综合正确率为98.1%,平均耗时是0.765s,满足自动识别的准确性和实时性要求。图4为识别系统的主界面和识别结果示例图。图5为其中一组样本图像预处理结果,(a)~(d)分别为原图、灰度化图、平滑滤波图和二值化图。
4 结论
本文所提出的集装箱箱号自动识别系统基于机器视觉技术,从工业相机采集的集装箱图像着手,采用图像处理方法自动识别箱号。通过灰度变换、平滑滤波和二值化等预处理,得到优化的图像。进一步对图像中的箱号区域定位和箱号字符分割与识别等,获得11位箱号字符。最后利用箱号编码规则,有效利用最后一位的校验码验证字符识别是否正确,并最终输出识别正确的箱号。实验表明,所设计系统很好地满足了自动识别系统的准确性和实时性。
参考文献
[1]陈永煌. 集装箱箱号识别技术的研究与实现[D].华中科技大学,2013.
[2]许江淳,岳秋燕,任向阳, 等.基于机器视觉的药片表面缺陷识别与分拣系统设计[J].传感器與微系统,2017,(6):90-93.
[3]曹麟,王耀南,肖方良, 等.基于机器视觉的全自动智能包装系统[J].仪表技术与传感器, 2010,(3):22-24,27.
[4]吴寅.基于机器视觉的航空显示组件LCD缺陷检测技术研究[D].南京航空航天大学,2012.
[5]张宏宇,柴逸飞,涂时亮, 等.基于传感器网络和有源RFID的集装箱管理系统[J].计算机工程,2009,(1):245-246,252.
[6]黄深广,翁茂楠,史俞,刘清.基于计算机视觉的集装箱箱号识别[J].港口装卸,2018(01):1-4.
[7]张岩,崔晓萌.基于灰度变换的图像增强实现[J].包装工程,2010,31(19):95-98.
[8]许庶,马志锋,吴炜.基于计算机视觉的集装箱号码识别系统[J].电视技术,2010,(5):105-108.
[9]许顺.机器视觉高性能模板匹配算法的研究[D].哈尔滨工业大学,2009.
[关键词]集装箱箱号;机器视觉;自动识别
中图分类号:F49 文献标识码:A 文章编号:1009-914X(2018)47-0115-02
0 引言
集裝箱箱号是集装箱在全世界范围内的唯一标识[1],也是码头、货场、海关、港口等物流管理的重要依据。随着经济全球化、集装箱数量急剧增长和现代化管理的需要,传统的人工箱号识别已经无法满足需求。据统计,仅在2018年2月,全国部分港口集装箱吞吐量就达1674.16万TEU。实现集装箱箱号的自动识别,可以规避人工现场操作的安全隐患,提高集装箱管理的自动化程度,也对码头、货场、海关和港口生产和管理的自动化智能化的提升具有重要意义。
机器视觉用机器来代替人眼进行测量、识别与判断,是将图像处理应用到现代生产的技术,目前广泛应用在工业、医药、军事等领域,如包装、制药、烟草、汽车制造、交通等行业[2-4]。机器视觉应用到集装箱箱号自动识别上,是基于图像识别中的光学字符识别(Optical Character Recognition,OCR)技术,通过工业相机将集装箱图像采集与传输到工业计算机,利用图像处理系统准确和可靠地识别出图像上的字符,并根据集装箱编号规则获取集装箱的箱号,从而分析得到集装箱的厂家、型号和编号等信息。
基于机器视觉的集装箱箱号自动识别系统结合了计算机、图像处理、模式识别和人工智能等多学科技术,不仅具有识别时间短、准确率高和稳定可靠等优点,而且对存在污损、字符剥落、字迹不清等情况,也可以准确无误地识别;同时,与基于射频识别技术(Radio Frequency Identification,RFID)的自动识别系统相比[5],结构简单,无需在集装箱上安装任何设备或标签。
1 系统组成及箱号规则
箱号识别系统主要由图像采集和图像处理两大部分组成,如图1所示。图像采集包括工业相机、镜头、辅助光源和图像传输模块等,图像数据传输采用CAB总线,速度可达200 Mbit/s,具有很高的实时性。
图像处理是本文研究的重点,包括图像预处理、箱号区域定位、字符分割和识别、箱号校验、箱号输出等,每一步具体实现方法在后续详细介绍,其基本步骤如图2所示。
标准的集装箱箱号有11位,如图3所示,其中前4位为大写英文字母,代表集装箱所属公司;中间6位为阿拉伯数字,代表集装箱专用注册码;最后1位也是阿拉伯数字,通常由外框包围,是前面10位的校验码,也作为自动识别系统判断是否识别正确的标准。除了阿拉伯数字0~9一一对应外,英文字母A~Z分别对应数字10~38,其中除去11、22和33这三个数字[6],具体校验位计算方式如下:
(1)
式中, 表示集装箱箱号的第i位字符, 为求余运算。
2 图像处理
当工业计算机接收到工业相机传输的集装箱图像,首先对其进行预处理,包括灰度变换、平滑滤波和二值化。然后对箱号的区域进行定位,得到箱号在图像中的具体位置,通常为一个矩形区域。接着通过图像分割和像素统计将箱号区域分割成一个个字符,并分别与字符库的模板进行匹配,得到11位的箱号。最后进行箱号的校验,即通过式(1)计算前10位的编号,与识别的第11个字符进行比较,验证正确即输出箱号。
2.1 图像预处理
工业相机采集的彩色图像的每个像素都由R、G、B三个分量组成,其中每个分量在0~255中取值[7]。首先要将彩色图像转换为灰度图像,通常有两种转换方式,一是将R、G、B三个分量的平均值作为对应像素的灰度值;二是每个分量结合一定的权值,进行加权平均计算。由于第二种方法更符合人眼对各个颜色分量的敏感程度,因此采用加权平均法进行图像灰度化处理,计算公式如下:
(2)
由于采集的图像在成像过程中,会受到相机内部电子噪声和外部光照等影响,因此需要对图像进行平滑滤波处理,减少噪声对识别系统的干扰。常用的滤波方法有高斯滤波、中值滤波和均值滤波等。高斯滤波是根据高斯函数形状选择权值进行平滑滤波,对高斯型噪声抑制效果最佳;中值滤波是将像素点邻域灰度值进行排序,取中间值作为该点的灰度值;均值滤波是用像素点邻域灰度值的平均值作为该点的灰度值。作为一种简单和直观的线性滤波方法,本文采用均值滤波法。以像素点 为中心的 矩形邻域为 , 为该区域内受干扰的灰度值,则经均值滤波后的灰度值 为:
(3)
图像二值化进一步将灰度图像转化为只有0和1的二值图像,采用如下的阈值法计算:
(4)
式中T为阈值,其取值是二值化处理的关键。本文采用最大熵法来确定阈值,即依据图像背景和目标分布的信息量最大原理,通过计算图像灰度直方图的熵,找出最大熵对应的阈值T,并依此对图像进行二值化处理。
2.2 箱号定位和分割
在集装箱图像中,箱号字符与背景交替出现,所以箱号区域的像素跳变频率会明显高于其他非箱号区域的行或者列[1]。因此,充分利用箱号区域像素跳变频率高的特点,可以实现箱号区域的定位。
首先,对图像进行边缘检测,检测算法有很多,经典的有Robert算子、Sobel算子、Laplacian算子和Canny算子,算法性能各有优劣。由于Canny算子检测边缘噪声少,边缘清晰,因此采用Canny算法对二值化的图像进行边缘检测,包括平滑图像、计算梯度的幅值及方向、对梯度幅值进行非极大值抑制、双阈值方法检测和连接边缘等。 其次,对经过边缘检测的图像像素进行行统计,统计所有行像素跳变次数 ,即二值图像中像素从1变0或从0变1,再按行找出跳变次数大于一定的阈值 ,并且连续行数大于 的区域,即为箱号区域的上下边界。用同样的方法进行列统计,就可以得到箱号区域的左右边界。
最后,在箱号区域采用投影法进行字符分割,将各个字符单独分割出来,用于下一步的字符识别。由于箱号字符间的间隔是由一定的距离,并且字符见得间距基本相等,因此字符区域的投影图像具有波峰-波谷-波峰的规则,且具有周期性[8]。基于这种周期性的规则,可以得到箱号的各个字符。考虑到集装箱箱号由横排和竖排两种方式,因此投影方式也相应分为水平方向和垂直方向。另外,分割出的字符数要满足11个,超过或少于11个则认为识别不正确。
2.3 箱号识别
模板匹配是机器视觉中常用的字符识别方法,有着广泛的应用领域[9]。模板匹配就是度量字符模板和箱号字符的相似度,并将具有最大相似性的字符模板所属的类作为匹配结果。
为了进行字符匹配,首先要将每个字符图像转换到与模板统一的尺寸,即进行归一化处理。集装箱箱号可能出现的字符有0~9十个阿拉伯数字和A~Z二十六个英文字母,为了适应不同的情况,每个阿拉伯数字和英文字母均选取20个标准模板。考虑计算复杂度,采取欧式距离作为模板匹配相似性度量准则。设T为模板图像,S为输入图像,计算公式如下:
(5)
通过式(5)计算待识别字符图像与所有模板图像的距离,找到其中最小的距离,并将最小距离对应的模板图像所属的类作为识别出的字符。
箱号的最后一位即校验码含有边框,这对字符的识别有一定的干扰,因此在匹配校验码前要去掉边框。二值图像形态学处理中腐蚀操作可以很好地解决这一问题,腐蚀就是用卷积核扫描分割出最后一个字符图像的每个像素,用结构元素与其覆盖部分做位的与操作。
3 实验结果
为了验证基于机器视觉的集装箱箱号自动识别系统的正确性和有效性,采用5000组集装箱图像样本进行测试,测试样本均来自实际应用环境。为了测试系统的稳定性,测试样本是从不同角度、不同时间和不同光照条件下获取。工业相机采用DASLA公司生产的Trillium系列,工控机为研华科技的IPC-610H系列, 3.0GHZ主频和2G内存。应用软件基于MATLAB R2014a平台。
经测试,5000组样本综合正确率为98.1%,平均耗时是0.765s,满足自动识别的准确性和实时性要求。图4为识别系统的主界面和识别结果示例图。图5为其中一组样本图像预处理结果,(a)~(d)分别为原图、灰度化图、平滑滤波图和二值化图。
4 结论
本文所提出的集装箱箱号自动识别系统基于机器视觉技术,从工业相机采集的集装箱图像着手,采用图像处理方法自动识别箱号。通过灰度变换、平滑滤波和二值化等预处理,得到优化的图像。进一步对图像中的箱号区域定位和箱号字符分割与识别等,获得11位箱号字符。最后利用箱号编码规则,有效利用最后一位的校验码验证字符识别是否正确,并最终输出识别正确的箱号。实验表明,所设计系统很好地满足了自动识别系统的准确性和实时性。
参考文献
[1]陈永煌. 集装箱箱号识别技术的研究与实现[D].华中科技大学,2013.
[2]许江淳,岳秋燕,任向阳, 等.基于机器视觉的药片表面缺陷识别与分拣系统设计[J].传感器與微系统,2017,(6):90-93.
[3]曹麟,王耀南,肖方良, 等.基于机器视觉的全自动智能包装系统[J].仪表技术与传感器, 2010,(3):22-24,27.
[4]吴寅.基于机器视觉的航空显示组件LCD缺陷检测技术研究[D].南京航空航天大学,2012.
[5]张宏宇,柴逸飞,涂时亮, 等.基于传感器网络和有源RFID的集装箱管理系统[J].计算机工程,2009,(1):245-246,252.
[6]黄深广,翁茂楠,史俞,刘清.基于计算机视觉的集装箱箱号识别[J].港口装卸,2018(01):1-4.
[7]张岩,崔晓萌.基于灰度变换的图像增强实现[J].包装工程,2010,31(19):95-98.
[8]许庶,马志锋,吴炜.基于计算机视觉的集装箱号码识别系统[J].电视技术,2010,(5):105-108.
[9]许顺.机器视觉高性能模板匹配算法的研究[D].哈尔滨工业大学,2009.