首页> 中国专利> 一种轻量级神经网络船舶水尺读数识别方法

一种轻量级神经网络船舶水尺读数识别方法

摘要

一种轻量级神经网络船舶水尺读数识别方法,属于船舶水尺刻度检测领域及轻量级神经网络领域。1)利用轻量级神经网络结构结合特征通道激励模块作为底层特征提取单元提取拍摄的水尺图像特征;2)将步骤1)的输出特征分别输入水线分类单元和刻度检测单元;水线分类单元将特征输入降采模块,得到单通道特征输出,将得到的特征图按列划分,利用多个分类器结合结构损失学习每一列的水线位置信息;刻度检测单元将特征输入三个卷积分支,实现水尺上刻度的检测;3)水尺深度估计单元结合多任务学习的网络结果,估计水尺吃水深度。模型轻量,简单有效,能自适应提取水尺图片特征,识别准确率高,在带噪图片上有更强鲁棒性。

著录项

  • 公开/公告号CN114972793A

    专利类型发明专利

  • 公开/公告日2022-08-30

    原文格式PDF

  • 申请/专利权人 厦门大学;

    申请/专利号CN202210653483.X

  • 发明设计人 余少聪;廖英豪;

    申请日2022-06-09

  • 分类号G06V10/44(2022.01);G06V10/764(2022.01);G06V10/82(2022.01);G06N3/08(2006.01);G06N3/04(2006.01);

  • 代理机构厦门南强之路专利事务所(普通合伙) 35200;

  • 代理人马应森

  • 地址 361005 福建省厦门市思明区思明南路422号

  • 入库时间 2023-06-19 16:33:23

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-16

    实质审查的生效 IPC(主分类):G06V10/44 专利申请号:202210653483X 申请日:20220609

    实质审查的生效

说明书

技术领域

本发明属于船舶水尺刻度检测领域及轻量级神经网络领域,尤其是涉及一种轻量级神经网络船舶水尺读数识别方法。

背景技术

随着船舶运输业的发展,船舶吃水读数是船舶计重计量的关键因素。吃水读数就是参照船舶六面水尺估计吃水深度值的过程,是国际上普遍采用的船舶重量鉴定的计重措施。吃水深度直接作为商品的交接结算、索赔处理、港口使用费和通关计税等的依据,对海运业的大宗货物运输十分重要。在实际中,吃水读数大多仍依赖人工观测。其劳动成本高、受人的主观因素影响大,而且视觉观测的精度也容易受能见度、天气等因素的干扰。并且测量过程需要有安全风险。因此实现水尺读数的自动化是需要的。

近年来,深度学习凭借其良好的表现在许多领域都已取得成功(J.Wang,L.Luo,W.Ye,and S.Zhu,“A defect-detection method of split pins in the catenaryfastening devices of high-speed railway based on deep learning,”IEEETransactions on Instrumentation and Measurement,vol.69,no.12,pp.9517–9525,2020),尤其是其在图像特征提取方面有着显著的作用(L.Xiao,B.Wu,andY.Hu,“Missingsmall fastener detection using deep learning,”IEEE Transactions onInstrumentation and Measurement,vol.70,pp.1–9,2020),为很多复杂条件下的视觉问题提供了新的解决思路。

基于深度学习的方法可以在手机和无人机上应用(W.Zhan,S.Hong,Y.Sun,andC.Zhu,“The system research and implementation for autorecognition of the shipdraft via the uav,”International Journal of Antennas and Propagation,vol.2021,2021)。利用这些技术可以有效减小测量过程的安全风险。传统基于边缘检测的方法测量水线效果无法达到稳定及准确,且不具备鲁棒性,依赖于计算复杂的图像算法(J.L.H.Ferreira,M.R.Fernandes,C.C.dos Santos,and R.F.Vassallo,“Characterrecognition for automatic draught survey,”in 2018 13th IEEE InternationalConference on Industry Applications(INDUSCON).IEEE,2018,pp.332–338)。基于深度学习的方法可以从图像中获取更好的图像特征,并且具有良好的泛化能力,有利于水线的特征提取、刻度检测和最终的读数估计。目前基于深度学习的主流做法是将水线检测视作整个图像的语义分割任务,在图像中找到海以及船的位置,再提取语义边缘得到水线。对于刻度检测,现有方法通常为此另外设计一个单独的网络来识别刻度。Bingping Wang等人(B.Wang,Z.Liu,andH.Wang,“Computer vision with deep learning for ship draftreading,”Optical Engineering,vol.60,no.2,p.024105,2021)首先利用MaskRCNN从背景中分割出水面和刻度所在的区域,再分别利用Unet和Resnet在区域中提取水线和识别刻度,最后通过位置拟合的方式读取吃水深度。这种方法通常需要一些后处理方法才可以得到水线,并且多网络的结构导致网络模型的参数量过高以及计算资源的冗余,使得神经网络边缘部署变得更为困难。

发明内容

本发明的目的在于针对现有技术中存在的上述问题,提供避免模型复杂问题、方便落地应用,也为船舶测重提供有效的指标,水线与刻度齐检测得到最终读数,简化人力操作的一种轻量级神经网络船舶水尺读数识别系统。

本发明的另一目的在于提供一种轻量级神经网络船舶水尺读数识别方法,简化人工观测船舶测重的流程并提供客观测重标准,针对船舶吃水图片中蕴含的水线特征及刻度特征,提供一种可以应用于嵌入式设备上的轻量级神经网络船舶吃水深度检测;本发明加入了有效、简单的特征通道激励模块来对深度学习模型提取特征进行加权,在底层特征提取单元提取到了更好的加权特征,辅助后续任务;共享底层特征提取单元,连接水线分类单元和刻度检测单元来完成水线及刻度检测任务;

一种轻量级神经网络船舶水尺读数识别系统,包括底层特征提取单元、水线分类单元、刻度检测单元和水尺深度估计单元;所述底层特征提取单元的输出端分别接水线分类单元、刻度检测单元的输入端,水线分类单元、刻度检测单元的输出端分别接水尺深度估计单元的输入端;

所述底层特征提取单元用于利用轻量级神经网络并结合特征通道激励模块提取经过数据增强后的图像特征;

所述水线分类单元用于将底层提取特征输入降采模块,得到单通道特征图输出,将输出的单通道特征图与水线真实值做列的分类损失,加入结构损失以得到每一列水线的位置信息;

所述刻度检测单元用于将底层征输入3个卷积分支,实现水尺上刻度位置的检测和识别;所述3个分支包括目标分支、分类分支、回归分支;

所述水尺深度估计单元用于结合水线分类单元及刻度检测单元的结果,估计水尺吃水深度。

进一步的,所述底层特征提取单元包括1个数据处理模块和1个结合特征通道激励模块的轻量级神经网络;所述数据处理模块用于在将图片进行数据增强后,对图像中的区域进行裁剪,作为网络的输入,网络采用轻量级神经网络;所述轻量级神经网络包括结合4个特征通道激励模块的2个卷积处理层。

所述降采模块用于对底层提取特征图降采样,得到单通道特征图。

一种轻量级神经网络船舶水尺读数识别方法,包括以下步骤:

1)将拍摄的水尺图像进行数据增强,底层特征提取单元利用轻量级神经网络并结合特征通道激励模块提取增强后的图像特征;

2)将步骤1)提取的特征分别输入水线分类单元和刻度检测单元,水线分类单元将特征输入降采模块进行降采,得到单通道特征图输出,将得到的特征图按列划分,利用多个分类器结合结构损失学习每一列的水线位置信息;刻度检测单元将步骤1)输出的特征进行三个分支卷积,预测刻度位置,实现水尺上刻度的检测;

3)水尺深度估计单元结合步骤2)中水线分类单元与刻度检测单元的结果,估计水尺吃水深度。

在步骤1)中,所述将拍摄的水尺图像进行数据增强,先在手机上拍摄船舶吃水水尺图,通过人工对水尺以及水线制作标签;在训练阶段,对采集的水尺图像采用由随机采样、模糊、对比度调整和旋转组成的数据增强方法进行数据增强,再将图片进行裁剪;将处理后的图像输入由两个卷积模块、两个特征通道激励模块组成的第一层卷积层,得到第一层加权特征;第一层加权特征输入由两个卷积模块、两个特征通道激励模块组成的第二层卷积层,得到第二层加权特征;第二层加权特征作为共享特征。

在步骤2)中,所述水线分类单元将步骤1)中所得特征图输入2个卷积层(下采样)和一次压缩通道得到单通道特征图,依据特征图在每个预定义列上的位置信息选择正确的水线位置,将水线表示为一系列预定义列上的垂直位置;首先将输出的特征图按列划分,然后在每一列上细分出多个单元,这样水线的检测就可描述为在预定义列上选择某些单元格,单元格的中心位置视作水线的位置,进而得到该图上列中的分类结果;

所述水线分类单元将单通道特征图预测为P

式中,P

所述水线分类单元在交叉熵基础上加入结构损失,采用softmax函数得到单元格中不同位置的概率,并乘以单元格位置表示带有空间约束的预测Loc

所述刻度检测单元将步骤1)输出的特征进行三个分支卷积,包括目标分支、分类分支、回归分支:

所述目标分支将特征图进行3次卷积操作,并得到代表目标类的向量,其中整数刻度为带有“M”的刻度,小数刻度为不带有“M”的刻度;模型将背景记为0,整数刻度记为1,小数刻度记为2;以加权交叉熵损失函数作为优化公式,表示为L

所述分类分支将特征图进行3次卷积操作,并得到代表N个整数刻度类别得分的结果;由上述目标中得到整数刻度的目标再进行分类,对整数刻度目标进行交叉熵损失函数优化,表示为L

所述回归分支将特征图进行3次卷积操作,并得到每个点的四维回归向量,代表每个点与边界框的上、左、下和右的距离;对整数刻度以及小数刻度边框进行回归,以交并比损失函数作为优化公式,表示为L

上述三个分支的损失函数表示为:

L

每个位置的目标类别标签为t,整数标记的类别标签为c,位置的回归目标为4D向量d,P

所述水线分类单元和刻度检测单元共享底层特征抽取部分,再让两个单元各自学习高级语义信息,并进行联合优化,最终损失函数表示为:

L

式中,λ的值为0.05。

在步骤3)中,所述水尺深度估计单元结合步骤2)中水线分类单元与刻度检测单元多任务学习的网络结果,估计水尺吃水深度的具体步骤可为:训练时,令损失函数取得最小值时保存为测试模型;测试阶段,将整幅图像作为输入,预测结果经过低通滤波器和插值法后得到一条平滑的线,通过对刻度在垂直方向上的位置(实际距离)与刻度到水面的距离(像素距离)进行建模,得到水线处的实际吃水深度,计算出实际距离在像素上的相对距离,估计吃水深度。

与现有技术相比,本发明具有以下有益效果:

1、本发明采用轻量级神经网络,并结合特征通道激励模块,提取有效的加权特征。

2、本发明将水线的位置选择视作在图像每一列上的分类问题,避免对于像素级的分割,并引入结构损失来弥补使用分类损失时的不足,且更注意水线边界信息而非水与船体、充分利用水线的先验信息。进而得到更好的水线检测结果。

3、为了方便水尺读数任务应用,本发明加入一种简单有效的刻度检测结构单元来完成刻度检测任务。使用多任务学习方式得到更轻量化模型,可以更好在边缘设备上落地应用。

4、模型轻量,简单有效,能够自适应提取水尺图片特征,且识别船舶吃水深度准确率高,在较差环境下的采样图片也具备一定的鲁棒性,在带噪图片上相较于传统方法也有更强的鲁棒性和普适性。

附图说明

图1为模拟船舶水尺图片。

图2为本发明实施例的系统框图。

图3为本发明实施例的水线分类单元进行分类检测结果图。

图4为本发明实施例拟合实际刻度与像素方法图。

图5为本发明在一种实施方式下的网络结构图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更为清晰,以下结合附图和实施例,对本发明进行进一步详细说明。图1所示为模拟船舶水尺图片,图2为本发明系统框图。对输入图片进行特征提取,如图3对该特征分别进行水线列分类检测及对水尺做读数检测,最终如图4对两个结构单元结果进行实际位置与像素拟合得到水尺读数。图5表示本发明在一种实施方式下的网络结构图。其中ResNet18轻量级网络可以由其他神经网络进行替换以得到更精确的结果。

本发明实施例包括以下步骤:

步骤1、将拍摄的水尺图像进行数据增强,底层特征提取单元将拍摄并做数据增强的水尺图像裁剪后输入两层深度卷积神经网络提取特征,并且每一层卷积网络结合特征通道激励模块,以得到加权特征图;在手机上拍摄的船舶吃水水尺图,通过人工对水尺以及水线制作标签;在训练阶段,对于采集图像采用由随机采样、模糊、对比度调整和旋转组成的数据增强方法。将图像输入结合特征通道激励模块的第一层卷积层,第一次提取的特征再输入结合特征通道激励模块的第二层卷积层卷积提取得到第二层特征;

本实施例中,所述数据处理模块在将图片进行数据增强后,对图像中的区域进行裁剪,得到320×320的方形作为网络的输入,骨干网络采用轻量级神经网络ResNet18;如图5所示。骨干网络包括两层卷积层,第一层卷积层包括conv1、basicblock1、basicblock2,可以得到80×80×64的特征。值得注意的是,在basicblock1后,加入一个全局平均池化,得到1×1×64的特征,再连接全连接层-ReLU层-全连接层-sigmoid层,将通道特征压缩并激励,得到1×1×64的0到1之间的标量,作为通道的权重,然后经过扩展特征尺寸为80×80×64,并与原来的卷积输出通道的每个通道进行加权,得到160×160×64的特征图。同理,在basicblock2后,输入特征通道激励模块,得到80×80×64的特征图。第二层卷积层包括basicblock3和basicblock4,可以卷积提取得到40×40×128的特征。值得注意的是,在basicblock3后,加入一个全局平均池化,得到1×1×128的特征,再连接全连接层-ReLU层-全连接层-sigmoid层,将通道特征压缩并激励,得到1×1×128的0到1之间的标量,作为通道的权重,然后经过扩展特征尺寸为40×40×128,并与原来的卷积输出通道的每个通道进行加权,得到40×40×128的特征图。图5中,basicblock1、basicblock4、basicblock6、basicblock8没有下采样,basicblock2、basicblock3对于特征图的宽和高都有下采样,而basicblock5、basicblock7对于特征图的宽有下采样。其中,1个basicblock中有2次卷积,2个特征通道激励模块,并且,下采样由basicblock中第一次卷积实现。图5给出basicblock1模块示意图,其中每次卷积后连接特征通道激励模块,每个模块组成可类推。图5给出特征通道激励模块示意图,由全连接层-ReLU层-全连接层-sigmoid层组成,将输入该模块的特征图进行通道特征压缩并激励,再经过扩展特征尺寸后与原输入相乘,实现通道加权。

步骤2、将步骤1)提取的特征分别输入水线分类单元和刻度检测单元,水线分类单元将步骤1中的特征输入2个卷积层(下采样)和一次压缩通道再次进行降采,得到单通道特征图输出,将得到的特征图按列划分,并将每个列分为多个单元,以多个分类器结合结构损失学习每一列上的水线所处单元信息;刻度检测单元将步骤1中特征输入3个卷积分支,对特征图上每个点进行预测,并区分背景、整数刻度、小数刻度3个类别,并预测满足为整数刻度的点为何整数刻度,且将满足为证书刻度类点与小数刻度类点进行目标边界框回归,实现水尺上刻度的目标检测;

所述水线分类单元将步骤1)中所得特征图再次输入2个卷积层(下采样)和一次压缩通道得到单通道特征图,依据特征图在每个预定义列上的位置信息选择正确的水线位置,将水线表示为一系列预定义列上的垂直位置;首先将输出的特征图按列划分,然后在每一列上细分出多个单元,这样水线的检测就可描述为在预定义列上选择某些单元格,单元格的中心位置视作水线的位置,进而得到该图上列中的分类结果;

实施例中,将步骤1底层特征提取单元得到的40×40×128的特征图再次输入2个卷积层(下采样),一次通道压缩,依次得到20×40×184的多通道特征图、10×40×312的多通道特征图和10×40的单通道特征图,依据特征图依据特征图对水线的空间位置进行约束,具体的,在每个预定义列上的位置信息选择正确的水线位置,将水线表示为一系列预定义列上的垂直位置。将输出的特征图按列划分,然后在每一列上细分出多个单元,这样水线的检测即在预定义列上选择某些单元格。单元格的中心位置视作水线的位置,进而得到该图上列上的分类结果。

训练时,水线分类单元将10×40单通道特征图的预测结果记为P

式中,P

所述水线分类单元在交叉熵基础上加入结构损失,由于交叉熵进行的分类损失没有对水线的空间位置进行约束,本实施例应用结构损失,采用softmax函数得到单元格中不同位置的概率,并乘以单元格位置表示带有空间约束的预测Loc

所述刻度检测单元将步骤1)输出的特征进行3个分支卷积,3个分支包括背景及整数刻度、小数刻度的目标分支,整数刻度的分类分支,刻度边框的回归分支,每个分支都有3个3×3卷积层,卷积计算过程特征尺寸和通道数保持不变,最终输出通道依据3个分支任务改变;

步骤2.1、目标分支将特征图进行3次3×3卷积操作,并得到40×40×3的代表目标类的结果,其中整数刻度为带有“M”的刻度,小数刻度为不带有“M”的刻度。模型将背景记为0,整数刻度记为1,小数刻度记为2。以加权交叉熵损失函数作为优化公式,表示为L

步骤2.2、分类分支将特征图进行3次3×3卷积操作,并得到40×40×N的代表N个整数刻度类别得分的结果。由上述目标中得到整数刻度的目标再进行分类,本实施例中分类分支只对整数刻度目标进行交叉熵损失函数优化,表示为L

步骤2.3、回归分支将特征图进行3次3×3卷积操作,并得到40×40×4的四维回归向量,代表每个点与边界框的上、左、下和右的距离。本实施例中只对整数刻度以及小数刻度边框进行回归,以交并比损失函数作为优化公式,表示为L

上述三个分支损失函数表示为:

L

每个位置的目标类别标签为t,整数标记的类别标签为c,位置的回归目标为4D向量d,P

所述水线分类单元及刻度检测单元共享底层特征抽取部分,再让两个单元各自学习高级语义信息,并进行联合优化,最终损失函数表示为:

L

式中,λ的值为0.05。

步骤3、水尺深度估计单元结合步骤2中水线分类单元和刻度检测单元网络结果,估计水尺吃水深度。轻量级神经网络训练时,令最终损失函数取得最小值时保存为测试模型;在测试阶段,首先将整幅544×960图像作为输入,由水线分类单元得到预测结果经过低通滤波器和插值法后得到一条平滑的水线。由步骤2中刻度检测单元得到整数结果通过对刻度在垂直方向上的位置(实际距离)与刻度到水面的距离(像素距离)进行建模,得到水线处的实际吃水深度。

本实施例将每个所检测到的刻度框的像素距离表示为d={d1,d2,...dn},n表示所检测到的刻度的数量。每个刻度的实际高度为20cm并且每两个刻度间的实际距离为20cm,因此以整数刻度为起点,20cm为间隔,对像素距离与实际距离进行最小二乘法拟合。根据距离水面最近的整数刻度和水面的位置,可以计算出在实际距离在像素上的相对距离,然后估计吃水深度。如图4所示,根据距离水面最近的整数刻度和水面的位置,首先可以计算出在实际距离在像素上的相对距离,然后估计吃水深度。图4中,方框为检测到的刻度位置,相邻两个刻度的实际距离为20cm。图中实例预测到的整数刻度为13M,其与预测的水线间没有检测到小数刻度,将框之间的像素距离与实际距离通过最小二乘法拟合后,可以得到1的实际距离为17cm,进一步得到最终读数为12.83m。

上述系统实施例中,所包含各个步骤各个单元只是按照功能逻辑进行划分且不局限于上述划分,只要能够实现相应功能即可;另外,各个单元命名也只是为了便于区分,并不用于限制本发明的保护范围。本发明创造并不限于实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同形变或替换,均包含在本申请权利要求所限定的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号