1.一种基于CenterNet的轻量级水下目标检测方法,其特征在于包括下述步骤:步骤1、在水下拍摄目标图像,制作数据集;
将待检测的目标类别放置于水下,在遥控无人潜水器上安装摄像头,对待检测目标进行多尺度、多方位的图像拍摄,得到目标图像,将目标图像制作为数据集;
步骤2、将数据集分为训练集和测试集,并对训练集进行标注;
步骤3、选择对小目标、密集目标检测效果更好且更适合轻量级算法的ResNet18作为特征提取网络;搭建特征金字塔,分别将ResNet18中卷积通道数为128、256、512的最后一层进行多尺度特征融合,输出融合后图像大小为64×64的特征图至检测头CenterNet中,删除特征金字塔输出图片大小较小的两个输出通道,使用特征金字塔进行多尺度特征融合并只保留了输出图片大小最大的通道,无需通过三层反卷积,只保留其中一层反卷积,删除其他两层,将最终输出图像大小增大为128×128;
步骤4、使用CenterNet算法对训练集中的图像及标注的信息进行深度学习的训练,得到训练后的CenterNet算法模型;
步骤5、使用CenterNet算法对测试集中的图像或实际拍摄的图像进行目标检测,获取图像中待检测目标的分类信息和位置信息,将测试集中的图像或实际拍摄的图像读取训练好的水下光学图像目标检测训练模型后,通过水下目标检测算法进行检测;
在检测阶段,首先将输入图像缩放至512×512的大小,随后对缩放后的图像通过特征提取网络进行特征提取,此时特征提取网络中的参数即为训练模型的参数,提取最优的水下光学图像中的特征信息,此时模型的LOSS收敛,即为最优,特征信息将输入至检测头部分,检测头部分的具体检测方式如下:W×H×3
输入图像为I∈R ,其中W和H分别为图像的宽和高,在检测时,通过高斯核产生出关键点的热点图: 代表热点图中每个点的值,其中R为输出对应原图的步长,设置为4,C代表目标检测对象的类别, 就是一个检测到物体的预测值,对于表示对于类别C,在当前(x.y)坐标中检测到了这种类别的物体,而 则表示当前这个坐标点不存在类别为C的物体;
将输出图中的每个类的热点单独地提取出来,提取方式如下:
根据步骤4训练出来的模型预测出来的 的值,也就是当前预测目标
的中心点存在物体的概率值选择中心点;采用3x3的最大池化,检测出当前热点的值 比周围的八个近邻点都大于等于的点,然后取所有点中数值 最大的前m个点,m小于等于100,从图像中选出的m个中心点,通过中心点的位置预测出目标物的位置,得到m个预测框,预测框是否准确,从而得到一个估计值为置信度; 为检测到的点, 代表C类中检测到的点,每个关键点的位置用整型坐标表示为 然后使用 表示当前点为中心点的概率,随后使用坐标产生预测框:其中 是当前点对应原始图像的偏置量, 代表预测出的当前点对应
目标的长和宽;将置信度小于阈值0.3的预测目标删除,保留置信度大于等于阈值0.3的预测框的位置作为最终的位置信息,将热点图的分类作为最终的分类信息。
2.根据权利要求1所述的基于CenterNet的轻量级水下目标检测方法,其特征在于:所述步骤2包括如下步骤:
将所述图像按比例分为训练集和测试集,比例在7:3至9:1之间,训练集图像数量大于
500张,使用软件labelimage对获取的训练集图像进行数据标注,标注信息为图像中欲检测目标的位置信息及类别信息,得到水下光学图像数据集。
3.根据权利要求1所述的基于CenterNet的轻量级水下目标检测方法,其特征在于:所述步骤4包括如下步骤:
将数据集中的标注文件与图像分别储存在两个文件夹中,共同移入算法的data文件夹下,在终端通过命令运行算法的main.py文件以训练网络;在训练过程中,首先调用包含了多尺度融合方式的特征提取网络对训练集中的水下光学图像进行特征提取,再调用检测头相关文件,将特征提取网络输出的特征图输出到检测头内的损失函数中计算数值,完成一次正向传播;之后,卷积神经网络根据损失函数数值的变化情况,调整模型内的参数,直到损失函数LOSS达到最小值,不再下降,此时的训练模型即为最优的水下光学图像目标检测训练模型,即完成CenterNet算法的训练部分。