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

数据队列动态更新方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:35:49


数据队列动态更新方法、装置、电子设备及存储介质

技术领域

本公开涉及人工智能领域。本公开尤其涉及计算机视觉和深度学习技术领域。

背景技术

随着技术的发展,可以通过人工智能实现硬件加速处理,所适用的应用场景多种多样,比如涉及图文处理、图像处理、视频处理、人脸识别等应用场景的硬件设计中都可以采用人工智能技术,以提高硬件的处理速度及处理准确率。

然而,包含各类场景特征的数据队列的准确性、数据全面性与否,会影响到硬件的处理速度及处理准确率。对此,相关技术未存在有效的解决方案。

发明内容

本公开提供了一种数据队列动态更新方法、装置、电子设备及存储介质。

根据本公开的一方面,提供了一种数据队列动态更新方法,包括:

根据第一模型对图像数据进行特征提取,得到第一图像特征队列,其中,所述第一图像特征队列中特征的数量取决于数据域的数量;

从所述图像数据中提取第一组图像,根据第二模型对所述第一组图像进行特征提取,得到第一组图像特征;

从所述图像数据中提取与所述第一组图像标识(ID)相对应的第二组图像,根据所述第一模型对所述第二组图像进行特征提取,得到第二组图像特征;

将所述第一组图像特征、第二组图像特征及所述第一图像特征队列作为样本数据进行模型训练的过程中,对所述第一图像特征队列进行动态更新。

根据本公开的另一方面,提供了一种人脸识别方法,包括:

对人脸图像进行采集,得到人脸图像数据;

将所述人脸图像数据通过人脸识别模型进行识别处理,得到人脸识别结果,所述人脸识别模型为基于第一人脸图像特征队列的动态更新所得到的训练后第二模型;

其中,所述第一人脸图像特征队列的动态更新,包括:

根据第一模型对所述人脸图像数据进行特征提取,得到所述第一人脸图像特征队列,所述第一人脸图像特征队列中特征的数量取决于数据域的数量,从所述人脸图像数据中提取第一组人脸图像,根据第二模型对所述第一组人脸图像进行特征提取,得到第一组人脸图像特征;

从所述人脸图像数据中提取与所述第一组人脸图像ID相对应的第二组人脸图像,根据所述第一模型对所述第二组人脸图像进行特征提取,得到第二组人脸图像特征;

根据所述第一组人脸图像特征、所述第二组人脸图像特征对所述第一人脸图像特征队列进行动态更新。

根据本公开的另一方面,提供了一种数据队列动态更新装置,包括:

第一特征提取模块,用于根据第一模型对图像数据进行特征提取,得到第一图像特征队列,其中,所述第一图像特征队列中特征的数量取决于数据域的数量;

第二特征提取模块,用于从所述图像数据中提取第一组图像,根据第二模型对所述第一组图像进行特征提取,得到第一组图像特征;

第三特征提取模块,用于从所述图像数据中提取与所述第一组图像ID相对应的第二组图像,根据所述第一模型对所述第二组图像进行特征提取,得到第二组图像特征;

队列更新模块,用于将所述第一组图像特征、第二组图像特征及所述第一图像特征队列作为样本数据进行模型训练的过程中,对所述第一图像特征队列进行动态更新。

根据本公开的另一方面,提供了一种人脸识别装置,包括:

采集模块,用于对人脸图像进行采集,得到人脸图像数据;

识别模块,用于将所述人脸图像数据通过人脸识别模型进行识别处理,得到人脸识别结果,所述人脸识别模型为采用队列更新模块进行第一人脸图像特征队列的动态更新所得到的训练后第二模型;

所述队列更新模块,用于:

根据第一模型对所述人脸图像数据进行特征提取,得到所述第一人脸图像特征队列,所述第一图像特征队列中特征的数量取决于数据域的数量,从所述人脸图像数据中提取第一组人脸图像,根据第二模型对所述第一组人脸图像进行特征提取,得到第一组人脸图像特征;

从所述人脸图像数据中提取与所述第一组人脸图像ID相对应的第二组人脸图像,根据所述第一模型对所述第二组人脸图像进行特征提取,得到第二组人脸图像特征;

根据所述第一组人脸图像特征、所述第二组人脸图像特征对所述第一人脸图像特征队列进行动态更新。

根据本公开的另一方面,提供了一种电子设备,包括:

至少一个处理器;以及

与该至少一个处理器通信连接的存储器;其中,

该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任意一实施例所提供的方法。

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

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

采用本公开,根据第一模型对图像数据进行特征提取,得到第一图像特征队列,其中,所述第一图像特征队列中特征的数量取决于数据域的数量;从所述图像数据中提取第一组图像,根据第二模型对所述第一组图像进行特征提取,得到第一组图像特征;从所述图像数据中提取与所述第一组图像ID相对应的第二组图像,根据所述第一模型对所述第二组图像进行特征提取,得到第二组图像特征;将所述第一组图像特征、第二组图像特征及所述第一图像特征队列作为样本数据进行模型训练的过程中,对所述第一图像特征队列进行动态更新,可以保证包含各类场景特征的数据队列的准确性及数据全面性,且兼顾数据域的样本数量,从而提高了硬件的处理速度及处理准确率。

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

附图说明

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

图1是根据本公开实施例的数据队列动态更新方法的流程示意图;

图2是根据本公开实施例的数据队列动态更新方法的流程示意图;

图3是根据本公开实施例的人脸识别方法的流程示意图;

图4是根据本公开实施例的数据队列动态更新装置的组成结构示意图;

图5是根据本公开实施例的数据队列动态更新装置的组成结构示意图;

图6是根据本公开实施例的人脸识别装置的流程示意图;

图7是用来实现本公开实施例的数据队列动态更新方法及人脸识别方法的电子设备的框图。

具体实施方式

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

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。本文中术语“第一”、“第二”表示指代多个类似的技术用语并对其进行区分,并不是限定顺序的意思,或者限定只有两个的意思,例如,第一特征和第二特征,是指代有两类/两个特征,第一特征可以为一个或多个,第二特征也可以为一个或多个。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

根据本公开的实施例,提供了一种数据队列动态更新方法,图1是根据本公开实施例的数据队列动态更新方法的流程示意图,该方法可以应用于数据队列动态更新装置,例如,该装置可以部署于终端或服务器或其它处理设备执行的情况下,可以执行特征提取、数据队列动态更新等等。其中,终端可以为用户设备(UE,User Equipment)、移动设备、蜂窝电话、无绳电话、个人数字处理(PDA,Personal Digital Assistant)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,包括:

S101、根据第一模型对图像数据进行特征提取,得到第一图像特征队列,其中,所述第一图像特征队列中特征的数量取决于数据域的数量。

S102、从所述图像数据中提取第一组图像,根据第二模型对所述第一组图像进行特征提取,得到第一组图像特征。

S103、从所述图像数据中提取与所述第一组图像ID相对应的第二组图像,根据所述第一模型对所述第二组图像进行特征提取,得到第二组图像特征。

S104、将所述第一组图像特征、第二组图像特征及所述第一图像特征队列作为样本数据进行模型训练的过程中,对所述第一图像特征队列进行动态更新。

S101-S104的一示例中,在人脸识别场景中,可以将第一模型记为人脸识别模型k,将第二模型记为人脸识别模型q,对人脸识别模型q进行训练即可得到所需的目标模型,根据人脸识别模型k对图像数据进行特征提取,得到队列长度为N的第一图像特征队列,N为大于1的整数,第一图像特征队列中特征的数量可以为数据域的数量,队列长度的比例可以采用人工设定,比如,采用各个数据域的数量占比进行设定;从图像数据中提取第一组图像(如包含B个图像的一组图像,B为大于1的整数),根据人脸识别模型q对第一组图像进行特征提取,得到第一组图像特征(如一组B个特征,B为大于1的整数)。从图像数据中提取与该第一组图像ID相对应的第二组图像(如包含B个图像的另一组图像,B为大于1的整数),根据人脸识别模型k对第二组图像进行特征提取,得到第二组图像特征(如另一组B个特征,B为大于1的整数)。将该第一组图像特征、该第二组图像特征及该第一图像特征队列作为样本数据进行模型训练的过程中,对该第一图像特征队列进行动态更新。

采用本公开,分别通过两个模型提取图像特征,以得到该第一组图像特征、该第二组图像特征及该第一图像特征队列(如初始特征队列),将该第一组图像特征、该第二组图像特征及该第一图像特征队列作为样本数据进行模型训练的过程中,通过对第一图像特征队列进行动态更新,可以保证包含各类场景特征的数据队列的准确性及数据全面性,且兼顾数据域的样本数量,不仅使得同一个模型在不同数据域的性能都很好,而且提高了硬件的处理速度及处理准确率。

根据本公开的实施例,提供了一种数据队列动态更新方法,图2是根据本公开实施例的数据队列动态更新方法的流程示意图,如图2所示,包括:

S201、根据第一模型对图像数据进行特征提取,得到第一图像特征队列,其中,所述第一图像特征队列中特征的数量取决于数据域的数量。

S202、所述图像数据来自于多个数据域的情况下,从所述多个数据域分别进行图像数据的采集,得到所述第一组图像,根据第二模型对所述第一组图像进行特征提取,得到第一组图像特征。

S203、从所述图像数据中提取与所述第一组图像ID相对应的第二组图像,根据所述第一模型对所述第二组图像进行特征提取,得到第二组图像特征。

S204、从所述样本数据中提取正样本数据及负样本数据。

S205、将所述正样本数据及所述负样本数据基于约束条件计算损失,得到总损失函数,根据所述总损失函数的反向传播对所述第二模型进行训练,并在所述训练过程中对所述第一图像特征队列进行动态更新。

S201-S205的一示例中,在人脸识别场景中,可以将第一模型记为人脸识别模型k,将第二模型记为人脸识别模型q,对人脸识别模型q进行训练即可得到所需的目标模型,根据人脸识别模型k对图像数据进行特征提取,得到队列长度为N的第一图像特征队列,N为大于1的整数,第一图像特征队列中特征的数量可以为数据域的数量,队列长度的比例可以采用人工设定,比如,采用各个数据域的数量占比进行设定;从多个数据域分别进行图像数据的采集,以从图像数据中提取第一组图像(如包含B个图像的一组图像,B为大于1的整数),根据人脸识别模型q对第一组图像进行特征提取,得到第一组图像特征(如一组B个特征,B为大于1的整数)。从图像数据中提取与该第一组图像ID相对应的第二组图像(如包含B个图像的另一组图像,B为大于1的整数),根据人脸识别模型k对第二组图像进行特征提取,得到第二组图像特征(如另一组B个特征,B为大于1的整数)。将该第一组图像特征、该第二组图像特征及该第一图像特征队列作为样本数据进行模型训练的过程中,可以根据该样本数中的正样本数据及负样本数据基于约束条件计算损失,从而得到总损失函数,根据该总损失函数的反向传播对人脸识别模型q进行训练,并在训练过程中对第一图像特征队列进行动态更新。其中,该约束条件用于表征:正样本数据之间的距离足够近并符合第一约束值,负样本数据之间的距离足够远并符合第二约束值。

采用本公开,分别通过两个模型提取图像特征,以得到该第一组图像特征、该第二组图像特征及该第一图像特征队列(如初始特征队列),该第一图像特征队列中特征的数量取决于数据域的数量,从多个数据域分别进行图像数据的采集,得到的第一组图像兼顾数据域的样本数量,将该第一组图像特征、该第二组图像特征及该第一图像特征队列作为样本数据进行模型训练的过程中,通过正样本数据、负样本数据以及该约束条件计算损失,以便根据计算损失得到的总损失函数反向传播,从而实现了对第二模型的训练,并在训练过程中对第一图像特征队列进行动态更新,根据约束条件得到的损失去训练模型,准确性更高,可以保证包含各类场景特征的数据队列的准确性,且兼顾数据域的样本数量,不仅使得同一个模型在不同数据域的性能都很好,而且提高了硬件的处理速度及处理准确率。

一实施方式中,所述将所述正样本数据及所述负样本数据基于约束条件计算损失,得到总损失函数,包括:将所述基于约束条件计算损失所得到的各损失函数,基于各数据域的占比进行加权处理,得到所述总损失函数。采用本实施方式,计算各损失函数,由于考虑了各数据域的占比,因此,经各损失函数进行加权平均后所得到的该总损失函数更精确,同一个模型在不同数据域的性能都很好,从而提高了硬件的处理速度及处理准确率。

一实施方式中,所述从所述样本数据中提取正样本数据及负样本数据,包括:从所述样本数据中提取所述第一组图像特征及所述第二组图像特征,将所述第一组图像特征及所述第二组图像特征中所述ID相对应的特征对,作为所述正样本数据;将从所述样本数据中提取的所述第一图像特征队列及所述第二组图像特征,作为负样本数据。采用本实施方式,可以采用一对图片分别经过第一模型及第二模型以提取特征,得到该特征对,将特征对作为正样本数据,将第一图像特征队列及由第一模型提取的特征如第二组图像特征作为负样本数据,考虑正、负样本数据则更全面,可以保证包含各类场景特征的数据队列的数据全面性,从而提高了硬件的处理速度及处理准确率。

一实施方式中,所述根据所述总损失函数的反向传播对所述第一模型进行训练,并在所述训练过程中对所述第一图像特征队列进行动态更新,包括:根据所述总损失函数的反向传播对所述第二模型进行训练的过程中,根据所述第二组图像特征对所述第一图像特征队列中相应的图像特征进行替换,得到更新后的第一图像特征队列。采用本实施方式,可以在根据总损失函数的反向传播对第二模型的模型训练中,根据第二组图像特征对第一图像特征队列中相应的图像特征进行替换,比如,通过第一模型提取了B个特征(B为大于1的整数),将这B个特征替换该第一图像特征队列中最末尾的B个特征,从而得到更新后的第一图像特征队列,不需要手动更新,可以保证包含各类场景特征的数据队列的数据实时更新及数据全面性,从而提高了硬件的处理速度及处理准确率。

一实施方式中,还包括更新所述第一模型的参数,直至满足预设的更新迭代次数;根据参数更新迭代后的第一模型进行图像特征提取,得到第三组图像特征;将所述第三组图像特征添加到所述样本数据,得到更新后的样本数据;根据所述更新后的样本数据进行模型训练,直至模型收敛,得到训练后的第二模型。采用本实施方式,通过对第一模型进行参数的更新迭代,对参数进行优化,从而,基于该参数更新迭代后的第一模型进行图像特征提取,可以得到更为准确的第三组图像特征,将该第三组图像特征添加到样本数据中,即可得到更新后的样本数据,则根据该更新后的样本数据进行模型训练,直至模型收敛,得到训练后的第二模型也更为精确,通过训练后的第二模型进行图文处理、图像处理及视频处理等,提高了硬件的处理速度及处理准确率。

需要指出的,在上述实施例及实施方式中,就动态更新而言,除了可以在训练过程中动态更新该第一图像特征队列,还可以包括:在第二模型训练结束后重新对图像提取对应的图像特征后,根据该重新提取的图像特征实现针对该第一图像特征队列的动态更新。比如,可以根据所述总损失函数的反向传播对所述第二模型进行训练后,得到训练后的第二模型,根据所述训练后的第二模型从所述图像数据中提取与所述第一组图像ID相对应的第四组图像,根据所述第二模型对所述第四组图像进行特征提取,得到第四组图像特征,根据所述第四组图像特征对所述第一图像特征队列中相应的图像特征进行替换,得到更新后的第一图像特征队列。

根据本公开的实施例,提供了一种人脸识别方法,图3是根据本公开实施例的数据队列动态更新方法的流程示意图,如图3所示,包括:

S301、对人脸图像进行采集,得到人脸图像数据。

S302、将所述人脸图像数据通过人脸识别模型进行识别处理,得到人脸识别结果,所述人脸识别模型为基于第一人脸图像特征队列的动态更新所得到的训练后第二模型。

S303、第一人脸图像特征队列的动态更新过程中,根据第一模型对所述人脸图像数据进行特征提取,得到所述第一人脸图像特征队列,所述第一图像特征队列中特征的数量取决于数据域的数量,从所述人脸图像数据中提取第一组人脸图像,根据第二模型对所述第一组人脸图像进行特征提取,得到第一组人脸图像特征。

S304、第一人脸图像特征队列的动态更新过程中,从所述人脸图像数据中提取与所述第一组人脸图像ID相对应的第二组人脸图像,根据所述第一模型对所述第二组人脸图像进行特征提取,得到第二组人脸图像特征。

S305、第一人脸图像特征队列的动态更新过程中,根据所述第一组人脸图像特征、所述第二组人脸图像特征对所述第一人脸图像特征队列进行动态更新。

采用本公开,对人脸图像进行采集,可以得到人脸图像数据,由于对人脸图像数据进行识别处理的人脸识别模型为基于第一人脸图像特征队列的动态更新所得到的训练后第二模型,且第一人脸图像特征队列的动态更新的数据特征更精确,因此,可以得到更为准确的人脸识别结果。

应用示例:

涉及图文处理、图像处理、视频处理、公有云人脸识别,认证等应用场景中,可以依赖于全连接(FC)层来训练特征的提取,以图文处理、图像处理、视频处理等应用场景中包括人脸为例,对于1000万ID的人脸识别模型,需要1000万的FC层。在海量ID时候,FC层的参数量会远多于人脸识别模型主干网络(backbone)的参数量,从而导致:1)人脸识别模型收敛速度很慢,且有些时候不能收敛;2)人脸识别模型的FC层很容易过拟合,导致模型泛化能力较差;3)FC层单机无法存储,需要存储在多台机器上;4)新增回流数据,由于类别变化了,因此需要重新训练FC,耗时长。不同数据域的数据对于模型训练会有冲突,同一个模型不能使得对于各个数据域(domain)的性能都很好。这种基于全局的FC层来训练人脸识别模型的模型效果不够好,导致将人脸识别模型部署在上述应用场景的硬件设计中硬件性能(如人脸识别精度、处理速度)也不够好。而采用基于特征对的损失函数(pair loss)来训练该人脸识别模型,该方案由于每个批次(batch)中的图像对的数量中正、负样本数据的数量有限,会由于特征的局部性影响模型最终的精度,从而导致模型性能太差无法使用。不同domain的数据对于模型训练会有冲突,同一个模型不能使得对于各个domain的性能都很好。导致将人脸识别模型部署在上述应用场景的硬件设计中硬件性能(如人脸识别精度、人脸识别处理速度)也不够好。

综上所述,本公开针对性的提出了在模型训练中基于动态队列来实现人脸识别的方法,不需要全局的FC层,只需要通过动态队列的方式就可以很好训练人脸特征提取,从而可以广泛的应用在各个包含人脸的各个识别场景中,加快模型的训练速度,提升模型的精度,新增回流数据时候不需要重新训练FC层。在保持相同精度的情况下,通过动态队列的训练方式可以用更小的模型达到相同的精度(即在精度不变情况下,可以通过本公开可以得到在特定硬件上处理图像(如人脸图像)速度更快的人脸识别模型,则将该人脸识别模型部署在各个识别应用场景的硬件设计中,硬件性能(如人脸识别精度、人脸识别处理速度)更好。同时,可以使得模型对于各个domian的数据都具有很好兼容性,即:同一个模型在各个domain上都能够达到非常好的效果,甚至可以相互促进,使得模型性能高于只采用某个特定domain数据的效果,从而在保持相同精度的情况下,通过动态队列的训练方式可以用更小的模型达到相同的精度。

应用本公开实施例一处理流程包括如下内容:

1)初始化第一模型(记为人脸识别模型k)和第二模型(记为人脸识别模型q)。

2)初始化特征队列(Queue),比如,Queue_1,Queue_2,…Queue_m,队列的总长度为N(N为大于1的整数),其中,在初始化时该特征队列中的特征,可以由K张图片(K为大于1的整数)经过该人脸识别模型k提取特征得到。队列的数量m为domain的数量,队列长度的比例可以采用人工设定,比如,采用各个domian的ID数量的比例来设定。

3)从m个domain分别采样,得到由于domain_1_batch,domain_2_batch,domain_m_batch组成全部batch的B张图片(B为大于1的整数),经过该人脸识别模型q,得到B组特征(B为大于1的整数)。其中,针对“分别采样”而言,各个domain的采样比例,可以采用人工设定,比如按照各个domian的ID数量的比例来设定。

4)用增强(augmentation)的方式如平移、翻转、加噪声等方法,或者通过采样方式,得到与3)中ID相对应的图片,并经过该人脸识别模型k,得到B组特征。这里,是考虑到:为了避免出现过拟合,可以通过平移、翻转、加噪声等方法从已有数据中创造出一批“新”的数据,以人工增加训练集的大小。

5)计算损失函数,并通过反向传播的方式更新该人脸识别模型q的参数。

其中,以B个ID中的一个ID为例,针对这个ID,将一对图片分别经过人脸识别模型q和人脸识别模型k得到的特征,并作为正样本;将经过人脸识别模型q提取的特征与该Queue_1,Queue_2,…Queue_m的N个特征为负样本。还可以将这对图片经过augmentation或采样后再分别经过人脸识别模型q和人脸识别模型k得到的特征,并作为正样本。

在训练过程中,考虑到:人脸识别任务本质上是通过训练得到特征,使得同一个人的特征之间的距离足够近,不同人之间的特征足够远,因此,设置了约束条件,比如,正样本之间的距离足够近,负样本之间的距离足够远。可以通过满足上述约束条件的损失作为损失函数,最终,将B个ID对应的损失函数相叠加,以得到总损失函数。其中,将B个ID对应的损失函数相叠加,可以是将各个Queue的损失函数按照指定的比例进行加权平均处理,该比例可以采用人工设定,比如按照各个domian的ID数量的比例来设定。

6)使用通过人脸识别模型q提取的B个特征,替换该Queue中最末尾的B个特征。

7)使用动量的方式,离线更新该人脸识别模型k的参数。

更新方式为:parameter_k=m*parameter_k+(1-m)*parameter_q,其中parameter_k为人脸识别模型k的参数,parameter_q为人脸识别模型q的参数,m为Queue队列的数量。

8)若该人脸识别模型k的迭代次数未达到预设,则返回3)。

9)训练结束后,输出人脸识别模型q作为最终的目标模型。

根据本公开的实施例,提供了一种数据队列动态更新装置,图4是根据本公开实施例的数据队列动态更新装置的组成结构示意图,如图4所示,数据队列动态更新装置400包括:第一特征提取模块401,用于根据第一模型对图像数据进行特征提取,得到第一图像特征队列,其中,所述第一图像特征队列中特征的数量取决于数据域的数量;第二特征提取模块402,用于从所述图像数据中提取第一组图像,根据第二模型对所述第一组图像进行特征提取,得到第一组图像特征;第三特征提取模块403,用于从所述图像数据中提取与所述第一组图像标识ID相对应的第二组图像,根据所述第一模型对所述第二组图像进行特征提取,得到第二组图像特征;队列更新模块404,用于将所述第一组图像特征、第二组图像特征及所述第一图像特征队列作为样本数据进行模型训练的过程中,对所述第一图像特征队列进行动态更新。

根据本公开的实施例,提供了一种数据队列动态更新装置,图5是根据本公开实施例的数据队列动态更新装置的组成结构示意图,如图5所示,数据队列动态更新装置500包括:第一特征提取模块501,用于根据第一模型对图像数据进行特征提取,得到第一图像特征队列,其中,所述第一图像特征队列中特征的数量取决于数据域的数量;第二特征提取模块502,用于图像数据来自于多个数据域的情况下,从所述多个数据域分别进行图像数据的采集,得到所述第一组图像,根据所述第二模型对所述第一组图像进行特征提取,得到第一组图像特征;第三特征提取模块503,用于从所述图像数据中提取与所述第一组图像标识ID相对应的第二组图像,根据所述第一模型对所述第二组图像进行特征提取,得到第二组图像特征;队列更新模块504,用于将所述第一组图像特征、第二组图像特征及所述第一图像特征队列作为样本数据进行模型训练的过程中,对所述第一图像特征队列进行动态更新。其中,队列更新模块504还包括:数据提取子模块5041,用于从所述样本数据中提取正样本数据及负样本数据;损失运算子模块5042,用于将所述正样本数据及所述负样本数据基于约束条件计算损失,得到总损失函数;队列更新子模块5043,用于根据所述总损失函数的反向传播对所述第二模型进行训练,并在所述训练过程中对所述第一图像特征队列进行动态更新。

一实施方式中,所述损失运算子模块,用于将所述基于约束条件计算损失所得到的各损失函数,基于各数据域的占比进行加权处理,得到所述总损失函数。

一实施方式中,所述数据提取子模块,用于从所述样本数据中提取所述第一组图像特征及所述第二组图像特征,将所述第一组图像特征及所述第二组图像特征中所述ID相对应的特征对,作为所述正样本数据;将从所述样本数据中提取的所述第一图像特征队列及所述第二组图像特征,作为负样本数据。

一实施方式中,所述约束条件用于表征:所述正样本数据之间的距离足够近并符合第一约束值,所述负样本数据之间的距离足够远并符合第二约束值。

一实施方式中,所述队列更新子模块,用于根据所述总损失函数的反向传播对所述第二模型进行训练的过程中,根据所述第二组图像特征对所述第一图像特征队列中相应的图像特征进行替换,得到更新后的第一图像特征队列。

一实施方式中,还包括更新迭代模块,用于更新所述第一模型的参数,直至满足预设的更新迭代次数;根据参数更新迭代后的第一模型进行图像特征提取,得到第三组图像特征;将所述第三组图像特征添加到所述样本数据,得到更新后的样本数据;根据所述更新后的样本数据进行模型训练,直至模型收敛,得到训练后的第二模型。

根据本公开的实施例,提供了一种人脸识别装置,图6是根据本公开实施例的人脸识别装置的流程示意图,如图6所示,包括:采集模块601,用于对人脸图像进行采集,得到人脸图像数据;识别模块602,用于将所述人脸图像数据通过人脸识别模型进行识别处理,得到人脸识别结果,所述人脸识别模型为采用队列更新模块603进行第一人脸图像特征队列的动态更新所得到的训练后第二模型。其中,队列更新模块603,用于根据第一模型对所述人脸图像数据进行特征提取,得到所述第一人脸图像特征队列,所述第一图像特征队列中特征的数量取决于数据域的数量,从所述人脸图像数据中提取第一组人脸图像,根据第二模型对所述第一组人脸图像进行特征提取,得到第一组人脸图像特征;从所述人脸图像数据中提取与所述第一组人脸图像ID相对应的第二组人脸图像,根据所述第一模型对所述第二组人脸图像进行特征提取,得到第二组人脸图像特征;根据所述第一组人脸图像特征、所述第二组人脸图像特征对所述第一人脸图像特征队列进行动态更新。

本公开实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。

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

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

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

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

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

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

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

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

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

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

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

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

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

相关技术
  • 数据队列动态更新方法、装置、电子设备及存储介质
  • 一种网页的动态更新方法、装置、电子设备及存储介质
技术分类

06120112985321