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

一种基于神经网络优化学习的水下航行器目标检测方法

2022-11-13 11:34:21 来源:中国专利 TAG:


1.本发明属于深度学习技术领域,具体涉及一种基于神经网络优化学习的水下航行器目标检测方法。


背景技术:

2.近年来深度学习技术不断发展,并且逐渐应用于各个领域,如计算机视觉、生物识别等。在计算机视觉领域中目标检测技术的应用较为广泛,对于该技术其一般需要让神经网络在大规模的样本集中进行学习才能达到良好的泛化性能。目前无人车,无人机等设备上都配备了目标检测技术,并且效果都比较好。而对于水下航行器来说,其往往不能收集到足够的样本集,通常只能采用小规模的样本集来训练水下航行器的目标检测网络,训练得到目标检测网络的泛化性能不强,无法稳定地应用在水下航行器上。因此采用小规模样本集对水下航行器的目标检测网络进行训练并使其达到较好的泛化性能是需要解决的一个难题。
3.目前也有一些能够让目标检测网络在小规模样本集上学习的方法,同时可以提高目标检测网络泛化性能。其中元学习方法就是这类方法中的一种,其通过元学习方法让目标检测网络学习元知识使神经网络能够在相关小规模样本中快速学习,并提高泛化性能。但其依然需要使用其他无关的大规模样本集来学习其中的元知识,这样不仅需要很长的训练时间,而且还会消耗较多的电能。


技术实现要素:

4.本发明的目的在于提供一种基于神经网络优化学习的水下航行器目标检测方法。
5.本发明的目的通过如下技术方案来实现:
6.一种基于神经网络优化学习的水下航行器目标检测方法,包括以下步骤:
7.步骤一,首先对水下航行器采集到的小规模样本集水下目标图片进行标注,需要标注图片中的目标中心坐标x和y、目标宽高w和h、目标类别class,并将其划分为训练集和测试集;然后再将划分的训练集按照类别再进行划分,把每个类别作为一个元训练集,同时将整个训练集作为一个元测试集,得到训练集、测试集、多个元训练集和一个元测试集;
8.步骤二,迁移学习通过大规模样本集目标检测网络的部分权重到水下航行器目标检测网络模型中,其权重表示为φ;
9.步骤三,拷贝一份步骤二中的迁移好的网络模型,称它为分支网络,其权重表示为ψ;
10.步骤四,随机选取一个元训练集输入到分支网络中进行学习,利用目标检测的损失函数计算损失值l
ψ
,并通过反向传播计算每个神经元处的梯度值,同时完成分支网络的权重更新;其中随机选取过的元训练集不再参加下一次的随机采样,权重更新公式为:
[0011][0012]
其中,α为任务学习率,为对应于训练集损失l
ψ
的网络权重梯度值;
[0013]
步骤五,将元测试集输入到更新后的分支网络中,再利用损失函数计算得到i元测试集对应的损失值l
ψi
,同时通过反向传播计算每个神经元处的梯度值,将该梯度保存下来;
[0014]
步骤六,判断是否遍历了元训练集,若否转至步骤四,若是运行步骤七;
[0015]
步骤七,取出所有保存的梯度值,用其更新水下航行器目标检测网络的权重,水下航行器目标检测网络的权重更新公式为:
[0016][0017]
其中β为元学习率,为对应于i元测试集损失的网络权重梯度值,为对所有元测试集对应的网络权重梯度值的求和;
[0018]
步骤八,根据设定的元学习次数,判断是否完成元学习部分,若否转至步骤三,若是运行步骤九;
[0019]
步骤九,将训练集输入到最终的水下航行器目标检测网络中进行学习,得到最终学习完成的目标检测网络。
[0020]
本发明的有益效果在于:
[0021]
(1)本发明能够使水下航行器目标检测网络仅在小规模样本集上训练,并达到较好的泛化性能。
[0022]
(2)本发明使用小规模样本集进行小样本学习时,不需要使用其他任何无关的样本集,从而能够有效减少学习所需的时间和能耗。
[0023]
(3)本发明具有广泛的适用性,可以很容易地扩展到各种任务的小规模样本集神经网络训练中。
附图说明
[0024]
图1为本发明的小规模样本集划分方式示意图;
[0025]
图2本发明的水下航行器目标检测的神经网络优化学习方法流程图。
具体实施方式
[0026]
下面结合附图对本发明做进一步描述。
[0027]
本发明的目的是针对水下航行器目标检测网络在小规模样本集上训练无法达到较好泛化性能的问题,而提出一种基于神经网络优化学习的水下航行器目标检测方法,使水下航行器目标检测网络只在小规模样本集上进行学习,而不需要学习其他领域中的大规模样本集,同时可以提高神经网络的泛化性能。
[0028]
结合图1,小规模样本集的划分方式:
[0029]
小规模样本集采用水下航行器收集到的水下目标图片构成,包括水下图片和标注数据两部分组成,其中每张图片都有与之对应的标注数据。
[0030]
(1)首先对水下航行器采集到的小规模样本集水下目标图片进行标注,需要标注图片中的目标中心坐标(x,y)、目标宽高(w,h)和目标类别(class),并将其按照比例划分为训练集和测试集,这两者主要用来训练和测试最终阶段的网络。
[0031]
(2)然后在训练集拷贝两份,一份按照类别划分为多个元训练集,另一份不进行任何处理直接作为元测试集。元训练集的总和与元测试集在本质上是相同的。
[0032]
结合图2,小规模样本集优化学习方法的具体实施步骤如下:
[0033]
步骤一,采用图1所示的方式划分好小规模样本集,分别得到训练集、测试集、元训练集和元测试集。
[0034]
步骤二,将经过大规模样本集训练的神经网络的部分权重迁移到水下航行器目标检测网络中。在迁移权重时,只迁移两者权重结构相同,并且网络结构层级相同的权重,其他部分的权重采用符合标准正态分布的初始化方法进行初始化,其权重表示为φ。
[0035]
步骤三,拷贝一份水下航行器目标检测网络模型,称它为分支网络,其权重表示为ψ。这里在程序中应该进行深度拷贝,保证分支网络在学习过程中的权重更新不会改变水下航行器目标检测网络的权重。
[0036]
步骤四,在元训练集中随机选取一类输入到分支网络中进行学习,利用目标检测的损失函数计算其损失值l
ψ
,并通过反向传播计算每个神经元处的梯度值,然后采用随机梯度下降(sgd)的方式来更新分支网络中的权重。随机梯度下降方法可以使网络具有更高的鲁棒性,因此选择这种方法来更新网络的权重。这里随机选取到的一类元训练集不再参与此次内部循环的随机采样中。权重更新公式为:
[0037][0038]
其中α为任务学习率,为对应于训练集损失l
ψ
的网络权重梯度值。
[0039]
步骤五,将元测试集输入到更新后的分支网络中,再利用损失函数计算损失值l
ψi
,并通过反向传播计算出每个神经元处的梯度值,然后将所有的梯度值保存下来。此处不进行权重更新,只计算梯度值。
[0040]
步骤六,判断是否遍历了元训练集,若否转至步骤四,若是运行步骤七。
[0041]
步骤七,取出所有保存的梯度值,采用随机梯度下降的方法来更新水下航行器目标检测网络的权重。水下航行器目标检测网络的权重更新公式为:
[0042][0043]
其中β为元学习率,为对应于i元测试集损失的网络权重梯度值,为对所有元测试集对应的网络权重梯度值的求和。
[0044]
步骤八,根据设定的元学习次数,判断是否完成元学习部分,若否转至步骤三,若是运行步骤九。
[0045]
步骤九,将训练集输入到水下航行器目标检测网络中进行学习,利用损失函数计算损失值,并通过反向传播计算梯度值完成水下航行器目标检测网络的更新。然后输入测试集并计算评价指标mar来判断目标检测网络最终的泛化性能。最后根据设定的学习次数,判断是否完成学习,若否转至步骤九,若是则本流程运行结束。
[0046]
最终得到的目标检测网络将部署到水下航行器中,水下航行器在水下拍摄的图像信息作为三通道的矩阵输入到目标检测网络中,网络最终输出图像中的包括目标的位置和类别信息,其具体为目标的中心坐标(x,y)、目标的宽高(w,h)、目标类别(class)和目标置信度(confidence)。
[0047]
本发明元学习部分的优化学习方法,包括:元训练集和测试集的划分方式、分支网络的梯度更新方式和水下航行器目标检测网络的梯度更新方式。
[0048]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献