CN111353581B - 轻量模型获取方法、装置、电子设备及存储介质 - Google Patents

轻量模型获取方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111353581B
CN111353581B CN202010089246.6A CN202010089246A CN111353581B CN 111353581 B CN111353581 B CN 111353581B CN 202010089246 A CN202010089246 A CN 202010089246A CN 111353581 B CN111353581 B CN 111353581B
Authority
CN
China
Prior art keywords
model
output
training
loss
intermediate layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010089246.6A
Other languages
English (en)
Other versions
CN111353581A (zh
Inventor
卢子鹏
王健
文石磊
孙昊
丁二锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010089246.6A priority Critical patent/CN111353581B/zh
Publication of CN111353581A publication Critical patent/CN111353581A/zh
Application granted granted Critical
Publication of CN111353581B publication Critical patent/CN111353581B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本申请公开了轻量模型获取方法、装置、电子设备及存储介质,涉及深度学习领域,其中方法可包括:利用训练数据集训练得到第一模型;确定与第一模型具有相同功能的第二模型,第一模型为复杂模型,第二模型为轻量模型;训练第二模型,其中在每轮训练时,分别进行以下处理:将训练数据集中的部分训练数据作为本轮训练数据,将本轮训练数据输入第一模型,得到第一模型中的至少一个中间层以及最后一层的输出;将本轮训练数据输入第二模型,得到第二模型中的至少一个中间层以及最后一层的输出;根据得到的第一模型的输出及第二模型的输出确定出本轮对应的损失,根据所述损失更新第二模型。应用本申请所述方案,可提升获取到的轻量模型的性能等。

Description

轻量模型获取方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机应用技术,特别涉及深度学习领域的轻量模型获取方法、装置、电子设备及存储介质。
背景技术
目前通用的人体关键点检测方式是先通过目标检测算法将人体检测出来,然后利用人体关键点模型进行骨骼关键点检测。对于复杂模型可以取得比较好的效果。但在某些场景如移动端的应用场景下,会要求模型具有实时快速的推断能力,且对计算资源也有一定的限制,相应地,轻量模型应运而生,相对于复杂模型,轻量模型的参数量较少,占用资源少,延迟性低。
针对人体关键点模型,为获取相应的轻量模型,目前通常采用知识蒸馏方法,即首先使用训练数据集训练得到复杂模型,然后设计性能满足业务需求的轻量模型,在训练数据集上使用复杂模型的输出作为目标进行训练。但这种方式只对最后一层网络输出进行蒸馏,中间层的空间信息并没有较好的学到,这样会导致轻量模型学习不充分,从而降低了模型性能。
发明内容
有鉴于此,本申请提供了轻量模型获取方法、装置、电子设备及存储介质。
一种轻量模型获取方法,包括:
利用训练数据集训练得到第一模型;
确定与所述第一模型具有相同功能的第二模型,所述第一模型为复杂模型,所述第二模型为轻量模型;
训练所述第二模型,其中在每轮训练时,分别进行以下处理:将所述训练数据集中的部分训练数据作为本轮训练数据,将所述本轮训练数据输入所述第一模型,得到所述第一模型中的至少一个中间层以及最后一层的输出;将所述本轮训练数据输入所述第二模型,得到所述第二模型中的至少一个中间层以及最后一层的输出;根据得到的所述第一模型的输出及所述第二模型的输出确定出本轮对应的损失,根据所述损失更新所述第二模型。
根据本申请一优选实施例,所述第一模型中的至少一个中间层的层数与所述第二模型中的至少一个中间层的层数相同;
且,所述第一模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,所述第二模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,所述第一模型中的至少一个中间层中的每一中间层分别与所述第二模型中的至少一个中间层中的一个中间层的尺寸相同。
根据本申请一优选实施例,所述根据得到的所述第一模型的输出及所述第二模型的输出确定出本轮对应的损失包括:
针对每两个尺寸相同的中间层,分别根据两个中间层的输出确定出两个中间层之间的损失;
根据所述第一模型的最后一层的输出以及所述第二模型的最后一层的输出确定出两个最后一层之间的损失;
根据得到的所有损失确定出本轮对应的损失。
根据本申请一优选实施例,所述根据得到的所有损失确定出本轮对应的损失之前,进一步包括:确定出所述第二模型的最后一层的输出与目标真值之间的损失。
根据本申请一优选实施例,所述根据得到的所有损失确定出本轮对应的损失包括:计算得到的所有损失的加权平均值,将计算结果作为本轮对应的损失。
一种轻量模型获取装置,包括:第一训练单元以及第二训练单元;
所述第一训练单元,用于利用训练数据集训练得到第一模型;
所述第二训练单元,用于确定与所述第一模型具有相同功能的第二模型,所述第一模型为复杂模型,所述第二模型为轻量模型;训练所述第二模型,其中在每轮训练时,分别进行以下处理:将所述训练数据集中的部分训练数据作为本轮训练数据,将所述本轮训练数据输入所述第一模型,得到所述第一模型中的至少一个中间层以及最后一层的输出;将所述本轮训练数据输入所述第二模型,得到所述第二模型中的至少一个中间层以及最后一层的输出;根据得到的所述第一模型的输出及所述第二模型的输出确定出本轮对应的损失,根据所述损失更新所述第二模型。
根据本申请一优选实施例,所述第一模型中的至少一个中间层的层数与所述第二模型中的至少一个中间层的层数相同;
且,所述第一模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,所述第二模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,所述第一模型中的至少一个中间层中的每一中间层分别与所述第二模型中的至少一个中间层中的一个中间层的尺寸相同。
根据本申请一优选实施例,所述第二训练单元针对每两个尺寸相同的中间层,分别根据两个中间层的输出确定出两个中间层之间的损失,并根据所述第一模型的最后一层的输出以及所述第二模型的最后一层的输出确定出两个最后一层之间的损失,根据得到的所有损失确定出本轮对应的损失。
根据本申请一优选实施例,所述第二训练单元进一步用于,在根据得到的所有损失确定出本轮对应的损失之前,确定出所述第二模型的最后一层的输出与目标真值之间的损失。
根据本申请一优选实施例,所述第二训练单元计算得到的所有损失的加权平均值,将计算结果作为本轮对应的损失。
一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上所述的方法。
一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如以上所述的方法。
上述申请中的一个实施例具有如下优点或有益效果:使用多层网络知识蒸馏策略,对至少一个中间层以及最后一层的输出进行蒸馏,提升了蒸馏效果,使得轻量模型可以更好地学习到中间层的空间信息,达到最大限度地迁移复杂模型的学习能力等效果,进而提升了获取到的轻量模型的性能;而且,可利用复杂模型的中间层输出蒸馏轻量模型的对应尺寸的中间层,从而进一步提升了蒸馏效果,进而进一步提升了获取到的轻量模型的性能等;另外,在训练过程中,可综合中间层之间的损失、最后一层之间的损失以及与目标真值之间的损失等确定出最终的损失,进而可根据最终的损失更新轻量模型,从而提升了模型训练效果等;上述可选方式所具有的其它效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请所述轻量模型获取方法第一实施例的流程图;
图2为本申请所述轻量模型获取方法第二实施例的流程图;
图3为本申请所述轻量模型获取装置300实施例的组成结构示意图;
图4为根据本申请实施例所述方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请所述轻量模型获取方法第一实施例的流程图。如图1所示,包括以下具体实现方式。
在101中,利用训练数据集训练得到第一模型。
在102中,确定与第一模型具有相同功能的第二模型,第一模型为复杂模型,第二模型为轻量模型。
在103中,训练第二模型,其中在每轮训练时,分别进行以下处理:将训练数据集中的部分训练数据作为本轮训练数据,将本轮训练数据输入第一模型,得到第一模型中的至少一个中间层以及最后一层的输出;将本轮训练数据输入第二模型,得到第二模型中的至少一个中间层以及最后一层的输出;根据得到的第一模型的输出及第二模型的输出确定出本轮对应的损失(loss),根据所述损失更新第二模型。
本实施例中,可首先按照现有方式,利用训练数据集训练得到第一模型,在模型测试集上取得比较好的效果。第一模型为复杂模型,或称为大模型。
之后,可确定出与第一模型具有相同功能的第二模型,第二模型为轻量模型,或称为小模型。第一模型和第二模型可均为人体关键点模型。即设计满足业务需求的轻量模型,轻量模型可与复杂模型包含同样层数的中间层,且对应中间层的尺寸相同等。
可利用训练数据集训练第二模型,其中在每轮训练时,可将训练数据集中的部分训练数据作为本轮训练数据,如将其中的16条训练数据作为一组训练数据,该组训练数据即为本轮训练数据。可将本轮训练数据输入第一模型,从而得到第一模型中的至少一个中间层以及最后一层的输出,并可将本轮训练数据输入第二模型,从而得到第二模型中的至少一个中间层以及最后一层的输出。
优选地,第一模型中的至少一个中间层的层数与第二模型中的至少一个中间层的层数相同,且,第一模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,第二模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,第一模型中的至少一个中间层中的每一中间层分别与第二模型中的至少一个中间层中的一个中间层的尺寸相同。
所述中间层也可称为特征层,以人体关键点模型为例,通常随着网络深度的增加,特征层的尺寸会越来越小,语义信息会变得丰富,但空间信息会丢失比较严重,而空间信息对于关键点的检测定位是比较重要的。
在进行每轮训练时,可根据得到的第一模型的输出及第二模型的输出确定出本轮对应的损失。
优选地,对于第一模型中的至少一个中间层以及第二模型中的至少一个中间层,可针对每两个尺寸相同的中间层,分别根据两个中间层的输出确定出两个中间层之间的损失。另外,还可根据第一模型的最后一层的输出以及第二模型的最后一层的输出确定出两个最后一层之间的损失。进一步地,还可确定出第二模型的最后一层的输出与目标真值(groundtruth)之间的损失。
之后,可根据得到的所有损失确定出本轮对应的损失,如可计算得到的所有损失的加权平均值,将计算结果作为本轮对应的损失。
在得到本轮对应的损失之后,可根据该损失更新第二模型,如更新第二模型的参数等,具体实现为现有技术。之后,可基于更新后的第二模型继续进行下一轮的训练。
基于上述介绍,图2为本申请所述轻量模型获取方法第二实施例的流程图。如图2所示,包括以下具体实现方式。
在201中,利用训练数据集训练得到ResNet 50模型。
ResNet为深度残差网络(Deep Residual Network)的缩写。
本实施例中,可将ResNet 50模型作为人体关键点模型,并为复杂模型。
在202中,设计shufflenet-v2模型。
shufflenet-v2模型同样为人体关键点模型,并为轻量模型。
在203中,训练shufflenet-v2模型,其中在进行每轮训练时,分别按照204-209所示方式进行处理。
在204中,将训练数据集中的部分训练数据作为本轮训练数据,将本轮训练数据输入ResNet 50模型,得到ResNet 50模型中的三个中间层以及最后一层的输出,分别为Cout2、Cout3、Cout4以及Coutlast。
所述训练数据集与201中的训练数据集为同一训练数据集。
其中,三个中间层可分别为c2(32x32)、c3(16x16)以及c4(8x8),32x32、16x16和8x8分别表示各中间层的尺寸,Cout2表示中间层c2的输出,Cout3表示中间层c3的输出,Cout4表示中间层c4的输出,Coutlast表示最后一层的输出。
在205中,将本轮训练数据输入shufflenet-v2模型,得到shufflenet-v2模型中的至少一个中间层以及最后一层的输出,分别为Vout2、Vout3、Vout4以及Voutlast。
其中,三个中间层可分别为v2(32x32)、v3(16x16)以及v4(8x8),32x32、16x16和8x8分别表示各中间层的尺寸,Vout2表示中间层v2的输出,Vout3表示中间层v3的输出,Vout4表示中间层v4的输出,Voutlast表示最后一层的输出。
在206中,分别获取Cout2与Vout2、Cout3与Vout3、Cout4与Vout4以及Coutlast与Voutlast之间的loss,分别为loss2、loss3、loss4和losslast。
其中,loss2表示Cout2与Vout2之间的损失,loss3表示Cout3与Vout3之间的损失,loss4表示Cout4与Vout4之间的损失,losslast表示Coutlast与Voutlast之间的损失。
loss2、loss3、loss4和losslast可均为L2 loss。
在207中,获取Voutlast与目标真值之间的损失lossgt。
如何获取目标真值为现有技术。如何获取上述各loss同样为现有技术。
在208中,计算loss2、loss3、loss4、losslast以及lossgt的加权平均值,将计算结果作为本轮对应的loss。
如可分别将loss2、loss3、loss4、losslast以及lossgt与对应的权值相乘,将各乘积相加,并用相加之和除以5,从而得到最终所需的loss,各权值的具体取值可根据实际需要而定,不同loss对应的权值可以相同,也可以不同。
在209中,根据本轮对应的loss更新shufflenet-v2模型。
需要说明的是,对于前述的各方法实施例,为了简单描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
总之,采用本申请方法实施例所述方案,使用多层网络知识蒸馏策略,对至少一个中间层以及最后一层的输出进行蒸馏,提升了蒸馏效果,使得轻量模型可以更好地学习到中间层的空间信息,达到最大限度地迁移复杂模型的学习能力等效果,进而提升了获取到的轻量模型的性能;而且,可利用复杂模型的中间层输出蒸馏轻量模型的对应尺寸的中间层,从而进一步提升了蒸馏效果,进而进一步提升了获取到的轻量模型的性能等;另外,在训练过程中,可综合中间层之间的损失、最后一层之间的损失以及与目标真值之间的损失等确定出最终的损失,进而可根据最终的损失更新轻量模型,从而提升了模型训练效果等;再有,若利用按照本申请所述方式得到的轻量模型进行人体关键点检测,可提升检测结果的准确性等。
以上是关于方法实施例的介绍,以下通过装置实施例,对本申请所述方案进行进一步说明。
图3为本申请所述轻量模型获取装置300实施例的组成结构示意图。如图3所示,包括:第一训练单元301以及第二训练单元302。
第一训练单元301,用于利用训练数据集训练得到第一模型。
第二训练单元302,用于确定与第一模型具有相同功能的第二模型,第一模型为复杂模型,第二模型为轻量模型;训练第二模型,其中在每轮训练时,分别进行以下处理:将训练数据集中的部分训练数据作为本轮训练数据,将本轮训练数据输入第一模型,得到第一模型中的至少一个中间层以及最后一层的输出;将本轮训练数据输入第二模型,得到第二模型中的至少一个中间层以及最后一层的输出;根据得到的第一模型的输出及第二模型的输出确定出本轮对应的损失,根据损失更新第二模型。
第一训练单元301可利用训练数据集训练得到第一模型,在模型测试集上取得比较好的效果。第一模型为复杂模型,或称为大模型。
第二训练单元302可确定出与第一模型具有相同功能的第二模型,第二模型为轻量模型,或称为小模型。第一模型和第二模型可均为人体关键点模型。即设计满足业务需求的轻量模型,轻量模型可与复杂模型包含同样层数的中间层,且对应中间层的尺寸相同等。
第二训练单元302可利用训练数据集训练第二模型,其中在每轮训练时,可将训练数据集中的部分训练数据作为本轮训练数据,将本轮训练数据输入第一模型,从而得到第一模型中的至少一个中间层以及最后一层的输出,并可将本轮训练数据输入第二模型,从而得到第二模型中的至少一个中间层以及最后一层的输出。
优选地,第一模型中的至少一个中间层的层数与第二模型中的至少一个中间层的层数相同,且,第一模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,第二模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,第一模型中的至少一个中间层中的每一中间层分别与第二模型中的至少一个中间层中的一个中间层的尺寸相同。
在进行每轮训练时,第二训练单元302可根据得到的第一模型的输出及第二模型的输出确定出本轮对应的损失。优选地,第二训练单元302可针对每两个尺寸相同的中间层,分别根据两个中间层的输出确定出两个中间层之间的损失,并可根据第一模型的最后一层的输出以及第二模型的最后一层的输出确定出两个最后一层之间的损失,进一步地,还可确定出第二模型的最后一层的输出与目标真值之间的损失。之后,第二训练单元302可根据得到的所有损失确定出本轮对应的损失,如可计算得到的所有损失的加权平均值,将计算结果作为本轮对应的损失。
在得到本轮对应的损失之后,第二训练单元302可根据该损失更新第二模型,如更新第二模型的参数等。
优选地,上述第一模型可为ResNet 50模型,第二模型可为shufflenet-v2模型。
图3所示装置实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。
总之,采用本申请装置实施例所述方案,使用多层网络知识蒸馏策略,对至少一个中间层以及最后一层的输出进行蒸馏,提升了蒸馏效果,使得轻量模型可以更好地学习到中间层的空间信息,达到最大限度地迁移复杂模型的学习能力等效果,进而提升了获取到的轻量模型的性能;而且,可利用复杂模型的中间层输出蒸馏轻量模型的对应尺寸的中间层,从而进一步提升了蒸馏效果,进而进一步提升了获取到的轻量模型的性能等;另外,在训练过程中,可综合中间层之间的损失、最后一层之间的损失以及与目标真值之间的损失等确定出最终的损失,进而可根据最终的损失更新轻量模型,从而提升了模型训练效果等;再有,若利用按照本申请所述方式得到的轻量模型进行人体关键点检测,可提升检测结果的准确性等。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图4所示,是根据本申请实施例所述方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,该电子设备包括:一个或多个处理器Y01、存储器Y02,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图4中以一个处理器Y01为例。
存储器Y02即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的方法。
存储器Y02作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的方法对应的程序指令/模块。处理器Y01通过运行存储在存储器Y02中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器Y02可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器Y02可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器Y02可选包括相对于处理器Y01远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、区块链网络、局域网、移动通信网及其组合。
电子设备还可以包括:输入装置Y03和输出装置Y04。处理器Y01、存储器Y02、输入装置Y03和输出装置Y04可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置Y03可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置Y04可以包括显示设备、辅助照明装置和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器、发光二极管显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用集成电路、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,阴极射线管或者液晶显示器监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网、广域网、区块链网络和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (10)

1.一种人体关键点检测方法,其特征在于,包括:
利用训练数据集训练得到第一模型,所述第一模型为复杂的人体关键点模型;
确定与所述第一模型具有相同功能的第二模型,所述第二模型为轻量的人体关键点模型;
训练所述第二模型,其中在每轮训练时,分别进行以下处理:将所述训练数据集中的部分训练数据作为本轮训练数据,将所述本轮训练数据输入所述第一模型,得到所述第一模型中的至少一个中间层以及最后一层的输出;将所述本轮训练数据输入所述第二模型,得到所述第二模型中的至少一个中间层以及最后一层的输出;根据得到的所述第一模型的输出及所述第二模型的输出确定出本轮对应的损失,根据所述损失更新所述第二模型;其中,所述第一模型中的至少一个中间层的层数与所述第二模型中的至少一个中间层的层数相同,且,所述第一模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,所述第二模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,所述第一模型中的至少一个中间层中的每一中间层分别与所述第二模型中的至少一个中间层中的一个中间层的尺寸相同;
针对获取到的人体检测结果,利用训练得到的所述第二模型对所述人体检测结果进行人体关键点检测,得到作为目标结果的人体关键点检测结果。
2.根据权利要求1所述的方法,其特征在于,
所述根据得到的所述第一模型的输出及所述第二模型的输出确定出本轮对应的损失包括:
针对每两个尺寸相同的中间层,分别根据两个中间层的输出确定出两个中间层之间的损失;
根据所述第一模型的最后一层的输出以及所述第二模型的最后一层的输出确定出两个最后一层之间的损失;
根据得到的所有损失确定出本轮对应的损失。
3.根据权利要求2所述的方法,其特征在于,
所述根据得到的所有损失确定出本轮对应的损失之前,进一步包括:确定出所述第二模型的最后一层的输出与目标真值之间的损失。
4.根据权利要求2所述的方法,其特征在于,
所述根据得到的所有损失确定出本轮对应的损失包括:计算得到的所有损失的加权平均值,将计算结果作为本轮对应的损失。
5.一种人体关键点检测装置,其特征在于,包括:第一训练单元以及第二训练单元;
所述第一训练单元,用于利用训练数据集训练得到第一模型,所述第一模型为复杂的人体关键点模型;
所述第二训练单元,用于确定与所述第一模型具有相同功能的第二模型,所述第二模型为轻量的人体关键点模型;训练所述第二模型,其中在每轮训练时,分别进行以下处理:将所述训练数据集中的部分训练数据作为本轮训练数据,将所述本轮训练数据输入所述第一模型,得到所述第一模型中的至少一个中间层以及最后一层的输出;将所述本轮训练数据输入所述第二模型,得到所述第二模型中的至少一个中间层以及最后一层的输出;根据得到的所述第一模型的输出及所述第二模型的输出确定出本轮对应的损失,根据所述损失更新所述第二模型;其中,所述第一模型中的至少一个中间层的层数与所述第二模型中的至少一个中间层的层数相同,且,所述第一模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,所述第二模型中的至少一个中间层中的各中间层分别具有不同的尺寸,且,所述第一模型中的至少一个中间层中的每一中间层分别与所述第二模型中的至少一个中间层中的一个中间层的尺寸相同;针对获取到的人体检测结果,利用训练得到的所述第二模型对所述人体检测结果进行人体关键点检测,得到作为目标结果的人体关键点检测结果。
6.根据权利要求5所述的装置,其特征在于,
所述第二训练单元针对每两个尺寸相同的中间层,分别根据两个中间层的输出确定出两个中间层之间的损失,并根据所述第一模型的最后一层的输出以及所述第二模型的最后一层的输出确定出两个最后一层之间的损失,根据得到的所有损失确定出本轮对应的损失。
7.根据权利要求6所述的装置,其特征在于,
所述第二训练单元进一步用于,在根据得到的所有损失确定出本轮对应的损失之前,确定出所述第二模型的最后一层的输出与目标真值之间的损失。
8.根据权利要求6所述的装置,其特征在于,
所述第二训练单元计算得到的所有损失的加权平均值,将计算结果作为本轮对应的损失。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-4中任一项所述的方法。
CN202010089246.6A 2020-02-12 2020-02-12 轻量模型获取方法、装置、电子设备及存储介质 Active CN111353581B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010089246.6A CN111353581B (zh) 2020-02-12 2020-02-12 轻量模型获取方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010089246.6A CN111353581B (zh) 2020-02-12 2020-02-12 轻量模型获取方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111353581A CN111353581A (zh) 2020-06-30
CN111353581B true CN111353581B (zh) 2024-01-26

Family

ID=71196984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010089246.6A Active CN111353581B (zh) 2020-02-12 2020-02-12 轻量模型获取方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111353581B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2317194A1 (en) * 1999-09-03 2001-03-03 Cognos Incorporated Query engine and method for querying data using metadata model
CN108259997A (zh) * 2018-04-02 2018-07-06 腾讯科技(深圳)有限公司 图像相关处理方法及装置、智能终端、服务器、存储介质
CN109214343A (zh) * 2018-09-14 2019-01-15 北京字节跳动网络技术有限公司 用于生成人脸关键点检测模型的方法和装置
CN109902715A (zh) * 2019-01-18 2019-06-18 南京理工大学 一种基于上下文聚合网络的红外弱小目标检测方法
CN109977989A (zh) * 2019-01-17 2019-07-05 北京工业大学 一种图像张量数据的处理方法
CN110275163A (zh) * 2019-06-28 2019-09-24 清华大学 一种基于神经网络的毫米波雷达探测目标成像方法
CN110532694A (zh) * 2019-08-29 2019-12-03 四川大学 一种基于地质力学模型综合法试验的拱坝安全评价方法
CN110543578A (zh) * 2019-08-09 2019-12-06 华为技术有限公司 物体识别方法及装置
CN110751108A (zh) * 2019-10-23 2020-02-04 武汉理工大学 一种地铁分布式振动信号相似度确定方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261685B2 (en) * 2016-12-29 2019-04-16 Google Llc Multi-task machine learning for predicted touch interpretations

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2317194A1 (en) * 1999-09-03 2001-03-03 Cognos Incorporated Query engine and method for querying data using metadata model
CN108259997A (zh) * 2018-04-02 2018-07-06 腾讯科技(深圳)有限公司 图像相关处理方法及装置、智能终端、服务器、存储介质
CN109214343A (zh) * 2018-09-14 2019-01-15 北京字节跳动网络技术有限公司 用于生成人脸关键点检测模型的方法和装置
CN109977989A (zh) * 2019-01-17 2019-07-05 北京工业大学 一种图像张量数据的处理方法
CN109902715A (zh) * 2019-01-18 2019-06-18 南京理工大学 一种基于上下文聚合网络的红外弱小目标检测方法
CN110275163A (zh) * 2019-06-28 2019-09-24 清华大学 一种基于神经网络的毫米波雷达探测目标成像方法
CN110543578A (zh) * 2019-08-09 2019-12-06 华为技术有限公司 物体识别方法及装置
CN110532694A (zh) * 2019-08-29 2019-12-03 四川大学 一种基于地质力学模型综合法试验的拱坝安全评价方法
CN110751108A (zh) * 2019-10-23 2020-02-04 武汉理工大学 一种地铁分布式振动信号相似度确定方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于克隆优化的船舶号灯神经网络识别模型;朱金善;孙立成;胡江强;何庆华;;大连海事大学学报(第02期);第44-48页 *
高分辨率遥感影像场景的多尺度神经网络分类法;郑卓;方芳;刘袁缘;龚希;郭明强;罗忠文;;测绘学报(第05期);第67-77页 *

Also Published As

Publication number Publication date
CN111353581A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN111046257B (zh) 一种会话推荐方法、装置以及电子设备
CN111259222B (zh) 物品推荐方法、***、电子设备及存储介质
CN111767379A (zh) 图像问答方法、装置、设备以及存储介质
US11521370B2 (en) Point cloud data processing method, apparatus, electronic device and computer readable storage medium
CN111259671B (zh) 文本实体的语义描述处理方法、装置及设备
CN111275190B (zh) 神经网络模型的压缩方法及装置、图像处理方法及处理器
CN111311321B (zh) 用户消费行为预测模型训练方法、装置、设备及存储介质
CN111582479B (zh) 神经网络模型的蒸馏方法和装置
CN111079945B (zh) 端到端模型的训练方法及装置
CN111695699B (zh) 用于模型蒸馏的方法、装置、电子设备及可读存储介质
CN110826634A (zh) 目标检测模型的训练方法、装置、电子设备及存储介质
CN110852321B (zh) 候选框过滤方法、装置以及电子设备
CN110705696B (zh) 神经网络的量化与定点化融合方法及装置
EP3866065B1 (en) Target detection method, device and storage medium
CN111241838B (zh) 文本实体的语义关系处理方法、装置及设备
EP3869402B1 (en) Method and apparatus for positioning a key point, device, storage medium and computer program product
CN115456167B (zh) 轻量级模型训练方法、图像处理方法、装置及电子设备
CN112288483A (zh) 用于训练模型的方法和装置、用于生成信息的方法和装置
CN111966361A (zh) 用于确定待部署模型的方法、装置、设备及其存储介质
CN111652354B (zh) 用于训练超网络的方法、装置、设备以及存储介质
CN112580723B (zh) 多模型融合方法、装置、电子设备和存储介质
CN111738325B (zh) 图像识别方法、装置、设备以及存储介质
CN111833391B (zh) 图像深度信息的估计方法及装置
CN111311000B (zh) 用户消费行为预测模型训练方法、装置、设备及存储介质
CN117351299A (zh) 图像生成及模型训练方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant