发明内容
为此,本发明提供一种基于自监督表征学习的海洋目标检测方法及系统,解决大规模海洋目标数据集缺乏所导致的深度学习算法在海洋目标检测领域应用受限的问题,充分利用无标签海洋数据为出发点,将自监督表征学习引入海洋目标检测,降低海洋数据样本不足对检测效果的影响。
为了实现上述目的,本发明提供如下技术方案:基于自监督表征学习的海洋目标检测方法,包括自监督船舶特征学习阶段和有监督海洋目标检测阶段:
所述自监督船舶特征学习阶段中,采用动量对比方式在无标注海洋目标数据上训练特征提取模型,所述动量对比过程将字典作为一个样本队列进行维护,并通过采用动量更新的方式更新键编码器;
所述有监督海洋目标检测阶段中,采用Faster R-CNN模型进行海洋目标检测,所述Faster R-CNN模型包括进行特征提取的骨干网络、生成感兴趣区域的区域候选网络和RoI Head网络;
通过所述骨干网络采用自监督船舶特征学习阶段所得的特征提取网络参数进行初始化,为目标检测模型提供海洋环境及船舶相关的先验知识,然后在训练模型的同时对骨干网络进行参数微调。
作为基于自监督表征学习的海洋目标检测方法的优选方案,在所述样本队列中,预设一个键作为和给定查询相匹配的正样本,将剩余键作为负样本;训练过程中通过InfoNCE损失函数提高查询特征的相似度,InfoNCE损失函数Lq为:
式中,q为查询,k+为键值,ki为编码样本,τ为可调节的超参数。
作为基于自监督表征学习的海洋目标检测方法的优选方案,所述动量更新的方式为:
θk←mθk+(1-m)θq
式中,θk和θq分别是键编码器参数和查询编码器参数,m∈[0,1)是动量系数。
作为基于自监督表征学习的海洋目标检测方法的优选方案,所述RoI Head网络包括分类任务和定位任务,所述分类任务采用交叉熵损失函数,所述定位任务别采用SmoothL1损失函数。
作为基于自监督表征学习的海洋目标检测方法的优选方案,采用海洋数据集MARVEL和海洋数据集SMD进行检测实验;所述海洋数据集MARVEL包括用于船舶分类任务的数据和用于船舶验证、检索、识别任务的数据;所述海洋数据集SMD包括可见光数据和红外数据。
本发明还提供一种基于自监督表征学习的海洋目标检测系统,包括自监督船舶特征学习单元和有监督海洋目标检测单元:
所述自监督船舶特征学习单元采用动量对比方式在无标注海洋目标数据上训练特征提取模型,所述动量对比过程将字典作为一个样本队列进行维护,并通过采用动量更新的方式更新键编码器;
所述有监督海洋目标检测单元采用Faster R-CNN模型进行海洋目标检测,所述Faster R-CNN模型包括进行特征提取的骨干网络、生成感兴趣区域的区域候选网络和RoIHead网络;
通过所述骨干网络采用自监督船舶特征学习阶段所得的特征提取网络参数进行初始化,为目标检测模型提供海洋环境及船舶相关的先验知识,然后在训练模型的同时对骨干网络进行参数微调。
作为基于自监督表征学习的海洋目标检测系统的优选方案,在所述样本队列中,预设一个键作为和给定查询相匹配的正样本,将剩余键作为负样本;训练过程中通过InfoNCE损失函数提高查询特征的相似度,InfoNCE损失函数Lq为:
式中,q为查询,k+为键值,ki为编码样本,τ为可调节的超参数。
作为基于自监督表征学习的海洋目标检测系统的优选方案,所述动量更新的方式为:
θk←mθk+(1-m)θq
式中,θk和θq分别是键编码器参数和查询编码器参数,m∈[0,1)是动量系数。
作为基于自监督表征学习的海洋目标检测系统的优选方案,所述RoI Head网络包括分类任务和定位任务,所述分类任务采用交叉熵损失函数,所述定位任务别采用SmoothL1损失函数。
作为基于自监督表征学习的海洋目标检测系统的优选方案,采用海洋数据集MARVEL和海洋数据集SMD进行检测实验;所述海洋数据集MARVEL包括用于船舶分类任务的数据和用于船舶验证、检索、识别任务的数据;所述海洋数据集SMD包括可见光数据和红外数据。
本发明在自监督船舶特征学习阶段中,采用动量对比方式在无标注海洋目标数据上训练特征提取模型,动量对比过程将字典作为一个样本队列进行维护,并通过采用动量更新的方式更新键编码器;在有监督海洋目标检测阶段中,采用Faster R-CNN模型进行海洋目标检测,Faster R-CNN模型包括进行特征提取的骨干网络、生成感兴趣区域的区域候选网络和RoI Head网络;通过骨干网络采用自监督船舶特征学习阶段所得的特征提取网络参数进行初始化,为目标检测模型提供海洋环境及船舶相关的先验知识,然后在训练模型的同时对骨干网络进行参数微调。本发明利用无标注的大规模海洋目标数据集,通过引入自监督表征学习相关方法,挖掘海洋目标样本的底层特征,为海洋目标检测任务提供先验知识,提高基于深度学习的目标检测模型在海洋目标检测任务上的表现,降低了海洋数据样本不足对检测效果的影响。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1、图2、图3和图4,提供一种基于自监督表征学习的海洋目标检测方法,包括自监督船舶特征学习阶段和有监督海洋目标检测阶段:
所述自监督船舶特征学习阶段中,采用动量对比方式在无标注海洋目标数据上训练特征提取模型,所述动量对比过程将字典作为一个样本队列进行维护,并通过采用动量更新的方式更新键编码器;
所述有监督海洋目标检测阶段中,采用Faster R-CNN模型进行海洋目标检测,所述Faster R-CNN模型包括进行特征提取的骨干网络、生成感兴趣区域的区域候选网络和RoI Head网络;
通过所述骨干网络采用自监督船舶特征学习阶段所得的特征提取网络参数进行初始化,为目标检测模型提供海洋环境及船舶相关的先验知识,然后在训练模型的同时对骨干网络进行参数微调。
本发明在自监督船舶特征学习阶段,采用动量对比(Momentum Contrast,MoCo)方法在无标注海洋目标数据上训练特征提取模型。动量对比将对比学习看作字典查找过程,提供一种构建大且连续的动态字典的方式,其核心思想为:通过将字典作为一个样本队列进行维护来保证字典足够大;同时通过采用动量更新的方法更新键编码器来避免其变化过快,以提高队列中键的表征一致性。
在样本队列中,假设只有一个键是和给定查询相匹配的正样本,其特征记作k+,其他键均为负样本,训练过程中通过InfoNCE损失函数提高查询特征q和k+的相似度,而减小查询特征与其他键的特征的相似度。
具体的,在所述样本队列中,预设一个键作为和给定查询相匹配的正样本,将剩余键作为负样本;训练过程中通过InfoNCE损失函数提高查询特征的相似度,InfoNCE损失函数Lq为:
式中,q为查询,k+为键值,ki为编码样本,τ为可调节的超参数。
本实施例中,动量更新即在训练过程中不通过反向传播更新更新键编码器参数,而是采用如下的动量更新方式:
θk←mθk+(1-m)θq
式中,θk和θq分别是键编码器参数和查询编码器参数,m∈[0,1)是动量系数。该方式使得键编码器的变化更加平稳,队列中各键的特征是由相似的编码器提取的特征,因而更有利于实现有效的特征学习。
在有监督海洋目标检测阶段中,本发明采用在通用场景的目标检测任务上表现优异的Faster R-CNN模型,如图4所示,Faster R-CNN模型由用于特征提取的骨干网络(backbone)、用于生成感兴趣区域的区域候选网络(RPN)、RoI Head三部分组成,其中RoIHead包括分类(Classification)和定位(Localization)两个分支。
通常骨干网络部分在ImageNet数据集上进行预训练,但由于其中的海洋样本较少,直接用于海洋目标检测效果不佳。
本实施例中,Faster R-CNN模型中的backbone部分采用自监督船舶特征学习阶段所得的特征提取网络参数进行初始化,为目标检测模型尽可能多地提供海洋环境及船舶相关的先验知识,然后在训练模型其他部分的同时对骨干网络(backbone)进行参数微调。此外,采用RoI Align代替RoI Pooling来获取感兴趣区域的特征。在模型训练过程中,对分类任务和定位任务分别采用交叉熵损失函数和Smooth L1损失函数。
本发明还考虑到SMD数据集中各类目标样本分布严重不平衡,为更好地验证本发明所提出的自监督预训练方法的有效性,本发明进行了类别不可知(class-agnostic)的海洋目标检测,即将图片中的所有目标均归类为object。
本发明实施例还提供一种基于自监督表征学习的海洋目标检测系统,包括自监督船舶特征学习单元和有监督海洋目标检测单元:
所述自监督船舶特征学习单元采用动量对比方式在无标注海洋目标数据上训练特征提取模型,所述动量对比过程将字典作为一个样本队列进行维护,并通过采用动量更新的方式更新键编码器;
所述有监督海洋目标检测单元采用Faster R-CNN模型进行海洋目标检测,所述Faster R-CNN模型包括进行特征提取的骨干网络、生成感兴趣区域的区域候选网络和RoIHead网络;
通过所述骨干网络采用自监督船舶特征学习阶段所得的特征提取网络参数进行初始化,为目标检测模型提供海洋环境及船舶相关的先验知识,然后在训练模型的同时对骨干网络进行参数微调。
具体的,在所述样本队列中,预设一个键作为和给定查询相匹配的正样本,将剩余键作为负样本;训练过程中通过InfoNCE损失函数提高查询特征的相似度,InfoNCE损失函数Lq为:
式中,q为查询,k+为键值,ki为编码样本,τ为可调节的超参数。
具体的,所述动量更新的方式为:
θk←mθk+(1-m)θq
式中,θk和θq分别是键编码器参数和查询编码器参数,m∈[0,1)是动量系数。
具体的,所述RoI Head网络包括分类任务和定位任务,所述分类任务采用交叉熵损失函数,所述定位任务别采用Smooth L1损失函数。
具体的,采用海洋数据集MARVEL和海洋数据集SMD进行检测实验;所述海洋数据集MARVEL包括用于船舶分类任务的数据和用于船舶验证、检索、识别任务的数据;所述海洋数据集SMD包括可见光数据和红外数据。
本发明的基于自监督表征学习的海洋目标检测系统与基于自监督表征学习的海洋目标检测方法对应,具体单元的阐述参见方法实施例中的内容,在此不再赘述。
为了验证本发明提出的基于自监督表征学习的海洋目标检测方案(MoCo+FasterR-CNN)的有效性,借助于现有的海洋数据集MARVEL和SMD进行了大量实验。
受复杂海况影响和传感器限制,采集大规模、高质量海洋环境及目标数据样本比较困难,导致可用于海洋感知研究的开源数据集较少,且样本量远不及ImageNet、MS COCO等通用数据集。
MARVEL海洋数据集共包含来自Shipspotting网站的200万张船舶图片,其中用于船舶分类任务的数据包含14万张图片,用于船舶验证、检索、识别任务的数据包含40万张图片。
MARVEL数据集是目前已知样本量最大的海洋数据集,为深度学习算法在海洋感知领域的应用提供了数据支撑。利用该数据集对自监督海洋船舶特征学习进行研究,为海洋目标感知问题提供新的解决思路。
SMD海洋数据集共包括81段视频,其中63段有标记,共包含10类目标。虽然该数据集样本量不大,但却是为数不多的可用于海洋目标检测任务的数据集。该数据集包含可见光数据(VIS)和红外数据(NIR)两部分。如图2所示,VIS数据中包含从岸上拍摄的on-shore数据和从海面上处于运动状态的船/艇的视角拍摄的on-board数据。
在自监督船舶特征学习阶段,模型中的编码器均采用ResNet-50网络,本发明利用MARVEL海洋数据集中的图片数据(不使用其对应的标签)进行模型训练。为明确样本量对自监督船舶特征学习效果的影响,分别使用14万样本和40万样本进行实验。
在海洋目标检测阶段,模型的backbone部分使用上一阶段训练的ResNet-50进行模型初始化,即采用ResNet-50+Faster R-CNN框架。本发明在SMD数据集上进行目标检测模型的训练与测试,并将视频数据转换为图片数据(每两帧取一帧),共收集了9892张图片(训练集7274张,测试集2618张),包含78558个标注,在测试阶段选择average precision(AP)、average recall(AR)和f-score作为评分标准,分别在IoU阈值为0.3和0.5的条件下进行测试。
实验结果
本发明利用Faster R-CNN框架,在SMD数据集上进行了class-agnostic目标检测,backbone均采用ResNet-50,但对其采取不同的预训练方式:
(1)Res50_Sup_14_FRCNN:利用MARVEL海洋数据集中14万样本及其标签对ResNet-50进行有监督预训练。
(2)Res50_MoCo_14_FRCNN:采用MoCo特征学习方法,利用MARVEL海洋数据集中14万样本对ResNet-50进行自监督预训练。
(3)Res50_MoCo_40_FRCNN:采用MoCo特征学习方法,利用MARVEL海洋数据集中40万样本对ResNet-50进行自监督预训练。
表1和表2分别为IoU阈值设置为0.3和0.5时的实验结果,其中Res101_MRCNN和Res101_FRCNN为采用ResNet101网络作为backbone并进行有监督backbone预训练的实验结果,DCT-based GMM为采用传统的海天线检测-背景建模-背景去除方法的实验结果。
表1 SMD数据集目标检测结果(IoU_thrs=0.3)
表2 SMD数据集目标检测结果(IoU_thrs=0.5)
表1中的Res50_Sup_14_FRCNN和Res50_MoCo_14_FRCNN两行数据可以说明,无论IoU阈值取值如何,本发明提出的MoCo+Faster R-CNN方法在海洋目标智能检测过程中的表现更好。具体来说,在训练参数基本一致的情况下,相比于有监督backbone预训练的方法,本发明将自监督表征学习用于backbone网络预训练,在代表检测准确率的AP评分和代表检测整体效果的f-score评分上均超过了Res50_Sup_14_FRCNN。
表1中的Res50_MoCo_14_FRCNN与Res50_MoCo_40_FRCNN两行数据表明,随着用于自监督船舶特征学习的样本量的增加,海洋目标检测效果全面提升。尤其是在IoU阈值设为0.3时,检测效果超过了使用ResNet-101网络作为backbone并引入特征金字塔(FeaturePyramid Network,FPN)的Res101_FRCNN方法(f-score分别为0.865和0.854)。由此可以说明,当无标签海洋数据样本的样本量足够大时,本发明提出的MoCo+Faster R-CNN海洋目标检测方法可以取得与采用有监督backbone预训练的方法相当或更好的检测效果。
此外,表2中的实验数据表明本发明所提出的MoCo+FRCNN海洋目标智能检测方法的检测效果优于传统的DCT-based GMM方法,也进一步证明了本发明的技术效果及可行性。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。