APP下载

基于深度学习的实时集装箱箱号识别算法*

2021-07-21刁云峰程文明翟守才

起重运输机械 2021年13期
关键词:字符集装箱定位

涂 昊 刁云峰 程文明 唐 鑫 翟守才

1西南交通大学机械工程学院 成都 610031 2轨道交通运维技术与装备四川省重点实验室 成都 610031

0 引言

在铁路站场装卸作业中,起重机操作系统执行称重校核、打印货单等操作常常需要当前吊装集装箱的箱号信息,而大部分铁路货场都是依赖起重机司机手动录入箱号,不仅输入速度慢,在装卸量大的情况下还容易造成司机疲劳甚至发生事故。铁路货场集装箱箱号自动识别系统能提高货场作业效率,减轻司机工作强度,保障安全,提升货场自动化水平,具有很大的研究意义。

早期的研究[1-3]已经探索了利用传统的图像处理方法,手工提取特征来识别箱号。然而,传统方法面临着很多问题[4],如集装箱特征复杂和室外环境多样性等问题,光照强度差异很大,容易导致字符定位、分割不准;集装箱表面的腐蚀和磨损也容易导致字符模板匹配和特征匹配出错等。

近年来,随着深度学习理论的不断发展和计算机硬件水平的提高,深度学习算法在速度、精度上达到了非常高的水平。深度学习方法通过数据驱动训练模型,自适应能力强,鲁棒性好,准确度高,出现了许多使用深度学习方法对箱号进行识别的研究。

常见的箱号识别算法通常分为两种,一种是一步式的方法。即利用深度学习的目标检测模型直接输入图像中,检测箱号的每一位字符位置,并进行分类识别,再将识别到的箱号字符依次排列。WANG Zhiming等[5]提出了一种利用Faster-RCNN[6]算法直接检测并识别图中箱号字符的方法。这种方法模型简单,仅靠一个Faster-RCNN网络,避免了箱号区域定位不准确所造成的错检和漏检。但输入图像中箱号占比极少,背景极多,计算时会浪费很多计算资源,背景中存在很多非箱号字符或和字符相似的特征,对检测识别干扰很大,同时箱号字符包括26个字母和10个阿拉伯数字共36个分类,为了保证每个字符识别准确,需要足够的分辨率和神经网络的深度,需要输入图片的尺寸较大,模型深度高,导致计算量大,速度慢。

另一种方法是两步式方法,第一步对集装箱箱号区域进行定位,第二步提取定位的目标区域进行箱号字符识别。C. Li等[7]提出了一种使用EAST[8]文本检测网络进行箱号区域定位,使用全卷积网络[9]提取箱号字符区域,并利用CRNN[10]网络进行箱号字符识别。EAST网络对各种方向排列的字符有较好的适应性,定位精度较高,但速度较慢,将EAST和CRNN两个深度神经网络直接串联,模型参数极多,计算量大,速度很慢。因此,设计一种整体识别精度高、速度快的算法成为了亟待解决的问题。

本文针对该问题提出了一种快速准确的箱号识别算法,利用刘志辉[11]等提出的降低图片背景的前处理思路,设计了一种提高箱号识别算法速度的前处理,同时对传统的YOLOv3[12]网络进行改进,在保证识别精度的前提下提升图片信息利用率,提高整体速度。

1 集装箱箱号识别算法

1.1 算法整体框架

通过安装在起重机下支腿处的摄像头,拍摄集装箱侧面的箱号,其算法框架包含两个模块,第一个模块为箱号快速定位模块。该模块通过前处理操作,提高箱号占比,再降低图片尺度,利用YOLOv3网络对箱号进行定位。第二个模块为箱号识别模块通过模块一得到的定位信息,从原始尺度的图片中截取箱号区域,送入箱号定位模块中识别箱号。算法整体流程如图1所示。

图1 算法整体流程图

1.2 箱号快速定位模块

1)前处理

为降低原始图片中的大量背景,提高箱号区域占比,本文利用训练集上标注的箱号区域框,统计数据集中箱号出现的位置。箱号区域框的统计热力图如图2所示。

图2 箱号区域统计热力图

图2中热力图的颜色对应箱号区域的频度,横纵轴表示图片的x、y坐标。

根据这一先验条件,可以剪除箱号区域框出现频度为零的背景区域。在前处理时依照统计信息,对原图像(1 600×1 024分辨率)进行剪裁,只保留热力图数值≥0的区域,得到粗定位区域。实际操作为将原1 600×1 024分辨率的图片,在水平方向上剔除[0,460]及[1 460,1 600]区间内的像素,在竖直方向上剔除[0,151]及[929,1 024]区间内的像素,得到1 000×778分辨率的图片。为进一步加快检测速度,本文将图片等比例缩放到288×288分辨率后,进行箱号快速定位。

2)箱号快速定位

如何在不牺牲检测精度的同时,利用轻量化模型进行实时检测是本课题的一个研究重点。因此,本文采用了YOLOv3的Tiny版本对集装箱箱号区域进行定位,其网络结构如表1所示。

表1 集装箱箱号定位网络结构表

箱号快速定位模块只需检测箱号区域分类,故本文在原YOLOv3的输出结构中移除分类通道的输出,并在原损失函数中移除分类损失,降低网络计算量,提高网络收敛速度和模块定位速度。改进的损失函数为

先验框尺寸的设置,本文沿用YOLOv3算法中对数据集标注框尺寸进行K-means聚类,再对得到的标注框尺寸进行微调,得到的预测框尺寸为:72×92、42×127、52×160。由于箱号定位箱号区域尺寸属于中等甚至较大,故本文只在9×9和18×18两个尺度上对箱号区域进行预测,以减少预测层的通道数,节约预测的时间。最终得到的箱号区域定位结果如图3所示。

图3 集装箱箱号区域定位效果

1.3 箱号识别模块

由于在送入箱号快速定位模块前,在前处理模块,对待定位的图片进行了缩小,缩小的288×288分辨率图片称为模糊检测图,在前处理模块中,背景减除后,缩小之前1 000×778分辨率图片,称为高清检测图。识别模块利用从模糊检测图中得到的神经网络的预测结果,从高清检测图中获得原始比例的集装箱箱号进行识别。其操作为:识别模块首先对箱号快速定位得到的模糊检测图中预测框位置坐标进行归一化,即除以图片尺度288,得到[0,1]区间内的相对坐标值,利用相对坐标信息从1 000×778分辨率的高清检测图中截取出清晰的箱号区域,即分别乘以高清检测图的长与宽。如图4所示,(Xl,Yl)、(Xh,Yh)分别代表在箱号快速定位时神经网络模型对模糊检测图计算得到的预测框中心坐标和在高清检测图中预测框所在对应位置的中心坐标;Wl、Hl为模糊检测图中的预测框宽和高,Wh、Hh为在高清检测图中预测框的宽和高。

图4 在高分辨率图像截取箱号

从模糊检测图预测结果的坐标,到高清检测图中箱号位置的坐标换算为

对预测的箱号区域,可根据其尺寸分为横向排列和纵向排列两种排列方式,并按一定比例进行扩大以防止在定位时造成的字符缺损。

本文在箱号字符检测部分中将26个大写英文字母和0~9的阿拉伯数字等36种字符视作单独的分类,利用神经网络进行字符检测识别。箱号字符与箱号快速定位相比,分类多,特征复杂,所以字符识别模块的改进YOLOv3网络,其骨干网络使用DarkNet53提取特征。

由于箱号字符的尺寸较为接近,且尺寸在截取出的箱号区域中,比例较大,本文删除原YOLOv3网络中用于检测小目标的分支,将提取得到的字符特征仅在两个尺度上进行检测,以减少网络参数并提高计算速度。网络结构如图5所示,集装箱箱号字符的检测结果如图6所示。

图5 集装箱箱号字符检测网络结构图

图6 集装箱箱号字符检测结果

对网络的输出结果,根据先前确定的排列方式和网络所回归到的预测框坐标,将箱号依次排序,其中前4位只在字母分类中选取预测概率最高的作为预测值,同理,后7位只在数字分类中选择预测概率最高的作为分类值。得到箱号字符的预测框坐标和分类信息后,根据先前得到的箱号横向排列还是纵向排列的形式,在水平方向或竖直方向上聚类,如箱号是横向排列,则按照水平方向对竖直坐标在相近范围内的字符聚类,得到若干行箱号,然后自第一行到最后一行,按照水平位置顺序取字符,一直到取满11位字符为止。

2 实验结果与分析

2.1 实验设置与评价指标

本文使用的数据集来自国内某铁路货场,利用在门式起重机上安装的摄像头,拍摄装卸作业过程中采集的图片,数据集一共包括2 688张分辨率为1 600×1 024的图片。其余图片为傍晚时拍摄。数据集的划分为训练集2 474张,测试集200张。实验所使用的计算机CPU为 AMD Ryzen 5 2600,GPU 为 Nvidia GeForce RTX 2070 SUPER 8G,内存16G。

2.2 实验结果

在集装箱箱号定位结果中,对于正样本,当检出的箱号区域(P)与标注的Ground Truth(G)的交并比(IoU)大于0.7时视为一次正确预测,称之为True Positive(TP),对于负样本,即图片中不存在箱号区域,此时系统没有错检出箱号也算做一次正确预测,称之为True Negative(TN),准确率(A)表示正确预测的数量与总数量(N)的比值,交并比和正确率的计算公式为

与谭伟等[13]提出的基于数学形态学的集装箱箱号分割改进算法、刘岑等[14]提出的基于YOLOv3的箱号定位、崔循等[15]提出的基于改进的Faster R-CNN的箱号定位算法进行对比,本文所述方法准确率更高,平均耗时更低,对比结果如表2所示。

表2 集装箱箱号定位测试结果对比

对于集装箱箱号字符检测模块,对每个字符分类进行检测所得到的结果如表3所示。其中,P为准确率,R为召回率,mAP为平均精度。

表3 集装箱箱号字符检测模块测试结果

对于该系统的总体识别结果,总体正确率表示系统对测试集中原始图片做出正确预测的结果在测试集中的占比。总体漏检率表示对测试集中原本出现箱号却判断没有箱号的错误预测在数据集中的占比。总体错检测率表示对没有箱号的测试图片却预测出箱号,以及对有箱号的测试图片中的箱号做出错误预测的结果在测试集中的占比,测试结果如表4所示。

表4 系统总体测试结果

3 结语

本文所述算法是一种高效准确的箱号识别算法,在进行识别操作前,先对原始图片进行背景剪除,利用改进的轻量化YOLOv3在低分辨率上进行箱号定位,提高计算资源利用率、节省耗时的同时使后续识别和检测更为精准。再对高分辨率的集装箱箱号区域图片利用改进的较深层的YOLOv3在特定尺度上进行字符的精准检测,得到集装箱箱号。实验结果表明,该算法总体正确率达到了98.4%,且平均总体耗时仅为103 ms,能够高效准确地识别箱号。

猜你喜欢

字符集装箱定位
《导航定位与授时》征稿简则
论高级用字阶段汉字系统选择字符的几个原则
字符代表几
银行业对外开放再定位
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
虚实之间——集装箱衍生出的空间折叠
一种新型集装箱起重吊具设计
少儿智能定位鞋服成新宠
把握新定位、新要求 推动人大工作创新发展