一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应对复杂环境的轻量级高精度船舶目标检测方法与流程

2022-02-22 06:01:48 来源:中国专利 TAG:


1.本发明涉及目标检测技术领域,尤其涉及一种应对复杂环境的轻量级高精度船舶目标检测方法。


背景技术:

2.随着水运行业的蓬勃发展,水上交通安全形势面临严峻考验。作为水路运输的重要载体,船舶类型的准确识别和船舶位置的检测对于感知水路交通状况、保证船舶航行安全和水上违法行为的预警具有重要意义。船舶目标的准确、高效检测是后续进行船舶行为识别、轨迹跟踪等高级视觉任务的基础。与道路车辆检测相比,由于通航环境复杂、海雾和水汽等恶劣天气影响,复杂环境下水上船舶目标的实时检测更具挑战性。
3.现有的目标检测算法主要分为传统方法的目标检测算法和基于深度学习的目标检测算法:传统目标检测算法总体上分为三个步骤,首先输入图像并在图像上生成候选区域,其次对候选区域提取人工特征,最后训练分类器并进行图像分类。基于深度学习的目标检测算法主要分为两类,一类是基于候选区域的目标检测算法,如r-cnn、fast r-cnn、faster r-cnn,这类算法首先选择输入图像的候选区域,然后对候选区域进行分类和位置回归以实现目标检测。另一类是基于回归的目标检测算法,如ssd、yolo,这类算法省略了候选区域生成步骤,直接将特征提取、目标分类、位置回归过程集成到一个卷积神经网络中,将目标检测过程转化成为一种端到端的回归问题。
4.目前,在水上交通领域,关于复杂环境下船舶目标检测问题的研究仍存在以下缺陷:
5.(1)适用场景单一,难以解决海雾等复杂环境下的船舶目标检测问题。现有的目标检测算法由于在目标检测之前没有对输入图像进行去雾预处理,在面对海雾等复杂环境时存在检测精度低,模型泛化能力差等问题。
6.(2)模型权重文件过于庞大,难以部署于微算力、低功耗的平台。在现有的目标检测模型中,yolov4的权重文件约244m,yolov5系列中最小的yolov5s模型的权重文件约15m,这在很大程度上限制了模型在微算力平台的部署。


技术实现要素:

7.针对上述问题本发明提供了一种基于深度学习的应对复杂环境的轻量级高精度船舶目标检测方法。
8.为了达到上述目的,本发明采用了下列技术方案:
9.本发明提供一种应对复杂环境的轻量级高精度船舶目标检测方法,具体包括以下步骤:
10.步骤1,模型轻量化改造:使用轻量化网络对原有网络进行改造,将yolov5s的骨干特征提取网络由参数量较多的cspdarknet53网络替换为参数量较少的mobilenetv3-small网络;
11.步骤2,设计可变卷积模块,并将靠近检测头的两个普通卷积模块替换为可变卷积模块;其中可变卷积网络(dcn)的卷积核具有适应目标形状而发生空间形变的能力,能够根据识别的目标对卷积核进行动态调整,从而捕获不同尺度或形状物体的图像特征。
12.步骤3,优化损失函数:将指导网络进行优化的损失函数的边框回归损失部分由ciou-loss优化为focal loss eiou;focal loss eiou从梯度的角度出发,把高质量的锚框和低质量的锚框分开,进一步优化了边界框回归任务中的样本不平衡问题,使回归过程专注于高质量锚框。
13.步骤4,模型训练和验证:对经步骤1-3改进后的yolov5s模型进行训练,优化网络参数,得到用于检测的权重文件,并进行验证;
14.步骤5,设计海雾环境判断模块,使用图像的模糊度和图像的结构相似性作为判断环境是否有雾的指标,若两种指标均判断图像有雾则环境有雾;
15.步骤6,构建图像去雾模块,使用一种基于物理模型的去雾算法对环境光和全局大气光进行估计,从而恢复出无雾图像;
16.步骤7,进行船舶目标检测:对输入的视频流进行海雾判断,若无雾则直接使用步骤4得到的权重文件进行船舶检测,若有雾则去雾后进行船舶检测,在船舶目标视频流中自动标记船舶目标。
17.进一步,所述步骤2中可变卷积模块的设计具体为:将可变卷积层、批量归一化层和激活函数层依次连接,构建成可变卷积模块。
18.进一步,所述步骤3中focal loss eiou的惩罚项公式如下:
19.l
focl-eiou
=iou
γ
l
eiou
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
20.其中,γ为控制异常值抑制程度的参数,iou是产生的预测框与锚框的交叠率,
[0021][0022]
其中,cw和ch是覆盖预测框和锚框的最小外接矩形框的宽度和高度,c表示能够同时包含预测框和锚框的最小外接矩形的对角线距离,l
iou
、l
dis
、l
asp
分别表示重叠损失,中心距离损失和宽高损失,ρ表示为计算两个输入量欧氏距离的函数,b和b
gt
分别表示预测框和锚框的中心点,w和w
gt
分别表示预测框和锚框的宽,h和h
gt
分别表示预测框和锚框的高。
[0023]
进一步,所述步骤5中图像的模糊度使用拉普拉斯算子来计算,设
▽2f为拉普拉斯算子,则对于离散数字图像f(i,j)其二阶偏导数为:
[0024][0025]
所以拉普拉斯算子表示为:
[0026][0027]
对应的拉普拉斯算子矩阵为:
[0028][0029]
将第一帧图像转化为单通道的灰度图像,然后与拉普拉斯算子进行卷积运算,最后计算输出的方差,如果方差小于一定值,则将图像视为有雾。
[0030]
所述步骤5中图像的结构相似性通过亮度、对比度和结构三个方面来进行评估,对于给定两张图像x、y,二者的结构相似性被定义为:
[0031]
ssim(x,y)=[l(x,y)
α
][c(x,y)
β
][s(x,y)]
γ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0032]
其中,
[0033]
l(x,y)比较亮度,c(x,y)比较对比度,s(x,y)比较结构;
[0034]
α,β,γ>0;μ
x
,μy,σ
x
,σy分别为x和y的平均值和标准差;
[0035]
σ
xy
为协方差;c1,c2,c3均为常数,
[0036]
计算两张图像之间的结构相似性值,该值越小则两张图像的差异越大,即输入环境图像质量越差,结构相似性值小于一定值时,则将图像视为有雾。
[0037]
进一步,所述步骤6中使用基于物理模型的去雾算法对环境光和全局大气光进行估计,从而恢复出无雾图像的具体过程为:
[0038]
在计算机视觉领域,海雾对图像的影响通常使用以下模型进行模拟:
[0039]
h(x)=f(x)e-rd(x)
a(1-e-rd(x)
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0040]
其中,h(x)为待去雾的原图像,f(x)为无雾图像,x为图像像素的空间坐标,r为大气散射系数,d为场景深度,a为全局大气光,e-rd(x)
表示x处的透射率,a(1-e-rd(x)
)被称为环境光;
[0041]
用l(x)表示环境光,则式(8)可改写为:
[0042][0043]
因此,只要从原图像h(x)中计算出环境光l(x)及全局大气光a,就可以恢复出无雾图像f(x);
[0044]
使用基于物理模型的去雾算法对环境光l(x)和全局大气光a进行估计;
[0045]
(1)估计环境光l(x):
[0046]
用t(x)表示透射率,则式(8)可以改写为:
[0047]
h(x)=f(x)t(x) a(1-t(x))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0048]
由式(10)可知:
[0049][0050]
取h(x)三通道中的最小值并记为m(x):
[0051][0052]
因此式(11)可变换为:
[0053][0054]
对式(13)的右边进行均值滤波处理:
[0055][0056]
其中sa表示均值滤波的滑动窗口大小,ω(x)表示像素x的sa×
sa的邻近区域,均值滤波后的结果能反应t(x)的大致趋势,于是得出透射率t(x)的粗略估计值:
[0057][0058]
其中δ=1-ψ,ψ∈[0,1],因此δ∈[0,1];
[0059]
为了解决去雾后的图像出现画面整体偏暗的问题,根据图像的均值调整δ,即δ=ρm
av
,其中,m
av
是m(x)中所有像素的均值,ρ是调节因子;因此可以得到透射率的计算公式:
[0060][0061]
可得环境光为:
[0062]
l(x)=min(1-min(ρm
av
,0.9)m
ave
(x),m(x))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(17)
[0063]
(2)估计全局大气光:
[0064]
式(14)中等式左侧表达式的取值范围应为[0,1],可以得出a≥max(m
ave
(x)),又有a≤max(max
c∈r,g,b
(hc(x)));因此可以确定全局大气光的取值范围为max(m
ave
(x))≤a≤max(max
c∈r,g,b
(hc(x))),即:
[0065]
a=εmax(max
c∈r,g,b
(hc(x))) (1-ε)max(m
ave
(x))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)
[0066]
其中,0≤ε≤1,由于ε的准确值难以获取,为了算法的快速性,取ε为0.5,所以全局大气光:
[0067][0068]
根据所得的环境光l(x)和全局大气光a,利用物理模型恢复出无雾图像f(x):
[0069][0070]
与现有技术相比本发明具有以下优点:
[0071]
1、本发明所提方法在去雾处理后对船舶识别精度达到了94%,平均识别速度为253帧/秒,满足船舶目标实时检测的要求,能够实时在海雾气象条件下高效、准确地进行船舶检测。
[0072]
2、本发明将yolov5s的骨干特征提取网络由参数量较多的cspdarknet53网络替换为参数量较少的mobilenetv3-small网络,实现了模型的轻量化改造;将可变卷积层、批量归一化层和激活函数层依次连接,构建了可变卷积模块,并将靠近检测头的两个普通卷积模块替换为可变卷积模块;将指导网络进行优化的损失函数的边框回归损失部分由ciou-loss优化为focal loss eiou,把高质量的锚框和低质量的锚框分开,进一步优化了边界框
回归任务中的样本不平衡问题,使回归过程专注于高质量锚框。通过对模型进行上述改造,减少模型参数量,使训练后获得的权重文件大小较轻量化该进前较小了40%,容易部署于微算力、低功耗的平台。
[0073]
3、本发明设计了海雾环境判断模块,建立了海雾环境判断方法,使用图像的模糊度和图像的结构相似度作为海雾判断的指标;此外,本发明还设计了图像去雾模块,使用基于物理模型的去雾算法对环境光和全局大气光进行估计,从而恢复出无雾图像。因此,本发明方法可用于海雾等复杂环境下的船舶目标实时检测,提高了海雾等复杂环境下的检测精度。
附图说明
[0074]
图1为本发明的流程图;
[0075]
图2为本发明中改进后的yolov5s网络结构图;
[0076]
图3为本发明在雾天的船舶检测效果图。
具体实施方式
[0077]
下面结合本发明实施例和附图,对本发明实施例中的技术方案进行具体、详细的说明。应当指出,对于本领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干变型和改进,这些也应视为属于本发明的保护范围。
[0078]
应对复杂环境的轻量级高精度船舶目标检测,具体流程如图1所示:
[0079]
(1)模型轻量化改造:
[0080]
首先通过参数量分析,将yolov5s的骨干特征提取网络由参数量较多的cspdarknet53网络替换为参数量较少的mobilenetv3-small网络。mobilenetv3网络综合了以下三种模型的思想:深度可分离卷积、具有线性瓶颈的逆残差结构和基于se(squeeze and excitation)结构的轻量级注意力模型,并使用h-swish激活函数代替了原有的swish激活函数,h-swish激活函数的表达式如下:
[0081][0082]
然后将基于se结构的轻量级注意力模型应用到网络的其他部分。se模型结构考虑通道之间的关系,以此来提升网络性能,能够显式地建立特征通道之间的相互依赖关系,通过学习的方式来获得每个特征通道之间的重要程度,并按照这个重要程度来提升有用特征的权重,以及抑制对当前任务用处不大的特征。
[0083]
(2)设计可变卷积模块:
[0084]
将可变卷积层、批量归一化层和激活函数层依次连接,构建了可变卷积(dbh)模块,并将靠近检测头的两个普通卷积模块替换为可变卷积模块。
[0085]
(3)优化损失函数:将ciou-loss替换为focal loss eiou。
[0086]
原始的yolov5采用ciou-loss作为边框回归的损失函数,ciou-loss虽然考虑了边界框回归的重叠面积、中心点距离和纵横比,但其并非为根据宽高分别与其置信度的真实差反映的纵横比。针对这一问题,eiou-loss将纵横比的损失项拆分成预测的宽高分别与最小外接框宽高的差值,加速了收敛,提高了回归精度。eiou损失函数包含三个部分:重叠损
失,中心距离损失,宽高损失,前两部分延用了ciou中的方法,但是宽高损失直接使预测框与锚框的宽度和高度之差最小,使得收敛速度更快。惩罚项公式如下:
[0087][0088]
其中,cw和ch是覆盖预测框和锚框的最小外接矩形框的宽度和高度,c表示能够同时包含预测框和锚框的最小外接矩形的对角线距离,l
iou
、l
dis
、l
asp
分别表示重叠损失,中心距离损失和宽高损失,ρ表示为计算两个输入量欧氏距离的函数、b和b
gt
分别表示预测框和锚框的中心点、w和w
gt
分别表示预测框和锚框的宽、h和h
gt
分别表示预测框和锚框的高。
[0089]
而focal loss eiou从梯度的角度出发,把高质量的锚框和低质量的锚框分开,进一步优化了边界框回归任务中的样本不平衡问题,使回归过程专注于高质量锚框。其惩罚项公式如下:
[0090]
l
focl-eiou
=iou
γ
l
eiou
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0091]
其中γ为控制异常值抑制程度的参数,iou是产生的预测框与锚框的交叠率根据上述公式:iou越高的损失越大,给越好的回归目标一个越大的损失,有助于提高回归精度。
[0092]
改进后的yolov5s网络结构图如图2所示。
[0093]
(4)模型训练:
[0094]
选择使用选用公开的seaships船舶数据集。seaships数据集是一个大型船舶数据集,涵盖了六种常见的船舶类型(矿石运输船、散货运输船、杂货船、集装箱船、渔船和客船),所有图像均由横琴岛界周围海岸线视频监视系统获取,涵盖了不同船舶大小、不同观测方向、不同光照水平和不同遮挡度的船舶图像。实验使用seaships数据集公开部分共7000张船舶图像,其中,划分6000张图像为训练集,600张图像为验证集,400张图像为测试集。
[0095]
将输入图像的尺寸统一设定为640*640的jpg图像,batch size设置为48,epoch设置为200,学习率设置为0.01,模拟余弦退火策略来调整网络的学习率,训练完成后得到权重文件,验证获得权重文件大小相较于轻量化改进前减小了40%。
[0096]
(5)设计海雾环境判断模块:
[0097]
由于视频背景环境的相对不变性,为了满足实时检测的要求,首先对于输入视频流的第一帧进行图像清晰度判断,判断图像是否有雾。选用图像的模糊度和图像与参考图像的结构相似度作为图像是否有雾的判断标准,对输入视频的第一帧进行视频环境是否有雾的判断。若两种指标均判断图像有雾则进行下一步的去雾操作。
[0098]
使用拉普拉斯算子来计算图像的模糊度,拉普拉斯运算是偏导数运算的线性组合。设
▽2f为拉普拉斯算子,则对于离散数字图像f(i,j)其二阶偏导数为:
[0099][0100]
所以拉普拉斯算子表示为:
[0101][0102]
对应的拉普拉斯算子矩阵为:
[0103][0104]
首先将第一帧图像转化为单通道的灰度图像,然后与拉普拉斯算子进行卷积运算,最后计算输出的方差。如果方差小于一定值,则将图像视为有雾。
[0105]
结构相似性(ssim)反映两张图像的相似度。当两张图像分别为清晰图像和模糊图像时,二者的结构相似性可以作为图像质量的衡量指标。结构相似性的基本思路是通过亮度、对比度和结构三个方面来对两幅图像的相似性进行评估。对于给定两张图像x、y,二者的结构相似性被定义为:
[0106]
ssim(x,y)=[l(x,y)
α
][c(x,y)
β
][s(x,y)]
γ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0107]
其中:
[0108]
l(x,y)比较亮度,c(x,y)比较对比度,s(x,y)比较结构;
[0109]
α,β,γ>0;
[0110]
μ
x
,μy,σ
x
,σy分别为x和y的平均值和标准差;
[0111]
σ
xy
为协方差;
[0112]
c1,c2,c3均为常数。
[0113]
将数据集中的一张清晰无雾图像固定为参考图像x,将视频流输入的第一帧图像做为y,计算两张图像之间的结构相似性值,该值越小则两张图像的差异越大,即输入环境图像质量越差。结构相似性值小于一定值时则将图像视为有雾。
[0114]
(6)构建图像去雾模块:
[0115]
在计算机视觉领域,海雾对图像的影响通常使用以下模型进行模拟:
[0116]
h(x)=f(x)e-rd(x)
a(1-e-rd(x)
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0117]
其中,h(x)为待去雾的原图像,f(x)为无雾图像,x为图像像素的空间坐标,r为大气散射系数,d为场景深度,a为全局大气光,e-rd(x)
表示x处的透射率,a(1-e-rd(x)
)被称为环境光。用l(x)表示环境光,则式(8)可改写为:
[0118][0119]
因此,只要从原图像h(x)中计算出环境光l(x)及全局大气光a,就可以恢复出无雾图像f(x)。使用基于物理模型的去雾算法对环境光和全局大气光进行估计。
[0120]
估计环境光:
[0121]
用t(x)表示透射率,则式(8)可以改写为:
[0122]
h(x)=f(x)t(x) a(1-t(x))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0123]
由式(10)可知:
[0124][0125]
取h(x)三通道中的最小值并记为m(x):
[0126][0127]
因此式(11)可变换为:
[0128][0129]
对式(13)的右边进行均值滤波处理:
[0130][0131]
其中sa表示均值滤波的滑动窗口大小,ω(x)表示像素x的sa×
sa的邻近区域。均值滤波后的结果能反应t(x)的大致趋势,于是得出透射率的粗略估计值:
[0132][0133]
其中δ=1-ψ,ψ∈[0,1],因此δ∈[0,1]。
[0134]
为了解决去雾后的图像出现画面整体偏暗的问题,根据图像的均值调整δ,即δ=ρm
av
,其中,m
av
是m(x)中所有像素的均值,ρ是调节因子。因此可以得到透射率的计算公式:
[0135][0136]
可得环境光为:
[0137]
l(x)=min(1-min(ρm
av
,0.9)m
ave
(x),m(x))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(17)
[0138]
估计全局大气光
[0139]
式(14)中等式左侧表达式的取值范围应为[0,1],可以得出a≥max(m
ave
(x)),又有a≤max(max
c∈r,g,b
(hc(x)))。因此可以确定全局大气光的取值范围为max(m
ave
(x))≤a≤max(max
c∈r,g,b
(hc(x))),即:
[0140]
a=εmax(max
c∈r,g,b
(hc(x))) (1-ε)max(m
ave
(x))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)
[0141]
其中0≤ε≤1,由于ε的准确值难以获取,为了算法的快速性,取ε为0.5,所以全局大气光:
[0142][0143]
根据所得的环境光l(x)和全局大气光a,利用物理模型恢复出无雾图像f(x):
[0144][0145]
(7)使用步骤(5)中的方法对输入的视频流进行海雾判断,若无雾则直接使用步骤(4)中得到的权重文件进行船舶检测;若有雾则使用步骤(6)中的去雾方法对视频流去雾后再使用步骤(4)中得到的权重文件进行船舶检测,在船舶目标视频流中自动标记船舶目标。
[0146]
本发明方法在去雾处理后对船舶识别精度达到了94%,平均识别速度为253帧/秒,满足船舶目标实时检测的要求,能够实时在海雾气象条件下高效、准确地进行船舶检测。图3为本发明在雾天的船舶检测效果图。表明了本发明方法的有效性。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献