一种基于自注意力的车辆属性多任务协同识别方法与流程

专利查询4月前  37



1.本发明涉及图像分类技术领域,具体为一种基于自注意力的车辆属性多任务协同识别方法。


背景技术:

2.随着人工智能等先进技术的迅猛发展,全国各地也加速推进部署和建设智慧城市。车辆作为智能交通系统的重要组成,结合视频大数据分析技术快速对车辆属性信息有效甄别和统筹,有助于提升智能交通系统的运行效率。车辆颜色、车辆类型、车辆品牌车系、车型等车辆属性作为车辆外观的显著特征,能够为车辆快速定位、追踪、智能化管理提供依据。
3.传统的车辆属性识别算法大多数都是单个属性对应单个独立的模型,没有考虑到多个属性之间的共性特征;而且在模型部署时,多个独立的模型同时加载,占用计算资源较大,模型处理性能较差,成本较高。因此我们对此做出改进,提出一种基于自注意力的车辆属性多任务协同识别方法。


技术实现要素:

4.为了解决上述技术问题,本发明提供了如下的技术方案:
5.本发明一种基于自注意力的车辆属性多任务协同识别方法,包括如下步骤:
6.s1、构建训练数据集,准备一定数量的车体图片数据,并为该数据进行打标车辆属性标签;
7.s2、构建深度学习网络结构,构建深度学习网络结构分为两部分,第一部分是构建任务自适应图像裁剪子网络r
resizer
(w,x),基于车辆属性任务自适应调整图像的裁剪方式;第二部分是搭建自注意力任务网络和协同共享网络,分别提取各任务特征编码信息和协同任务特征编码信息;
8.s3、模型训练,使用动态分配的任务平均权重更新多任务损失函数,计算各任务真实值和预测值的之间的损失,使用动态分配的权重加权求取损失和,使用nadam优化器更新网络,进行模型训练。
9.作为本发明的一种优选技术方案,所述s2中构建任务自适应图像裁剪子网络r
resizer
(w,x)的具体过程如下:
10.a、先将原始图像通过双线性计算裁剪成矩形图像,计算公式如下:
11.i=billinear(i
src
)
12.其中i为矩形图像,billinear(
·
)为双线性操作,i
src
为原始图片;
13.b、i经过任务自适应图像裁剪子网络r
resizer
(w,x)计算归一化处理后图像,然后与i求和,计算公式如下:
14.i
dst
=i+bn(conv2d(leakyrelu(bn(conv2d(i)))
15.其中con2d(
·
)是r
resizer
(w,x)中的卷积操作,bn(
·
)是r
resizer
(w,x)中的批归一化
操作,leakyrelu(
·
)是leakyrelu非线性激活函数。
16.作为本发明的一种优选技术方案,所述s2中搭建协同共享网络,用于学习协同任务的特征编码信息,具体可以表示为:
17.net
share
(w,x;y)=[block1+maxpool1,block2+maxpool2,block3+maxpool3,block4+avgpool4]
[0018]
其中blocki为残差子模块,maxpooli为最大池化层,avgpool为全局池化层;
[0019]
构建自注意力任务网络,用于学习任务k的特征编码信息,具体可表示为:
[0020]
netk(w,x;y)=[block
k1
,block
k2
,block
k3
]
[0021]
其中block
ki
为任务k模型的子模块。
[0022]
作为本发明的一种优选技术方案,所述s2中的自注意力任务网络中自注意力机制,即任务k网络子模块与协同共享网络子模块输出进行特征融合,通过卷积操作和激活函数空间映射,与协同共享网络的输出再做内积,便可在学习的过程中生成任务k自注意力掩码,任务k能够在学习过程中挑选协同共享网络局部特征用于学习任务k信息编码,具体计算如下步骤:
[0023]
a、任务k的blocki可以设计为:
[0024][0025]
b、任务k的的输出为计算与协同共享网络blocki输出ci的融合特征,具体可表示为:
[0026][0027]
其中f
ik
(
·
)为特征融合操作;
[0028]
c、计算任务k的自注意力掩码,具体可表示为:
[0029][0030]
其中都是由1
×
1的卷积核组成,卷积后经过归一化bn层和relu层转化成非线性特征,卷积后经过归一化bn层和sigmoid激活函数后,将特征转换到[0,1]之间,形成任务k的注意力掩码;
[0031]
d、output
mask
与ci做点积操作,使得任务k可以在学习过程中自适应选择协同共享网络中的部分权重,具体可表示为:
[0032]
oi=ci·
output
mask
[0033]
其中
·
是点积操作;
[0034]
e、oi经卷积操作、归一化bn层、relu层和最大池化层计算,用于适配block
i+1
的输出大小,具体可表示为:
[0035][0036]
其中为的输出,是一个3
×
3的卷积操作。
[0037]
作为本发明的一种优选技术方案,所述s3模型训练中,动态分配的任务平均权重更新多任务损失函数,按如下步骤进行计算:
[0038]
a、计算任务k交叉熵损失,具体公式如下:
[0039][0040]
其中lk表任务k的交叉熵损失,n表示批处理的图像数目,i表示某一图像,m表示任务k的总类别数,c表示某一类别,y
ic
表示第i个图像的标签为c,softmax(yi′c)表示任务k模型预测输出;
[0041]
b、计算任务k的动态加权损失l

,具体公式如下:
[0042][0043]
其中l

为任务k自适应加权损失,μ=[μ1,μ2]∈r1×2为自适应梯度更新分配权重,log(
·
)为取对数操作;
[0044]
c、计算t时刻的比值更新损失函数,具体公式如下:
[0045][0046][0047]
其中l

(t),l

(t-1)表示任务k在t时刻和t-1时刻的动态加权损失,wk(t)为任务k在t时刻的交叉熵损失和t-1时刻交叉熵损失的比值,是t时刻交叉熵计算比值取指数操作,t表示温度系数;
[0048]
d、计算多任务网络损失函数,具体公式如下:
[0049][0050]
本发明的有益效果是:
[0051]
本发明基于车辆多属性识别问题,提出一种基于自注意力的车辆属性多任务协同识别方法,本发明设计了一种多任务协同识别网络结构和多任务损失函数,通过参数共享模块融合多个属性之间的共性特征;通过一次网络模型前向计算,输出多个属性任务的预测结果;不仅提升了属性识别准确率,而且通过多属性识别网络参数共享降低了网络参数量,大幅减少了计算资源的消耗,降低了成本,便于实际部署。
附图说明
[0052]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0053]
图1是本发明一种基于自注意力的车辆属性多任务协同识别方法的流程图;
[0054]
图2是本发明一种基于自注意力的车辆属性多任务协同识别方法的搭建自注意力任务网络和协同共享网络示意图。
具体实施方式
[0055]
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实
施例仅用于说明和解释本发明,并不用于限定本发明。
[0056]
实施例:如图1所示,本发明一种基于自注意力的车辆属性多任务协同识别方法,包括构建训练数据集、构建深度学习网络结构、深度神经网络训练三部分。
[0057]
1、构建数据集
[0058]
准备一定数量的车体图数据,本次数据共收集车辆数据160990张。
[0059]
给车辆数据打标车辆类型和车辆颜色标签,根据数据特点,需打标的车辆类型应包括大型客车、中型客车等32种主要类型。需打标车辆颜色标签应包括黑色、棕色、灰色等14种主要颜色。为后面训练模型做准备;
[0060]
由于车辆类型的分类类别数较多,为了能保证车辆类型的准确分类,根据车辆类型中的每一类别进行数据集切分,80%用于训练,20%用于测试,最终训练集总数为128782张,测试集总数为32208张。
[0061]
2构建深度学习网络结构
[0062]
构建深度学习网络结构分为两部分,第一部分是构建任务自适应图像裁剪子网络r
resizer
(w,x),基于车辆属性任务自适应调整图像的裁剪方式。第二部分是搭建自注意力任务网络和协同共享网络,如图2所示,分别提取任务特征编码信息和协同任务特征编码信息。
[0063]
2.1构建任务自适应图像裁剪子网络r
resizer
(w,x)
[0064]
(1)自适应图像裁剪子网络的输入图像i
src
尺寸是原始图片大小。
[0065]
(2)先将原始图像通过双线性计算裁剪成矩形,i尺寸是72
×
72
×
3,计算公式如下:
[0066]
i=billinear(i
src
)
[0067]
其中billinear(
·
)双线性操作,i
src
为原始图片。
[0068]
(3)r
resizer
(w,x)由两个卷积层构成,第一个卷积层的卷积核大小为7
×
7,第二个卷积核大小为1
×
1,图像i经过两个卷积核和非线性激活函数编码特征后,再与图像i求和,计算如下表示:
[0069]idst
=i+bn(conv2d(leakyrelu(bn(conv2d(i)))
[0070]
其中con2d(
·
)是r
resizer
(w,x)中的卷积操作,bn(
·
)是r
resizer
(w,x)中的批归一化操作,leakyrelu(
·
)是leakyrelu激活函数,i
dst
图像尺寸大小为72
×
72
×
3。
[0071]
2.2搭建自注意力任务网络和协同共享网络
[0072]
(1)协同共享网络使用wideresnet,网络深度设置为28,宽度因子设置为4。网络结构可表示为:
[0073]
net
share
(w,x;y)=[block1+maxpool1,block2+maxpool2,block3+maxpool3,block4+avgpool4]
[0074]
其中blocki为残差子模块,maxpooli为最大池化层,avgpool为全局池化层,四个特征块的卷积核输出大小分别是16,64,128,256。
[0075]
(2)构建自注意力任务网络,网络结构可表示为:
[0076]
netk(w,x;y)=[block
k1
,block
k2
,block
k3
]
[0077]
其中block
ki
为任务k模型的子模块。
[0078]
2.2.1任务k模型的子模块设计
[0079]
(1)任务k的blocki可以设计为:
[0080][0081]
(2)任务k的的输出为计算与协同共享网络blocki输出ci的融合特征,具体可表示为:
[0082][0083]
其中f
ik
(
·
)为特征融合操作。
[0084]
(3)计算任务k的自注意力掩码,具体可表示为:
[0085][0086]
其中都是由1
×
1的卷积核组成,卷积后经过归一化bn层和relu层转化成非线性特征,卷积后经过归一化bn层和sigmoid激活函数后,将特征转换到[0,1]之间,形成任务k的注意力掩码。
[0087]
(4)output
mask
与ci做点积操作,使得任务k可以在学习过程中自适应选择协同共享网络中的部分权重,具体可表示为:
[0088]
oi=ci·
output
mask
[0089]
其中
·
是点积操作。
[0090]
(5)oi经卷积操作、归一化bn层、relu层和最大池化层计算,用于适配block
i+1
的输出大小,具体可表示为:
[0091][0092]
其中为的输出,是一个3
×
3的卷积操作。
[0093]
3模型训练
[0094]
(1)训练框架选用pytorch。
[0095]
(2)使用xavier初始化方法对神经网络进行初始权重。
[0096]
(3)在训练时对数据进行随机增广,使用随机翻转、旋转、随机高斯模糊等操作,使得数据分布更加广泛。
[0097]
(4)协同共享网络输入图片大小设置为72
×
72
×
3。
[0098]
(5)在训练中采用了不平衡采样技术,由于本算法中涉及到两个标签,车辆类型的标签是相对类别数较多的类别,所以根据车辆类型在一个批处理中进行平衡采样,保证在一个批训练中样本是平衡的,避免样本类多的在训练中占梯度的主导作用。
[0099]
(6)通过使用动态分配的任务平均权重更新多任务损失函数,计算模型输出预测结果与真实值之间的损失,使用nadam优化器进行优化,进行模型训练。
[0100]
(7)所述动态分配的任务平均权重更新多任务损失函数,按如下步骤进行计算:
[0101]
1)计算任务交叉熵损失,具体公式如下:
[0102][0103]
其中lk表任务k的交叉熵损失,n表示批处理的图像数目,i表示某一图像,m表示任务k的总类别数,c表示某一类别,y
ic
表示第i个图像的标签为c,softmax(yi′c)表示任务k模
型预测输出。
[0104]
2)计算任务k的动态加权损失l

,具体公式如下:
[0105][0106]
其中l

为任务k自适应加权损失,μ=[μ1,μ2]∈r1×2为自适应梯度更新分配权重,log(
·
)为取对数操作;
[0107]
3)计算t时刻的比值更新损失函数,具体公式如下:
[0108][0109][0110]
其中l

(t),l

(t-1)表示任务k在t时刻和t-1时刻的动态加权损失,wk(t)为任务k在t时刻的交叉熵损失和t-1时刻交叉熵损失的比值,是t时刻交叉熵计算比值取指数操作,t表示温度系数;
[0111]
4)计算多任务网络损失函数
[0112][0113]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种基于自注意力的车辆属性多任务协同识别方法,其特征在于,包括如下步骤:s1、构建训练数据集,准备一定数量的车体图片数据,并为该数据进行打标车辆属性标签;s2、构建深度学习网络结构,构建深度学习网络结构分为两部分,第一部分是构建任务自适应图像裁剪子网络r
resizer
(w,x),基于车辆属性任务自适应调整图像的裁剪方式;第二部分是搭建自注意力任务网络和协同共享网络,分别提取各任务特征编码信息和协同任务特征编码信息;s3、模型训练,使用动态分配的任务平均权重更新多任务损失函数,计算各任务真实值和预测值的之间的损失,使用动态分配的权重加权求取损失和,使用nadam优化器更新网络,进行模型训练。2.根据权利要求1所述的一种基于自注意力的车辆属性多任务协同识别方法,其特征在于,所述s2中构建任务自适应图像裁剪子网络r
resizer
(w,x)的具体过程如下:a、先将原始图像通过双线性计算裁剪成矩形图像,计算公式如下:i=billinear(i
src
)其中i为矩形图像,billinear(
·
)为双线性操作,i
src
为原始图片;b、i经过任务自适应图像裁剪子网络r
resizer
(w,x)计算归一化处理后图像,然后与i求和,计算公式如下:i
dst
=i+bn(conv2d(leakyrelu(bn(conv2d(i)))其中con2d(
·
)是r
resizer
(w,x)中的卷积操作,bn(
·
)是r
resizer
(w,x)中的批归一化操作,leakyrelu(
·
)是leakyrelu非线性激活函数。3.根据权利要求1所述的一种基于自注意力的车辆属性多任务协同识别方法,其特征在于,所述s2中搭建协同共享网络,用于学习协同任务的特征编码信息,具体可以表示为:net
share
(w,x;y)=[block1+maxpool1,block2+maxpool2,block3+maxpool3,block4+avgpool4]其中block
i
为残差子模块,maxpool
i
为最大池化层,avgpool为全局池化层;构建自注意力任务网络,用于学习任务k的特征编码信息,具体可表示为:net
k
(w,x;y)=[block
k1
,block
k2
,block
k3
]其中block
ki
为任务k模型的子模块。4.根据权利要求3所述的一种基于自注意力的车辆属性多任务协同识别方法,其特征在于,所述s2中的自注意力任务网络中自注意力机制,即任务k网络子模块与协同共享网络子模块输出进行特征融合,通过卷积操作和激活函数空间映射,与协同共享网络的输出再做内积,便可在学习的过程中生成任务k自注意力掩码,任务k能够在学习过程中挑选协同共享网络局部特征用于学习任务k信息编码,具体计算如下步骤:a、任务k的block
i
可以设计为:b、任务k的的输出为计算与协同共享网络block
i
输出c
i
的融合特征,具体可表示为:
其中f
ik
(
·
)为特征融合操作;c、计算任务k的自注意力掩码,具体可表示为:其中都是由1
×
1的卷积核组成,卷积后经过归一化bn层和relu层转化成非线性特征,卷积后经过归一化bn层和sigmoid激活函数后,将特征转换到[0,1]之间,形成任务k的注意力掩码;d、output
mask
与c
i
做点积操作,使得任务k可以在学习过程中自适应选择协同共享网络中的部分权重,具体可表示为:o
i
=c
i
·
output
mask
其中
·
是点积操作;e、o
i
经卷积操作、归一化bn层、relu层和最大池化层计算,用于适配block
i+1
的输出大小,具体可表示为:其中为的输出,是一个3
×
3的卷积操作。5.根据权利要求1所述的一种基于自注意力的车辆属性多任务协同识别方法,其特征在于,在所述s3模型训练中,动态分配的任务平均权重更新多任务损失函数,按如下步骤进行计算:a、计算任务k交叉熵损失,具体公式如下:其中l
k
表任务k的交叉熵损失,n表示批处理的图像数目,i表示某一图像,m表示任务k的总类别数,c表示某一类别,y
ic
表示第i个图像的标签为c,softmax(y
i

c
)表示任务k模型预测输出;b、计算任务k的动态加权损失l

,具体公式如下:其中l

为任务k自适应加权损失,μ=[μ1,μ2]∈r1×2为自适应梯度更新分配权重,log(
·
)为取对数操作;c、计算t时刻的比值更新损失函数,具体公式如下:c、计算t时刻的比值更新损失函数,具体公式如下:其中l

(t),l

(t-1)表示任务k在t时刻和t-1时刻的动态加权损失,w
k
(t)为任务k在t时刻的交叉熵损失和t-1时刻交叉熵损失的比值,是t时刻交叉熵计算比值取指数操
作,t表示温度系数;d、计算多任务网络损失函数,具体公式如下:

技术总结
本发明公开了一种基于自注意力的车辆属性多任务协同识别方法,包括构建训练数据集、构建深度学习网络结构、深度神经网络训练三部分。该种基于自注意力的车辆属性多任务协同识别方法,基于车辆多属性识别问题,设计了一种多任务协同识别网络结构和多任务损失函数,通过参数共享模块融合多个属性之间的共性特征;通过一次网络模型前向计算,输出多个属性任务的预测结果;不仅提升了属性属性识别准确率,而且通过多属性识别网络参数共享降低了网络参数量,大幅减少了计算资源的消耗,降低了成本,便于实际部署。便于实际部署。便于实际部署。


技术研发人员:李华蓉 赵慧 王玮 白朝晖 田佳豪 孙光泽
受保护的技术使用者:西安烽火软件科技有限公司
技术研发日:2021.11.29
技术公布日:2022/3/8

最新回复(0)