1.一种基于深度学习的船舶目标跟踪方法,其特征在于,包括以下步骤:步骤S1:使用自建船舶分类和检测数据集对深度网络进行训练和压缩,得到一个轻量化的船舶检测网络;
步骤S2:使用训练好的轻量化模型检测视频中的船舶目标并进行跟踪;
其中,所述步骤S1进一步包括:
步骤S11:获取大规模船舶图像数据集,并将它们分为分类数据集和检测数据集两部分,分别进行标注;
步骤S12:使用步骤S11的分类数据集对原始YOLOv3网络中的特征提取模型进行训练,得到一个初始的网络权重模型;
步骤S13:采用设定的通道剪枝方法逐层对步骤S12得到的初始权重模型进行压缩;
所述步骤S13包括:
步骤S131:设计网络压缩性能评估算法,如下:其中,α是N维特征向量,αi表示特征向量的第i个通道,βi为特征向量第i个特征通道所对应的卷积核通道,λ是通道选择的开关向量,c是开关向量的长度,μ是惩罚系数,||x||2为L2范数,||x||1为L1范数,||x||0为L0范数,它们的计算公式为:其中,L0范数表示向量中非零元素的个数,L1范数表示向量中非零元素的绝对值之和;
步骤S132:通过步骤S131中的方程评估压缩算法的性能,对剪枝的通道选择参数进行优化,无限逼近最优值;对于开关向量,λi=0表示特征通道ai被剪枝,λi=1表示特征通道ai被保留;
步骤S133:按照步骤S132中的剪枝方法逐层对步骤S12的深度网络模型进行通道剪枝,每次剪枝之后重新训练权重,再对训练好的模型再剪枝,再重新训练,直到满足设定条件为止;
步骤S14:将原始检测网络中特征提取网络替换为步骤S13得到的轻量化模型,保持原有输入输出不变,使用船舶检测数据集进行训练,得到一个轻量化的船舶检测网络;
所述步骤S2进一步包括:
步骤S21:将步骤S14训练好的轻量化检测网络移植到船舶目标跟踪框架中,实时检测视频每帧图像上的船舶目标;
步骤S22:设计跟踪框架中的运动状态预测算法,得到运动状态预测结果;
所述步骤S22进一步包括:
步骤S221:给船舶运动系统建模,用状态空间X(t)表示目标在t时刻的位置;
步骤S222:根据扩展卡尔曼滤波器的原理,设计一个船舶目标的状态预测算法,如下:在笛卡尔坐标系下该边界框的运动状态方程为:X(t)=FX(t-1)+W(t-1)
其中X(t)为目标状态空间,W(t-1)为t-1时刻的系统噪声,F为系统的状态转移矩阵;
系统的观测方程为:
Z(t)=g[X(t)]+V(t)
其中V(t)为t时刻的测量噪声,g为非线性函数;
状态方程是线性的,观测方程是非线性的,可得其线性化观测方程:其中 为X(t)的滤波
值;
系统噪声W(t)具有协方差矩阵Q,测量噪声V(t)具有协方差矩阵R,两者均已知;初始滤波值 取X(0),初始滤波均方差矩阵P0已知;
状态一步预测:
均方差矩阵一步预测:
P(t,t-1)=FP(t-1)FT+Q滤波增益:
K(t)=P(t,t-1)GT(t)[G(t)P(t,t-1)GT(t)R]-1滤波均方差矩阵:
P(t)=[I-K(t)G(t)]P(t,t-1)其中I为单位矩阵;
最后,得到状态滤波值:
步骤S223:使用步骤S222的算法,对检测边界框进行运动状态预测,得到预测结果;
步骤S23:设计船舶跟踪框架中的跟踪匹配策略,实现在线的船舶目标跟踪;
所述步骤S23进一步包括:
步骤S231:通过步骤S21检测视频第1帧图像,得到的检测结果用于跟踪框架的初始化;
步骤S232:在t时刻,利用t-1时刻的检测结果初始化扩展卡尔曼滤波器,通过步骤S22得到t时刻目标可能出现的位置区域;通过S21检测t时刻的目标位置,计算检测结果与预测结果的IoU(Intersection over Union)过滤交并比低于阈值的预测结果:其中Xpos表示检测结果的边界框的左上角坐标和右下角坐标,表示为其中(x,y)表示边界框的中心点坐标,r表示边界框的纵横比,h表示边界框的高;相同的, 表示预测结果的边界框的左上角和右下角坐标;
步骤S233:通过步骤S232过滤之后剩下的跟踪结果与t时刻的检测结果计算向量空间的马氏距离,取最小的马氏距离为t时刻目标i与轨迹j的运动匹配度:其中Xi表示第i个检测结果的状态空间, 表示第j个预测结果的状态空间,Σ表示样本的协方差矩阵;
步骤S234:当步骤S233得到的运动匹配度小于训练好的阈值时,则认为匹配成功,用对应的检测结果跟踪该跟踪轨迹;对于未匹配的检测结果和未匹配的跟踪轨迹,分别计算其中每个检测边界框与每条轨迹最新一个匹配成功的结果边界框之间的IOU,当IOU大于0.9时,则将此检测结果与该轨迹匹配;
步骤S235:设计目标消失的停止跟踪策略,设定每一条轨迹当出现连续30帧图像都无法关联成功时,判定目标消失,停止轨迹的更新。