基于多模态与对抗学习的多任务目标检测识别方法及装置

文档序号:30940564发布日期:2022-07-30 02:02阅读:280来源:国知局
基于多模态与对抗学习的多任务目标检测识别方法及装置

1.本发明属于深度学习的目标检测领域,涉及一种基于多模态与对抗学习的多任务目标检测识别方法及装置。


背景技术:

2.目标检测技术即定位与识别图像中所感兴趣的物体。随着计算机视觉的发展和人工智能的兴起,目标检测技术因其在智能化时代中的大量应用需求,近几年来取得了长足的进展,在无人驾驶、电力监测、医药生产、航天航空和国防军工等国家级重大产业领域获得了广泛的应用。然而产业的快速发展,给目标检测技术提出了更高的要求,传统方法已不能够支撑起各行业的进一步发展。为此本文利用不同种类物体之间形状、颜色、纹理特征的不同,对目标物体进行位置的检测和种类的识别,通过集成多模态——特征融合、多任务学习、对抗式生成网络三种模型,设计了一种新颖的目标检测与识别方法,提高了对目标物体的检测识别精度,对现行热门的智能抓取技术也提供了很好的视觉先行条件。
3.随着机器视觉和深度学习技术的不断发展,对不同的网络模型进行集成,充分利用各网络模型中的优点,来提高整体网络的表现性能是现行视觉领域中的一种流行的思想。深度学习的思想通过模仿人的大脑运行而来,而多模态学习在信息获取方面最为符合大脑的运行机制。自2010年多模态步入深度学习阶段,利用多模态特征融合的思想,充分利用数据的各方面信息,已成为深度学习领域的一种重要方法。多任务学习是图像识别领域的一个新的发展方向,并在图像检测识别方面取得了良好的表现性能。以往,对于图像中多种物体的位置检测和种类识别,往往是先进行目标物体位置的检测,进而对分割后对目标区域中的物体进行种类识别。采用单独的卷积神经网络对两个任务分别进行训练,忽略了两个任务之间的联系,任务中产生的参数只会在特定的任务中进行处理,这样不仅效率较低,而且会由于训练样本数量过少出现过拟合的风险,不能生成表现良好的模型。多任务学习方法则是同时对两个任务进行训练,通过任务之间存在的一定联系,共享任务之间的特征表示,为每个任务都提供了额外的参数信息,从而有效的解决了单任务中存在的过拟合问题,提高了模型的泛化能力。而对抗式生产网络,随着对抗式生成网络(gan)的出现,以其能生成相似的对抗样本,在深度学习领域兴起了一股研究的热潮,很多在gan基础上改进变形的网络相继出现,其博弈的思想也被用于分类、检测等诸多领域,通过在训练过程中生成对抗式样本来与真实样本竞争,从而提高模型对不同条件(如遮挡,变形和光照)数据的鲁棒性。
4.急需设计一个新的多模态多任务对抗学习模型,充分利用多模态、多任务、对抗式生成模型的优点,并将其应用于目标物体的位置检测和种类识别,有着重要的现实意义和使用价值。


技术实现要素:

5.为了解决上述单任务学习中存在的缺点,再加上形变和遮挡样本比较稀缺的问
题,提高模型的鲁棒性和图像中目标检测识别的精度,本发明技术方案提出了一种基于多模态与对抗学习的多任务目标检测识别方法及装置,集成了多模态——特征融合、多任务学习、对抗式生成网络三种模型,其中多任务学习(mtl)模块充分利用了自监督学习(ssl)的优点,并通过一套辅助任务来提高主任务目标检测器的准确性。
6.本发明提供了以下技术方案:一方面,一种基于多模态与对抗学习的多任务目标检测识别方法,包括:步骤1:rgb图像目标标注与预处理,并获取对应的语义图;语义图是采用labelme软件对原始rgb图进行语义标注,即在labelme中点击create polygons对图像中的物体进行多线段标注,围成一圈后注释上物体类别信息以生成相应json文件,最后对json文件进行解析生成语义图。
7.步骤2:构建基于多模态与对抗学习的多任务识别网络模型;所述基于多模态与对抗学习的多任务识别网络模型包括依次连接的多模态特征融合网络、区域提案网络以及多任务目标检测网络;步骤3:设置损失函数,用于训练基于多模态与对抗学习的多任务识别网络模型;步骤4:使用训练好的基于多模态与对抗学习的多任务识别网络模型对待识别图像中的目标物体进行检测识别;将rgb图像和对应的语义图输入到训练好的基于多模态与对抗学习的多任务识别网络模型中,获得待识别图像中待识别目标和训练样本图像中目标的相似度值,经softmax分类之后选其中分数最大的类别作为识别结果。
8.本技术方案充分利用各多模态、多任务、对抗式生成模型的优点,解决了稀疏训练样本造成的过拟合问题,利用多模态特征融合、多任务参数共享的特点,提高了图像中目标检测和识别的精度;通过对抗学习生成对抗样本,提高了不同条件下网络的鲁棒性,能够快速且准确的对图像中的目标进行检测识别。
9.进一步的,所述多模态特征融合网络是采用两个resnet18主干cnn网络,再连接concat融合网络构成;所述区域提案网络输出随机窗口和提案框;所述多任务目标检测网络中的多任务包括三个辅助任务与一个主任务,其中,主任务为目标检测器,所述目标检测器采用fast r-cnn模型,在所述fast r-cnn模型的感兴趣池化层后引入对抗生成网络,三个辅助任务依次为颜色标记任务、多目标标记任务以及前景标记任务;其中,所述随机窗口作为多目标标记任务的输入数据,所述提案框作为颜色标记任务和主任务的输入数据,所述多模态特征融合网络输出的融合特征图作为前景标记任务的输入数据。
10.目标检测器输出两条分支,一条为bbox分支,一条为class分支。bbox分支用以回归计算出目标对象的包围框,class分支经过辅助任务细化后用以预测出目标的类别。
11.进一步的,所述对抗生成网络包括依次串联的对抗空间丢弃网络和对抗空间变换网络;所述对抗空间丢弃网络用于生成对特征图进行遮挡的对抗样本,所述对抗空间变换网络用于在目标的卷积特征空间中,对目标特征产生形变。
12.进一步的,所述对抗空间丢弃网络通过掩码分支对提案特征图进行掩码操作,生成对抗样本;其中,掩码分支由两个全连接层和一个掩码子网络组成,掩码子网络包括5个串联的conv_mask卷积层,用来生成mask值,然后与输入的提案特征图结合,通过dropout删除激活生成掩码样本;抗空间丢弃网络的损失函数采用二进制交叉熵损失,具体如下:其中,表示第p个提案特征图在给定输入尺寸大小为d
×
d的特征映射在位置(i,j)处对抗空间丢弃网络的输出结果;表示第p个提案特征图的掩码矩阵m的增广矩阵的第i行第j列所在的掩码值,n表示提案特征图数量;所述对抗空间变换网络由本地网络、网格生成器、采样器三个部分组成;其中,本地网络输入特征图像,经过隐藏网络层输出空间变换参数,所述隐藏网络层包括两个卷积层和两个最大池化层,以及一个3
×
2的仿射矩阵回归层;所述网格生成器依据本地网络输出的变换参数,对特征映射进行变换得到采样网格;所述采样器利用采样网格和输入的特征图,得到特征图经过变换之后的结果;给予一个特征映射,假设提案特征图的第i个像素的坐标为,变换后特征图的第i个像素坐标为,特征映射为一个3
×
2的仿射变换函数,和的对应关系则为:其中,为映射关系矩阵,映射关系矩阵中的参数θ
11
、θ
12
θ
13
、θ
21
、θ
22
、θ
23
通过对基于多模态与对抗学习的多任务识别网络模型训练确定,表示变换后特征图的像素坐标。
13.dropout是公知的操作,即随机丢弃一定比例的神经元连接。
14.给定一个大小为d
×d×
c的特征图,其中d为空间维度,c为通道数。经过阈值后,asdn就会生成一个d
×
d的掩模m,其值只有0或1。m
ij
表示掩模m中第i行第j列元素的掩码值,则x
ijk
代表第k个通道中(i,j)坐标处的特征;如果m
ij
=1,去掉特征图中该坐标位置下所有通道的像素值,将其归零,即x
ijk
=0,

k。
15.在卷积特征空间中直接对特征进行操作,生成对抗样本实例,而不是生成形变和遮挡的像素图像。这样操作后的效果更好,因为对抗空间变换网络用生成的图像随机且复
杂,而对抗空间丢弃网络通过修改图片特征层,在保证了整体图像没有大幅度改变的同时,使得对象更加难以判别。本方案中的多任务识别网络通过真实样本与生成的对抗样本之间的相互竞争并克服障碍,从中学会以健壮的方式处理遮挡和变形的样本。对抗网络只在训练过程中使用,用来使目标检测器学习到更加充分的参数权重。
16.进一步的,在多目标标记任务中,以提案框为中心创建nr个不同尺寸大小的窗口,在多目标标记任务中,以提案框为中心创建nr个不同尺寸大小的窗口,通过将特征图和提案框之间的空间划分为nr-1个均匀间隔来设置窗口尺寸大小,获取nr窗口的多目标标签,记为,nr为设定值;获得特征图中所有提案框的语义颜色标签,并计算它们的平均值,组合起来作为一个c向量表示;将主任务中分类分支输出的特征向量更新为:其中,wr是一个映射矩阵,表示为主任务中分类分支输出得到的特征向量;所述颜色标记任务是指用于获取识别对象语义颜色,并依据语义颜色进行对象类型标记;所述多目标标记任务是指用于获取随机包围框中各目标占所有目标数量的比例;所述前景标记任务是指用于对整幅图像的前景区域和背景区域进行标记;所述主任务是指用于获取对象位置以及识别对象的类型标签。
17.进一步的,对各任务和对抗生成网络设置交叉熵损失函数,并将所有交叉熵损失函数之和作为目标交叉熵损失函数;通过imagenet预训练初始化基于多模态与对抗学习的多任务识别网络模型,将训练样本放入初始化后的基于多模态与对抗学习的多任务识别网络模型中进行学习;其中,训练样本中原始rgb图像和其对应的语义图作为基于多模态与对抗学习的多任务识别网络模型的输入数据,原始rgb图像对应的目标物体标注结果作为基于多模态与对抗学习的多任务识别网络模型的输出数据;在训练过程中使得目标交叉熵损失函数达到最小值,获得训练好的基于多模态与对抗学习的多任务识别网络模型;每个辅助任务的损失函数为交叉熵损失函数,总的辅助任务损失函数如下:如下:如下:如下:
其中,表示窗口的数量,是第j个窗口的真实背景软标签向量,则为辅助任务模块预测得到的类概率标签;表示与真实背景框相匹配的积极提案框的数量,和分别表示第j个提案框区域内的真实背景标签和通过语义特征预测得到的颜色标签;表示前景掩码的像素数量,表示第j个像素的真实背景标签,表示预测第j个像素的前景标签;分别表示多目标标记任务、颜色标记任务和前景标记任务的权重参数,分别取0.7、1、0.7。
18.在训练过程中使得目标交叉熵损失函数达到最小值,获得训练好的基于多模态与对抗学习的多任务识别网络模型;联合训练是指将多个任务的损失函数相加,然后使用同一个优化函数,训练较快;对于区域提案网络(rpn),网络实际分为两条线;一条通过softmax分类anchors(锚点)获得positive和negative分类,另一条用于计算对于anchors(锚点)的bounding box regression(边界框回归)偏移量,以获得精确的proposal(提案框)。
19.而最后的提案层则负责综合positive anchors和对应bounding box regression(边界框回归)偏移量获取proposals,同时剔除太小和超出边界的提案框。进一步的,主任务的目标检测器的损失函数为分类损失和回归损失之和:其中,x表示经过所述fast r-cnn模型的感兴趣池化层输出的高维特征,是表示目标检测器中包含的x的分类结果,表示目标检测器中对x预测的包围框位置;c表示分类标签,l表示包围框坐标标签,bg表示背景,分别表示分类损失、回归损失。
20.另一方面,本发明技术方案还提供一种基于上述多模态与对抗学习的多任务目标检测识别方法的装置,包括:语义图获取单元:通过rgb图像目标标注与预处理,并获取对应的语义图;识别网络构建单元:利用依次连接的多模态特征融合网络、区域提案网络以及多任务目标检测网络,构建基于多模态与对抗学习的多任务识别网络模型;所述多模态特征融合网络是采用两个resnet18主干cnn网络,再连接concat融合网络构成;所述区域提案网络输出随机窗口和提案框;所述多任务目标检测网络中的多任务包括三个辅助任务与一个主任务,其中,主任务为目标检测器,所述目标检测器采用fast r-cnn模型,在所述fast r-cnn模型的感兴趣池化层后引入对抗生成网络模块,三个辅助任务依次为颜色标记任务、多目标标记任务以及前景标记任务;
其中,所述随机窗口作为多目标标记任务的输入数据,所述提案框作为颜色标记任务和主任务的输入数据,所述模态特征融合网络输出的融合特征图作为前景标记任务的输入数据;所述对抗生成网络模块包括依次串联的对抗空间丢弃网络子模块和对抗空间变换网络子模块;所述对抗空间丢弃网络子模块用于生成对特征图进行遮挡的对抗样本,所述对抗空间变换网络子模块用于在目标的卷积特征空间中,对目标特征产生形变;网络训练单元:通过设置损失函数,用于训练基于多模态与对抗学习的多任务识别网络模型;通过对各任务和对抗生成网络设置交叉熵损失函数,并将所有交叉熵损失函数之和作为目标交叉熵损失函数;利用imagenet预训练进行初始化后,再使用训练样本进行训练,在训练过程中,以目标交叉熵损失函数达到最小值时,获得训练好的基于多模态与对抗学习的多任务识别网络模型;识别单元:使用训练好的基于多模态与对抗学习的多任务识别网络模型对待识别图像中的对象进行检测识别。
21.再一方面,本发明技术方案还提供一种电子终端,其特征在于:至少包括:一个或多个处理器;一个或多个存储器;所述处理器调用所述存储器存储的计算机程序以执行:上述一种基于多模态与对抗学习的多任务目标检测识别方法的步骤。
22.再一方面,本发明技术方案还提供一种可读存储介质,存储了计算机程序,所述计算机程序被处理器调用以实现:上述一种基于多模态与对抗学习的多任务目标检测识别方法的步骤。
23.有益效果本发明提出了一种基于多模态与对抗学习的多任务目标检测识别方法及装置,该方法包括:rgb图像目标标注与预处理,并获取对应的语义图;构建基于多模态与对抗学习的多任务识别网络模型;设置损失函数,用于训练基于多模态与对抗学习的多任务识别网络模型;使用训练好的基于多模态与对抗学习的多任务识别网络模型对待识别图像中的目标物体进行检测识别;将rgb图像和对应的语义图输入到训练好的基于多模态与对抗学习的多任务识别网络模型中,获得待识别图像中待识别目标和训练样本图像中目标的相似度值,经softmax分类之后选其中分数最大的类别作为识别结果。
24.该方案将整个模型分成了特征提取阶段、区域提案阶段和多任务目标检测阶段三个部分。集成了多模态特征融合、多任务学习、对抗式生成网络三种网络。在特征提取阶段,采用了多模态特征融合的方法,输入目标的rgb图像和语义图进行特征提取,使模型对于图像中目标物体的位置信息更加敏感;区域提案阶段用以生成随机窗口和提案框作为下阶段的输入;在多任务目标检测阶段中,采用了多任务学习的方法,通过联合训练三个辅助任务来提高主任务(目标检测)的检测精度;其中,对于目标检测器,引入了对抗学习的思想,加入了两个对抗式生成网络,用来生成多样式样本,提高模型的鲁棒性。
25.本发明充分利用各多模态、多任务、对抗式生成模型的优点,解决了稀疏训练样本
造成的过拟合问题,利用多模态特征融合、多任务参数共享的特点,提高了图像中目标物体检测和识别的精度。通过对抗学习生成对抗样本,提高了不同条件下网络的鲁棒性。能够快速且准确的对图像中的目标物体进行检测识别,有着重要的现实意义和使用价值。
附图说明
26.图1为本发明实例所述方法总流程图;图2为本发明实例中多模态多任务对抗学习模型的网络结构图;图3为本发明实例中使用的cnn分支resnet-18的详细结构示意图;图4为本发明实例中引入对抗生成网络后主任务目标检测器的网络结构图;图5为本发明实例中多任务目标检测阶段中的细化操作的结构示意图;图6为本发明实例中窗口设置示意图。
具体实施方式
27.下面结合实施例对本发明做进一步详细的说明。
28.实施例1:本发明实施例提出了一种基于多模态多任务对抗学习的目标检测识别方法,如图1所示,该方法包括:步骤1:准备所需的图像数据集,对数据集图像进行归一化处理,并对所有数据图像中目标的位置和种类进行人工标注;再采用传统数据增强方法扩充数据集,之后使用labelme软件对所有的rgb图像进行语义信息标注,并生成语义图;具体内容如下:(1)图像训练数据集是通过自己拍摄和网上搜寻收集到的,图像中要求包含有数量不一的不同种类的目标物体。
29.(2)对所有图像数据进行归一化处理,将图像转换成256
×
256像素的标准图像大小。
30.(3)使用labelme软件,对训练样本图像中目标的位置用矩形框进行紧密包围并附上对应目标的种类,得到训练图像的注释信息,并将其转换为coco数据集的标签格式。
31.(4)采用随机旋转和亮度调节的数据增强方法对数据集进行扩充,其中随机旋转可改善卷积神经网络平移不变性的缺陷,这在以往的研究中得到了证明。
32.(5)语义图的获取,是采用labelme软件对原始rgb图进行语义标注,即在labelme中点击create polygons对图像中的物体进行多线段标注,围成一圈后注释上物体类别信息以生成相应json文件,最后对json文件进行解析生成语义图。
33.步骤2:构建基于多模态与对抗学习的多任务识别网络模型,模型整体结构图如图2所示。
34.所述基于多模态与对抗学习的多任务识别网络模型包括依次连接的多模态特征融合网络、区域提案网络以及多任务目标检测网络;所述多模态特征融合网络是采用两个resnet18主干cnn网络,再连接concat融合网络构成;所述区域提案网络输出随机窗口和提案框;
所述多任务目标检测网络中的多任务包括三个辅助任务与一个主任务,其中,主任务为目标检测器,所述目标检测器采用fast r-cnn模型,在所述fast r-cnn模型的感兴趣池化层后引入对抗生成网络,三个辅助任务依次为颜色标记任务、多目标标记任务以及前景标记任务;其中,所述随机窗口作为多目标标记任务的输入数据,所述提案框作为颜色标记任务和主任务的输入数据,所述多模态特征融合网络输出的融合特征图作为前景标记任务的输入数据。
35.步骤3:设置损失函数,用于训练基于多模态与对抗学习的多任务识别网络模型;对模型进行训练,通过imagenet预训练初始化整个多模态多任务对抗网络,然后把训练样本放入网络中进行学习。首先使用原始rgb图像和获取的语义图对cnn主干进行训练,cnn结构如图3所示。在区域提案阶段,将辅助任务与主任务联合训练,所谓联合训练,即输入融合特征图,四个任务通过共享任务之间的相关特征信息,同时学习融合特征图中特定于任务的特征信息,得到多模态多任务对抗学习的目标检测识别模型;对于辅助任务的损失函数。之前已经谈及将每个辅助任务的损失定义为交叉熵损失,因为它们基本上执行类标签的预测,公式如下:对于多目标标记损失函数lm,将上述式子中的替换为n
t
,,。n
t
为窗口的数量,是第j个窗口的真实背景软标签向量,则为辅助任务模块预测得到的类概率标签;对于颜色标记任务损失函数lc,将上述式子中的替换为n
p
,,。n
p
表示为与真实背景框相匹配的提案框的数量,和则分别表示第j个提案框区域内的真实背景标签和通过语义颜色特征预测得到的标签;对于前景标记任务lf,将上述式子中的替换为nf,,。nf表示前景掩码的像素数量,表示第j个像素的真实背景标签,表示预测第j个像素的前景标签。
36.由于每个辅助任务给主任务提供有用信息量的不同,这里对三个辅助任务损失进行加权和得到总的辅助任务损失:其中,分别表示多目标标记任务、颜色标记任务和前景标记任务的权重参数,分别取0.7、1、0.7。
37.对于对抗空间丢弃asdn网络的具体操作,网络的输入为roi池层后每个前景对象提案的卷积特征。给定对象的特性后,asdn将尝试生成一个掩码,指示该特性的哪些部分丢失(分配零),以便检测器无法识别该对象。更细致的来说,给定一个大小为d
×d×
c的特征
图,其中d为空间维度,c为通道数。经过阈值后,asdn就会生成一个d
×
d的掩模m,其值只有0或1。假设m
ij
表示第i行第j列元素的掩码值,则x
ijk
代表第k个通道中(i,j)坐标处的特征。如果m
ij
=1,就去掉特征图中该坐标位置下所有通道的像素值,将其归零,即x
ijk
=0,

k。对于asdn网络,依旧使用的是二进制交叉熵损失。公式如下,其中a
ij
(x
p
)表示给定输入特征映射x
p
在位置(i,j)处asdn的输出结果。
38.对于对抗空间变换astn网络,其关键思想是在目标特征上产生形变,使探测器难以识别目标。该网络基于空间变压器网络(stn),stn对特征进行变形从而使得分类更容易。通过与变形的后的特征相互竞争,可以训练出一个更好的探测器,它对变形具有很强的鲁棒性。其具体操作为给予一个特征映射,假设提案特征图像u的第i个像素的坐标为,变换后特征图像的第i个像素坐标为,特征映射为一个3
×
2的仿射变换函数,和的对应关系则为:astn网络学会旋转特征映射,使得它更加难以识别。
39.最后,将这两个网络以串联的方式加进了目标检测器中,如图4所示,在roi(感兴趣)池化之后提取的特征映射首先被输入到asdn网络中删除一些激活,修改后的特征被astn进一步变形。两个对抗网络提供不同类型的信息,通过同时竞争,增强了的检测器的鲁棒性。
40.对于引入的对抗学习网络的损失,假设a是对抗学习网络的生成器,则a(x)为由特征x生成的一个对抗实例。显然,对抗性网络需要学会预测检测器容易误判的特征。通过以下损失函数训练这个对抗性网络:在多任务目标检测阶段的最后预测部分,使用辅助任务的输出对模型的预测进行细化,尤其是基于区域提案的分类,整体过程参考图5。
41.多目标标记模型能够预测给定提案框及其周围窗口内的软类标签。颜色标记模型通过重点关注颜色特征来预测区域提案内目标的种类。检测细化的关键思想是让主任务(即目标检测器)利用上述两个辅助任务的预测,因为多目标可以为检测器提供有用的上下文信息,而颜色标记则可以提供特定于目标种类识别的特征信息,以便更好地进行分类决策。也就是说,对于目标检测器需要预测的给定提案框,多目标模型为box周围的局部和全局上下文信息提供软标签预测,而颜色标记模型特定于本次的目标检测识别,使检测器更加关注与目标相关的特定特征,提供区域提案内目标种类的预测。这里,不使用前景标记的输出,因为相比于其他两个辅助任务,前景标记没有额外的信息。
42.对细化进行更为深入的探讨,在常用的目标检测器中,检测头模块通过计算给定
提议框一个分类结果x,通过一个softmax层后生成一个类概率y。对目标检测的细化就是利用辅助任务的输出将分类结果x进行更新,具体过程如下:1)在多目标标记任务中,以提案框为中心创建nr个不同尺寸大小的窗口,通过将特征图像和提案框之间的空间划分为nr-1个均匀间隔来设置窗口尺寸大小,获取nr窗口的多目标标签,记为,nr为设定值;如图6所示,其中实线为提案框,虚线为不同尺寸大小的窗口,每个窗口之间的间隔都相等;2)获得图像中所有提案的颜色标签,并计算它们的平均值,组合起来作为一个c向量表示。向量c被视为特定于目标图像的特征信息的总结,这比每个提案框使用单独的输出要好得多;将主任务中分类分支输出的特征向量更新为:其中,wr是一个映射矩阵,表示为主任务中分类分支输出得到的特征向量;总之,将x、c和连接起来,并将其提供给具有残差连接结构的全连接层中。
43.对于最后预测部分的细化损失,依旧用的交叉熵损失进行分类。为了确保精化损失对每个任务的预测器和特征提取器不造成影响,于是停止了梯度操作。也就是说,由于主任务和每个辅助任务都有自己的损失,细化损失只更新细化层的权重。
44.最后将总损失定义为主任务损失、辅助任务损失和细化损失之和:对模型进行训练,更细致的来说,首先使用imagenet预处理初始化整个多模态多任务对抗网络。之后,在区域提案阶段,利用了主辅任务的正确背景标注(gts)对多任务网络进行联合训练。在训练过程中,将总损失定义为主任务损失、辅助任务损失和细化损失三个损失之和。其中的主任务损失包括目标检测器损失和对抗学习损失,目标检测损失又被定义为softmax loss和bbox loss之和:其中,x表示经过所述fast r-cnn模型的感兴趣池化层输出的高维特征,是表示目标检测器中包含的x的分类结果,表示目标检测器中对x预测的包围框位置;c表示分类标签,l表示包围框坐标标签,bg表示背景,分别表示分类损失、回归损失。
45.步骤4:使用训练好的模型对待识别图像进行检测识别。
46.将图像的rgb图像和语义图输入到训练好的模型中,提取图像的rgb特征和语义特征,将两种特征融合后输入到区域提案网络,区域提案网络给出了三个输出,一个输出作为前景标记辅助任务的输入。一个输出随机窗口,进一步进行多目标标记任务。一个输出提案框,提案框中包含的高维特征作为目标检测器和颜色标记辅助任务的输入。目标检测器中输出两条分支,一条为bbox分支,一条为class分支。bbox分支用以回归计算出目标对象的
包围框,class分支用以预测出目标的类别。在class分支中,利用辅助任务的输出结果细化class分支的预测结果,并在共享bbox分支中的高维特征后,计算图像中待识别目标和训练样本图像中目标的相似度值,经softmax之后选其中分数最大的那一种类别作为识别结果。
47.本发明实例提出了一种基于多模态多任务对抗学习的目标检测识别方法,将整个网络分成了特征提取阶段、区域提案阶段和多任务目标检测阶段三个部分。集成了多模态——特征融合、多任务学习、对抗式生成网络三种网络。在特征提取阶段,采用了多模态——特征融合的方法,输入目标的rgb图像和语义图进行特征提取,使模型对于图像中目标的位置信息更加敏感;在区域提案阶段,采用了多任务学习的方法,通过联合训练三个辅助任务来提高主任务(目标检测)的检测精度;对于目标检测器,引入了对抗学习的思想,加入了两个对抗式生成网络,用来生成多样式样本,提高模型的鲁棒性。
48.本发明方法的主要流程包括:准备所需的目标图像数据集,对数据集中的rgb图像进行语义标注并生成语义图;通过imagenet预训练初始化整个多模态多任务对抗网络,再使用原始rgb图像和获取的语义图对cnn主干和特征融合网络进行训练;在区域提案阶段,辅助任务与主要任务联合训练,学习融合特征图中的共享特性,得到多模态多任务对抗学习模型;将测试的目标rgb图像和语义图输入到训练好的模型中,提取目标图像的融合特征图,检测出图中每个目标的位置坐标,共享bbox分支中的高维特征后,识别出选取区域中目标的种类。
49.本发明充分利用各多模态、多任务、对抗式生成模型的优点,解决了稀疏训练样本造成的过拟合问题,利用多模态特征融合、多任务参数共享的特点,提高了图像中目标检测和识别的精度。通过对抗学习生成对抗样本,提高了不同条件下网络的鲁棒性。能够快速且准确的对图像中的目标进行检测识别,有着重要的现实意义和使用价值。
50.实施例2:基于上述方法,本发明实施例还提供一种基于多模态与对抗学习的多任务目标检测识别装置,包括:语义图获取单元:通过rgb图像目标标注与预处理,并获取对应的语义图;识别网络构建单元:利用依次连接的多模态特征融合网络、区域提案网络以及多任务目标检测网络,构建基于多模态与对抗学习的多任务识别网络模型;所述多模态特征融合网络是采用两个resnet18主干cnn网络,再连接concat融合网络构成;所述区域提案网络输出随机窗口和提案框;所述多任务目标检测网络中的多任务包括三个辅助任务与一个主任务,其中,主任务为目标检测器,所述目标检测器采用fast r-cnn模型,在所述fast r-cnn模型的感兴趣池化层后引入对抗生成网络模块,三个辅助任务依次为颜色标记任务、多目标标记任务以及前景标记任务;其中,所述随机窗口作为多目标标记任务的输入数据,所述提案框作为颜色标记任务和主任务的输入数据,所述模态特征融合网络输出的融合特征图作为前景标记任务的输入数据;目标检测器输出两条分支,一条为bbox分支,一条为class分支。bbox分支用以回归计算出目标对象的包围框,class分支经过辅助任务细化后用以预测出目标的类别;
所述对抗生成网络模块包括依次串联的对抗空间丢弃网络子模块和对抗空间变换网络子模块;所述对抗空间丢弃网络子模块用于生成对特征图进行遮挡的对抗样本,所述对抗空间变换网络子模块用于在目标的卷积特征空间中,对目标特征产生形变;网络训练单元:通过设置损失函数,用于训练基于多模态与对抗学习的多任务识别网络模型;通过对各任务和对抗生成网络设置交叉熵损失函数,并将所有交叉熵损失函数之和作为目标交叉熵损失函数;利用imagenet预训练进行初始化后,再使用训练样本进行训练,在训练过程中,以目标交叉熵损失函数达到最小值时,获得训练好的基于多模态与对抗学习的多任务识别网络模型;识别单元:利用训练好的基于多模态与对抗学习的多任务识别网络模型对待识别目标图像进行检测识别。
51.应当理解,本发明各个实施例中的功能单元模块可以集中在一个处理单元中,也可以是各个单元模块单独物理存在,也可以是两个或两个以上的单元模块集成在一个单元模块中,可以采用硬件或软件的形式来实现。
52.实施例3:本发明实例还提供一种电子终端,其特征在于:至少包括:一个或多个处理器;一个或多个存储器;所述处理器调用所述存储器存储的计算机程序以执行:前述一种基于多模态与对抗学习的多任务目标检测识别方法的步骤。
53.应当理解,具体实现过程参照实施例1的相关内容。
54.该终端还包括:通信接口,用于与外界设备进行通信,进行数据交互传输。譬如与运行信息采集子系统的采集设备、其他列车的通讯模块之间通讯,以获取列车本身及其相邻列车的实时运行信息。
55.其中,存储器可能包含高速ram存储器,也可能还包括非易失性除颤器,例如至少一个磁盘存储器。
56.如果存储器、处理器和通信接口独立实现,则存储器、处理器和通信接口可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构总线,外部设备互联总线或扩展工业标准体系结构总线等。所述总线可以分为地址总线、数据总线、控制总线等。
57.可选的,在具体实现上,如果存储器、处理器和通信接口集成在一块芯片上,则存储器、处理器即通信接口可以通过内部接口完成相互之间的通信。
58.各个步骤的具体实现过程请参照前述方法的阐述。
59.应当理解,在本发明实施例中,所称处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处
理器也可以是任何常规的处理器等。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
60.实施例4:本发明实施例提供一种可读存储介质,存储了计算机程序,所述计算机程序被处理器调用以实现:前述一种基于多模态与对抗学习的多任务目标检测识别方法的步骤。
61.应当理解,具体实现过程参照实施例1的相关内容。
62.所述可读存储介质为计算机可读存储介质,其可以是前述任一实施例所述的控制器的内部存储单元,例如控制器的硬盘或内存。所述可读存储介质也可以是所述控制器的外部存储设备,例如所述控制器上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述可读存储介质还可以既包括所述控制器的内部存储单元也包括外部存储设备。所述可读存储介质用于存储所述计算机程序以及所述控制器所需的其他程序和数据。所述可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
63.基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
64.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
65.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
66.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
67.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
68.最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1