本发明属于船舶图像处理,特别涉及一种基于db-crnn模型的船舶名称识别方法。
背景技术:
1、船名作为标识船舶身份的重要信息之一,对船名的识别尤为重要,准确高效的船舶名称识别方案对水路航运的管理具有重要意义;传统的船舶名称识别主要依靠ais系统,通过甚高频进行信息交换从而达到识别的目的,但是ais成本较高其装载在船舶上可以被人为关闭,一些小型船舶甚至没有装载,且存在船舶交换ais设备进行违规运载等操作,存在非常大的局限性和安全隐患;现有技术中存在应用深度学习技术快速准确的对船舶名称进行识别的技术,在具体的船舶名称识别中,一般可以简化为这样一个问题:在一些天气等条件限制下,通过人工或监控对过往船舶进行识别,并根据获得的船舶名称信息进行调度等操作。
2、现有的船舶名称识别技术存在一些不完善之处:
3、1,传统的ais系统成本较高,且ais可以人为关闭存在非常大的局限性和隐患;2,仅使用计算机视觉技术识别船名,需要对图像进行一系列预处理,在实时性上大打折扣;3,目前最新的研究成果,如文献locating various ship license numbers in the wild aneffective approach等所解决的是船舶名称假阳性问题;因此,需要提出一种基于透视变换的矫正和图像超分辨重建结合的方法,可以在船舶名称具有一定倾斜角度和船舶图像分辨率较低的条件下进行准确的识别。
技术实现思路
1、本发明所要解决的技术问题是提供一种基于db-crnn模型的船舶名称识别方法,该方法解决了现有技术通过传统的ais系统进行识别时成本较高、局限性大且存在安全隐患的问题,以及使用计算机视觉技术识别船名时需要对图像进行预处理,实时性差的问题,具有可在船舶名称具有一定倾斜角度和船舶图像分辨率较小的条件下进行准确的识别的特点。
2、为解决上述技术问题,本发明所采用的技术方案是:
3、一种基于db-crnn模型的船舶名称识别方法,包括以下步骤:
4、s1,通过网络平台公开信息获取船舶图像数据;
5、s2,数据预处理,包括统一数据大小格式,标注船名和坐标;
6、s3,船名图像数据输入;
7、s4,构建船名检测和识别框架;
8、s5,在识别部分构建船名矫正模块和超分辨率重建模块;
9、s6,对模型进行综合评估。
10、优选地,步骤s2的具体方法如下:
11、s201,将步骤s1获取到的图像数据进行分辨率大小和命名格式统一;
12、s202,对图像船名信息进行标注,包括船名和位置坐标。
13、优选地,步骤s3的具体方法如下:通过步骤s2获得初始图像数据,将其输入到船舶名称识别框架中。
14、优选地,步骤s4具体方法如下:
15、s401,构建船名检测模型,输入初始图像数据检测船名并裁剪输出船名样本送入识别模型:
16、构建卷积神经网络,将图像输入到特征金字塔主干中,通过上采样得到特征图,通过特征图预测概率图和阈值图并计算近似二值映射,最后从概率图和近似二值图反推出船名文本区域。概率图中船名区域多边形g可描述为:
17、
18、其中,s代表组成多边形的线段,n是顶点的数量。然后通过vatti裁剪算法将多边形g缩小为gs,从原始多边形周长l和面积a计算收缩偏移量d的计算方式为:
19、
20、其中,r表示收缩比例,阈值图标签生成方式与其类似,首先使用相同的偏移量d,对文本多边形g进行膨胀得到gd,然后将gs和gd之间的间隙作为文本区域的边界,通过计算到g中最近线段的距离来生成阈值图的标签;
21、损失函数l可以表示为概率映射ls的损失、二进制映射lb的损失和阈值映射lt损失的加权和:
22、l=ls+α×lb+β×lt;
23、其中,对ls和lb应用了二进制交叉熵损失:
24、
25、sl设置为正负比1∶3,lt则是拓展文本多边形gd内的预测和标签之间的l距离之和:
26、
27、其中rd是gd内的像素索引集合,y*是阈值映射的标签。在推理阶段,使用概率图或近似二进制图来生成船名检测框。为了提高效率,使用概率图以便去除阈值分支,从二进制映射中获得收缩文本区域,缩小的区域使用瓦蒂剪裁算法以偏移d′进行扩张;通过公式可以反推船名文本区域,具体计算如下:
28、
29、其中a′是收缩多边形的面积,l′是收缩多边形的周长,r′是收缩率;
30、s402,构建船名识别模型,对输入裁剪后的船名样本进行识别并输出最终船名信息:
31、a.设船舶检测提取的船名文本区域为i∈rn×c×h×w,n表示感兴趣区域的个数,c、h和w分别是提取图像的通道,高度和宽度;
32、b.将ii∈rc×h×w,其中i=1,…,n,后续的v表示相应的文本序列集合;
33、c.维持纵横比的前提下,在训练阶段将图像灰度化并统一缩放至32×100(h×w),变换后的图像表示为i’i∈rc×h×w;i’i通过cnn特征提取被编码为特征m∈rc×h×w,其中卷积特征通道c=512,h=1,w=25;
34、d.根据船名文本主要是长序列的特点,在识别器中下采样设置高为32,宽为4;特征m通过映射到序列的操作转换为s=[s1,s2,…,sn],将m变换成维数为1×512的特征向量w;
35、e.在特征序列s的顶部上应用bi-lstm的隐藏单元,并将bi-lstm的输出送到具有的线性层中,其中为转录词典;
36、f.最后ctc转录层用于序列解码以获得文本结果,crnn的优化目标函数为:
37、
38、其中,i’i和vi是训练图像和相应的标签序列,yi是由i’i的递归层和卷积层产生的序列。
39、优选地,步骤s5的具体方法如下:
40、s501,在识别部分构建船名矫正模块,具体方法如下:
41、船名矫正模块计算如下:
42、
43、u=x′/w′;
44、v=y′/w′;
45、其中,为变换矩阵;令w=1,得到公式:
46、
47、
48、其中,kmn=amn/a33,(m=1,2,3n=1,2,3),(x,y)为原始图像像素点坐标,经过变换后得到对应的坐标为(u,v);
49、s502,在识别部分构建图像超分辨率重建模块,具体方法如下:
50、a.设计超分辨率模块对低分辨率图像进行处理,首先通过lr图像和对应的hr图像训练生成器网络,在训练中使用下采样因子r将ihr应用于高斯滤波器获取ilr,其中ilr,ihr分别代表lr图像和hr图像;
51、b.对于具有c个颜色通道的图像,使用大小为w×h×c的实值张量描述ilr,使用rw×rh×c描述ihr;
52、c.将生成器网络训练为由θg参数化的前馈cnn其中θg表示深度网络的权重和偏差,并通过优化特定于sr的损失函数lsr,最终通过生成器网络训练的生成函数g给定输入lr图像估计hr图像,其中n=1,…,n;具体计算公式如下:
53、
54、其中,像素级的mse损失计算公式如下:
55、
56、d.基于预训练resnet网络的relu激活层来定义resnet损失:
57、利用φi,j在resnet网络内的第i个最大池化层之前通过第j次卷积获得特征图;然后将resnet损失定义为重建图像的特征表示和参考图像ihr之间的欧氏距离;内容损失函数如下:
58、
59、其中,wi,j和hi,j描述resnet网络内各个特征图的维度。
60、进一步地,为了评价模型的性能,采用accuracy(acc)、precision(p)、recall(r)、f-measure(f)等指标进行综合评价。
61、本发明的有益效果为:
62、本发明采用计算机视觉技术结合深度学习的方法。在船名检测之后引入船名矫正模块,基于透视变换对待定样本中船名不规则文本进行矫正;此外,设计超分辨率重建模块,对船名图像进行超分辨率重建处理,以提高船名图像的分辨率;本文提出的船舶名称框架有效解决了因分辨率不足和倾斜导致船舶识别不准确的问题,最终实现了更好的识别效果,有效解决了现有的ais系统存在人为关闭和船舶间互相交换ais设备带来的安全隐患和局限性,和针对基于计算机视觉的船舶名称识别技术效率不足的问题,同时解决了因分辨率不足和船名文本不规则导致识别不准确的问题,能够满足现实场景下的船舶名称识别应用。
1.一种基于db-crnn模型的船舶名称识别方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种基于db-crnn模型的船舶名称识别方法,其特征在于:步骤s2的具体方法如下:
3.根据权利要求1所述的一种基于db-crnn模型的船舶名称识别方法,其特征在于:步骤s3的具体方法如下:通过步骤s2获得初始图像数据,将其输入到船舶名称识别框架中。
4.根据权利要求3所述的一种基于db-crnn模型的船舶名称识别方法,其特征在于:步骤s4具体方法如下:
5.根据权利要求1所述的一种基于db-crnn模型的船舶名称识别方法,其特征在于:步骤s5的具体方法如下:
