掌桥专利:专业的专利平台
掌桥专利
首页

多属性识别及模型训练方法、装置、设备和存储介质

文献发布时间:2023-06-19 19:37:02


多属性识别及模型训练方法、装置、设备和存储介质

技术领域

本公开涉及人工智能技术领域,具体涉及图像处理、深度学习、计算机视觉等技术领域,尤其涉及一种多属性识别及模型训练方法、装置、设备和存储介质。

背景技术

人员作业规范识别是安全生产环境中的一个重要环节,人员作业规范通常包括多项,为此,需要解决目标(如人员)的多属性识别问题。

发明内容

本公开提供了一种多属性识别及模型训练方法、装置、设备和存储介质。

根据本公开的一方面,提供了一种多属性识别模型的训练方法,所述模型包括主干网络和多个分支网络,所述多个分支网络与多个属性信息一一对应,所述方法包括:获取训练数据,所述训练数据包括:多组图像样本,所述多组图像样本与所述多个属性信息一一对应;采用所述主干网络,对所述图像样本进行处理,以获得所述图像样本的图像特征;采用所述多个分支网络中的目标分支网络,对目标属性信息对应的图像特征进行处理,以获得所述目标属性信息的预测值;其中,所述目标属性信息是所述目标分支网络对应的属性信息;基于所述目标属性信息的预测值,构建总损失函数;基于所述总损失函数,调整所述主干网络的模型参数和所述分支网络的模型参数中的至少一项,直至达到预设条件。

根据本公开的另一方面,提供了一种多属性识别方法,包括:获取待识别的图像,所述图像中的目标具有多个属性信息;对所述图像进行特征提取处理,以获得所述图像的图像特征;基于所述图像特征,确定所述多个属性信息中的目标属性信息的识别结果。

根据本公开的另一方面,提供了一种多属性识别模型的训练装置,所述模型包括主干网络和多个分支网络,所述多个分支网络与多个属性信息一一对应,所述装置包括:获取模块,用于获取训练数据,所述训练数据包括:多组图像样本,所述多组图像样本与所述多个属性信息一一对应;提取模块,用于采用所述主干网络,对所述图像样本进行处理,以获得所述图像样本的图像特征;预测模块,用于采用所述多个分支网络中的目标分支网络,对目标属性信息对应的图像特征进行处理,以获得所述目标属性信息的预测值;其中,所述目标属性信息是所述目标分支网络对应的属性信息;构建模块,用于基于所述目标属性信息的预测值,构建总损失函数;调整模块,用于基于所述总损失函数,调整所述主干网络的模型参数和所述分支网络的模型参数中的至少一项,直至达到预设条件。

根据本公开的另一方面,提供了一种多属性识别装置,包括:获取模块,用于获取待识别的图像,所述图像中的目标具有多个属性信息;提取模块,用于对所述图像进行特征提取处理,以获得所述图像的图像特征;识别模块,用于基于所述图像特征,确定所述多个属性信息中的目标属性信息的识别结果。

根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。

根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。

根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。

根据本公开的技术方案,可以低成本且高效率地获得准确度较高的多属性识别结果。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1是根据本公开第一实施例的示意图;

图2是本公开实施例对应的应用场景的示意图;

图3是根据本公开实施例提供的多属性识别模型的训练方法的整体架构的示意图;

图4是根据本公开实施例提供的属性头的示意图;

图5是根据本公开第二实施例的示意图;

图6a-图6b是根据本公开实施例提供的针对增量属性头的两阶段训练方式的示意图;

图7是根据本公开第三实施例的示意图;

图8是根据本公开实施例提供的多属性识别方法的整体架构的示意图;

图9是根据本公开第四实施例的示意图;

图10是根据本公开第五实施例的示意图

图11是用来实现本公开实施例的多属性识别模型的训练方法或多属性识别方法的电子设备的示意图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

针对目标的多属性识别,相关技术中,可以训练多个模型,每个模型用于识别一个属性信息,但是,训练多个模型的方式,效率差成本高;或者,可以采用多标签训练多任务模型的方式,但是,由于每个样本都需要标注所有类别的标签,标注成本高,并且,由于一些属性信息之间存在矛盾(如有些属性信息需要半身图像,有些属性信息需要全身图像),多标签训练方式会导致模型的准确度不足。

为了更好地获得目标的多属性识别结果,本公开提供如下实施例。

图1是根据本公开第一实施例的示意图,本实施例提供一种多属性识别模型的训练方法,该模型包括主干网络和多个分支网络,该多个分支网络与多个属性信息一一对应,该方法包括:

101、获取训练数据,所述训练数据包括:多组图像样本,所述多组图像样本与所述多个属性信息一一对应。

102、采用所述主干网络,对所述图像样本进行处理,以获得所述图像样本的图像特征。

103、采用所述多个分支网络中的目标分支网络,对目标属性信息对应的图像特征进行处理,以获得所述目标属性信息的预测值;其中,所述目标属性信息是所述目标分支网络对应的属性信息。

104、基于所述目标属性信息对应的预测值,构建总损失函数。

105、基于所述总损失函数,调整所述主干网络的模型参数和所述分支网络的模型参数中的至少一项,直至达到预设条件。

其中,训练过程中,图像样本可以是预先收集的,每组图像样本对应一个属性信息。

以人员作业规范识别为例,人员作业规范识别的多个属性信息通常包括:人员佩戴安全帽、人员穿着工服、人员穿着反光衣、人员穿着救生衣、人员佩戴安全带、人员作业期间打电话/玩手机、人员睡岗等。

收集图像样本时,可以对应每个属性信息收集一组图像样本。以多个属性信息包括:是否打电话(第一属性信息)、是否穿工服(第二属性信息)为例,可以对应第一属性信息收集第一组图像样本,对应第二属性信息收集第二组图像样本。

由于图像样本与属性信息,可以收集各个属性信息合适的图像样本,例如,针对上述第一属性信息,可以收集半身图像,针对上述的第二属性信息,可以收集全身图像。

进一步地,对应每组图像样本,可以采用人工或自动方式进行标注,以获得该组图像样本对应的标签信息,标签信息用于标注对应的属性信息的真实值。

以上述的第一属性信息和第二属性信息为例,可以收集第一组图像样本和第二组图像样本,另外,还可以对应第一组图像样本标注第一组标签信息,第一组标签信息用于标注第一属性信息的真实值,对应第二组图像样本标注第二组标签信息,第二组标签信息用于标注第二属性信息的真实值。

由于标签信息也与属性信息对应,针对同一个样本并不需要全量标注(标注所有类别的标签信息),可以只标注其对应的属性信息的标签值。

以第一组图像样本中的某个图像样本为例,若该图像样本中的人员打电话,则对应的标签信息可以标注为1,若没有打电话,则对应的标签信息可以标注为0。即,本实施例中,由于第一组图像样本对应是否打电话,可以只标注是否打电话的标签信息。

相对应地,若全量标注,则针对上述的图像样本,除了标注是否打电话的标签信息之外,还需要标注是否穿工服的标签信息。

获得多组图像样本后,针对各组图像样本,可以将其输入到主干网络(backbone)中,主干网络用于提取图像特征,其输出是该组图像样本对应的图像特征。

主干网络可以是卷积神经网络(Convolutional Neural Network,CNN),具体如,Convnext-tiny网络。Convnext-tiny网络是一种已有的在resnet基础上发展的卷积神经网络。

不同的属性信息共用主干网络,不同的属性信息对应不同的分支网络。

目标分支网络,是指多个分支网络中待采用的分支网络,例如,可以将每个(各个)分支网络作为目标分支网络。

以目标分支网络是多个分支网络中的各个分支网络为例,采用主干网络获得各组图像样本对应的各组图像特征后,针对各组图像特征,将各组图像特征分别输入到各个分支网络中,采用各个分支网络获得对应的属性信息的预测值。

以上述的两个属性信息为例,则分支网络包括第一分支网络和第二分支网络,采用共用的主干网络获得图像特征后,采用第一分支网络基于第一组图像样本的图像特征获得第一预测值,采用第二分支网络基于第二组图像样本的图像特征获得第二预测值。

获得目标属性信息的预测值后,可以基于预测值构建总损失函数,具体地,可以基于目标属性信息的预测值和该目标属性信息的真实值(从标签信息中获得)构建目标属性信息对应的子损失函数,再基于不同的目标属性信息对应的子损失函数构建总损失函数。

例如,针对第一分支网络,可以基于第一预测值和第一真实值,构建第一子损失函数,针对第二分支网络,可以基于第二预测值和第二真实值,构建第二子损失函数。

获得各个子损失函数后,可以基于各个子损失函数获得总损失函数,例如,可以将上述的第一子损失函数和第二子损失函数相加后,得到总损失函数。

获得总损失函数后,可以基于总损失函数调整模型参数。例如,可以采用反向传播(Back Propagation,BP)算法调整模型参数。

所调整的模型参数包括:主干网络的模型参数,和/或,分支网络的模型参数。

调整参数可以是:调整后的参数=调整前的参数-学习率*梯度值,其中梯度值可以是总损失函数针对模型参数进行求导后获得,学习率是预设的超参数。各个参数的初始值可以是设置的,例如,可以针对各个参数进行随机化处理,随机获得各个参数的初始值。

预设条件例如是迭代次数达到预设值或者满足收敛条件(如前一轮的损失函数与当前轮的损失函数的差值的绝对值小于预设值),可以将满足预设条件的模型作为最终的多属性识别模型,该模型可以用于推理阶段的基于图像获得该图像中的目标的多属性识别结果。

本实施例中,待训练的多属性识别模型包括主干网络和多个分支网络,每个分支网络对应一个属性信息(多个分支网络与多个属性信息一一对应),由于多个属性信息共用主干网络,并不需要对应每个属性信息单独训练一个模型,可以降低成本、提高效率;通过多组图像样本与多个属性信息一一对应,可以基于不同的属性信息选择合适的图像样本,提高模型的精准度。因此,可以低成本、高效率的获得精准度较高的多属性识别模型,进而基于该模型进行推理时,可以低成本且高效率地获得准确度较高的多属性识别结果。进一步地,通过多组标签信息与多个属性信息一一对应,可以针对每个属性信息进行对应的标注,而不需要针对所有属性信息进行全量标注,可以降低标注量。

为了更好地理解本公开,对本公开实施例的应用场景进行说明。

图2是本公开实施例对应的应用场景的示意图。如图2所示,用户可以将图像样本上传至电子设备201,电子设备201基于图像样本进行训练,获得多属性识别模型。另外,在推理阶段,可以基于该模型对输入的图像进行处理,获得该图像中的目标的多属性识别结果。可以理解的是,模型训练和模型应用所对应的电子设备可以相同或不同。本实施例以模型训练为例。

其中,电子设备201可以是用户终端,例如,个人电脑(Personal Computer)、笔记本电脑、移动设备(如手机)等。或者,电子设备201也可以是服务器,服务器可以是云端服务器或本地服务器。或者,用户也可以通过用户终端将图像样本发送至服务器,由服务器基于图像样本进行训练后,得到多属性识别模型后,将模型发送至用户终端,由用户终端基于该模型进行推理阶段的多属性识别。或者,推理阶段还可以包括:用户将待识别的图像通过用户终端发送至服务器,服务端基于预先训练的模型对该图像进行识别后,获得该图像中的目标的多属性识别结果,并将多属性识别结果返回给用户终端,由用户终端显示给用户。

本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

如图3所示,多属性识别模型的训练过程的整体架构可以包括:主干网络和多个分支网络,分支网络也可以称为属性头(head)。

假设属性信息的个数是N(N为正整数),如图3所示,多属性识别模型包括统一的主干网络和N个分支网络(属性头),每个分支网络对应一个属性信息。

每个属性信息对应一组图像样本,因此,可以收集N组图像样本,每组图像样本的大小可以表示为B1、B2、B3、...BN。

其中,各组图像样本可以来自不同的数据源,如图3所示,第一组图像样本(大小为B1)可以来自于源_1的数据,第二组图像样本(大小为B2)可以来自于源_2的数据。

在选择不同组的图像样本时,可以采用类间均匀采样的方式,以实现各个场景训练均衡。例如,源_1的数据量是100,选择的B1=10,若源_2的数据量是1000,则选择的B2=100。

通过类间均匀采样的方式,可以解决类间的数据不均衡问题,提高模型训练效果。

各组图像样本均输入统一的主干网络中,主干网络用于提取图像样本的图像特征。主干网络例如为Convnext-tiny网络。

具体实现时,可以将N组图像样本进行拼接(concat)后输入到主干网络中。拼接是指将不同的图像样本合并在一起,如第一图像和第二图像拼接后为[第一图像,第二图像]。

经过主干网络处理后,可以获得图像样本的图像特征。各组图像样本的图像特征分别用F1、F2、F3、...、FN表示。

不同组的图像特征进行切分(split)后,可以输入到对应的属性头中,如,将F1输入到源_1的属性头中。切分是拼接的逆操作,如将[F1,F2]切分为F1和F2。

训练阶段,不同属性头对图像特征进行处理后,可以获得对应的属性信息的预测值,并基于该预测值与对应的真实值构建子损失函数,如loss1~lossN。

例如,如图3所示,主干网络获得各组图像特征后,可以对各组图像特征进行切分,并将切分后的图像特征(如F1、F2等)输入到对应的分支网络(属性头)中。对应每个属性头,经过基于图像特征获得对应的属性信息的预测值,例如,第一属性头(源_1的属性头)对应第一属性信息(是否打电话),则经过第一属性头的处理,可以获得是否打电话的预测值(具体可以是概率值);第二属性头(源_2的属性头)对应第二属性信息(是否穿工服),则经过第二属性头的处理,可以获得是否穿工服的预测值(如概率值)。

针对每个属性头,可以采用该属性头的预测值和真实值构建对应的子损失函数。如图3的loss1~lossN。

子损失函数可以具体为加权的焦点损失函数(focal loss)。

计算公式可以是:

其中,L

y’是预测值,y是真实值;

α,γ是预设参数;

log是取对数运算。

通过采用加权的焦点损失函数,可以解决类内数据不平衡问题。

获得各个分支网络的子损失函数后,可以基于这些子损失函数获得总损失函数,例如,将各个子损失函数相加后,得到总损失函数L。

计算公式为:

L=loss1+loss2+...+lossN;

其中,L是总损失函数;

loss1~lossN是各个子损失函数。

可以理解的是,基于子损失函数获得总损失函数,不限于直接相加,还可以加权相加等其他运算方式。

获得总损失函数L后,可以基于L调整模型参数,如调整主干网络的模型参数,以及各个分支网络的模型参数。具体调整方式可以是BP方式,如图3的虚线箭头所示。

针对各个分支网络(属性头),如图4所示,每个属性头可以包括:注意力层(用动态注意力机制表示)、池化层(用自适应池化表示)、感知层(用多层感知模块表示)和输出层。

相应地,所述采用所述多个分支网络中的目标分支网络,对目标属性信息对应的图像特征进行处理,以获得所述目标属性信息的预测值,包括:

采用所述注意力层,基于预设的注意力权重,对所述目标属性信息对应的图像特征进行处理,以获得加权后的图像特征;

采用所述池化层,对所述加权后的图像特征进行池化处理,以获得池化后的图像特征;

采用所述感知层,基于所述池化后的图像特征,获得分类特征;

采用所述输出层,基于所述分类特征获得所述预测值。

本实施例中,通过设置注意力层,可以基于属性信息的不同在不同的分支网络中设置合适的注意力权重,利于互斥属性信息之间的联合训练。

针对每个属性信息,其对应的图像样本是一组,相应的图像特征也是一组,即可以包括一个或多个图像特征。

如图4所示,每个属性信息对应的一组图像特征经过动态注意力机制处理后,可以获得处理后的特征,该特征可以称为注意力特征。具体地,可以预先设置一个与图像特征大小相同的权重矩阵,用该权重矩阵与图像特征的对应元素相乘后,可以获得注意力特征。

例如,每个图像特征的维度是M*M(M为正整数),假设一组图像特征为C(C为正整数)个,则每组图像特征是C个M*M的图像特征。可以预设一个大小是M*M的权重矩阵,该权重矩阵中的每个元素值是设定的,则针对C个图像特征中的每个M*M的图像特征,用该M*M的权重矩阵和该M*M图像特征的对应元素相乘后,得到M*M的注意力特征。对应元素相乘,例如,将权重矩阵的第一行第一列的元素,与图像特征的第一行第一列的元素相乘。由于共有C个图像特征,则可以获得C个M*M的注意力特征。

动态注意力机制,是指可以基于属性信息的不同,选择相同或不同的权重矩阵。

例如,针对第一属性信息(是否打电话),由于关注上半身,则可以将权重矩阵的上部分(如上部分的1/3行)的元素设置为较大值(如1.2),而将权重矩阵的下部分(如下部分的2/3行)的元素设置为较小值(如0.2)。

又例如,针对第二属性信息(是否穿工服),由于关注全身,则可以将权重矩阵的中间部分(可根据经验设定)设置为较大值,其余元素设置为较小值。具体的元素值可以根据经验设定。

在多属性信息联合训练的场景下,由于可能存在互斥的属性信息,如针对人员打电话需要半身人体图像,而针对人员工服需要全身人体图像,若直接对图像特征进行处理,不利于互斥属性信息间的联合训练。而本实施例中,基于动态注意力机制,可以基于属性信息的不同设置不同的注意力权重,如针对打电话在对应的分支网络中加入重点关注上半身的注意力权重,如针对穿工服在对应的分支网络中加入关注全身的注意力特征,可以解决互斥属性间联合训练问题。

自适应池化层用于将输入的特征的维度转换为设定大小,如转换为1*1的维度,则C个M*M的注意力特征经过自适应池化层后,可以转换为C个维度为1的特征。

多层感知模块可以对自适应池化后的特征进行处理,获得分类特征。

输出层,用于基于分类特征获得对应属性头的预测值(训练阶段),或者对应的属性识别结果(推理阶段)。输出层可以具体包括:全连接层和softmax函数。

训练阶段所调整的分支网络的模型参数,具体是指调整多层感知模块的模型参数和输出层中的模型参数。多层感知模块中的模型参数可以包括:BN层(第一BN层和第二BN层)和全连接层的模型参数。BN是指批归一化(Batch Normalization),有两个BN层,为了区分,可以称为第一BN层和第二BN层。输出层中的模型参数可以包括其中的全连接层的模型参数。

其中,多层感知模块可以包括:第一BN层、随机丢弃(dropout)层、全连接层、第二BN层和激活层。

相应地,所述采用所述感知层,基于所述池化后的图像特征,获得分类特征,包括:

采用所述第一批归一化层,对所述池化后的图像特征进行第一批归一化处理,以获得第一归一化处理后的图像特征;

采用所述随机丢弃层,对所述第一归一化处理后的图像特征进行随机丢弃处理,以获得随机丢弃处理后的图像特征;

采用所述全连接层,对所述随机丢弃处理后的图像特征进行转换处理,以获得转换处理后的图像特征;

采用所述第二批归一化层,对所述转换处理后的图像特征进行第二批归一化处理,以获得第二归一化处理后的图像特征;

采用所述激活层,对所述第二归一化处理后的图像特征进行激活处理,以获得所述分类特征。

本实施例中,通过设置dropout层,可以提高分类结果的准确性和兼顾属性间的区别,进而提高模型的精准度和提高属性识别的精准度。

具体地,BN层(第一BN层和第二BN层)可以采用BN函数,对输入的特征进行BN处理,以输出BN后的特征。

dropout层,用于在每轮迭代过程中随机选择一些神经元,让所选择的神经元停止工作,即所选择的神经元的输出设置为0。通过dropout处理,可以避免训练阶段的过拟合问题。

全连接层,可以将输入的特征展开(flatten)为一维的向量。

激活层,用于采用激活函数对输入特征进行处理,以获得激活后的特征。激活函数例如为ReLu函数。

可以理解的是,图4示出了训练阶段的组成,在推理阶段,多层感知模块不需要dropout层,即可以包括:第一BN层、全连接层、第二BN层和激活层。

本实施例中,通过各个属性信息共用主干网络,可以降低复杂度,降低成本并提高效率;通过各个属性信息对应各自的分支网络,可以实现属性信息之间的解耦,包括训练解耦和标注解耦,训练解耦可以基于不同属性信息设置不同的注意力权重,有利于互斥属性信息之间的联合训练,标注解耦可以避免样本的全量标注,降低了标注量,有利于数据利用。因此,可以提高模型的精准度和模型的训练效率,进而可以提高利用模型进行多属性识别时的推理速度和精准度。

上述示出了针对多个属性信息的通用训练过程,在一些场景下,可能出现新的属性信息,如原来有N个属性信息,新增了一个属性信息后,变为(N+1)个属性信息,这(N+1)个属性信息对应的模型可以采用上述的N个属性信息的方式进行训练。但是,由于N个属性信息对应的模型是已完成训练的,为了降低训练成本、有效利用已有资源、提高训练速度等,还可以采用增量训练的方式。

整体上,增量训练可以是两阶段的训练方式,第一阶段用于训练增量属性头,第二阶段用于全网络训练。具体可以参见图5和图6a~图6b。

图5是根据本公开第二实施例的示意图,本实施例可以用于增量训练。本实施例的方法包括:

501、获得主干网络和存量分支网络。

其中,新增属性信息对应的分支网络可以称为增量分支网络,历史已训练的分支网络可以称为存量分支网络。

存量分支网络和主干网络可以采用上述的训练方式得到,且具有历史模型参数。

例如,如图3所示,包括一个主干网络和N个存量分支网络。

502、在第一阶段,基于所述第一阶段的训练数据,获得所述第一阶段的总损失函数。

针对新增的属性信息,如第(N+1)个属性信息,可以采用增量训练的方式,增量训练可以包括第一阶段和第二阶段。

每个阶段(第一阶段和第二阶段)均具有各自阶段的训练数据,并基于各自阶段的训练数据获得各自阶段的总损失函数。

以第一阶段为例,参见图6a,可以收集第(N+1)个属性信息对应的图像样本,如从源_(N+1)的数据中获得,该组图像样本的大小可以表示为B(N+1),该组图像样本可以与存量分支网络对应的图像样本进行拼接后,输入到主干网络中,主干网络可以输出各组图像特征,即F1~F(N+1),各组图像特征切分后输入到各个分支网络(属性头)中,并在各个分支网络中计算子损失函数,各个分支网络(共N+1个)的子损失函数相加后,得到第一阶段的总损失函数。

503、在所述第一阶段,保持所述主干网络的历史模型参数和所述存量分支网络的历史模型参数不变,以及,基于所述第一阶段的总损失函数,调整所述增量分支网络的模型参数,直至达到所述第一阶段的预设条件,以获得所述增量分支网络的局部模型参数。

在第一阶段,主干网络和存量分支网络的模型参数是保持不变的,而只调整增量分支网络的模型参数,如图6a中,用虚线箭头表示调整的模型参数。

第一阶段的模型参数(具体是增量分支网络的模型参数)的迭代次数可以是多次,直至达到第一阶段的预设条件。

第一阶段的预设条件可以是迭代次数达到预设次数,或者满足预设的收敛条件,达到第一阶段的预设条件时的增量分支网络的模型参数可以称为局部模型参数。

因此,通过第一阶段,可以获得增量分支网络的局部模型参数。

一般来说,增量训练数据和存量训练数据的分布差别很大,如果直接将增量训练数据和存量训练数据直接合并进行训练,那么增量属性头的损失会扰乱主干网络的优化方向。为此,本实施例中,可以先将主干网络、存量属性头进行参数冻住(保持模型参数不变),对增量属性头进行大学习率(具体的学习率数值可以设定)的训练,直到增量属性头收敛到平稳区间或达到预设次数,可以避免新增属性场景对存量属性场景的影响。

504、在第二阶段,基于所述第二阶段的训练数据,获得所述第二阶段的总损失函数。

其中,基于第二阶段的训练数据获得第二阶段的总损失函数的过程,与上述第一阶段的获取过程类似,可以参照上述第一阶段的原理执行。

505、在所述第二阶段,基于所述第二阶段的总损失函数,调整所述主干网络的历史模型参数、所述存量分支网络的历史模型参数,以及所述增量分支网络的局部模型参数,直至达到所述第二阶段的预设条件。

其中,由于第一阶段是只调整增量分支网络的模型参数,可以认为是局部调整,相应地,第二阶段是全局调整,即调整主干网络、存量分支网络和增量分支网络的模型参数。

在第二阶段,如图6b中,用虚线箭头表示调整的模型参数,包括主干网络的模型参数,存量分支网络的模型参数和增量分支网络的模型参数。

第二阶段的模型参数的迭代次数可以是多次,直至达到第二阶段的预设条件。第二阶段的预设条件可以是迭代次数达到预设次数,或者满足预设的收敛条件。另外,第一阶段和第二阶段的预设次数可以相同或不同,收敛条件通常是前一轮的损失函数与当前轮的损失函数的差值的绝对值小于预设值,第一阶段和第二阶段的该预设值也可以相同或不同。

达到第二阶段的预设条件时的模型为最终的模型,包括主干网络和(N+1)个分支网络,该最终的模型可以用于推理阶段用于识别目标的(N+1)个属性信息。

在第一阶段,增量属性头基本收敛,为了保证全局属性的效果,还可以通过第二阶段的全网络微调,实现全属性的最优。

本实施例中,针对新增属性信息,采用两阶段的训练方式,可以快速实现对新增属性信息的训练,降低训练成本,提高训练效率。

上述实施例涉及了模型训练过程,上述训练的模型还可以用于推理阶段,以实现对目标的多个属性信息的识别。

图7是根据本公开第三实施例的示意图,本实施例提供一种多属性识别方法,如图7所示,该方法包括:

701、获取待识别的图像,所述图像中的目标具有多个属性信息。

702、对所述图像进行特征提取处理,以获得所述图像的图像特征。

703、基于所述图像特征,确定所述多个属性信息中的目标属性信息的识别结果。

其中,图像是指包含目标的图像,目标例如为人员,可以基于人员的图像识别人员的多种属性信息。例如,针对人员的图像,进行人员作业规范识别。

获得该图像后,可以提取该图像的特征特征,并基于该图像特征确定人员的多种属性信息中的目标属性信息的识别结果。

目标属性信息,是指多个属性信息中的待识别的属性信息。例如,可以将每个(各个)属性信息作为目标属性信息。

具体如,目标属性信息包括:是否打电话,是否穿工服等。

本实施例中,通过提取图像特征,基于图像特征获得目标属性信息的识别结果,可以基于共用的图像特征实现多属性识别,降低成本,提高效率。

一些实施例中,可以基于多属性识别模型进行多属性识别,多属性识别模型可以采用上述的实施例进行训练。

具体地,如图8所示,采用多属性识别模型的主干网络,对所述图像进行特征提取处理,以获得所述图像的图像特征;以及,采用所述多属性识别模型的目标分支网络,对所述图像特征进行处理,以确定所述目标属性信息的识别结果,所述目标分支网络是多个分支网络中与所述目标属性信息对应的分支网络,所述多个分支网络与所述多个属性信息一一对应。

其中,多属性识别模型可以包括:主干网络和多个分支网络,多个分支网络与多个属性信息一一对应。假设目标属性信息是多个属性信息中的各个属性信息,则可以采用各个分支网络分别对主干网络提取的图像特征进行处理,以获得各个属性信息的识别结果。

本实施例中,各个属性信息可以共用图像特征,降低成本提高效率;各个属性信息各自具有分支网络,可以实现属性信息的解耦,提高各个属性信息的识别结果的准确度。

一些实施例中,如图8所示,所述目标分支网络包括:注意力层、池化层、感知层和输出层;所述采用所述多属性识别模型的目标分支网络,对所述图像特征进行处理,以确定所述目标属性信息的识别结果,包括:

采用所述注意力层,基于预设的注意力权重,对所述图像特征进行处理,以获得加权后的图像特征;

采用所述池化层,对所述加权后的图像特征进行自适应池化处理,以获得池化后的图像特征;

采用所述感知层,基于所述池化后的图像特征,获得分类特征;

采用所述输出层,基于所述分类特征获得所述目标属性信息的识别结果。

本实施例中,通过设置注意力层,可以基于属性信息的不同在不同的分支网络中设置合适的注意力权重,从而提高各个属性信息的识别结果的识别准确度。

一些实施例中,如图8所示,所述感知层包括:第一批归一化层、全连接层、第二批归一化层和激活层;

所述采用所述感知层,基于所述池化后的图像特征,获得分类特征,包括:

采用所述第一批归一化层,对所述池化后的图像特征进行第一批归一化处理,以获得第一归一化处理后的图像特征;

采用所述全连接层,对所述第一归一化处理后的图像特征进行转换处理,以获得转换处理后的图像特征;

采用所述第二批归一化层,对所述转换处理后的图像特征进行第二批归一化处理,以获得第二归一化处理后的图像特征;

采用所述激活层,对所述第二归一化处理后的图像特征进行激活处理,以获得所述分类特征。

本实施例中,通过上述的两个BN层、全连接层和激活层的处理,可以获得效果较好的分类特征,进而提高识别结果的准确度。

可以理解的是,推理阶段的模型结构与训练阶段的模型结构是类似的,主要是训练阶段包括dropout层,而推理阶段不包括,其余层的具体结构和说明可以参见上述模型训练阶段的描述。

本实施例中,基于主干网络和多个分支网络,可以用于目标多种属性识别的场景,包括但不限于人员作业规范多属性的识别,经过实验,在分类准确率和性能等指标均优于单模型训练和多标签的训练方法,高效地提高了目标多属性识别的效果和性能。

图9是根据本公开第四实施例的示意图,本实施例提供一种多属性识别模型的训练装置,所述模型包括主干网络和多个分支网络,所述多个分支网络与多个属性信息一一对应,所述装置900包括:获取模块901、提取模块902、预测模块903、构建模块904和调整模块905。

获取模块901用于获取训练数据,所述训练数据包括:多组图像样本,所述多组图像样本与所述多个属性信息一一对应;提取模块902用于采用所述主干网络,对所述图像样本进行处理,以获得所述图像样本的图像特征;预测模块903用于采用所述多个分支网络中的目标分支网络,对目标属性信息对应的图像特征进行处理,以获得所述目标属性信息的预测值;其中,所述目标属性信息是所述目标分支网络对应的属性信息;构建模块904用于基于所述目标属性信息的预测值,构建总损失函数;调整模块905用于基于所述总损失函数,调整所述主干网络的模型参数和所述分支网络的模型参数中的至少一项,直至达到预设条件。

本实施例中,待训练的多属性识别模型包括主干网络和多个分支网络,每个分支网络对应一个属性信息(多个分支网络与多个属性信息一一对应),由于多个属性信息共用主干网络,并不需要对应每个属性信息单独训练一个模型,可以降低成本、提高效率;通过多组图像样本与多个属性信息一一对应,可以基于不同的属性信息选择合适的图像样本,提高模型的精准度。因此,可以低成本、高效率的获得精准度较高的多属性识别模型,进而基于该模型进行推理时,可以低成本且高效率地获得准确度较高的多属性识别结果。

一些实施例中,所述训练数据还包括:多组标签信息,所述多组标签信息与所述多个属性信息一一对应,所述标签信息用于标注对应的属性信息的真实值;所述构建模块904进一步用于:在所述多组标签信息中,获取所述目标属性信息的真实值;基于所述目标属性信息的真实值和所述目标属性信息的预测值,构建所述目标属性信息对应的子损失函数;基于所述目标属性信息对应的子损失函数,构建所述总损失函数。

本实施例中,通过多组标签信息与多个属性信息一一对应,可以针对每个属性信息进行对应的标注,而不需要针对所有属性信息进行全量标注,可以降低标注量。

一些实施例中,所述目标分支网络包括:注意力层、池化层、感知层和输出层;所述预测模块903进一步用于:采用所述注意力层,基于预设的注意力权重,对所述各组图像特征进行处理,以获得加权后的图像特征;采用所述池化层,对所述加权后的图像特征进行池化处理,以获得池化后的图像特征;采用所述感知层,基于所述池化后的图像特征,获得分类特征;采用所述输出层,基于所述分类特征获得所述预测值。

本实施例中,通过设置注意力层,可以基于属性信息的不同在不同的分支网络中设置合适的注意力权重,利于互斥属性信息之间的联合训练。

一些实施例中,所述感知层包括:第一批归一化层、随机丢弃层、全连接层、第二批归一化层和激活层;所述预测模块903进一步用于:采用所述第一批归一化层,对所述池化后的图像特征进行第一批归一化处理,以获得第一归一化处理后的图像特征;采用所述随机丢弃层,对所述第一归一化处理后的图像特征进行随机丢弃处理,以获得随机丢弃处理后的图像特征;采用所述全连接层,对所述随机丢弃处理后的图像特征进行转换处理,以获得转换处理后的图像特征;采用所述第二批归一化层,对所述转换处理后的图像特征进行第二批归一化处理,以获得第二归一化处理后的图像特征;采用所述激活层,对所述第二归一化处理后的图像特征进行激活处理,以获得所述分类特征。

本实施例中,通过设置dropout层,可以提高分类结果的准确性和兼顾属性间的区别,进而提高模型的精准度和提高属性识别的精准度。

一些实施例中,所述多个分支网络中包括:存量分支网络和增量分支网络,所述增量分支网络是待训练的分支网络,所述存量分支网络和所述主干网络是历史已训练的,且具有历史模型参数;所述调整模块905进一步用于:在第一阶段,保持所述主干网络的历史模型参数和所述存量分支网络的历史模型参数不变,以及,基于所述第一阶段的总损失函数,调整所述增量分支网络的模型参数,直至达到所述第一阶段的预设条件,以获得所述增量分支网络的局部模型参数;在第二阶段,基于所述第二阶段的总损失函数,调整所述主干网络的历史模型参数、所述存量分支网络的历史模型参数,以及所述增量分支网络的局部模型参数,直至达到所述第二阶段的预设条件。

本实施例中,针对新增属性信息,采用两阶段的训练方式,可以快速实现对新增属性信息的训练,降低训练成本,提高训练效率。

图10根据本公开第五实施例的示意图,本实施例提供一种多属性识别装置,该装置1000包括:获取模块1001、提取模块1002和识别模块1003。

获取模块1001用于获取待识别的图像,所述图像中的目标具有多个属性信息;提取模块1002用于对所述图像进行特征提取处理,以获得所述图像的图像特征;识别模块1003用于基于所述图像特征,确定所述多个属性信息中的目标属性信息的识别结果。

本实施例中,通过提取图像特征,基于图像特征获得各个属性信息,可以基于共用的图像特征实现多属性识别,降低成本,提高效率。

一些实施例中,所述提取模块1002进一步用于:采用多属性识别模型的主干网络,对所述图像进行特征提取处理,以获得所述图像的图像特征;所述识别模块1003进一步用于:采用所述多属性识别模型的目标分支网络,对所述图像特征进行处理,以确定所述目标属性信息的识别结果,所述目标分支网络是多个分支网络中与所述目标属性信息对应的分支网络,所述多个分支网络与所述多个属性信息一一对应。

本实施例中,多个属性信息可以共用图像特征,降低成本提高效率;各个属性信息各自具有分支网络,可以实现属性信息的解耦,提高各个属性信息的识别结果的准确度。

一些实施例中,所述目标分支网络包括:注意力层、池化层、感知层和输出层;所述识别模块1003进一步用于:采用所述注意力层,基于预设的注意力权重,对所述图像特征进行处理,以获得加权后的图像特征;采用所述池化层,对所述加权后的图像特征进行自适应池化处理,以获得池化后的图像特征;采用所述感知层,基于所述池化后的图像特征,获得分类特征;采用所述输出层,基于所述分类特征获得所述各个属性信息的识别结果。

本实施例中,通过设置注意力层,可以基于属性信息的不同在不同的分支网络中设置合适的注意力权重,从而提高各个属性信息的识别结果的识别准确度。

一些实施例中,所述感知层包括:第一批归一化层、全连接层、第二批归一化层和激活层;所述识别模块1003进一步用于:采用所述第一批归一化层,对所述池化后的图像特征进行第一批归一化处理,以获得第一归一化处理后的图像特征;采用所述全连接层,对所述第一归一化处理后的图像特征进行转换处理,以获得转换处理后的图像特征;采用所述第二批归一化层,对所述转换处理后的图像特征进行第二批归一化处理,以获得第二归一化处理后的图像特征;采用所述激活层,对所述第二归一化处理后的图像特征进行激活处理,以获得所述分类特征。

本实施例中,通过上述的两个BN层、全连接层和激活层的处理,可以获得效果较好的分类特征,进而提高识别结果的准确度。

可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。

可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。

本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图11示出了可以用来实施本公开的实施例的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备1100还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图11所示,电子设备1100包括计算单元1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序或者从存储单元11011加载到随机访问存储器(RAM)1103中的计算机程序,来执行各种适当的动作和处理。在RAM 1103中,还可存储电子设备1100操作所需的各种程序和数据。计算单元1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。

电子设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许电子设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如视频封面的确定方法或视频封面确定模型的训练方法。例如,在一些实施例中,视频封面的确定方法或视频封面确定模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到电子设备1100上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的视频封面的确定方法或视频封面确定模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行视频封面的确定方法或视频封面确定模型的训练方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程负载均衡装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

相关技术
  • 人脸属性识别方法、装置、终端设备和存储介质
  • 机器学习模型训练方法、装置、存储介质和计算机设备
  • MR图像预测模型的训练方法、装置、设备及存储介质
  • CT图像预测模型的训练方法、装置、设备及存储介质
  • 语句输出、模型训练方法、装置、计算机设备及存储介质
  • 属性识别模型训练方法、识别方法、电子设备、存储介质
  • 属性识别模型训练方法、识别方法、电子设备、存储介质
技术分类

06120115970840