APP下载

弹目编号识别算法研究及系统实现∗

2021-09-09丛林虎何伟鑫

舰船电子工程 2021年8期
关键词:卷积导弹图像

丛林虎 何伟鑫

(海军航空大学岸防兵学院 烟台 264001)

1 引言

随着智能化时代的发展,大多数行业均向着人工智能化方面发展。部队也在积极寻求着人工智能方面的应用。海航弹药技术保障大队任务繁忙,弹库装备出入库次数较多,但当前的出入库数据登记仍然使用手工登记的方式,这不仅浪费了时间与人力,同时与我军的发展目标大相径庭。而每一火工品上都有其独一无二的编号,可以唯一标识该装备,深度学习算法的革新使得识别该编号,实现自动登记成为了可能[1~4]。

文字识别指从图片中定位并识别到文字,由于存在光照的变化以及图像的复杂背景以及文字存在的多角度、多维、多长度,因此文字识别是难度系数较大的任务[5~8]。

传统文本识别方法准确率较低,如模板匹配法在身份证号码识别等应用中结果较差,该算法只有在字体统一清晰的阿拉伯数字的识别应用中有所建树,较复杂的场景中就无法满足需求。而OCR的通用方法:设计特征,提取特征而后进行分类,得出最终的识别结果,但效果也很难达到应用需求。针对传统OCR的不足,使得基于深度学习的OCR大放异彩[9~12]。

基于深度学习的文字识别算法使文字识别技术落地成为了可能,其准确率有了较大突破,且无需花大量精力用以设计字符特征。在OCR系统中,神经网络对特征进行提取和分类,字符图像输入到网络,得到识别结果。在各项基于深度学习的文本识别算法中,CRNN以期优越的性能一度成为各项应用的首选,文献[13]展示了其在多个数据集中的识别准确率均优于其他算法,同时CRNN能够识别多方向的文本,对多种场景下也拥有较高的识别率。因此,弹目编号识别系统将使用CRNN作为识别算法。

2 相关技术原理

2.1 CRNN算法

CRNN是一种卷积循环神经网络结构,用于解决基于图像的序列识别问题,特别是场景文字识别问题。CRNN的网络结构如图1所示,其由三个部分组成,从上到下分别为卷积层、递归层和转录层。

图1 CRNN结构图

在卷积循环神经网络的起始,图像输入到CNN层中而后得到特征序列[14]。RNN层预测特征序列的每一帧。卷积循环神经网络的翻译层将RNN输出的预测转换为标签序列。虽然卷积循环神经网络由不一样的网络构成,但可用一个损失函数联合训练CNN和RNN。

2.1.1 CNN结构

CNN采用的是VGG的结构,并且对VGG网络做了一些微调,如图所2示。

图2 CNN网络结构图

从图2可以看出,对VGG的调整如下:为了能将CNN提取的特征作为输入,输入到RNN网络中,将第三和第四个maxpooling的步长从2×2改为了1×2,如此可使特征图的宽度被更好的保留。同时在第五和第六个卷积层后面加上了BN层[15]以提升训练速度。

该网络的输入为W×32单通道灰度图,即输入图片的宽度无需固定,但其高度需调整为32。如包含10个字符的图片大小为100×32,经该网络后将获得的特征尺度大小为25×1,获得一个特征序列,每一列特征与原图的一个矩形区域(如下图所示)互相对应,这样就很方便作为RNN的输入进行下一步的计算了,而且每个特征与输入有一个一对一的对应关系,而且改变后的池化层的步长能够产生长宽比较大的感受野[16],使得网络对宽度窄的文本识别更加容易如“1”。

图3 CNN输出图

2.1.2 RNN结构

在卷积层的顶部建立了一个深度双向LSTM网络。循环层对每个帧xt都预测一个标签的概率分布yt[16~17]。RNN单元在其输入层和输出层之间有一个自连接的隐藏层。每次接收序列中的帧xt时,其均用一个非线性函数来更新其内部状态ht,该函数同时以当前输入xt和过去状态ht-1作为输入:ht=g(xt,ht-1),接着ht对当前帧yt做出预测。所以yt值由之前的输入以及当前的共同决定,所以当前帧同时利用前文信息。

LSTM(图4)由内存单元和输入门、输出门以及忘记门组成。内存单元存储历史上下文信息,输入和输出门使单元格存储较长一段时间的上下文。同时,细胞中的内存ct可以通过忘记门进行更新。LSTM的特殊设计使它能够在多次训练中保持稳定,从而能获得长距离的上下文[18~21]。

图4 LSTM结构图

2.1.3 翻译层

翻译层是将RNN所做的每帧预测转换成标签序列的过程。从数学上讲,翻译层是根据每帧预测找到概率最高的标签序列,其共有两种翻译模式,即无字典和基于词库的翻译[22]。在无字典模式下,预测是在没有任何词库的情况下进行的。在基于字典的模式下,通过选择后验概率最高的标签序列进行预测。CRNN标签序列概率采用Graves等提出的连接时续分类(CTC)进行计算[23]。

2.2 Django框架

Django是基于python的web开源框架。过往进行web开发的时候可能进程缓慢、效率低下以及数据库切换不便捷,为克服此类问题,Django进行了很好的设计[24]。

Django框架利用MVC设计模式,即模型,模板以及视图,如图5所示。

图5 Django框架

1)模型主要处理数据相关事务,其与数据存取层对应;

2)模板主要处理相关决定,其与业务逻辑层对应;

3)视图主要用于调用、存储模型与相应逻辑,其与表面层对应。

数据模型层以及前端视图层、业务逻辑层在本框架具备高内聚低耦合的特点,方便开发者更快速使用。同时,本框架采取ORM对象关系映射,可以更加方便地对数据模型进行设计以及交互,能够提供表单模型以及传统SQL语句的运行,丰富了数据库的选择性。本系统使用SQL server数据库进行数据的存取和管理。系统采用Django框架进行搭建。

3 模型训练

3.1 文本图像的合成

文章所用数据集为实地在海航某部弹药技术保障大队所拍摄数据集。研究发现,同一型号装备的编号字体大小等均相同,而不同型号装备之间的字体型号之间均存在着差别。于是每种型号之间均拍摄编号图像若干,且文本图像非严格的水平状态,或多或少存在一定角度的倾斜,这是由于实际使用时,工作人员在进行文字识别的时候不可能随时严格正对导弹编号。

对于所拍摄的数据集,训练深度卷积神经网络显然是数据集远远不够,且该数据集无法像普通图像分类人物一样进行数据增强。因为文本识别任务中文本无法进行旋转、镜像等方式的处理。因此,如果仅用提取的数据集进行训练,容易造成过拟合,对验证机的识别结果也会较差。因此需要合成新的文本数据集。

图6 原始数据集样式

具体步骤如下:

1)确定不同装备的外观背景所需图片数量,这里我们选取六种背景图,每种背景图生成图片20000张;

2)生成目标文本的同时,每个目标文本的字体均随机选择,并在一定的范围内随机设置文本的弯曲程度;

3)随机从文本数据中获取内容,长度4~10随机,作为要填充的文本内容,这里文本数据为阿拉伯数字0~9,小写字母a~z,大写字母A~Z以及特殊字符“—”。

4)将文本背景融合,并且将区域进行一定角度的旋转;

5)对文本目标区域添加噪声和颜色信息等。

文本合成的步骤就是以上五步,通过合成产生120000张图片保证后续文本识别模型的训练。生成的图片数据集如图7所示。

图7 人工合成数据集样式

3.2 训练结果

本文实验在Ubuntu16.04系统下进行,CPU:酷睿 i5-8400 2.80GHz,显卡为 GTX1060,显存为6GB,计算机内存为16G;python 3.6,配套OpenCV、numpy等库支持使用,使用的深度学习框架为ten⁃sorflow。使用Adam优化器进行优化,初始学习率为0.0001。图片大小设定为W*32,迭代次数到510次后,准确率达到了要求,LOSS也降到小数点后两位。

图8 CRNN训练图

从图可以看出LOSS以及Accrucy已经达到要求,所以模型达到一个较好的性能,且使用测试图片可以看出模型对陌生图片的测试也全部准确。因此,使用训练好的模型,设计实现导弹编号识别系统可以替代人工对出入库导弹的登记。

4 系统的落地实现

B/S模式是一种网络结构模式,该模式使得客户端得到了统一,将所要实现的功能核心集中到服务器上,如此便可减少了系统开发以及维护的开销;用户电脑只需安装一个browser,server上安装SQL server等相应数据库;browser通过Web Server与数据库进行数据交互[25]。

根据第三节训练以及测试好的CRNN模型,设计实现基于CRNN的导弹编号识别系统,调用OpenCV库进行文本区域的切割。

图9为导弹出入库管理系统的工作主界面,通过调用摄像头,获取图像导弹编号的图像,而后OpenCV将具有编号的部分具体提取出来。训练好的CRNN模型根据OpenCV提取出来的文字部分进行识别,得到最终的导弹编号,工作人员可据此进行操作。目前,本系统已在海航某部弹库进行实地调试,可以满足弹库的工作需求。

图9 系统界面图

5 结语

海航某部弹库日常工作繁忙然而用人工登统计的方式进行工作导致人力以及时间的浪费,为克服此不足,设计实现了基于深度学习的导弹编号识别系统,实现导弹出入库的自动化登统计。根据实地所拍摄的数据集,对照进行文本识别数据集的合成,而后利用合成的数据集进行CRNN模型的训练。经过测试,模型满足识别要求。

利用训练测试好的CRNN模型,在Django框架上设计实现导弹编号识别系统,经过在海航某部弹库的测试,设计的导弹编号识别系统能够满足要求,代替人力进行导弹出入库的自动登记。

猜你喜欢

卷积导弹图像
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
浅析p-V图像中的两个疑难问题
巧用图像中的点、线、面解题
神奇的纸飞机(四)
正在发射的岸舰导弹
名人语录的极简图像表达
趣味数独等4则