4 物流集装箱字符识别探索和实践

简介: 在对集装箱箱号识别进行研究的过程中,使用CTPN来进行字符检测,使用CRNN模型对框选的文本进行识别。最终使用了81张单个集装箱的图片作为测试集,最终CTPN的检测效果:在IoU=0.5的情况下达到0.836,而CRNN模型的识别效果:字符正确率0.821,整图正确率为0.135。

4.1 集装箱箱号识别项目概述
在对集装箱箱号识别进行研究的过程中,使用CTPN来进行字符检测,使用CRNN模型对框选的文本进行识别。
最终使用了81张单个集装箱的图片作为测试集,最终CTPN的检测效果:在IoU=0.5的情况下达到0.836,而CRNN模型的识别效果:字符正确率0.821,整图正确率为0.135。
进一步计划:
(1)CPTN在该场景下,不适用于做目标区域检测,因为存在多个集装箱同时存在的场景,同时单个集装箱也存在多处字符(如企业商标等),因此需要另外训练一个模型去获更完善的目标文本框区域。然后用CPTN或者其他方法将框选的文本区域分割为文本条,然后使用CRNN进行识别。
(2)增加后处理环节,通过识别出的数字,算出校验码,用来提高整图正确率。
4.2 集装箱箱号识别介绍
4.2.1 集装箱箱号

总计十个字符,前三个字符(即上图的“SUD”)为拥有者的代码,对应的是HAMBURG SUD,即汉堡南美航运公司,第四个字符(“U”)代表的是集装箱类型,一般都会为U。
第5到第10个字符,即(“307007”)为箱体注册码,是集装箱箱体持有的唯一标识。
第11个字符(即“9”)为校验码,有前4位字母和6位数字通过校验规则运算得到,用于识别在校验时是否发生错误。
虽然只要识别10个字符,即得到集装箱箱号,但在商用产品中,一般也都会将校验码识别出来,
4.2.2 集装箱箱号识别难点
(1)箱号位置不统一,字符之间距离间隔不统一
(2)箱号的印刷字体不一致
4.2.3 集装箱箱号识别流程
对于单个集装箱图片而言,从图片中检测到集装箱箱号位置区域,对箱号区域进行分割,然后识别,再进行后处理(校验码检验等),最终输出集装箱的箱号。

4.3 数据整理
4.3.1 数据搜集
4.3.1.1 集装箱数据
通过google的以图搜图,并通过筛选后,有200张左右的图片。但对于神经网络模型来说,数据量太少。
4.3.1.2 字符识别数据相关
因搜集到的集装箱图片数据太少,因此,使用图片生成的方法制作数据集。
(1)字体
通过对上述200张集装箱图片的观察,发现最起码存在四种字体。

当前,通过在线字体搜索,只找到了两种近似字体,另外两种暂未获得。
① SaaSeriesBD

② U59

(2) 工具
字符识别数据使用的是TextRecognitionDataGenerator。样例如下:

4.3.1.3 字符检测数据
当前网络上公开的数据集有ICDAR(International Conference on Document Analysis and Recognition)历年的比赛数据。
4.3.2 数据处理——生成、增广等
(1)为英文字符与数字字符设置合适的比例,2:3
(2)图片随机旋转角度:[0, 10]
(3)图片背景:较为干净的集装箱图片
4.4 字符识别
4.4.1 评价指标
整图正确率。假设一张图片中,含有多处多个字符,按从左往右顺序,没处的每个字符都正确,则该图片识别正确。整图正确率 = 图片识别正确数 / 图片识别测试总数。
字符正确率。每一个标注区域,按从左往右顺序,正确识别出的字符数,除以总字符数。
4.4.2 方法 —— CRNN_STN
CRNN_STN是带有STN(Spatial Transformer Networks)的CRNN(Convolutional Recurrent Neural Network)网络。
选用的源码来自于这里。但原作者的代码中,模型部分有错误,需要更正,见小节4.3.1。
4.4.2.1 STN
STN即空间变换网络,普通的CNN能够显示的学习平移不变性,以及隐式的学习旋转不变性,但注意力机制模型告诉我们,与其让网络隐式的学习到某种能力,不如为网络设计一个显示的处理模块,专门处理各种变换。

4.4.2.2 CRNN
CRNN网络分为三个部分,① 用于提取图像特征的CNN,② 用于提取文字序列特征的BLSTM(Bidirectional Long Short-Term Memory),③ 用于选择最佳序列,剔除多余字符的CTC(Connectionist Temporal Classification)

4.4.3 训练踩坑
4.4.3.1 报错
(1)InvalidArgumentError (see above for traceback): sequence_length(0) <= 30
原因是CTC网络的loss计算,要求所有输入序列的长度(sequence_length)要小于max_time_step,通常max_time_step等于CTCLoss的输入序列数据的最大长度,报错的是因为存在sequence_length大于了max_time_step。
解决办法:检查CTCLoss的输入数据和sequence_length是否对应,通常由于数据先进入了CNN导致输入到CTC的数据维度发生了变化,而sequence_length还对应CNN前的数据序列长度,故按照CNN结构缩放原始sequence_length即可。
(2)提示加载的预训练模型与模型不匹配
原因是作者的代码有错误,将下图中的conv_1改成batchnorm_1即好。

4.4.3.2 调整数据集
(1)CRNN只支持单行字符检测
在一开始时,使用多行文本图片直接输入网络,导致识别没有效果。
(2)使用生成的数据集训练,但同时又使用生成的数据集验证
这导致在训练过程中效果很好,acc到达0.72,但使用真图测试时,效果较差,因此又截选真实图片,然后增广数据,提升训练效果。
4.5 字符位置检测
4.5.1 评价指标
IoU(Intersection-over-Union),是预测的框与原标记框的交叠率,即它们的交集与并集的比值,最理想的情况是完全重叠,即比值为1。

计算公式:

4.5.2 方法 —— CTPN
CTPN(Connectionist Text Proposal Network)模型实现流程包含三个部分,① 检测最小尺度文本框, ② 循环链接文本框,③ 文本行边细化
本文中所使用的CTPN模型来源于这里。
因该开源库提供了预训练模型,且CTPN模型对数据集标注的要求较高(不规则四边形框),以及在集装箱上存在多处非目标文本框,因此,并未进一步标注数据进行训练。
4.6 总结
4.6.1 结论
本研究最终使用了81张单个集装箱的图片作为测试集,最终CTPN的检测成果:在IoU=0.5的情况下达到0.836,字符正确率0.821,整图正确率为0.135。
字符正确率与整图正确率差距较大的原因可能在于CTPN所获取的目标框文本不全、分割。同时,在本预研过程中,一半多的时间是用于处理和标注数据集,但由于总时间投入较少,数据质量仍然较差。
集装箱识别是比较具有现实意义的问题,因此也需要结合实际场景进行研究,如果能获取大量真实场景的集装箱图片,整体效果预计将会有显著提升。
4.6.2 下一步计划
(1)CPTN在该场景下,不适用于做目标区域检测,因为存在多个集装箱同时存在的场景,同时单个集装箱也存在多处字符(如企业商标等),因此需要另外训练一个模型去获更完善的目标文本框区域。然后用CPTN或者其他方法将区域分割为文本条,然后使用CRNN进行识别。
(2)增加后处理环节,通过识别出的数字,算出校验码,用来提高整图正确率。
4.6.3 风险
(1)当前CPTN检测到的框因为间隔原因,会使得获取的文本框文本不全。

正确获取文本框(左)和错误获取文本框(右)
image.png

目录
相关文章
|
传感器 数据采集 供应链
港口智能化,我们这样做!
港口智能化,我们这样做!
445 0
|
4月前
|
监控 数据可视化 数据挖掘
点晴PMS码头港口集装箱管理系统精准预测高效调度
随着码头集装箱运输的不断发展,码头集装箱管理系统软件的市场前景广阔。对于码头企业来说,引入这样一套适合码头管理的系统,将能够提高运营效率、降低成本、增强安全性,更好地适应和应对市场需求。
71 8
|
5月前
|
存储 人工智能 监控
点晴PMS港口码头系统全面推动码头的现代化建设
随着全球经济一体化的深入发展和物流行业的迅猛增长,码头作为货物运输的重要枢纽,其现代化建设的需求日益迫切。面对日益复杂的作业环境和不断提升的运营要求,点晴PMS港口码头系统全面推动码头的现代化建设。
54 1
|
6月前
|
算法 搜索推荐 小程序
智慧医院导航系统,技术引领就医流程优化
【摘要】智慧医院导航系统解决患者寻路难题,提高就医效率。政府政策支持导航服务纳入智慧医院标准,系统包括来院规划、院内精准定位、AR实景导航和全程导诊功能,减少患者等待时间,减轻导医台压力,促进医院信息化建设。
162 2
智慧医院导航系统,技术引领就医流程优化
|
传感器 人工智能 供应链
【年终特辑】看见科技创新力量 洞见时代创业精神—交通物流—仓擎智能:“无人驾驶车队+混行调度平台”,助力现代化航运中心提质增效
【年终特辑】看见科技创新力量 洞见时代创业精神—交通物流—仓擎智能:“无人驾驶车队+混行调度平台”,助力现代化航运中心提质增效
259 0
|
存储 监控 数据可视化
高效可视化的港口码头集装箱管理系统
港口码头集装厂管理令许多管理者十分头疼。使用龙门吊或起重机装卸集装箱时,因设备操作员距离集装箱较远,为准确找到指定的集装箱,使得码头集装箱管理工作效率是否低下。
419 0
|
人工智能 新能源
【年终特辑】看见科技创新力量 洞见时代创业精神—交通物流—中融佳信:为智能路侧停车提供管理系统
【年终特辑】看见科技创新力量 洞见时代创业精神—交通物流—中融佳信:为智能路侧停车提供管理系统
115 0
|
Java
57行价值八千万美元的车牌识别代码
为了防止被窃车辆进入黑市销售,警方使用了一个名为VicRoads的基于网络的服务,该服务用于检查车辆的登记状态。该警局还投资研发了一个固定式汽车牌照扫描器:一个固定的三脚架摄像头,可扫描过往的车辆,并自动识别被窃车辆。
8260 0
|
机器学习/深度学习
物流集装箱字符识别的思考
集装箱箱号 总计十个字符,前三个字符(即上图的“SUD”)为拥有者的代码,对应的是HAMBURG SUD,即汉堡南美航运公司,第四个字符(“U”)代表的是集装箱类型,一般都会为U。第5到第10个字符,即(“307007”)为箱体注册码,是集装箱箱体持有的唯一标识。
760 0
|
机器人 供应链 物联网
机器视觉助力物流分拣,发展空间巨大。
在电子商务仍然高速运转的今天,目前国内每天一亿个个包裹,而虽则发展,未来每天的包裹量将持续上涨或将高达10亿件。拥有自动高效等优势的智能技术正成为物流企业关注的热点,而有一项技术使得机器人在快递界能够大展拳脚,这就是“视觉识别”。
1345 0