本发明属于机器视觉和图像处理领域,涉及深度学习模型的设计与训练,实现了一种复杂背景下的船目标精确检测与分割方法。
背景技术:
船目标作为水上运输载体和重要军事目标,其精确检测和分割的现实意义十分重大。比如船只搜索救援、出入境船舶监控、船只非法倾倒污染物管制、海运交通管理,都对船目标的精确检测有着极高的要求随着卷积神经网络和深度学习技术不断完善,尤其是在复杂背景下目标检测和识别领域,积累了大量文献和技术经验。得益于其强大的特征提取和学习能力,深度卷积神经网络能够对复杂的图像进行特征抽取和对目标进行层次化的特征表示,基于目标的结构不变性,能够对形变目标、遮挡目标、模糊目标、多尺度目标以及复杂背景下的目标有着良好的检测能力。
对于应用于战场侦察与监视的俯视角图像中的船目标检测,尤其是复杂地面背景干扰下的船目标检测问题上,仍然有很多问题亟待解决:
(1)栈桥、码头、装卸平台、靠船墩、集装箱、工作棚等地面目标在俯视角图像上呈现的姿态与船目标十分相似,极易产生误检,对检测结果产生干扰。
(2)对于一些密集目标:比如多艘船舶并排或者首尾相连的情况,在高分辨率的图像中容易被错误地检测为同一个目标。
如何有效排除陆上与沿岸干扰目标的影响,以及提高并排和密集目标的检测和分割结果是实现船目标精确检测与分割的关键。
技术实现要素:
为解决上述技术问题,本发明通过训练得到一个基于深度卷积神经网络的目标检测与分割模型,实现多目标的置信度、检测框和图像掩膜的并行输出。具体技术方案如下:
一种船目标精确检测与分割方法,包括以下步骤:
(s1)训练深度卷积神经网络模型,具体为,
(s11)采集包含船目标的样本图像组成样本图像集,并对样本图像集进行预处理;
(s12)人工标注样本图像中的船目标;
(s13)将样本图像输入深度卷积神经网络进行特征提取,输出特征图;所述特征图为深度卷积神经网络最后一层的输出结果;
(s14)预先设置多个旋转框,在特征图的每个像素点上滑动预设的旋转框,提取每个旋转框中的像素点,通过旋转金字塔池化方法输出相同维度的特征向量;将每个特征向量输入全连接层,并输出每个旋转框内含有目标的概率值,选取概率值超过阈值的旋转框作为感兴趣区域;
(s15)依据人工标注情况,选取感兴趣区域与目标匹配度大于α的旋转框为正样本,目标匹配度小于β的为旋转框为负样本,β、α均为常数且0<β<α<1;用选取的正样本和负样本对深度卷积神经网络模型进行训练;
(s16)将特征向量分别输入深度卷积神经网络的三个全连接层,计算置信度损失值、位置损失值和分割掩码损失值,并将三个损失值相加得到总损失值,
若总损失值达到设定的数值范围,则结束模型训练,转入步骤(s2);否则,扩增样本图像,返回步骤(s11)继续执行模型训练。
(s2)获取待检测与分割图像,输入步骤(s1)中的深度卷积神经网络模型,输出船目标结果。
进一步地,所述步骤(s11)中的对样本图像集进行预处理具体为:
(s111)计算每张样本图像中船目标的密集程度值,所述密集程度值为目标与最近邻目标之间像素点的最近距离;
(s112)搜索样本图像集中所有样本图像的密集程度值小于其旋转包围框短边长度的船目标对;
(s113)步骤(s112)中得到的船目标对做切片处理,并进行随机缩放,随机剪裁,水平翻转,灰度变换、饱和度变化处理之后,更新到样本图像集中。
进一步地,所述步骤(s12)中人工标注样本图像中的船目标具体过程为:对样本图像中的船目标进行像素级的人工标注,若单幅样本图像中存在多个船目标,则进行多个标注,根据每个船目标的标注掩膜生成最小外接矩。
进一步地,所述步骤(s14)中预先设置多个旋转框具体过程为:预先设置的旋转框总个数为12个,分成4个形状相同、朝向不同的组合结构,每个组合结构由3个尺度不同的矩形框组成,所述3个尺度不同的矩形框的长边相互平行、中心重合;所述4个组合结构的中心重合;
进一步地,所述步骤(s14)中通过旋转金字塔池化方法输出相同维度的特征向量具体过程为:
(s141)分别将每个旋转框划分为若干个面积相同的栅格;
(s142)将每个栅格分为面积相同的2×2的四个小方格,找出每个小方格的中心点及其距离最近的四个像素点的值,利用双线性插值法得到该中心点的像素值;
(s143)分别求取每个栅格中四个小方格中心点像素值的最大值,作为该栅格的池化值;将所有栅格的池化值拼接得到特征向量;经过步骤(s141)-(s143)的处理,每个旋转框对应得到一个特征向量。
进一步地,所述步骤(s15)中感兴趣区域与目标匹配度iou的计算公式为:
si代表感兴趣区域的像素点,
进一步地,所述步骤(s111)计算目标与最近邻目标之间像素点的最近距离的计算公式为:
其中distance(a,b)表示目标与最近邻目标的最近距离,a,b代表两个距离最近的船目标,(xa,ya),(xb,yb)为目标a,目标b中包含的各像素点的坐标。
进一步地,所述α、β的取值为α=0.6、β=0.2。
采用本发明获得的有益效果为:本发明能够有效实现对于船目标的精确检测与分割,对密集目标、并排目标和临岸目标均有较高的检测准确度。本发明采用了旋转框预测方法,使得候选区域与真值框有较高的交并比,通过设置三个独立的损失层并行输出目标的置信度、位置和分割掩码,通过针对性的训练数据扩增来进行网络训练,提高模型的鲁棒性。
附图说明
图1为本发明的步骤图;
图2为本发明的算法流程示意图;
图3为基于旋转滑动窗的候选框预测模块示意图;
图4为滑动窗尺寸选取示意图;
图5为旋转金字塔池化示意图;
图6为具体实施例中的实验结果图,其中图(a)、(c)为原始图像,图(b)为图(a)对应的输出检测与分割结果图,图(d)为图(c)对应的输出检测与分割结果图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图1所示为本发明方法流程图。一种船目标精确检测与分割方法,包括以下步骤:
(s1)训练深度卷积神经网络模型,具体为,
(s11)采集包含船目标的样本图像组成样本图像集,并对样本图像集进行预处理;
(s12)人工标注样本图像中的船目标;
(s13)将样本图像输入深度卷积神经网络进行特征提取,输出特征图;所述特征图为深度卷积神经网络最后一层的输出结果;
实施例中,采用resnet-50进行特征图提取。(参考文献:k.he,x.zhang,s.renandj.sun.deepresiduallearningforimagerecognition[c].29thieeeconferenceoncomputervisionandpatternrecognition,cvpr2016,2016770-778.)
(s14)预先设置多个旋转框,在特征图的每个像素点上滑动预设的旋转框,提取每个旋转框中的像素点,通过旋转金字塔池化方法输出相同维度的特征向量;将每个特征向量输入全连接层,并输出每个旋转框内含有目标的概率值,选取概率值超过阈值的旋转框作为感兴趣区域;如图3所示。
如图4所示,在具体实施例中,预设的四个方向,三个尺度的共12个旋转框来预测船目标位置。优选地,旋转角度为0°,45°,90°,135°。三个尺度大小为,长边长16、32、48个像素点,长宽比为5∶1。
如图5为旋转金字塔池化方法示意图。通过旋转金字塔池化方法输出相同维度的特征向量具体过程为:
(s141)分别将每个旋转框划分为若干个面积相同的栅格;
(s142)将每个栅格分为面积相同的2×2的四个小方格,找出每个小方格的中心点及其距离最近的四个像素点的值,利用双线性插值法得到该中心点的像素值;
(s143)分别求取每个栅格中四个小方格中心点像素值的最大值,作为该栅格的池化值;将所有栅格的池化值拼接得到特征向量;经过步骤(s141)-(s143)的处理,每个旋转框对应得到一个相同长度的特征向量;
(s15)依据人工标注情况,选取感兴趣区域与目标匹配度大于α的旋转框为正样本,目标匹配度小于β的为旋转框为负样本,β、α均为常数且0<β<α<1;用选取的正样本和负样本对深度卷积神经网络模型进行训练;
实施例中,因为在训练样本包含大量复杂背景,所以设置其中正负样本数设为1∶3,若正样本数量仍不足则剩余部分由负样本填补。还可以对正样本进行非极大值抑制(non-maximumsuppression),筛选去除大量重复感兴趣区域,从中优选得分较高的256个感兴趣区域。
(s16)将特征向量分别输入深度卷积神经网络的三个全连接层,计算置信度损失值、位置损失值和分割掩码损失值,并将三个损失值相加得到总损失值,
若总损失值达到设定的数值范围,则结束模型训练,转入步骤(s2);否则,扩增样本图像,返回步骤(s11)继续执行模型训练。
将感兴趣区域输入独立设置的三个全连接层,分别对感兴趣区域的置信度损失lcls、位置损失lbox和分割掩码损失lmask的进行计算,这三个部分相加得到总的损失函数l:
l=lcls+lbox+lmask(公式二)
(1)计算置信度损失lcls选用对数似然损失函数:
pi表示将第i个输出的感兴趣区域判别为目标的概率,布尔值yi表示第i个输出感兴趣区域是否存在目标,存在取值为1,否则为0。
(2)计算位置损失lbox,采用平滑1-范数进行计算:
其中,p表示感兴趣区域与人工标注框的匹配情况,即pij={1,0}表示第i个输出的感兴趣区域与第j个人工标注框是否匹配;预测结果
(3)计算分割掩码损失lmask,其定义为:每个感兴趣区域的掩码分支输出维度为n2,即分辨率为n×n的二进制掩码,即判断该像素点属于目标还是背景,对每个像素进行sigmoid计算,lmask则定义为平均二进制交叉熵损失。掩码损失函数lmask仅在候选区域的正样本上定义,掩码目标是候选区域及其对应的真值框之间的交集的掩码。
实施例中,采取随机梯度下降法进行模型训练,模型学习率设置为0.0001,迭代20000次后下降为0.00001,总损失值稳定在0.17左右不再下降时训练停止。
(s2)获取待检测与分割图像,输入步骤(s1)中的深度卷积神经网络模型,输出船目标结果。
如图6所示,为采用本发明方法的两个实施例,(a)、(c)为输入原始图像,(b)、(d)为输出标注了船目标检测和分割结果的图像。从实施例结果来看,本发明能够有效实现对于船目标的精确检测与分割,对密集目标、并排目标和临岸目标均有较高的检测准确度。
进一步地,应当指出,本发明并不局限于以上特定实施例,本领域技术人员可以在权利要求的范围内做出任何变形或改进。