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

图像实例分割方法、装置、电子设备及存储介质与流程

2022-06-08 12:21:40 来源:中国专利 TAG:


1.本技术涉及计算机视觉技术领域,特别是涉及图像实例分割方法、装置、电子设备及存储介质。


背景技术:

2.随着计算机技术的发展,基于计算机视觉技术的图像实例分割成为可能,特别是深度学习模型出现后,以深度学习模型为基础的计算机视觉技术得到了突飞猛进的发展。
3.实例指图像中需要检测的对象,例如,当检测场景为针对图像中的车辆进行检测时,实例即为车辆;例如,当检测场景为针对行人及建筑进行检测时,实例即为行人及建筑。图像实例分割是指利用计算机视觉技术从图像中划分出实例所在的图像区域,基于图像的目标检测、事件识别、轨迹预测等提供了前提,图像实例分割越来越多的应用到生产及生活中,如何实现图像实例分割成为亟待解决的技术问题。


技术实现要素:

4.本技术实施例的目的在于提供一种图像实例分割方法、装置、电子设备及存储介质,以实现图像实例分割。具体技术方案如下:
5.第一方面,本技术实施例提供了一种图像实例分割方法,包括:
6.获取待处理图像及多个预设查询向量,其中,所述预设查询向量的数量大于所述待处理图像中实例的数量;
7.将所述待处理图像输入到预先训练的深度学习模型的第一神经网络中,得到所述待处理图像的第一图像特征;
8.将所述第一图像特征及各所述预设查询向量输入到所述深度学习模型的第一transformer网络中,得到第二图像特征及多个实例特征,其中,所述实例特征的数量与所述预设查询向量的数量相同;
9.将所述实例特征输入到所述深度学习模型的预测网络中,分别得到各所述实例特征的分类结果及动态参数;
10.分别利用各所述动态参数对所述深度学习模型的动态transformer网络进行参数配置,得到多个第二transformer网络,其中,所述第二transformer网络的数量与所述预设查询向量的数量相同;
11.基于所述第二图像特征及各所述第二transformer网络,得到所述待处理图像的实例分割结果。
12.在一种可能的实施方式中,所述深度学习模型的第一transformer网络包括编码器及解码器;
13.所述将所述第一图像特征及各所述预设查询向量输入到所述深度学习模型的第一transformer网络中,得到第二图像特征及多个实例特征,包括:
14.利用所述第一transformer网络的编码器对所述第一图像特征进行编码,得到第
二图像特征;
15.将所述第二图像特征及各所述预设查询向量输入到所述第一transformer网络的解码器中,得到多个实例特征。
16.在一种可能的实施方式中,所述编码器包括多个编码器层;所述利用所述第一transformer网络的编码器对所述第一图像特征进行编码,得到第二图像特征,包括:
17.针对所述第一图像特征中的每一个特征元素,利用所述编码器的第一个编码器层计算所述第一图像特征中的各特征元素针对该特征元素的权重系数,并按照权重系数对该特征元素与所述第一图像特征中的其他特征元素进行加权求和,得到该特征元素的编码后的特征元素,其中,所述第一个编码器层输出的图像特征包括所述第一图像特征中各特征元素的编码后的特征元素;
18.针对第i-1个编码器输出的图像特征中的每一个特征元素,利用所述编码器的第i个编码器层计算所述第i-1个编码器输出的图像特征中的各特征元素针对该特征元素的权重系数,并按照权重系数对该特征元素与所述第i-1个编码器输出的图像特征中的其他特征元素进行加权求和,得到该特征元素的编码后的特征元素;其中,i属于2到m,m为所述编码器中编码器层的数量,所述第i个编码器层输出的图像特征包括所述i-1个编码器输出的第图像特征中各特征元素的编码后的特征元素,第二图像特征为第m个编码器层输出的图像特征。
19.在一种可能的实施方式中,所述解码器包括多个解码器层;所述将所述第二图像特征及各所述预设查询向量输入到所述第一transformer网络的解码器中,得到多个实例特征,包括:
20.针对各所述预设查询向量中的每一个预设查询向量,将该预设查询向量及所述第二图像特征输入到所述解码器的第一个解码器层,得到第一个解码器层输出的该预设查询向量的融合查询特征;
21.将第i-1个解码器层输出的该预设查询向量的融合查询特征及所述第二图像特征输入到第i个解码器层中,得到第i个解码器层输出的该预设查询向量的融合查询特征;其中,i属于2到n,n为所述解码器中解码器层的数量,该预设查询向量的实例特征为第n个解码器层输出的该预设查询向量的融合查询特征。
22.在一种可能的实施方式中,所述将第i-1个解码器层输出的该预设查询向量的融合查询特征及所述第二图像特征输入到第i个解码器层中,得到第i个解码器层输出的该预设查询向量的融合查询特征,包括:
23.将第i-1个解码器层输出的该预设查询向量的融合查询特征及所述第二图像特征输入到第i个解码器层中,利用第i解码器层确定输入的融合查询特征相对于所述第二图像特征中各特征的权重系数,并利用该权重系数对所述第二图像特征中各特征进行加权求和,得到第i个解码器层输出的该预设查询向量的融合查询特征。
24.在一种可能的实施方式中,所述基于所述第二图像特征及各所述第二transformer网络,得到所述待处理图像的实例分割结果,包括:
25.将所述第二图像特征输入到所述深度学习模型的第二神经网络中,得到所述待处理图像的第三图像特征,其中,所述第二神经网络用于对所述第二图像特征进行特征转换;
26.将所述待处理图像的第三图像特征分别输入到各所述第二transformer网络,得
到所述待处理图像的实例分割结果。
27.在一种可能的实施方式中,预先训练深度学习模型的过程包括:
28.获取样本图像及多个样本查询向量,其中,所述样本查询向量的数量大于所述样本图像中实例的数量;
29.将所述样本图像及各所述样本查询向量输入到深度学习模型中,得到所述样本图像的多个预测分割结果,其中,所述预测分割结果的数量与所述样本查询向量的数量相同;
30.基于所述样本图像的各预测分割结果及所述样本图像的各实例分割真值,确定所述样本图像中各实例的分割误差;
31.根据各所述分割误差调整深度学习模型的参数及所述样本查询向量的值;
32.选取其他的样本图像对深度学习模型继续训练,直至满足预设的训练结束条件,得到预先训练的深度学习模型及所述多个预设查询向量。
33.在一种可能的实施方式中,所述基于所述样本图像的各预测分割结果及所述样本图像的各实例分割真值,确定所述样本图像中各实例的分割误差,包括:
34.针对所述样本图像的每一预测分割结果,确定该预测分割结果的多维向量;
35.针对所述样本图像的每一实例分割真值,确定该实例分割真值的多维向量;
36.针对所述样本图像的每一实例分割真值,将该实例分割真值的多维向量分别与各预测分割结果的多维向量进行匹配,得到该实例分割真值匹配的预测分割结果;
37.针对所述样本图像的每一实例分割真值,计算该实例分割真值的多维向量与该实例分割真值匹配的预测分割结果的多维向量的误差,得到该实例分割真值对应的实例的分割误差。
38.在一种可能的实施方式中,所述针对所述样本图像的每一预测分割结果,确定该预测分割结果的多维向量,包括:
39.针对所述样本图像的每一预测分割结果,确定该预测分割结果中实例的关键点;
40.分别计算各像素点到该预测分割结果中实例的关键点的向量,得到该预测分割结果的多维向量。
41.第二方面,本技术实施例提供了一种图像实例分割装置,包括:
42.待处理图像获取模块,用于获取待处理图像及多个预设查询向量,其中,所述预设查询向量的数量大于所述待处理图像中实例的数量;
43.第一图像特征提取模块,用于将所述待处理图像输入到预先训练的深度学习模型的第一神经网络中,得到所述待处理图像的第一图像特征;
44.实例特征提取模块,用于将所述第一图像特征及各所述预设查询向量输入到所述深度学习模型的第一transformer网络中,得到第二图像特征及多个实例特征,其中,所述实例特征的数量与所述预设查询向量的数量相同;
45.动态参数确定模块,用于将所述实例特征输入到所述深度学习模型的预测网络中,分别得到各所述实例特征的分类结果及动态参数;
46.动态参数配置模块,用于分别利用各所述动态参数对所述深度学习模型的动态transformer网络进行参数配置,得到多个第二transformer网络,其中,所述第二transformer网络的数量与所述预设查询向量的数量相同;
47.实例分割结果确定模块,用于基于所述第二图像特征及各所述第二transformer
网络,得到所述待处理图像的实例分割结果。
48.在一种可能的实施方式中,所述深度学习模型的第一transformer网络包括编码器及解码器;
49.所述实例特征提取模块,包括:
50.第二图像特征提取子模块,用于利用所述第一transformer网络的编码器对所述第一图像特征进行编码,得到第二图像特征;
51.实例特征提取子模块,用于将所述第二图像特征及各所述预设查询向量输入到所述第一transformer网络的解码器中,得到多个实例特征。
52.在一种可能的实施方式中,所述编码器包括多个编码器层;
53.所述第二图像特征提取子模块,具体用于:
54.针对所述第一图像特征中的每一个特征元素,利用所述编码器的第一个编码器层计算所述第一图像特征中的各特征元素针对该特征元素的权重系数,并按照权重系数对该特征元素与所述第一图像特征中的其他特征元素进行加权求和,得到该特征元素的编码后的特征元素,其中,所述第一个编码器层输出的图像特征包括所述第一图像特征中各特征元素的编码后的特征元素;
55.针对第i-1个编码器输出的图像特征中的每一个特征元素,利用所述编码器的第i个编码器层计算所述第i-1个编码器输出的图像特征中的各特征元素针对该特征元素的权重系数,并按照权重系数对该特征元素与所述第i-1个编码器输出的图像特征中的其他特征元素进行加权求和,得到该特征元素的编码后的特征元素;其中,i属于2到m,m为所述编码器中编码器层的数量,所述第i个编码器层输出的图像特征包括所述i-1个编码器输出的第图像特征中各特征元素的编码后的特征元素,第二图像特征为第m个编码器层输出的图像特征。
56.在一种可能的实施方式中,所述解码器包括多个解码器层;所述实例特征提取子模块,具体用于:
57.针对各所述预设查询向量中的每一个预设查询向量,将该预设查询向量及所述第二图像特征输入到所述解码器的第一个解码器层,得到第一个解码器层输出的该预设查询向量的融合查询特征;
58.将第i-1个解码器层输出的该预设查询向量的融合查询特征及所述第二图像特征输入到第i个解码器层中,得到第i个解码器层输出的该预设查询向量的融合查询特征;其中,i属于2到n,n为所述解码器中解码器层的数量,该预设查询向量的实例特征为第n个解码器层输出的该预设查询向量的融合查询特征。
59.在一种可能的实施方式中,所述实例特征提取子模块,具体用于:
60.将第i-1个解码器层输出的该预设查询向量的融合查询特征及所述第二图像特征输入到第i个解码器层中,利用第i解码器层确定输入的融合查询特征相对于所述第二图像特征中各特征的权重系数,并利用该权重系数对所述第二图像特征中各特征进行加权求和,得到第i个解码器层输出的该预设查询向量的融合查询特征。
61.在一种可能的实施方式中,所述实例分割结果确定模块,具体用于:
62.将所述第二图像特征输入到所述深度学习模型的第二神经网络中,得到所述待处理图像的第三图像特征,其中,所述第二神经网络用于对所述第二图像特征进行特征转换;
63.将所述待处理图像的第三图像特征分别输入到各所述第二transformer网络,得到所述待处理图像的实例分割结果。
64.在一种可能的实施方式中,所述装置还包括:
65.样本数据获取模块,用于获取样本图像及多个样本查询向量,其中,所述样本查询向量的数量大于所述样本图像中实例的数量;
66.分割结果预测模块,用于将所述样本图像及各所述样本查询向量输入到深度学习模型中,得到所述样本图像的多个预测分割结果,其中,所述预测分割结果的数量与所述样本查询向量的数量相同;
67.分割误差确定模块,用于基于所述样本图像的各预测分割结果及所述样本图像的各实例分割真值,确定所述样本图像中各实例的分割误差;
68.查询向量调整模块,用于根据各所述分割误差调整深度学习模型的参数及所述样本查询向量的值;
69.训练结束判定模块,用于选取其他的样本图像对深度学习模型继续训练,直至满足预设的训练结束条件,得到预先训练的深度学习模型及所述多个预设查询向量。
70.在一种可能的实施方式中,所述分割误差确定模块,包括:
71.第一多维向量确定子模块,用于针对所述样本图像的每一预测分割结果,确定该预测分割结果的多维向量;
72.第二多维向量确定子模块,用于针对所述样本图像的每一实例分割真值,确定该实例分割真值的多维向量;
73.多维向量匹配子模块,用于针对所述样本图像的每一实例分割真值,将该实例分割真值的多维向量分别与各预测分割结果的多维向量进行匹配,得到该实例分割真值匹配的预测分割结果;
74.分割误差计算子模块,用于针对所述样本图像的每一实例分割真值,计算该实例分割真值的多维向量与该实例分割真值匹配的预测分割结果的多维向量的误差,得到该实例分割真值对应的实例的分割误差。
75.在一种可能的实施方式中,所述第一多维向量确定子模块,具体用于:
76.针对所述样本图像的每一预测分割结果,确定该预测分割结果中实例的关键点;
77.分别计算各像素点到该预测分割结果中实例的关键点的向量,得到该预测分割结果的多维向量。
78.第三方面,本技术实施例提供了一种电子设备,包括处理器及存储器;
79.所述存储器,用于存放计算机程序;
80.处理器,用于执行存储器上所存放的程序时,实现本技术中任一所述的图像实例分割方法。
81.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本技术中任一所述的图像实例分割方法。
82.第五方面,本技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本技术中任一所述的图像实例分割方法。
83.本技术实施例有益效果:
84.本技术实施例提供的图像实例分割方法、装置、电子设备及存储介质,以实现图像实例分割,可以利用查询向量和transformer网络,对待处理图像的特征进行有差别的提取和聚合,预设查询向量的数量大于待处理图像中实例的数量,从而待处理图像中的每一个对象实例均能够得到其独特的特征;基于此特征,可以通过增预测网络来对物体的类别和分割掩模进行预测,动态transformer中的参数由预测网络输出,动态自适应进行参数配置,从而对于每一个物体实例可以对应生成其分割掩模,实现了端到端的图像实例分割,可以直接应用到目标检测与实例分割的混合任务场景中。当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
85.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
86.图1为本技术实施例的图像实例分割方法的一种流程示意图;
87.图2为本技术实施例中步骤s13的一种可能的实现方式的示意图;
88.图3为本技术实施例的编码器的一种示意图;
89.图4为本技术实施例的解码器的一种示意图;
90.图5为本技术实施例中步骤s16的一种可能的实现方式的示意图;
91.图6为本技术实施例的深度学习模型训练方法的一种流程示意图;
92.图7为本技术实施例的图像实例分割装置的一种示意图;
93.图8为本技术实施例的电子设备的一种示意图。
具体实施方式
94.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本技术保护的范围。
95.首先,对本技术中的术语进行解释:
96.transformer网络:一种基于注意力机制的网络结构,和卷积神经网络结构不同,但同属于构建神经网络的模块。一般来说,一个完整的transformer网络由encoder(编码器)和decoder(解码器)组成,特殊情况下也会存在仅有编码器或解码器结构的transformer网络。
97.query向量:查询向量,一般用来表示对任务的结果的查询。
98.端到端模型:一般指不需要额外的后处理过程,网络输出直接就可以作为最终结果的一类模型。
99.fpn(feature pyramid networks,特征金字塔网络):一种融合多级特征的特征融合结构。
100.nms(non-maximum suppression,非极大值抑制)算法:一种检测结果后处理方法,
根据检测框的得分去除重复检出的结果。
101.roi(region of interest,感兴趣区域):一些检测分割方法中将物体对应区域扣取出来,称之为roi特征。
102.图像实例分割越来越多的应用到生产及生活中,相关的图像实例分割技术中:首先将待处理图像输入到卷积主干网络,如resnet(residual neural network,残差神经网络),fpn网络中,得到待处理图像多个尺度的特征;然后基于多尺度的特征,对待处理图像中实例的检测框进行稠密预测,通过非极大值抑制算法获得待处理图像中的实例的检测框;根据待处理图像中的实例的检测框,在多尺度特征上提取感兴趣区域的特征,将提取的区域特征输入分割分支网络,得到对应物体的分割掩模;此处得到的分割掩模的尺寸是固定的,将此结果上采样至物体的检测框大小,并对应地贴到原待处理图物体的位置处。
103.但是采用上述方法,存在以下问题:
104.1.训练时需要人工进行正负样本分配策略的制定。
105.2.需要先通过非极大值抑制算法获得检测结果,非极大值抑制算法是额外的后处理过程,且需要人工设定的参与,整体模型并非是端到端的。
106.3.先得到检测结果,再在检测结果的检测框内生成分割掩模,分割结果依赖于检测结果。
107.4.在固定尺度的特征图上生成掩模,导致对大尺度物体的分割精度较差。
108.有鉴于此,本技术实施例提供了图像实例分割方法、装置、电子设备及存储介质,以解决上述问题中的至少一项。
109.参见图1,图1是本技术实施例的图像实例分割方法的一种流程示意图,包括:
110.s11,获取待处理图像及多个预设query(查询)向量,其中,所述预设查询向量的数量大于所述待处理图像中实例的数量。
111.本技术实施例的图像实例分割方法可以通过电子设备实现,具体的,该电子设备可以为智能手机、智能眼镜、智能摄像机、硬盘录像机或个人电脑等。
112.待处理图像为任意需要进行实例分割的图像,预设查询向量为深度学习模型训练过程中得到的查询向量,为利用深度学习模块学习到的与实例相关的特征向量。深度学习模型的训练过程会在下文实施例中进行说明。
113.s12,将所述待处理图像输入到预先训练的深度学习模型的第一神经网络中,得到所述待处理图像的第一图像特征。
114.第一神经网络是深度学习模型中的主干网络,用于提取待处理图像的图像特征,从而得到待处理图像的第一图像特征。第一神经网络可以任意类型的特征提取网络,例如,resnet、alexnet、vgg(visual graphics generator,目标图像生成器)或overfeat等,均在本技术的保护范围内。
115.s13,将所述第一图像特征及各所述预设查询向量输入到所述深度学习模型的第一transformer网络中,得到第二图像特征及多个实例特征,其中,所述实例特征的数量与所述预设查询向量的数量相同。
116.利用深度学习模型的第一transformer网络对第一图像特征进行特征变换,得到待处理图像的第二图像特征;利用第一transformer网络将第二图像特征分别与每个预设查询向量进行融合,得到各预设查询向量各自对应的实例特征。
117.s14,将所述实例特征输入到所述深度学习模型的预测网络中,分别得到各所述实例特征的分类结果及动态参数。
118.预测网络的具体结构可以参见相关技术中的预测网络结构,一个例子中,预测网络可以为堆叠的全连接层网络。利用深度学习模型的预测网络分别对各实例特征进行分析,分别得到每一实例特征的分类结果及动态参数。其中,针对任一实例特征,该实例特征的动态参数用于对动态transformer网络进行参数配置,得到该实例特征对应的第二transformer网络;该实例特征的分类结果表示:该实例特征对应的第二transformer网络所得到的实例分割结果的类型,例如,行人类型或车辆类型等。
119.s15,分别利用各所述动态参数对所述深度学习模型的动态transformer网络进行参数配置,得到多个第二transformer网络,其中,所述第二transformer网络的数量与所述预设查询向量的数量相同。
120.针对每一实例特征的动态参数,利用该实例特征的动态参数对动态transformer网络进行参数配置,得到该实例特征对应的第二transformer网络,最终得到多个第二transformer网络。
121.s16,基于所述第二图像特征及各所述第二transformer网络,得到所述待处理图像的实例分割结果。
122.一个例子中,第二transformer网络可以仅包括编码器。通过第二transformer网络确定每个实例的分割掩码,得到待处理图像中实例的实例分割结果。一个例子中,基于第二图像特征,每一个第二transformer网络均会输出一个实例分割结果及置信度,针对置信度低于预设置信度阈值的实例分割结果,判定为无效的实例分割结果;针对置信度不低于预设置信度阈值的实例分割结果,判断为有效的实例分割结果;将各有效的实例分割结果作为待处理图像的实例分割结果。
123.最终得到的实例分割结果的数量与待处理图像中实例的数量相同,小于预设查询向量的数量。假设有n个预设查询向量,待处理图像中有m个实例,n》m,则经过第一transformer网络会得到n个实例特征,其中,预设查询向量与实例特征一一对应;并且第二transformer网络的数量也为n个,每个第二transformer网络可以得到一个实例分割结果及其置信度,总共得到n个实例分割结果和n个置信度,每个实例分割结果对应一个置信度,其中有m个实例分割结果的置信度是大于预设置信度阈值,认为是可信的实例分割结果,作为最终得到的实例分割结果;而另外(n-m)个实例分割结果的置信度是小于或等于预设置信度阈值的,认为是不可信的实例分割结果,需要过滤掉。
124.在本技术实施例中,利用查询向量和transformer网络,对待处理图像的特征进行有差别的提取和聚合,预设查询向量的数量大于待处理图像中实例的数量,从而待处理图像中的每一个对象实例均能够得到其独特的特征;基于此特征,可以通过增预测网络来对物体的类别和分割掩模进行预测,动态transformer中的参数由预测网络输出,动态自适应进行参数配置,从而对于每一个物体实例可以对应生成其分割掩模,实现了端到端的图像实例分割,可以直接应用到目标检测与实例分割的混合任务场景中。
125.在一种可能的实施方式中,所述深度学习模型的第一transformer网络包括编码器及解码器;参见图2,所述将所述第一图像特征及各所述预设查询向量输入到所述深度学习模型的第一transformer网络中,得到第二图像特征及多个实例特征,包括:
126.s131,利用所述第一transformer网络的编码器对所述第一图像特征进行编码,得到第二图像特征。
127.第一transformer网络包括编码器及解码器。一个例子中,编码器的结构可以如图3所示,编码器由多个encoder layer(编码器层)组成,每一个编码器层通过注意力机制融合输入特征,生成新的输出特征。在一种可能的实施方式中,所述利用所述第一transformer网络的编码器对所述第一图像特征进行编码,得到第二图像特征,包括:
128.步骤一,针对所述第一图像特征中的每一个特征元素,利用所述编码器的第一个编码器层计算所述第一图像特征中的各特征元素针对该特征元素的权重系数,并按照权重系数对该特征元素与所述第一图像特征中的其他特征元素进行加权求和,得到该特征元素的编码后的特征元素,其中,所述第一个编码器层输出的图像特征包括所述第一图像特征中各特征元素的编码后的特征元素。
129.步骤二,针对第i-1个编码器输出的图像特征中的每一个特征元素,利用所述编码器的第i个编码器层计算所述第i-1个编码器输出的图像特征中的各特征元素针对该特征元素的权重系数,并按照权重系数对该特征元素与所述第i-1个编码器输出的图像特征中的其他特征元素进行加权求和,得到该特征元素的编码后的特征元素;其中,i属于2到m,m为所述编码器中编码器层的数量,所述第i个编码器层输出的图像特征包括所述i-1个编码器输出的第图像特征中各特征元素的编码后的特征元素,第二图像特征为第m个编码器层输出的图像特征。
130.例如,假设输入n个特征,对于某个特定的输入特征,在编码器层内计算其和其他所有特征(包括其自身)之间的关系,并据此关系计算出n个权重系数,基于此权重系数,计算n个特征的加权和,即可获得此特征融合后的新特征。在每个第二图像特征中,对每个输入特征都会做同样的操作,最终输出的特征和输入特征的形状仍然保持一致。例如,第一图像特征表示为3维的h*w*c,其中h和w是第一图像特征的宽、高,c是特征通道,则输出的特征值仍为h*w*c,一个例子中,可以将输入特征拉伸成n*c,其中n=h*w。
131.s132,将所述第二图像特征及各所述预设查询向量输入到所述第一transformer网络的解码器中,得到多个实例特征。
132.预设查询向量通过解码器在第二图像特征中提取和融合与其相关性较高的信息,从而获得每个实例对应的特征表达,也即实例特征。一个例子中,解码器的结构可以如图4所示,一个解码器通常由多个decoder layer(解码器层)组成。每个解码器层有两个输入:查询特征和图像特征。在一种可能的实施方式中,所述解码器包括多个解码器层;所述将所述第二图像特征及各所述预设查询向量输入到所述第一transformer网络的解码器中,得到多个实例特征,包括:
133.步骤一,针对各所述预设查询向量中的每一个预设查询向量,将该预设查询向量及所述第二图像特征输入到所述解码器的第一个解码器层,得到第一个解码器层输出的该预设查询向量的融合查询特征。
134.步骤二,将第i-1个解码器层输出的该预设查询向量对应的融合查询特征及所述第二图像特征输入到第i个解码器层中,得到第i个解码器层输出的该预设查询向量的融合查询特征;其中,i属于2到n,n为所述解码器中解码器层的数量,该预设查询向量的实例特征为第n个解码器层输出的该预设查询向量的融合查询特征。
135.假设输入查询特征(具体的,第1个解码器层输入的为预设查询向量,第i个解码器层输入的为第i-1个解码器层输出的融合查询特征)的数量为q,第二图像特征中图像特征的个数为n,在单个解码器层内,为每个输入的查询特征计算其和n个图像特征的关系,据此关系计算出n个权重系数,然后基于权重系数对n个图像特征计算加权和,得到融合更新后的融合查询特征。在一种可能的实施方式中,所述将第i-1个解码器层输出的该预设查询向量的融合查询特征及所述第二图像特征输入到第i个解码器层中,得到第i个解码器层输出的该预设查询向量的融合查询特征,包括:将第i-1个解码器层输出的该预设查询向量的融合查询特征及所述第二图像特征输入到第i个解码器层中,利用第i解码器层确定输入的融合查询特征相对于所述第二图像特征中各特征的权重系数,并利用该权重系数对所述第二图像特征中各特征进行加权求和,得到第i个解码器层输出的该预设查询向量的融合查询特征。
136.每个解码器层仍然会输出q个融合查询特征。在解码器层的堆叠中,不断更新的融合查询特征,而图像特征保持不变的。最终解码器输出的q个融合查询特征认为待分析图像中的所有的实例特征。
137.为了方便第二transformer网络获得每个实例的分割掩码,可以第一transformer网络中输出的第二图像特征,增加一个神经网络。在一种可能的实施方式中,参见图5,所述基于所述第二图像特征及各所述第二transformer网络,得到所述待处理图像的实例分割结果,包括:
138.s161,将所述第二图像特征输入到所述深度学习模型的第二神经网络中,得到所述待处理图像的第三图像特征,其中,所述第二神经网络用于对所述第二图像特征进行特征转换。
139.s162,将所述待处理图像的第三图像特征分别输入到各所述第二transformer网络,得到所述待处理图像的实例分割结果。
140.第二神经网络用于对第二图像特征进行特征转换,从而得到适用于第二transformer网络的第三图像特征。第二神经网络的网络类型可以根据实际情况自定义选取,例如,可以为resnet、alexnet、vgg(visual graphics generator,目标图像生成器)或overfeat等,均在本技术的保护范围内。
141.本技术实施例还提供了一种深度学习模型的训练方法,参见图6,包括:
142.s21,获取样本图像及多个样本查询向量,其中,所述样本查询向量的数量大于所述样本图像中实例的数量。
143.在样本图像集中选取当前训练所使用的样本图像。样本查询向量可以是随机生成的,需要保证样本查询向量的数量大于样本图像中实例的数量。
144.s22,将所述样本图像及各所述样本查询向量输入到深度学习模型中,得到所述样本图像的多个预测分割结果,其中,所述预测分割结果的数量与所述样本查询向量的数量相同。
145.深度学习模型的结构可以参见上述实施例中深度学习模型的结构;样本图像的预测分割结果的获取过程,可以参见上述实施例中待处理图像的实例分割结果的获取过程,其中,样本图像的多个预测分割结果包括每一个第二transformer网络输出的预测分割结果,而并不仅限于置信度不低于预设置信度阈值的预测分割结果。
146.s23,基于所述样本图像的各预测分割结果及所述样本图像的各实例分割真值,确定所述样本图像中各实例的分割误差。
147.可以根据样本图像的各预测分割结果及各实例分割真值,通过预设损失函数计算样本图像中各实例的分割误差,预设损失函数可以根据实际情况自定义设置。
148.在一种可能的实施方式中,所述基于所述样本图像的各预测分割结果及所述样本图像的各实例分割真值,确定所述样本图像中各实例的分割误差,包括:
149.步骤一,针对所述样本图像的每一预测分割结果,确定该预测分割结果的多维向量;
150.在一种可能的实施方式中,所述针对所述样本图像的每一预测分割结果,确定该预测分割结果的多维向量,包括:针对所述样本图像的每一预测分割结果,确定该预测分割结果中实例的关键点;分别计算各像素点到该预测分割结果中实例的关键点的向量,得到该预测分割结果的多维向量。
151.一个例子中,样本图像的预测分割结果可以表示为二维的二值图,二值图上的每个像素点对应一个坐标位置(以下称为pos),例如左上角像素点坐标为(0,0),右下角像素点坐标为(h-1,w-1)。其中,h、w分别为特征图的高和宽。而每个实例本身也有一个位置信息(以下称为posq),可以通过实例的关键点来表示,具体的,实例的关键点可以为实例的外接框的中心点或者实例的形心等。利用实例的位置信息,为每一个实例计算一个独特的位置编码图,从而为每个实例的分割掩模提供其位置的先验信息。例如,对于h*w的特征图,对于特征图中每个位置的点都会计算一个长度为d的一维向量,每个点上的一维向量的计算公式如下:
[0152][0153][0154]
其中,i表示一维向量中的位数i,d为预设的位置编码特征长度。
[0155]
步骤二,针对所述样本图像的每一实例分割真值,确定该实例分割真值的多维向量。
[0156]
实例分割真值可以是人工标定的,实例分割真值的多维向量的计算方式可以参见预测分割结果的多维向量的计算方式,此处不再赘述。
[0157]
步骤三,针对所述样本图像的每一实例分割真值,将该实例分割真值的多维向量分别与各预测分割结果的多维向量进行匹配,得到该实例分割真值匹配的预测分割结果。
[0158]
步骤四,针对所述样本图像的每一实例分割真值,计算该实例分割真值的多维向量与该实例分割真值匹配的预测分割结果的多维向量的误差,得到该实例分割真值对应的实例的分割误差。
[0159]
基于各预测分割结果的多维向量与各实例分割真值的多维向量,计算实例分割真值与预测分割结果的匹配度,匹配度的计算方式可以根据实际情况自定义设置,例如用分类损失加分割损失作为实例分割真值与预测分割结果的匹配度。通过计算所有实例分割真值与预测分割结果之间的损失,即可得到实例分割真值与预测分割结果之间的匹配矩阵。
假设有q个预测分割结果,m个实例分割真值,则匹配矩阵的大小即为q*m。对匹配矩阵进行全局最优求解(如利用匈牙利算法),可以为每个预测分割结果在全局最优的基础上找到和其最匹配的真值,此真值即为训练过程中此预测分割结果对应的训练真值。因为一个真值对应匹配一个预测分割结果,而预测分割结果的数量一定大于图像中的实例物体数,所以会有一定数量的预测分割结果没有匹配到真值,这些预测分割结果则被认为是负样本。
[0160]
s24,根据各所述分割误差调整深度学习模型的参数及所述样本查询向量的值。
[0161]
在深度学习模型开始训练时,样本查询向量可以是随机生成的,在深度学习模型的训练过程中,样本查询向量的值会根据分割误差而进行调整。训练完成后,样本查询向量的值固定不动,即为上述实施例中的预设查询向量。
[0162]
s25,选取其他的样本图像对深度学习模型继续训练,直至满足预设的训练结束条件,得到预先训练的深度学习模型及所述多个预设查询向量。
[0163]
训练结束条件可以根据实际情况自定义设置,例如可以为深度学习模型的损失收敛,或达到预设的训练次数等。
[0164]
在本技术实施例中,通过这种自适应的方式进行正负样本的分配,有效的减少了模型训练中的人工经验的参与,进一步提高了网络的学习能力和性能,无需人工设定的roi操作和nms操作,深度学习模型训练更加简单,效率更高。
[0165]
本技术实施例还提供了一种图像实例分割装置,参见图7,包括:
[0166]
待处理图像获取模块101,用于获取待处理图像及多个预设查询向量,其中,所述预设查询向量的数量大于所述待处理图像中实例的数量;
[0167]
第一图像特征提取模块102,用于将所述待处理图像输入到预先训练的深度学习模型的第一神经网络中,得到所述待处理图像的第一图像特征;
[0168]
实例特征提取模块103,用于将所述第一图像特征及各所述预设查询向量输入到所述深度学习模型的第一transformer网络中,得到第二图像特征及多个实例特征,其中,所述实例特征的数量与所述预设查询向量的数量相同;
[0169]
动态参数确定模块104,用于将各所述实例特征输入到所述深度学习模型的预测网络中,分别得到各所述实例特征的分类结果及动态参数;
[0170]
动态参数配置模块105,用于分别利用各所述动态参数对所述深度学习模型的动态transformer网络进行参数配置,得到多个第二transformer网络,其中,所述第二transformer网络的数量与所述预设查询向量的数量相同;
[0171]
实例分割结果确定模块106,用于基于所述第二图像特征及各所述第二transformer网络,得到所述待处理图像的实例分割结果。
[0172]
在一种可能的实施方式中,所述深度学习模型的第一transformer网络包括编码器及解码器;
[0173]
所述实例特征提取模块,包括:
[0174]
第二图像特征提取子模块,用于利用所述第一transformer网络的编码器对所述第一图像特征进行编码,得到第二图像特征;
[0175]
实例特征提取子模块,用于将所述第二图像特征及各所述预设查询向量输入到所述第一transformer网络的解码器中,得到多个实例特征。
[0176]
在一种可能的实施方式中,所述编码器包括多个编码器层;
[0177]
所述第二图像特征提取子模块,具体用于:
[0178]
针对所述第一图像特征中的每一个特征元素,利用所述编码器的第一个编码器层计算所述第一图像特征中的各特征元素针对该特征元素的权重系数,并按照权重系数对该特征元素与所述第一图像特征中的其他特征元素进行加权求和,得到该特征元素的编码后的特征元素,其中,所述第一个编码器层输出的图像特征包括所述第一图像特征中各特征元素的编码后的特征元素;
[0179]
针对第i-1个编码器输出的图像特征中的每一个特征元素,利用所述编码器的第i个编码器层计算所述第i-1个编码器输出的图像特征中的各特征元素针对该特征元素的权重系数,并按照权重系数对该特征元素与所述第i-1个编码器输出的图像特征中的其他特征元素进行加权求和,得到该特征元素的编码后的特征元素;其中,i属于2到m,m为所述编码器中编码器层的数量,所述第i个编码器层输出的图像特征包括所述i-1个编码器输出的第图像特征中各特征元素的编码后的特征元素,第二图像特征为第m个编码器层输出的图像特征。
[0180]
在一种可能的实施方式中,所述解码器包括多个解码器层;所述实例特征提取子模块,具体用于:
[0181]
针对各所述预设查询向量中的每一个预设查询向量,将该预设查询向量及所述第二图像特征输入到所述解码器的第一个解码器层,得到第一个解码器层输出的该预设查询向量的融合查询特征;
[0182]
将第i-1个解码器层输出的该预设查询向量的融合查询特征及所述第二图像特征输入到第i个解码器层中,得到第i个解码器层输出的该预设查询向量的融合查询特征;其中,i属于2到n,n为所述解码器中解码器层的数量,该预设查询向量的实例特征为第n个解码器层输出的该预设查询向量的融合查询特征。
[0183]
在一种可能的实施方式中,所述实例特征提取子模块,具体用于:
[0184]
将第i-1个解码器层输出的该预设查询向量的融合查询特征及所述第二图像特征输入到第i个解码器层中,利用第i解码器层确定输入的融合查询特征相对于所述第二图像特征中各特征的权重系数,并利用该权重系数对所述第二图像特征中各特征进行加权求和,得到第i个解码器层输出的该预设查询向量的融合查询特征。
[0185]
在一种可能的实施方式中,所述实例分割结果确定模块,具体用于:
[0186]
将所述第二图像特征输入到所述深度学习模型的第二神经网络中,得到所述待处理图像的第三图像特征,其中,所述第二神经网络用于对所述第二图像特征进行特征转换;
[0187]
将所述待处理图像的第三图像特征分别输入到各所述第二transformer网络,得到所述待处理图像的实例分割结果。
[0188]
在一种可能的实施方式中,所述装置还包括:
[0189]
样本数据获取模块,用于获取样本图像及多个样本查询向量,其中,所述样本查询向量的数量大于所述样本图像中实例的数量;
[0190]
分割结果预测模块,用于将所述样本图像及各所述样本查询向量输入到深度学习模型中,得到所述样本图像的多个预测分割结果,其中,所述预测分割结果的数量与所述样本查询向量的数量相同;
[0191]
分割误差确定模块,用于基于所述样本图像的各预测分割结果及所述样本图像的
各实例分割真值,确定所述样本图像中各实例的分割误差;
[0192]
查询向量调整模块,用于根据各所述分割误差调整深度学习模型的参数及所述样本查询向量的值;
[0193]
训练结束判定模块,用于选取其他的样本图像对深度学习模型继续训练,直至满足预设的训练结束条件,得到预先训练的深度学习模型及所述多个预设查询向量。
[0194]
在一种可能的实施方式中,所述分割误差确定模块,包括:
[0195]
第一多维向量确定子模块,用于针对所述样本图像的每一预测分割结果,确定该预测分割结果的多维向量;
[0196]
第二多维向量确定子模块,用于针对所述样本图像的每一实例分割真值,确定该实例分割真值的多维向量;
[0197]
多维向量匹配子模块,用于针对所述样本图像的每一实例分割真值,将该实例分割真值的多维向量分别与各预测分割结果的多维向量进行匹配,得到该实例分割真值匹配的预测分割结果;
[0198]
分割误差计算子模块,用于针对所述样本图像的每一实例分割真值,计算该实例分割真值的多维向量与该实例分割真值匹配的预测分割结果的多维向量的误差,得到该实例分割真值对应的实例的分割误差。
[0199]
在一种可能的实施方式中,所述第一多维向量确定子模块,具体用于:
[0200]
针对所述样本图像的每一预测分割结果,确定该预测分割结果中实例的关键点;
[0201]
分别计算各像素点到该预测分割结果中实例的关键点的向量,得到该预测分割结果的多维向量。
[0202]
本技术实施例还提供了一种电子设备,本技术实施例提供了一种电子设备,包括处理器及存储器;
[0203]
所述存储器,用于存放计算机程序;
[0204]
处理器,用于执行存储器上所存放的程序时,实现本技术中任一所述的图像实例分割方法。
[0205]
在一种可能的实施方式中,如图8所示,本技术实施例的电子设备还包括通信接口202和通信总线204,其中,处理器201,通信接口202,存储器203通过通信总线204完成相互间的通信。
[0206]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0207]
通信接口用于上述电子设备与其他设备之间的通信。
[0208]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0209]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现
场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0210]
在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本技术中任一所述的方法。
[0211]
在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本技术中任一所述的方法。
[0212]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0213]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0214]
本说明书中的各个实施例均采用相关的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0215]
以上所述仅为本技术的较佳实施例,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献