CN114187650A - 动作识别方法、装置、电子设备及存储介质 - Google Patents
动作识别方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114187650A CN114187650A CN202111276949.0A CN202111276949A CN114187650A CN 114187650 A CN114187650 A CN 114187650A CN 202111276949 A CN202111276949 A CN 202111276949A CN 114187650 A CN114187650 A CN 114187650A
- Authority
- CN
- China
- Prior art keywords
- action
- image
- loss
- key
- part detection
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种动作识别方法,所述方法包括:获取待识别图像;从所述待识别图像中提取得到目标图像特征,所述目标图像特征关联了目标对象执行动作的关键部位、及与所述关键部位具有关联关系的关联部位;根据所述目标图像特征,对所述待识别图像中所述目标对象执行动作的部位进行检测,得到部位检测结果;根据所述部位检测结果,对所述待识别图像中所述目标对象执行的动作进行识别,得到动作识别结果。采用本申请所提供的方法,能够有效地解决现有技术中存在的动作识别准确率不高的问题。
Description
技术领域
本申请涉及图像识别技术领域,具体涉及一种动作识别方法、装置、电子设备及存储介质。
背景技术
目前,动作识别主要应用在公共场所、医院、安全、控制等交互/监测场景,以此来提供一种更为直观、自然友好并更为人们所熟悉的交互/监测方式。可以理解,尤其是在一些交互场景中,例如家居场景中,为了更好地控制智能家居设备,可以为居家用户设计较为复杂的动作,以此区别不同的智能家居设备或者控制相同的智能家居设备执行不同操作。当然,也存在一些交互场景中,例如博物馆、展览馆等公共场所,由于参观者都是未经训练的用户,为其设计的动作大都简单直观。
现有的动作识别通常采用检测+分类的方法,然而,无论是较为复杂的动作,还是简单直观的动作,在针对执行动作的关键部位(例如手)进行检测时,尤其是在弱光或者存在一些与关键部位相似的物体(例如手玩具)情况下,很容易发生关键部位的误检测,进而使得在动作分类时,基于前述误检测结果也容易发生动作的误识别,最终造成交互场景中出现误触发的现象。
由此可见,现有的动作识别仍存在准确率不高的缺陷。
发明内容
本申请各实施例提供了一种动作识别方法、装置、电子设备及存储介质,可以解决相关技术中存在的动作识别的准确率不高的问题。
本申请采用的技术方案如下:
根据本申请实施例的一个方面,一种动作识别方法,包括:获取待识别图像;从所述待识别图像中提取得到目标图像特征,所述目标图像特征关联了目标对象执行动作的关键部位、及与所述关键部位具有关联关系的关联部位;根据所述目标图像特征,对所述待识别图像中所述目标对象执行动作的部位进行检测,得到部位检测结果;根据所述部位检测结果,对所述待识别图像中所述目标对象执行的动作进行识别,得到动作识别结果。
根据本申请实施例的一个方面,一种动作识别装置,包括:图像获取模块,用于获取待识别图像;特征提取模块,用于从所述待识别图像中提取得到目标图像特征,所述目标图像特征关联了目标对象执行动作的关键部位、及与所述关键部位具有关联关系的关联部位;部位检测模块,用于根据所述目标图像特征,对所述待识别图像中所述目标对象执行动作的部位进行检测,得到部位检测结果;动作识别模块,用于根据所述部位检测结果,对所述待识别图像中所述目标对象执行的动作进行识别,得到动作识别结果。
在一个示例性的实施例中,部位检测模块包括:关键部位检测单元,用于根据所述目标图像特征,对所述待识别图像中所述目标对象执行动作的关键部位进行检测,得到关键部位检测结果;关联部位检测单元,用于根据所述目标图像特征,对所述待识别图像中与所述关键部位具有关联关系的关联部位进行检测,得到关联部位检测结果;部位检测结果确定单元,用于根据所述关键部位检测结果和所述关联部位检测结果,确定所述部位检测结果。
在一个示例性的实施例中,关联部位检测单元包括:位置确定子单元,用于根据所述目标图像特征,确定所述关联部位在所述待识别图像中相对于所述关键部位的相对位置;关联部位确定子单元,用于基于所述关联部位相对于所述关键部位的相对位置,确定所述关联部位检测结果。
在一个示例性的实施例中,部位检测模块包括:位置定位单元,用于基于所述目标图像特征,对所述目标对象执行动作的关键部位在所述待识别图像中的区域进行定位,得到所述目标对象执行动作的关键部位的位置;关键部位确定单元,用于根据所述目标对象执行动作的关键部位的位置,确定关键部位检测结果;结果确定单元,用于根据所述关键部位检测结果确定所述部位检测结果。
在一个示例性的实施例中,动作识别模块包括:区域确定单元,用于根据所述部位检测结果,确定所述目标对象执行动作的部位在所述待识别图像中的区域;类别预测单元,用于基于所述目标对象执行动作的部位在所述待识别图像中的区域,对所述待识别图像中所述目标对象执行的动作进行动作类别预测,得到所述目标对象执行动作的动作类别;动作识别结果确定单元,用于根据所述目标对象执行动作的动作类别,确定所述动作识别结果。
在一个示例性的实施例中,所述动作识别结果通过调用动作识别模型得到;所述动作识别模型通过训练模块得到;所述训练模块,用于基于至少一个样本图像,对初始的机器学习模型进行训练;所述训练模块至少包括:第一监督训练单元,用于在部位检测阶段,基于所述样本图像携带的第一标签和第二标签,对所述机器学习模型进行关于关键部位检测和关联部位检测的监督训练,所述第一标签用于指示所述样本对象执行动作的关键部位的位置,所述第二标签用于指示关联部位相对于关键部位的相对位置。
在一个示例性的实施例中,所述第一监督训练单元包括:特征提取子单元,用于从所述样本图像中提取得到样本图像特征;第一预测子单元,用于根据所述样本图像特征,预测所述样本图像中所述样本对象执行动作的关键部位的位置,得到第一预测信息,并预测关联部位在所述样本图像中相对于所述关键部位的相对位置,得到第二预测信息;第一损失确定子单元,用于基于所述第一标签与所述第一预测信息之间的差异确定第一损失,并基于所述第二标签与所述第二预测信息之间的差异确定第二损失;第一参数调整子单元,用于根据所述第一损失和所述第二损失,调整所述机器学习模型对应于所述部位检测阶段的参数。
在一个示例性的实施例中,所述训练模块还包括:第二监督训练单元,用于在动作分类阶段,基于所述样本图像携带的第三标签、及所述部位检测阶段的监督训练结果,对所述机器学习模型进行关于动作识别的监督训练,所述第三标签用于指示所述样本对象执行动作的动作类别;所述第二监督训练单元包括:第二预测子单元,用于根据所述监督训练结果中的所述第一预测信息和所述第二预测信息,预测所述样本图像中所述样本对象执行动作的动作类别,得到第三预测信息;第二损失确定子单元,用于基于所述第三标签与所述第三预测信息之间的差异确定第三损失;第二参数调整子单元,用于根据所述第三损失,和/或,所述监督训练结果中的所述第一损失和所述第二损失,调整所述机器学习模型对应于所述动作分类阶段的参数;模型生成子单元,用于当训练停止条件满足时,得到完成训练的机器学习模型,作为所述动作识别模型。
在一个示例性的实施例中,所述装置还包括:损失反馈模块,用于将所述第三损失反馈至所述部位检测阶段;第一参数调整子单元包括:联合调整子单元,用于根据所述第一损失、所述第二损失和所述第三损失,调整所述机器学习模型对应于所述部位检测阶段的参数。
在一个示例性的实施例中,所述第一预测信息是通过所述机器学习模型中的关键部位检测分支预测得到的,所述第二预测信息是通过所述机器学习模型中的关联部位检测分支预测得到的;联合调整子单元包括:第一分支参数调整子单元,用于根据所述第一损失、所述第二损失和所述第三损失,调整所述关键部位检测分支的参数;及第二分支参数调整子单元,用于根据所述第二损失和所述第三损失,调整所述关联部位检测分支的参数。
根据本申请实施例的一个方面,一种电子设备,包括:至少一个处理器、至少一个存储器、以及至少一条通信总线,其中,存储器上存储有计算机程序,处理器通过通信总线读取存储器中的计算机程序;计算机程序被处理器执行时实现如上所述的动作识别方法。
根据本申请实施例的一个方面,一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述的动作识别方法。
根据本申请实施例的一个方面,一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序存储在存储介质中,计算机设备的处理器从存储介质读取计算机程序,处理器执行计算机程序,使得计算机设备执行时实现如上所述的动作识别模型的训练方法。
本申请提供的技术方案带来的有益效果是:
基于获取到的待识别图像,从该待识别图像中提取得到目标图像特征,由于该目标图像特征将目标对象执行动作的关键部位、及与该关键部位具有关联关系的关联部位紧密地关联在一起,使得基于该目标图像特征对待识别图像中目标对象执行动作的部位进行检测得到部位检测结果的精度得以提高,并且使得基于部位检测结果对待识别图像中目标对象执行动作进行识别得到动作识别结果的精度也得以提高,不仅能够有效地降低非关键部位的误检测率,而且能够避免交互场景中出现误触发的现象,从而能够有效地解决现有技术中存在的动作识别的准确率不高的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1是根据本申请所涉及的实施环境的示意图;
图2是根据一示例性实施例示出的一种动作识别方法的流程图;
图3是根据一示例性实施例示出的一种动作识别模型的训练方法的流程图;
图4是根据一示例性实施例示出的人体关节点的示意图;
图5是根据一示例性实施例示出的动作识别模型的训练过程和预测过程的示意图;
图6是图2对应实施例中步骤250在一种实施例的示意图;
图7是图2对应实施例中步骤270在一种实施例的示意图;
图8是根据一示例性实施例示出的一种动作识别装置的结构图;
图9是根据一示例性实施例示出的一种服务器的硬件结构图;
图10是根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
下面是对本申请涉及的几个名词进行的介绍和解释:
动作识别:通常包括两个主要任务:部位检测和动作分类。其中,部位检测是指执行动作的关键部位可能出现在图像(或某个区域)的哪个位置,便将关键部位在图像中的区域用定位框(Bounding box,简写为Bbox)框出来。动作分类则是指图像(或某个区域)中定位框框出来的关键部位所执行的动作属于哪个类别。
深度学习模型:一种机器学习模型,是指使用有监督和无监督的学习方法来训练深度神经网络,深度神经网络是包含多个隐含层的神经网络结构。随着深度学习在图像分类任务上取得巨大进展,目前主流的识别算法主要是基于深度学习模型。
精确度:从预测结果的角度进行统计,是指预测为正样本的数据中,有多少个是实际的正样本,即“找的对”的比例,计算公式为:预测为正且实际为正/预测为正,该值越大越好,100%为理想状态。
召回率:从真实的样本图像集进行统计,是指在所有正样本中,找回了多少个实际的正样本,即“找的全”的比例,计算公式为:预测为正且实际为正/所有正样本数,该值越大越好,100%为理想状态。
如前所述,动作识别主要应用在公共场所、医院、安全、控制等交互/监测场景,以此来提供一种更为直观、自然友好并更为人们所熟悉的交互/监测方式。例如,在博物馆、展览馆等公共场所形成的监测场景中,监测参观者是否存在吸烟、拍照等不文明行为相关的动作,或者,在智能家居场景等交互场景中,识别居家用户是否存在抬头、举手、下蹲等与智能家居设备关联的动作。
为了这些交互/监测场景中的动作能够被鲁棒地识别并且虚警尽量少,现有的动作识别通常采用检测+分类的方法。举例来说,采用部位检测模型和动作分类模型,以分别对交互/监测场景中执行动作的关键部位进行检测和进行动作的动作类别识别。具体地,训练过程,利用标注了关键部位所在区域和动作类别的图像,训练部位检测模型和动作分类模型。预测过程,首先由部位检测模型检测出执行动作的关键部位,基于检测出的关键部位进入动作分类阶段,以此输出该关键部位所执行动作的动作类别,从而完成整个动作识别过程。
上述动作识别过程,无论是针对较为复杂的动作,还是针对简单直观的动作,虽然可以实现动作识别功能,但是在弱光的或者存在一些与关键部位(例如手)相似的物体(例如手玩具)情况下,很容易发生关键部位的误检测,进而使得在动作分类时,基于前述误检测结果也容易发生动作的误识别,最终造成交互场景中出现误触发的现象。
由上可知,现有的动作识别仍存在准确率不高的局限性。
为了克服上述问题,本申请提供一种动作识别方法,能够有效地降低非关键部位的误检测率,以此避免交互场景中出现误触发的现象,相应地,此动作识别方法适用于动作识别装置,此装置可部署于配备冯诺依曼体系结构的电子设备,例如,电子设备可以是个人计算机(PC)、笔记本电脑、服务器等等。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1为一种目标识别方法所涉及的实施环境的示意图。在一种实施方式中,该实施环境适用于智能家居场景,如图(a)所示,该实施环境包括网关110、部署在网关110中的图像采集设备130、服务器150、以及若干个控制设备170。
具体地,图像采集设备130可以是摄像机、相机、或者智能手机、平板电脑等配置摄像头的其余电子设备,在此不进行限定。
服务器150可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。例如,本实施环境中,服务器150提供动作识别服务。
图像采集设备130部署于网关110,并通过其自身所配置的通信模块与网关110通信,进而实现与网关110之间的交互。在一种实施方式中,图像采集设备130通过局域网络接入网关110,从而部署于网关110中。图像采集设备130通过局域网络接入网关110的过程包括,由网关110首先建立一个局域网络,图像采集设备130通过连接该网关110,从而接入该网关110建立的局域网络中。局域网络包括:蓝牙、WIFI、ZIGBEE或者LORA。
服务器150则预先与网关110之间建立通信连接,在一种实施方式中,服务器150与网关110之间通过2G/3G/4G/5G、WIFI等建立通信连接。通过此通信连接实现与网关110之间的数据传输。例如,传输的数据至少包括待识别图像等。
类似于图像采集设备130,控制设备170也部署于网关110,并通过其自身配置的通信模块与网关110通信,进而受控与网关110。在一种实施方式中,控制设备170通过局域网络接入网关110,从而部署于网关110中。控制设备170通过局域网络接入网关110的过程包括,由网关110首先建立一个局域网络,控制设备170通过连接该网关110,从而接入该网关110建立的局域网络中。局域网络包括:蓝牙、ZIGBEE或者LORA。
其中,控制设备170包括但不限于:智能电视、智能打印机、智能传真机、智能音箱、智能摄像机、智能空调、智能台灯、智能门锁或者人体传感器、门窗传感器、温湿度传感器、水浸传感器、视觉传感器、天然气报警器、烟雾报警器、蜂鸣报警器、墙壁开关、墙壁插座、无线开关、无线墙贴开关、魔方控制器、窗帘电机等,此处并非构成具体限定。
在此实施环境中,如果某居家用户希望控制设备170执行相关操作,便可以在智能家居场景中执行相关操作对应的动作,此时,图像采集设备130便能够对该居家用户所执行的动作进行拍摄并采集而生成待识别图像,并通过网关110将待识别图像发送至服务器150,以使服务器150提供动作识别服务。
就服务器150来说,在接收到待识别图像之后,便能够对待识别图像进行检测和识别,进而得到动作识别结果,并将此动作识别结果发送至网关110。
在服务器150发送动作识别结果之后,网关110便会将动作识别结果转发至相应的控制设备170,以此触发控制设备170按照动作识别结果的指示执行相应操作,从而实现简单高效的设备控制。
当然,在其他实施方式中,动作识别结果也可以由服务器150直接发送至控制设备170,此处并非构成具体限定。
区别于图(a),在图(b)中,该实施环境还包括用户终端190。该用户终端190可供具备设备控制功能的客户端运行,可以是台式电脑、笔记本电脑、平板电脑、智能手机等电子设备,在此不进行限定。其中,该客户端,具备设备控制功能,可以是应用程序形式,也可以是网页形式,相应地,客户端进行设备控制的用户界面可以是程序窗口形式,还可以是网页页面形式的,此处也并未加以限定。
用户终端190与网关110之间预先建立通信连接,并通过此通信连接实现用户终端190与网关110之间的数据传输。例如,传输的数据可以是控制设备170的执行结果等等。
在此实施环境中,在控制设备170执行完相关操作之后,可将其执行结果反馈至网关110。此时,网关110便能够将此执行结果发送至用户终端190,以供用户终端190进行执行结果的显示,以此来为居家用户提供一种自然友好且更为熟悉的交互方式。
值得一提的是,在一种实施方式中,用户终端190也可以作为图像采集设备130,此时,居家用户可借助用户终端190配置的摄像模块进行待识别图像的拍摄并采集,并以此向服务器150发起动作识别请求,使得服务器150提供动作识别服务,进而实现对控制设备170的触发控制。
在另一种实施方式中,动作识别可通过动作识别模型完成,此动作识别模型可由服务器150离线训练得到,并下发至用户终端190,此时,作为图像采集设备的用户终端190也具备了动作识别能力,便能够对拍摄并采集到的待识别图像提供动作识别服务,进而实现对控制设备170的触发控制。
请参阅图2,在一示例性实施例中,提供了一种动作识别方法,以该方法应用于电子设备为例进行说明。其中,电子设备具体可以是图1中的服务器,还可以是图1中的用户终端。
该动作识别方法可以包括以下步骤:
步骤210,获取待识别图像。
其中,待识别图像包括动态图像和静态图像。动态图像是指包含多帧图像的视频,相对于动态图像,静态图像则是指包含一帧图像的照片、图片等。基于此,本实施例中的动作识别可以基于包含多帧图像的视频进行,也可以基于包含一帧图像的照片、图片进行。
待识别图像是对目标对象所在环境进行拍摄生成的。随着图像采集设备布设于目标对象所在环境四周,便能够对该环境四周进行拍摄并采集到目标对象有关的图像,例如,目标对象执行动作的图像。其中,目标对象所在环境可以是卧室、客厅、酒店房间等较为私密的场景,还可以是电影院、图书馆、会议室等较为开放的场景,本实施例并未对此加以限定。
此外,图像采集设备可以是布设于目标对象所在环境四周的摄像机、相机、甚至是智能手机、平板电脑等具备图像拍摄和采集功能的其余电子设备,例如,目标对象所在环境四周可以是指建筑物内部的天花板一角、建筑物外部的灯柱、还可以是智能机器人等控制设备上,相应地,待识别图像可以是建筑物内部的任意图像,还可以是建筑物外部的任意图像,在此不进行限定。
上述目标对象指的是待识别图像中待进行动作识别的各种对象,例如,待识别图像中执行手势、下蹲、跳跃等动作的人、动物、智能机器人等中的至少一种。
步骤230,从待识别图像中提取得到目标图像特征。
其中,目标图像特征关联了目标对象执行动作的关键部位、及与关键部位具有关联关系的关联部位。
换而言之,目标图像特征,不仅能够体现目标对象执行动作的关键部位,而且还能够反映与关键部位具有关联关系的关联部位,从而有利于后续部位检测阶段区分不存在关联部位但与关键部位相似的物体,进而有利于提升部位检测的准确性。
步骤250,根据目标图像特征,对待识别图像中目标对象执行动作的部位进行检测,得到部位检测结果。
在一个实施例中,部位检测结果,是基于目标图像特征,对待识别图像中目标对象执行动作的关键部位进行检测得到的。
在一个实施例中,部位检测结果,是基于目标图像特征,对待识别图像中目标对象执行动作的关键部位、及与该关键部位具有关联关系的关联部位分别进行检测得到的。具体包括:根据目标图像特征,对待识别图像中目标对象执行动作的关键部位进行检测,得到关键部位检测结果;根据目标图像特征,对待识别图像中与关键部位具有关联关系的关联部位进行检测,得到关联部位检测结果;根据关键部位检测结果和关联部位检测结果,确定部位检测结果。
相应地,部位检测结果,用于指示待识别图像中是否检测到目标对象执行动作的关键部位。在一个实施例中,部位检测结果,通过目标对象执行动作的关键部位的位置进行表示。
步骤270,根据部位检测结果,对待识别图像中目标对象执行的动作进行识别,得到动作识别结果。
其中,识别,即对待识别图像中目标对象执行的动作进行分类,得到目标对象执行动作的动作类别。
在一个实施例中,动作识别结果,即目标对象执行动作的动作类别。
当然,在其他实施例中,还设置有用于表示动作类别的可信程度的可信度及其对应的设定值,如果该可信度大于等于设定值,则动作识别模型将目标对象执行动作的动作类别作为动作识别结果;反之,如果该可信度小于设定值,则动作识别模型无法输出动作识别结果。其中,设定值为可以根据应用场景的实际需求进行设定,以此使得动作识别模型的精确度和召回率保持平衡。例如,对于精确度要求高的应用场景,设置相对较高的设定值;对于召回率要求高的应用场景,则设置相对较低的设定值。
通过上述过程,利用将目标对象执行动作的关键部位和关联部位紧密关联在一起的目标图像特征,实现部位检测和动作识别,不仅有利于提升部位检测的检测精度,减少不存在关联部位但与关键部位相似的物体的误检测,而且有利于提升动作识别的准确度,减少动作识别对控制设备的误触发。
上述动作识别过程,既可以通过动作识别算法实现,也可以通过动作识别模型的调用实现。此动作识别模型是基于至少一个样本图像,对初始的机器学习模型进行训练得到的。
现对动作识别模型的训练方法进行如下详细地说明:
请参阅图3,在一示例性实施例中,提供了一种动作识别模型的训练方法,以该方法应用于电子设备为例进行说明。其中,电子设备具体可以是图1中的服务器。
该动作识别模型的训练方法可以包括以下步骤:
步骤310,获取训练集。
其中,训练集包括至少一个样本图像,此样本图像指的是进行了标注的已识别图像。
首先说明的是,样本图像包括动态图像和静态图像。动态图像是指包含多帧图像的视频,相对于动态图像,静态图像则是指包含一帧图像的照片、图片等。基于此,本实施例中的动作识别可以基于包含多帧图像的视频进行,也可以基于包含一帧图像的照片、图片进行。
关于样本图像的获取,可以来源于图像采集设备实时采集的图像,也可以是预先存储于服务器的一历史时间段由图像采集设备采集的图像,例如,智能家居场景中由摄像头拍摄并采集到的用户执行动作的视频、照片,还可以是来源于第三方图像数据库中预先存储的图像,例如,包含动物执行动作的桌面壁纸等,此处并未加以限定。
其次,此样本图像至少包含样本对象执行动作的关键部位和关联部位,以便于后续动作识别模型的训练。此样本对象是指样本图像中执行动作的各种对象,例如,样本图像中执行手势、下蹲、跳跃等动作的人、动物、智能机器人等中的至少一种。
对应地,关键部位,用于表示样本对象执行动作时在对应样本图像中的关键关节点。关联部位,与关键部位具有关联关系,用于表示样本对象执行动作时在对应样本图像中与关键关节点具有关联关系的至少一个其他关节点。图4为人体关节点的示意图,现以样本对象为人举例说明,如图4所示,人执行手势时,以手关节点4或7作为关键关节点,那么,与该手关节点4或7具有关联关系的其他关节点可以是腕关节点3或6、肩关节点2或5、肘关节点3或6,还可以是头关节点1,由此可见,关联关系,具体可以指人体关节点之间的连接关系。
再次,标注,是指在样本图像中添加标记,使得样本图像携带标签。
在一个实施例中,样本图像至少携带第一标签,此第一标签用于指示样本对象执行动作的关键部位的位置。具体地,在样本图像中,对样本对象执行动作的关键部位所在区域进行定位,得到样本对象执行动作的关键部位的位置,作为第一标签。
由上可知,关于第一标签的标注,实质上是指在样本图像中用定位框将关键部位所在区域框出来,此定位框视为第一标签。在一个实施例中,位置信息/定位框可以通过坐标表示。其中,定位框的形状可以是矩形、圆形、三角形等,此处并未加以限定。
在一个实施例中,样本图像至少携带第二标签,此第二标签用于指示与关键部位具有关联关系的关联部位的相对位置。具体地,根据关联部位在样本图像中相对于关键部位的相对位置,生成第二标签。
此处,相对位置是指样本图像中关键部位的中心位置与关键部位的中心位置之间的距离,那么,关于第二标签的标注,可以是指根据此相对位置在样本图像中用定位框将关联部位所在区域框出来,以此定位框作为第二标签,当然,还可以将相对位置直接作为第二标签,此处不进行限定。
在一个实施例中,样本图像至少携带第三标签,此第三标签用于指示样本对象执行动作的动作类别。
举例来说,一张包含猫执行跳跃动作的照片,样本对象为猫,执行的动作为跳跃,则动作类别为跳跃,那么,通过标注,例如,在这张包含猫执行跳跃动作的照片中添加文字形式“跳跃”的标记,此“跳跃”标记视为第三标签,进而形成携带第三标签的样本图像。当然,在其他实施例中,关于第三标签的标注,也可以是在样本图像中添加数字、字母、字符、图形、颜色等形式的标记,此处并非构成具体限定。
由此可见,基于获取到的训练集,不仅引入第一标签,还引入第二标签,以通过第一标签和第二标签的结合,将样本对象执行动作的关键部位和关联部位紧密地关联在一起,以此避免将不存在关联部位但与关键部位相似的物体检测为关键部位,从而有效地降低非关键部位的误检测率。
步骤330,在部位检测阶段,基于样本图像携带的第一标签和第二标签,对机器学习模型进行关于关键部位检测和关联部位检测的监督训练。
如前所述,动作识别包括两个主要任务:部位检测和动作分类。基于此,无论是训练过程,还是预测过程,对应存在两个阶段:部位检测阶段和动作分类阶段,其中,部位检测阶段用于执行动作识别任务中的部位检测,动作分类阶段用于执行动作识别任务中的动作分类,以此充分地保障动作识别的准确性。
发明人意识到,在动作识别过程中,在弱光的或者存在一些与关键部位(例如手)相似的物体(例如手玩具)情况下,很容易发生关键部位的误检测,为此,在部位检测阶段的训练过程中,基于第一标签进行关键部位检测的监督训练的前提下,引入基于第二标签进行关联部位检测的监督训练,以通过关联部位对关键部位的辅助,来提升动作识别过程中部位检测阶段的准确性,进而有利于后续提升动作识别过程中动作分类阶段的准确性。
基于此,现对部位检测阶段的训练过程进行如下说明:
具体地,从样本图像中提取得到样本图像特征;
根据样本图像特征,预测样本图像中样本对象执行动作的关键部位的位置,得到第一预测信息,并预测关联部位在样本图像中相对于关键部位的相对位置,得到第二预测信息;
基于第一标签与第一预测信息之间的差异确定第一损失,并基于第二标签与第二预测信息之间的差异确定第二损失;
根据第一损失和第二损失,调整机器学习模型对应于部位检测阶段的参数。
由此,便能够得到部位检测阶段的监督训练结果,以利于后续动作分类阶段的训练。
由上可知,针对部位检测阶段,在训练过程中,在已进行关于关键部位检测的监督训练前提下,通过增加关于关联部位检测的监督训练,使得样本对象执行动作的关键部位和关联部位紧密地关联在一起,避免将不存在关联部位但与关键部位相似的物体检测为关键部位,从而有效地降低非关键部位的误检测率,以此充分地保障部位检测的准确性。
步骤350,在动作分类阶段,基于样本图像携带的第三标签、及部位检测阶段的监督训练结果,对机器学习模型进行关于动作识别的监督训练。
具体地,根据监督训练结果中的第一预测信息和第二预测信息,预测样本图像中样本对象执行动作的动作类别,得到第三预测信息;
基于第三标签与第三预测信息之间的差异确定第三损失;
根据第三损失、及监督训练结果中的第一损失和第二损失,调整机器学习模型对应于动作分类阶段的参数。当然,在其他实施例中,也可以单独根据第三损失来调整机器学习模型对应于动作分类阶段的参数。
由此,通过引入此部位检测阶段的监督训练结果参与关于动作识别的监督训练,使得动作识别过程也能够获得更多与样本对象更密切的部位特征,进而有利于提升关键部位所执行动作的识别准确性。
步骤370,当训练停止条件满足时,得到完成训练的机器学习模型,作为动作识别模型。
也就是说,当部位检测阶段完成训练且动作分类阶段完成训练,也可以理解为部位检测阶段收敛且动作分类阶段收敛,则视为训练停止条件满足,此时,初始的机器学习模型收敛,即得到完成训练的机器学习模型。
进一步地,在一个实施例中,对完成训练的机器学习模型进行模型性能评价,根据模型性能评价结果得到动作识别模型,具体地,计算完成训练的机器学习模型对应的精确度和召回率,如果此精确度和召回率均满足设定条件,则此完成模型性能评价的机器学习模型收敛得到动作识别模型。
基于此,动作识别模型便具备了针对目标对象所执行动作的动作识别能力。
通过上述过程,通过充分考虑样本对象执行动作的关键部位与关联部位之间的关联关系,来降低非关键部位的误检测率,进而避免交互场景中出现误触发的现象,从而能够有效地解决现有技术中存在的动作识别的准确率不高的问题。
如图5所示,在一个实施例中,训练过程中的部位检测阶段,机器学习模型可划分为关键部位检测分支和关联部位检测分支。也就是说,在训练过程中,第一预测信息是通过机器学习模型中的关键部位检测分支预测得到的,第二预测信息是通过机器学习模型中的关联部位检测分支预测得到的。
现结合图5,对关键部位检测分支和关联部位检测分支的训练过程详细地说明如下:
第一步,构建初始的机器学习模型,确定机器学习模型中关键部位检测分支的第一参数和关联部位检测分支的第二参数。其中,机器学习模型包括但不限于深度学习模型。
第二步,根据第一标签和第二标签,对第一参数和第二参数进行更新处理。具体包括以下步骤:
首先,从至少携带第一标签和第二标签的其中一个样本图像中提取得到样本图像特征,并根据该样本图像特征,预测该其中一个样本图像中样本对象执行动作的关键部位的位置,得到第一预测信息,以及预测关联部位在该其中一个样本图像中相对于关键部位的相对位置,得到第二预测信息。
对第一参数进行随机初始化,并基于随机初始化的第一参数和第一预测信息确定机器学习模型对应的第一损失函数。同理,对第二参数进行随机初始化,并基于随机初始化的第二参数和第二预测信息确定机器学习模型对应的第二损失函数。其中,第一损失函数/第二损失函数包括但不限于:余弦损失函数、交叉熵函数、类内分布函数、类间分布函数、激活分类函数等等。
其次,计算第一损失函数的第一损失,亦即基于第一标签与第一预测信息之间的差异确定第一损失。同理,计算第二损失函数的第二损失,亦即基于第二标签与第二预测信息之间的差异确定第二损失。
再次,根据第一损失和第二损失,调整第一参数和第二参数。
在一个实施例中,根据第一损失和第二损失调整第一参数,并根据第二损失调整第二参数,直至满足训练停止条件。
在一个实施例中,根据第一损失和第二损失计算第一联合损失,例如,第一联合损失=第一损失+第二损失,进而根据此第一联合损失调整第一参数和第二参数,直至满足训练停止条件。
下面以第一联合损失为例,说明训练停止条件。
如果第一联合损失未达到最小值,视为部位检测阶段尚未完成训练,则根据第一联合损失调整第一参数和第二参数,并根据调整的第一参数、第二参数、以及携带第一标签和第二标签的后一个样本图像重新构建机器学习模型对应的第一损失函数和第二损失函数,以继续判断由此得到的第一联合损失是否达到最小值。
反之,如果第一联合损失达到最小值,则视为训练停止条件满足。
当然,还可以根据应用场景的实际需要设置迭代阈值,以期加快部位检测阶段的训练效率。同时,设置不同的迭代阈值,也能够满足部位检测对准确率的不同需求。例如,较大的迭代阈值有利于提高部位检测的准确率。
基于此,当第一联合损失达到最小值或者迭代次数达到迭代阈值,视为训练停止条件满足,则停止部位检测阶段的训练。
在上述实施例的作用下,就部位检测阶段而言,在训练过程中通过关联部位检测分支的增加,使得样本对象执行动作的关键部位和关联部位紧密地关联在一起,避免将不存在关联部位但与关键部位相似的物体检测为关键部位,从而有效地降低非关键部位的误检测率,以此充分地保障部位检测阶段的准确性。
在一个示例性实施例中,动作分类阶段的训练过程,可以包括以下步骤:
第一步,基于初始的机器学习模型,确定机器学习模型中动作分类阶段的第三参数。其中,机器学习模型包括但不限于深度学习模型。
第二步,根据部位检测阶段的监督训练结果和第三标签,对第三参数进行更新处理。具体包括以下步骤:
首先,针对携带第三标签的其中一个样本图像,获得部位检测阶段的监督训练结果,以根据该监督训练结果中的第一预测信息和第二预测信息,预测该其中一个样本图像中样本对象执行动作的动作类别,得到第三预测信息。
对第三参数进行随机初始化,并基于随机初始化的第三参数和第三预测信息确定机器学习模型对应的第三损失函数。其中,第三损失函数包括但不限于:余弦损失函数、交叉熵函数、类内分布函数、类间分布函数、激活分类函数等等。
其次,计算第三损失函数的第三损失,亦即基于第三标签与第三预测信息之间的差异确定第三损失。
再次,根据第三损失,调整第三参数。
在一个实施例中,根据第三损失调整第三参数,直至满足训练停止条件。
在一个实施例中,基于前述监督训练结果,获得第一损失和第二损失,以根据第一损失、第二损失和第三损失计算第二联合损失,例如,第二联合损失=第一损失+第二损失+第三损失,进而根据此第二联合损失调整第三参数,直至满足训练停止条件。
下面以第二联合损失为例,说明训练停止条件。
如果第二联合损失未达到最小值,视为动作分类阶段尚未完成训练,则根据第二联合损失调整第三参数,并根据调整的第三参数、以及携带第三标签的后一个样本图像重新构建机器学习模型对应的第三损失函数,以继续判断由此得到的第二联合损失是否达到最小值。
反之,如果第二联合损失达到最小值,则视为训练停止条件满足。
当然,还可以根据应用场景的实际需要设置迭代阈值,以期加快动作分类阶段的训练效率。同时,设置不同的迭代阈值,也能够满足动作识别对准确率的不同需求。例如,较大的迭代阈值有利于提高动作识别的准确率。
基于此,当第二联合损失达到最小值或者迭代次数达到迭代阈值,视为训练停止条件满足,则停止动作分类阶段的训练。
值得一提的是,动作分类阶段可以设置与部位检测阶段相同的迭代阈值,也可以设置不同的迭代阈值,此处并未加以限定。
回请参阅图5,在一个实施例中,训练过程中,第三损失由动作分类阶段反馈至部位检测阶段。也就是说,训练过程中,部位检测阶段的参数可以根据第一损失、第二损失和第三损失进行调整。具体可以包括以下步骤:根据第一损失、第二损失和第三损失,调整关键部位检测分支的第一参数,并根据第二损失和第三损失,调整关联部位检测分支的第二参数。关于第一参数和第二参数的更新处理如前文所述,此处不再赘述。
上述过程中,实现了基于第一标签的关键部位检测分支关于第一参数的监督训练、基于第二标签的关联部位检测分支关于第二参数的监督训练、以及基于部位检测阶段的监督训练结果和第三标签的动作分类阶段关于第三参数的监督训练,使得动作识别过程不仅能够获得样本对象执行动作的关键部位特征,而且能够获得样本对象执行动作的关联部位特征,进而有利于提升关键部位的检测准确性及其所执行动作的识别准确性。
在一个示例性实施例中,部位检测阶段的预测过程,如图6所示,步骤250可以包括以下步骤:
步骤251,基于目标图像特征,对目标对象执行动作的关键部位在待识别图像中的区域进行定位,得到目标对象执行动作的关键部位的位置。
在一个实施例中,关键部位的位置与定位框有关,以此指示关键部位在待识别图像中的位置和/或尺寸。其中,定位框的形状可以是矩形、圆形、三角形等,此处并未加以限定,此定位框在待识别图像中的位置可以通过坐标表示。
例如,在待识别图像中,定位框为关键部位在待识别图像中的最大外接矩形,即定位框可以表示为(xmin1,ymin1,xmax1,ymax1),以此指示关键部位在待识别图像中的位置处于x轴的xmin1~xmax1之间、以及y轴的ymin1~ymax1之间,其中,(xmin1,ymax1)表示定位框的左上角顶点,(xmax1,ymin1)表示定位框的右下角顶点。
步骤253,根据目标对象执行动作的关键部位的位置,确定关键部位检测结果。
其中,关键部位检测结果,用于指示待识别图像中是否检测到目标对象执行动作的关键部位。
举例来说,假设目标对象为人,关键部位为手,如果待识别图像包含人执行动作的手,则关键部位检测结果用于指示待识别图像中检测到人执行动作的手。或者,如果待识别图像包含与人执行动作的手相似的“手玩具”,则关键部位检测结果用于指示待识别图像中未检测到人执行动作的手。
步骤255,根据关键部位检测结果确定部位检测结果。
由此可见,本实施例中,部位检测结果,实质也指示了待识别图像中是否检测到目标对象执行动作的关键部位,即部位检测结果={关键部位检测结果}。
当然,在其他实施例中,部位检测结果,还可通过关联部位检测结果辅助关键部位检测结果得到,即部位检测结果={关键部位检测结果&关联部位检测结果},本实施例并非对此构成具体限定。例如,针对待识别图像包含与人执行动作的手相似的“手玩具”,由于不存在关联部位,此时,即使关键部位检测结果指示待识别图像中检测到人执行动作的手,而关联部位检测结果指示待识别图像中不存在关联部位,最终,部位检测结果指示待识别图像中未检测到人执行动作的手。
在一个实施例中,关于关联部位检测结果的获取可以包括以下步骤:根据目标图像特征,确定关联部位在待识别图像中相对于关键部位的相对位置;基于关联部位相对于关键部位的相对位置,确定关联部位检测结果。具体过程类似于前文所述的关于第二标签的获取,此处不再赘述。
在一个示例性实施例中,动作分类阶段的预测过程,如图7所示,步骤270可以包括以下步骤:
步骤271,根据部位检测结果,确定目标对象执行动作的部位在待识别图像中的区域。
步骤273,基于目标对象执行动作的部位在待识别图像中的区域,对待识别图像中目标对象执行的动作进行动作类别预测,得到目标对象执行动作的动作类别。
其中,动作类别预测,可以通过动作识别模型中设置的分类器(例如softmax函数)实现,即基于分类器计算待识别图像中目标对象执行动作属于不同动作类别的概率。
举例来说,假设目标对象为人,动作类别至少包括抬头、低头、“V”手势、跳跃等动作。
那么,计算待识别图像中人执行的动作分别属于抬头、低头、“V”手势、跳跃等动作的概率,分别为P1、P2、P3、P4。如果P1最大,则表示人执行的动作为抬头;同理,如果P2最大,则表示人执行的动作为低头;如果P3最大,则表示人执行的动作为“V”手势;如果P4最大,则表示人执行的动作为跳跃。
当然,在其他实施例中,还可以设置一种特殊的动作类别,即非关键部位,那么,当此人执行的动作属于此动作类别的概率最大时,实际上表示待识别图像中并未检测到人执行动作的关键部位,由此便能够进一步地降低交互场景中因动作误识别所出现的误触发的现象。
步骤275,根据目标对象执行动作的动作类别,确定动作识别结果。
具体地,动作识别结果={动作类别}。
当然,在其他实施例中,还设置有用于表示动作类别的可信程度的可信度及其对应的设定值,如果该可信度小于设定值,则动作识别模型无法输出动作识别结果。其中,设定值为可以根据应用场景的实际需求进行设定,以此使得动作识别模型的精确度和召回率保持平衡。例如,对于精确度要求高的应用场景,设置相对较高的设定值;对于召回率要求高的应用场景,则设置相对较低的设定值。通过上述实施例的配合,实现了针对待识别图像的预测过程,即部位检测阶段的关键部位检测分支+动作分类阶段。
由上可知,不同于训练过程中引入关联部位检测分支,预测过程中,仅通过关键部位检测分支实现动作识别的两个主要任务,也就是说,预测过程中删除了关联部位检测分支,一方面,虽然关联部位检测分支在预测过程中删除,但是由于关联部位检测分支已参与训练过程,部位检测阶段的预测结果已经能够具有更多关于目标对象更加密切的部位特征,从而有利于更加准确地进行关键部位检测,另一方面,通过关联部位检测分支在预测过程中删除,不仅能够节省***内存开销,而且能够有效地降低动作识别的计算量和复杂度,有利于提高动作识别效率。
此外,在一个示例性实施例中,回请参阅图5,训练集不仅包括正样本,还包括预测过程中反馈的负样本。
其中,负样本,至少包含与目标对象执行动作的关键部位不相关的非关键部位,例如,前述待识别图像中包含的“手玩具”。也可以理解为,相较于指示样本对象执行动作的关键部位及其关联部位,负样本用于指示与样本对象执行动作的关键部位不相关的非关键部位。
结合图2,如果部位检测结果指示待识别图像中检测到目标对象执行动作的关键部位,则执行步骤270,由部位检测阶段进入动作分类阶段。
反之,如果部位检测结果指示待识别图像中未检测到目标对象执行动作的关键部位,则将此未检测到目标对象执行动作的关键部位的待识别图像作为负样本,并反馈至动作识别模型的训练过程,即添加至训练集,如图5所示。
那么,在动作识别模型的训练过程,负样本便可输入初始的机器学习模型参与训练。在一个实施例中,负样本包含的非关键部位在部位检测阶段被检测为非关键部位,也就是说,负样本在部位检测阶段作为“负样本”参与训练,此时可不涉及动作分类阶段的训练。在一个实施例中,负样本包含的非关键部位在部位检测阶段被检测为关键部位,在动作分类阶段纠错为误识别,也就是说,负样本在部位检测阶段被当作“正样本”参与训练,在动作分类阶段方才作为“负样本”参与训练。
此处假设负样本在部位检测阶段被当作“正样本”参与训练(训练过程如前所述,不再赘述),在动作分类阶段方才作为“负样本”参与训练,由此,关于动作识别的训练过程可以包括以下步骤:
第一步,基于初始的机器学习模型,确定机器学习模型中动作分类阶段的第三参数。其中,机器学习模型包括但不限于深度学习模型。
第二步,根据第四标签,对第三参数进行更新处理。此处,第四标签为负样本携带的标签,用于指示与样本对象执行动作的关键部位不相关的非关键部位,此负样本为至少包含与样本对象执行动作的关键部位不相关的非关键部位的样本图像。具体包括以下步骤:
首先,基于至少携带第四标签的其中一个负样本,预测该其中一个负样本中样本对象执行动作的动作类别,得到第四预测信息。
对第三参数进行随机初始化,并基于随机初始化的第三参数和第四预测信息确定机器学习模型对应的第四损失函数。其中,第四损失函数包括但不限于:余弦损失函数、交叉熵函数、类内分布函数、类间分布函数、激活分类函数等等。
其次,计算第四损失函数的第四损失,亦即基于第四标签与第四预测信息之间的差异确定第四损失。
再次,根据第四损失,调整第三参数,直至满足训练停止条件。具体训练停止条件的满足过程如前述第三参数的更新处理,此处不再赘述。
通过上述过程,相较于正样本使得预测过程中的各特征与正样本的特征距离更近、更加相似,将负样本引入动作识别模型的训练过程,尤其是动作分类阶段的训练,促使预测过程中的各特征与负样本的特征距离更远、更不相似,从而有利于后续动作识别模型能够快速地排除未包含关键部位的待识别图像,避免交互场景中因动作误识别所出现的误触发的现象,进一步有利于提升动作识别的准确性。
下述为本申请装置实施例,可以用于执行本申请所涉及的动作识别模型的训练装置。对于本申请装置实施例中未披露的细节,请参照本申请所涉及的动作识别模型的训练方法的实施例。
请参阅图8,在一示例性实施例中,一种动作识别装置700包括但不限于:图像获取模块710、特征提取模块730、部位检测模块750和动作识别模块770。
其中,图像获取模块710,用于获取待识别图像。
特征提取模块730,用于从待识别图像中提取得到目标图像特征,目标图像特征关联了目标对象执行动作的关键部位、及与关键部位具有关联关系的关联部位。
部位检测模块750,用于根据目标图像特征,对待识别图像中目标对象执行动作的部位进行检测,得到部位检测结果。
动作识别模块770,用于根据部位检测结果,对待识别图像中目标对象执行的动作进行识别,得到动作识别结果。
需要说明的是,上述实施例所提供的动作识别装置在进行动作识别时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即动作识别装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
另外,上述实施例所提供的动作识别装置与方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
图9根据一示例性实施例示出的一种服务器的结构示意。该服务器适用于图1所示出实施环境的服务器150。
需要说明的是,该服务器只是一个适配于本申请的示例,不能认为是提供了对本申请的使用范围的任何限制。该服务器也不能解释为需要依赖于或者必须具有图9示出的示例性的服务器2000中的一个或者多个组件。
服务器2000的硬件结构可因配置或者性能的不同而产生较大的差异,如图9所示,服务器2000包括:电源210、接口230、至少一存储器250、以及至少一中央处理器(CPU,Central Processing Units)270。
具体地,电源210用于为服务器2000上的各硬件设备提供工作电压。
接口230包括至少一有线或无线网络接口231,用于与外部设备交互。例如,进行图1所示出实施环境中网关110与服务器150之间的交互。
当然,在其余本申请适配的示例中,接口230还可以进一步包括至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,如图9所示,在此并非对此构成具体限定。
存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作***251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。
其中,操作***251用于管理与控制服务器2000上的各硬件设备以及应用程序253,以实现中央处理器270对存储器250中海量数据255的运算与处理,其可以是WindowsServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM等。
应用程序253是基于操作***251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图9未示出),每个模块都可以分别包含有对服务器2000的计算机程序。例如,动作识别装置视为部署于服务器2000的应用程序253。
数据255可以是存储于磁盘中的照片、图片、视频,还可以是样本图像、正负样本、标签等,存储于存储器250中。
中央处理器270可以包括一个或多个以上的处理器,并设置为通过至少一通信总线与存储器250通信,以读取存储器250中存储的计算机程序,进而实现对存储器250中海量数据255的运算与处理。例如,通过中央处理器270读取存储器250中存储的一系列计算机程序的形式来完成动作识别模型的训练方法。
此外,通过硬件电路或者硬件电路结合软件也能同样实现本申请,因此,实现本申请并不限于任何特定硬件电路、软件以及两者的组合。
请参阅图10,本申请实施例中提供了一种电子设备4000,该电子设备4000可以包括:
在图10中,该电子设备4000包括至少一个处理器4001、至少一条通信总线4002以及至少一个存储器4003。
其中,处理器4001和存储器4003相连,如通过通信总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
通信总线4002可包括一通路,在上述组件之间传送信息。通信总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。通信总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003上存储有计算机程序,处理器4001通过通信总线4002读取存储器4003中存储的计算机程序。
该计算机程序被处理器4001执行时实现上述各实施例中的动作识别方法。
此外,本申请实施例中提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的动作识别方法。
本申请实施例中提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在存储介质中。计算机设备的处理器从存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述各实施例中的动作识别方法。
与现有技术相比,本申请提供的技术方案带来的有益效果是:
1、引入与关键部位具有关联关系的关联部位,参与动作识别模型的训练,比较紧密地关联了关键部位和关联部位,以此降低了非关键部位的误检测率,来提升动作识别模型的准确性,从而降低交互场景中因动作误识别所引发的误触发率;
2、只在训练过程增加关联部位检测分支,而在预测过程删除关联部位检测分支,就预测过程而言,动作识别模型所消耗的***资源不变,并没有增加额外的计算量,不仅有利于节省***资源,而且有利于提升动作识别效率,充分保障了整个***的高效率运行;
3、通过以尺度较大、比较容易分辨的关联部位辅助进行关键部位的检测,有助于在弱光、远处关键部位小等难检测到关键部位的情况下,也能够准确地检测出关键部位,提高了动作识别模型的召回率,从而有利于提升交互场景中用户的使用体验。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (13)
1.一种动作识别方法,其特征在于,所述方法包括:
获取待识别图像;
从所述待识别图像中提取得到目标图像特征,所述目标图像特征关联了目标对象执行动作的关键部位、及与所述关键部位具有关联关系的关联部位;
根据所述目标图像特征,对所述待识别图像中所述目标对象执行动作的部位进行检测,得到部位检测结果;
根据所述部位检测结果,对所述待识别图像中所述目标对象执行的动作进行识别,得到动作识别结果。
2.如权利要求1所述的方法,其特征在于,所述根据所述目标图像特征,对所述待识别图像中所述目标对象执行动作的部位进行检测,得到部位检测结果,包括:
基于所述目标图像特征,对所述目标对象执行动作的关键部位在所述待识别图像中的区域进行定位,得到所述目标对象执行动作的关键部位的位置;
根据所述目标对象执行动作的关键部位的位置,确定关键部位检测结果;
根据所述关键部位检测结果确定所述部位检测结果。
3.如权利要求1所述的方法,其特征在于,所述根据所述目标图像特征,对所述待识别图像中所述目标对象执行动作的部位进行检测,得到部位检测结果,包括:
根据所述目标图像特征,对所述待识别图像中所述目标对象执行动作的关键部位进行检测,得到关键部位检测结果;
根据所述目标图像特征,对所述待识别图像中与所述关键部位具有关联关系的关联部位进行检测,得到关联部位检测结果;
根据所述关键部位检测结果和所述关联部位检测结果,确定所述部位检测结果。
4.如权利要求3所述的方法,其特征在于,所述根据所述目标图像特征,对所述待识别图像中与所述关键部位具有关联关系的关联部位进行检测,得到关联部位检测结果,包括:
根据所述目标图像特征,确定所述关联部位在所述待识别图像中相对于所述关键部位的相对位置;
基于所述关联部位相对于所述关键部位的相对位置,确定所述关联部位检测结果。
5.如权利要求1所述的方法,其特征在于,所述根据所述部位检测结果,对所述待识别图像中所述目标对象执行的动作进行识别,得到动作识别结果,包括:
根据所述部位检测结果,确定所述目标对象执行动作的部位在所述待识别图像中的区域;
基于所述目标对象执行动作的部位在所述待识别图像中的区域,对所述待识别图像中所述目标对象执行的动作进行动作类别预测,得到所述目标对象执行动作的动作类别;
根据所述目标对象执行动作的动作类别,确定所述动作识别结果。
6.如权利要求1至5任一项所述的方法,其特征在于,所述动作识别结果通过调用动作识别模型得到;
所述动作识别模型是基于至少一个样本图像,对初始的机器学习模型进行训练得到的;所述训练至少包括:
在部位检测阶段,基于所述样本图像携带的第一标签和第二标签,对所述机器学习模型进行关于关键部位检测和关联部位检测的监督训练,所述第一标签用于指示所述样本对象执行动作的关键部位的位置,所述第二标签用于指示关联部位相对于关键部位的相对位置。
7.如权利要求6所述的方法,其特征在于,所述在部位检测阶段,基于所述样本图像携带的第一标签和第二标签,对所述机器学习模型进行关于关键部位检测和关联部位检测的监督训练,包括:
从所述样本图像中提取得到样本图像特征;
根据所述样本图像特征,预测所述样本图像中所述样本对象执行动作的关键部位的位置,得到第一预测信息,并预测关联部位在所述样本图像中相对于所述关键部位的相对位置,得到第二预测信息;
基于所述第一标签与所述第一预测信息之间的差异确定第一损失,并基于所述第二标签与所述第二预测信息之间的差异确定第二损失;
根据所述第一损失和所述第二损失,调整所述机器学习模型对应于所述部位检测阶段的参数。
8.如权利要求7所述的方法,其特征在于,所述训练还包括:
在动作分类阶段,基于所述样本图像携带的第三标签、及所述部位检测阶段的监督训练结果,对所述机器学习模型进行关于动作识别的监督训练,所述第三标签用于指示所述样本对象执行动作的动作类别;
所述在动作分类阶段,基于所述样本图像携带的第三标签、及所述部位检测阶段的监督训练结果,对所述机器学习模型进行关于动作识别的监督训练,包括:
根据所述监督训练结果中的所述第一预测信息和所述第二预测信息,预测所述样本图像中所述样本对象执行动作的动作类别,得到第三预测信息;
基于所述第三标签与所述第三预测信息之间的差异确定第三损失;
根据所述第三损失,和/或,所述监督训练结果中的所述第一损失和所述第二损失,调整所述机器学习模型对应于所述动作分类阶段的参数;
当训练停止条件满足时,得到完成训练的机器学习模型,作为所述动作识别模型。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
将所述第三损失反馈至所述部位检测阶段;
所述根据所述第一损失和所述第二损失,调整所述机器学习模型对应于所述部位检测阶段的参数,包括:
根据所述第一损失、所述第二损失和所述第三损失,调整所述机器学习模型对应于所述部位检测阶段的参数。
10.如权利要求9所述的方法,其特征在于,所述第一预测信息是通过所述机器学习模型中的关键部位检测分支预测得到的,所述第二预测信息是通过所述机器学习模型中的关联部位检测分支预测得到的;
所述根据所述第一损失、所述第二损失和所述第三损失,调整所述机器学习模型对应于所述部位检测阶段的参数,包括:
根据所述第一损失、所述第二损失和所述第三损失,调整所述关键部位检测分支的参数;及
根据所述第二损失和所述第三损失,调整所述关联部位检测分支的参数。
11.一种动作识别装置,其特征在于,包括:
图像获取模块,用于获取待识别图像;
特征提取模块,用于从所述待识别图像中提取得到目标图像特征,所述目标图像特征关联了目标对象执行动作的关键部位、及与所述关键部位具有关联关系的关联部位;
部位检测模块,用于根据所述目标图像特征,对所述待识别图像中所述目标对象执行动作的部位进行检测,得到部位检测结果;
动作识别模块,用于根据所述部位检测结果,对所述待识别图像中所述目标对象执行的动作进行识别,得到动作识别结果。
12.一种电子设备,其特征在于,包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至10任一项所述的动作识别方法。
13.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述的动作识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111276949.0A CN114187650A (zh) | 2021-10-29 | 2021-10-29 | 动作识别方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111276949.0A CN114187650A (zh) | 2021-10-29 | 2021-10-29 | 动作识别方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114187650A true CN114187650A (zh) | 2022-03-15 |
Family
ID=80540527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111276949.0A Pending CN114187650A (zh) | 2021-10-29 | 2021-10-29 | 动作识别方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114187650A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114821801A (zh) * | 2022-05-10 | 2022-07-29 | 百度在线网络技术(北京)有限公司 | 动作识别方法、模型训练方法、装置、电子设备和存储介质 |
-
2021
- 2021-10-29 CN CN202111276949.0A patent/CN114187650A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114821801A (zh) * | 2022-05-10 | 2022-07-29 | 百度在线网络技术(北京)有限公司 | 动作识别方法、模型训练方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11735018B2 (en) | Security system with face recognition | |
US11196966B2 (en) | Identifying and locating objects by associating video data of the objects with signals identifying wireless devices belonging to the objects | |
US11615623B2 (en) | Object detection in edge devices for barrier operation and parcel delivery | |
Othman et al. | A new IoT combined body detection of people by using computer vision for security application | |
Aghajan et al. | Multi-camera networks: principles and applications | |
WO2016004673A1 (zh) | 一种基于云服务的智能目标识别装置、***及方法 | |
US20170213080A1 (en) | Methods and systems for automatically and accurately detecting human bodies in videos and/or images | |
US10769909B1 (en) | Using sensor data to detect events | |
US11195408B1 (en) | Sending signals for help during an emergency event | |
US10212778B1 (en) | Face recognition systems with external stimulus | |
CN109032356A (zh) | 手语控制方法、装置及*** | |
US11659144B1 (en) | Security video data processing systems and methods | |
CN109951363B (zh) | 数据处理方法、装置及*** | |
US20200401853A1 (en) | Smart video surveillance system using a neural network engine | |
CN112154383A (zh) | 处理命令 | |
US10789832B2 (en) | System and method for preventing false alarms due to display images | |
Lage et al. | Low-cost IoT surveillance system using hardware-acceleration and convolutional neural networks | |
CN114187650A (zh) | 动作识别方法、装置、电子设备及存储介质 | |
He et al. | An elderly care system based on multiple information fusion | |
Jain et al. | A review of face recognition system using raspberry Pi in the field of IoT | |
US11032762B1 (en) | Saving power by spoofing a device | |
US20220335725A1 (en) | Monitoring presence or absence of an object using local region matching | |
CN115733705A (zh) | 基于空间的信息处理方法、装置、电子设备及存储介质 | |
CN115118536B (zh) | 分享方法、控制设备及计算机可读存储介质 | |
CN115147894A (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 |