CN109934881A - 图像编码方法、动作识别的方法及计算机设备 - Google Patents

图像编码方法、动作识别的方法及计算机设备 Download PDF

Info

Publication number
CN109934881A
CN109934881A CN201711378734.3A CN201711378734A CN109934881A CN 109934881 A CN109934881 A CN 109934881A CN 201711378734 A CN201711378734 A CN 201711378734A CN 109934881 A CN109934881 A CN 109934881A
Authority
CN
China
Prior art keywords
identified
linear velocity
pixels
frame
angular speed
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.)
Granted
Application number
CN201711378734.3A
Other languages
English (en)
Other versions
CN109934881B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711378734.3A priority Critical patent/CN109934881B/zh
Priority to EP18891958.3A priority patent/EP3716212A4/en
Priority to PCT/CN2018/120337 priority patent/WO2019120108A1/zh
Publication of CN109934881A publication Critical patent/CN109934881A/zh
Priority to US16/903,938 priority patent/US11303925B2/en
Application granted granted Critical
Publication of CN109934881B publication Critical patent/CN109934881B/zh
Priority to US17/716,665 priority patent/US11825115B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Robotics (AREA)
  • Image Analysis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开提供了一种图像编码方法,该方法包括:获取执行目标动作的多组人体骨架数据,每组人体骨架数据均包括执行所述目标动作时的关节点数据;根据所述多组人体骨架数据中的关节点数据,提取所述多组人体骨架数据对应的运动特征矩阵;对所述运动特征矩阵进行编码,得到运动特征图像。本公开通过提取所述多组人体骨架数据对应的运动特征矩阵,进而将所提取的多组人体骨架数据对应的运动特征矩阵编码成运动特征图像。由于运动特征图像的数据量相对多个动作特征向量序列的数据量要小,因而降低了存储资源及计算资源的消耗。

Description

图像编码方法、动作识别的方法及计算机设备
技术领域
本公开涉及人工智能技术领域,特别涉及一种图像编码方法、动作识别的方法及计算机设备。
背景技术
随着人工智能技术的发展,以人工智能技术为基础的动作识别技术在社会生活中具有广泛的应用场景,包括家庭儿童看护机器人、公共场所危险行为监控、人机交互游戏开发等。基于动作识别技术,通过对用户的动作进行识别,能够及时对用户的危险动作进行预警,以避免危险事件发生。
在对用户的动作进行识别的过程中,需要通过采集设备采集多组人体骨架数据,并将从每组人体骨架数据中提取的关节点特征组成动作特征向量序列,存储多组人体骨架数据对应的动作特征向量序列,进而基于所存储的动作特征向量序列进行动作识别。
然而,由于人体骨架数据的数据量比较大,从多组人体骨架数据中提取的多个动作特征向量序列的数量也比较大,导致存储资源及计算资源消耗较大。为此,亟需一种降低人体骨架数据中存储资源及计算资源的方法。
发明内容
为了解决相关技术的问题,本公开实施例提供了一种图像编码方法、动作识别的方法及计算机设备。所述技术方案如下:
第一方面,提供了一种图像编码方法,该方法包括:获取执行目标动作的多组人体骨架数据,每组人体骨架数据均包括执行该目标动作时的关节点数据,根据多组人体骨架数据中的关节点数据,提取多组人体骨架数据对应的运动特征矩阵,进而对运动特征矩阵进行编码,得到运动特征图像。
本公开示出的方案,通过将多组人体骨架数据编码成一张运动特征图像,减低了存储资源及计算资源的消耗。
在第一方面的第一种可能的实现方式中,当运动特征图像包括线速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标时,可通过将第二组人体骨架数据中的关节点在三维坐标系中的坐标减去第一组人体骨架数据中的相应关节点在三维坐标系中的坐标,得到第一组人体骨架数据对应的线速度单元,进而将得到的所有线速度单元组成多组人体骨架数据对应的线速度矩阵。
其中,第一组人体骨架数据和第二组人体骨架数据为对于多组人体骨架数据中任意相邻的两组人体骨架数据,第一组人体骨架数据为第二组人体骨架数据的前一组人体骨架数据。
本公开示出的方案,提供了一种人体骨架数据对应的线速度矩阵的获取方式。
在第一方面的第二种可能的实现方式中,可对线速度矩阵进行预处理,对预处理的线速度矩阵中的多个线速度单元进行编码,得到多个线速度像素帧,进而将多个线速度像素帧组成线速度图像。
其中,预处理包括大小归一化等。
在第一方面的第三种可能的实现方式中,对线速度矩阵进行预处理,对预处理的线速度矩阵中的多个线速度单元进行编码,得到多个线速度像素帧,从多个线速度像素帧中,提取多个关键线速度像素帧,进而将多个关键线速度像素帧组成线速度图像。
其中,关键线速度像素帧是指包括丰富动作信息且能区分不同动作的像素帧。
在第一方面的第四种可能的实现方式中,在对线速度矩阵进行预处理时,可获取线速度矩阵中的最大线速度元素值和最小线速度元素值,进而根据最大线速度元素值和最小线速度元素值,对线速度矩阵中的每个线速度元素值进行归一化处理,得到归一化的线速度矩阵。
其中,归一化的线速度矩阵中的每个线速度元素值介于第一数值和第二数值之间。该第一数值小于第二数值,该第一数值可以为0,第二数值可以为255。
本公开示出的方案,提供了一种对线速度矩阵进行预处理的方式。
在第一方面的第五种可能的实现方式中,以预处理的每个线速度单元中的关节点在三维坐标系中的坐标为图像通道,对预处理的多个线速度单元进行编码,得到多个线速度像素帧。
其中,图像通道是指用于构成图像中像素的原始,包括红色(Red)通道、绿色(Green)通道及蓝色(Blue)通道等。
本公开示出的方案,将三维坐标系中的坐标作为图像通道编码图像,从而提供了一种将数字表示的运动特征矩阵编码成图像的方法。
在第一方面的第六种可能的实现方式中,根据预处理的线速度矩阵,计算多个线速度像素帧的线速度能量变化值,进而按照线速度能量变化值由大到小的顺序,从多个线速度像素帧中,提取多个关键线速度像素帧。
在第一方面的第七种可能的实现方式中,通过计算第一线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第一线速度像素帧的线速度能量值;通过计算第二线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第二线速度像素帧的线速度能量值,进而将第二线速度像素帧的线速度能量值减去第一线速度像素帧的线速度能量值,得到第一线速度像素帧的线速度能量变化值。
其中,第一线速度像素帧和第二线速度像素帧为任意相邻的两个线速度像素帧,第一线速度像素帧为第二线速度像素帧的前一个线速度像素帧。
在第一方面的第八种可能的实现方式中,当运动特征矩阵包括角速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标时,可根据多组人体骨架数据的关节点在三维坐标系中的坐标,计算多组人体骨架数据的关节点在三维坐标系中的方向角,并将第二组人体骨架数据的关节点在三维坐标系中的方向角减去第一组人体骨架数据的相应关节点在三维坐标系中的方向角,得到角速度单元,进而将得到的所有角速度单元组成多组人体骨架数据对应的角速度矩阵。
其中,第一组人体骨架数据和第二组人体骨架数据为任意相邻的两组人体骨架数据,第一组人体骨架数据为第二组人体骨架数据的前一组人体骨架数据。
在第一方面的第九种可能的实现方式中,可对角速度矩阵进行预处理,并对预处理的线速度矩阵中的多个角速度单元进行编码,得到多个角速度像素帧,进而将多个角速度像素帧组成角速度图像。
在第一方面的第十种可能的实现方式中,可对角速度矩阵进行预处理,并对预处理的角速度矩阵中的多个角速度单元进行编码,得到多个角速度像素帧,进而从多个角速度像素帧中,提取多个关键角速度像素帧,然后将多个关键角速度像素帧组成角速度图像。
在第一方面的第十一种可能的实现方式中,可获取角速度矩阵中的最大角速度元素值和最小角速度元素值,并根据最大角速度元素值和最小角速度元素值,对角速度矩阵中的每个角速度元素值进行归一化处理,得到归一化的角速度矩阵。
其中,归一化的角速度矩阵中的每个角速度元素值介于第一数值和第二数值之间,第一数值小于第二数值,该第一数值为0,第二数值为255。
在第一方面的第十二种可能的实现方式中,可以预处理的每个角速度单元中的关节点在三维坐标系中的方向角为图像通道,对预处理的多个角速度单元进行编码,得到多个角速度像素帧。
在第一方面的第十三种可能的实现方式中,可根据预处理的角速度矩阵,计算多个角速度像素帧的角速度能量变化值,进而按照角速度能量变化值由大到小的顺序,从多个角速度像素帧中,提取多个关键角速度像素帧。
在第一方面的第十四种可能的实现方式中,通过计算第一角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维系中的方向角的平方和相加,得到第一角速度像素帧的角速度能量值,通过计算第二角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,得到第二角速度像素帧的角速度能量值,第一角速度像素帧和第二角速度像素帧为任意相邻的两个角速度像素帧,第一角速度像素帧为第二角速度像素帧的前一个角速度像素帧,进而将第二角速度像素帧的线速度能量值减去第一角速度像素帧的线速度能量值,得到第一角速度像素帧的线速度能量变化值。
在第一方面的第十五种可能的实现方式中,通过将目标动作的至少一个运动特征图像以及目标动作的标识输入到CNN(Convolutuinal Neural Network,卷积神经网络)模型中,训练得到动作识别模型。
第二方面,提供了一种动作识别模型的训练,该方法包括:获取多种动作分别对应的多个参考运动特征图像,进而将多个参考运动特征图像以及多个动作的标识输入到CNN模型中,训练得到动作识别模型。
其中,每个参考运动特征图像可通过第一方面所述的方法得到。
第三方面,提供了一种动作识别的方法,该方法包括:获取待识别运动特征图像,根据动作识别模型对待识别运动特征图像进行识别,得到识别结果。
其中,待识别运动特征图像为待识别动作的多组待识别人体骨架数据编码得到的图像。动作识别模型根据多种动作分别对应的多个参考运动特征图像以及多种动作的标识训练得到,识别结果用于指示所述待识别动作的动作类别。
本公开示出的方案,通过获取待识别运动特征图像,进而基于所建立的动作识别模型对待识别运动特征图像进行识别,从而得到对待识别动作的识别结果。由于运动特征图像的数据量相对多个动作特征向量序列的数据量要小,从而在保证识别精度的情况下,大大减少了存储资源及计算资源。
在第三方面的第一种可能的实现方式中,通过采集执行待识别动作的多组待识别人体骨架数据,并根据多组待识别人体骨架数据中的关节点数据,提取多组待识别人体骨架数据对应的待识别运动特征矩阵,进而对待识别运动特征矩阵进行编码,得到待识别运动特征图像。
其中,每组待识别人体骨架数据均包括执行待识别动作时的关节点数据。
在第三方面的第二种可能的实现方式中,当待识别运动特征矩阵包括待识别线速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标时,通过将第二组待识别人体骨架数据中的关节点在三维坐标系中的坐标减去第一组待识别人体骨架数据中的相应关节点在三维坐标系中的坐标,得到第一组待识别人体骨架数据的待识别线速度单元,进而将得到的所有待识别线速度单元组成多组待识别人体骨架数据对应的待识别线速度矩阵。
其中,第一组待识别人体骨架数据和第二组待识别人体骨架数据为多组待识别人体骨架数据中任意相邻的两组待识别人体骨架数据,第一组待识别人体骨架数据为第二组待识别人体骨架数据的前一组待识别人体骨架数据。
在第三方面的第三种可能的实现方式中,可对待识别线速度矩阵进行预处理,并对预处理的待识别线速度矩阵中的多个线速度单元进行编码,得到多个待识别线速度像素帧,进而将多个待识别线速度像素帧组成待识别线速度图像。
在第三方面的第四种可能的实现方式中,可对待识别线速度矩阵进行预处理,并对预处理的待识别线速度矩阵中的多个待识别线速度单元进行编码,得到多个待识别线速度像素帧,进而从多个待识别线速度像素帧中,提取多个待识别关键线速度像素帧,从而将多个待识别关键线速度像素帧组成待识别线速度图像。
在第三方面的第五种可能的实现方式中,获取待识别线速度矩阵中的最大待识别线速度元素值和最小待识别线速度元素值,进而根据最大待识别线速度元素值和最小待识别线速度元素值,对待识别线速度矩阵中的每个待识别线速度元素值进行归一化处理,得到归一化的待识别线速度矩阵。
其中,归一化的待识别线速度矩阵中的每个待识别线速度元素值介于第一数值和第二数值之间,第一数值小于第二数值,该第一数值可以为0,第二数值可以为255。
在第三方面的第六种可能的实现方式中,以预处理的每个待识别线速度单元中的关节点在三维坐标系中的坐标为图像通道,对预处理的多个待识别线速度单元进行编码,得到多个待识别线速度像素帧。
在第三方面的第七种可能的实现方式中,可根据预处理的待识别线速度矩阵,计算多个待识别线速度像素帧的线速度能量变化值,进而按照线速度能量变化值由大到小的顺序,从多个待识别线速度像素帧中,提取多个待识别关键线速度像素帧。
在第三方面的第八种可能的实现方式中,通过计算第一待识别线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第一待识别线速度像素帧的线速度能量值,还通过计算第二待识别线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第二待识别线速度像素帧的线速度能量值,将第二待识别线速度像素帧的线速度能量值减去第一待识别线速度像素帧的线速度能量值,得到第一待识别线速度像素帧的线速度能量变化值。
其中,第一待识别线速度像素帧和第二待识别线速度像素帧为任意相邻的两个待识别线速度像素帧,第一待识别线速度像素帧为第二待识别线速度像素帧的前一个待识别线速度像素帧。
在第三方面的第九种可能的实现方式中,当待识别运动特征矩阵包括待识别角速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标时,可根据多组待识别人体骨架数据对应的坐标矩阵,计算多组待识别人体骨架数据的关节点在三维坐标系中的方向角,通过将第二组待识别人体骨架数据中的关节点在三维坐标系中的方向角减去第一组待识别人体骨架数据中的相应关节点在三维坐标系中的方向角,得到待识别角速度单元,进而将得到的所有待识别角速度单元组成多组待识别人体骨架数据对应的待识别角速度矩阵。
其中,第一组待识别人体骨架数据和第二组待识别人体骨架数据为任意相邻的两组待识别人体骨架数据,第一组待识别人体骨架数据为第二组待识别人体骨架数据的前一组待识别人体骨架数据。
在第三方面的第十种可能的实现方式中,对待识别角速度矩阵进行预处理,并对预处理的待识别线速度矩阵中的多个待识别角速度单元进行编码,得到多个待识别角速度像素帧,进而将多个待识别角速度像素帧组成待识别角速度图像。
在第三方面的第十一种可能的实现方式中,可对待识别角速度矩阵进行预处理,并对预处理的待识别角速度矩阵中的多个待识别角速度单元进行编码,得到多个待识别角速度像素帧,进而从多个待识别角速度像素帧中,提取多个待识别关键角速度像素帧,进而将多个待识别关键角速度像素帧组成待识别角速度图像。
在第三方面的第十二种可能的实现方式中,通过获取待识别角速度矩阵中的最大待识别角速度元素值和最小待识别角速度元素值,根据最大待识别角速度元素值和最小待识别角速度元素值,对待识别角速度矩阵中的每个待识别角速度元素值进行归一化处理,得到归一化的待识别角速度矩阵。
其中,归一化的待识别角速度矩阵中的每个待识别角速度元素值介于第一数值和第二数值之间,第一数值小于第二数值,该第一数值为0,该第二数值为255。
在第三方面的第十三种可能的实现方式中,以预处理的每个待识别角速度单元中的关节点在三维坐标系中的方向角为图像通道,对预处理的多个待识别角速度单元进行编码,得到多个待识别角速度像素帧。
在第三方面的第十四种可能的实现方式中,可根据预处理的待识别角速度矩阵,计算多个待识别角速度像素帧的角速度能量变化值,进而按照角速度能量变化值由大到小的顺序,从多个待识别角速度像素帧中,提取多个待识别关键角速度像素帧。
在第三方面的第十五种可能的实现方式中,可通过计算第一待识别角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维系中的方向角的平方和相加,得到第一待识别角速度像素帧的角速度能量值;通过计算第二待识别角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,得到第二待识别角速度像素帧的角速度能量值,进而将第二待识别角速度像素帧的线速度能量值减去第一待识别角速度像素帧的线速度能量值,得到第一待识别角速度像素帧的线速度能量变化值。
其中,第一待识别角速度像素帧和第二待识别角速度像素帧为任意相邻的两个待识别角速度像素帧,第一待识别角速度像素帧为第二待识别角速度像素帧的前一个待识别角速度像素帧。
在第三方面的第十六种可能的实现方式中,还将对待识别运动特征图像进行补零操作,从而根据动作识别模型对补零操作后的待识别运动特征图像进行识别,得到识别结果。
在第三方面的第十七种可能的实现方式中,第三方面所采用的动作识别模型可通过第二方面的方法训练得到。
第四方面,提供了一种图像编码装置,该装置包括:
数据获取单元,用于获取执行目标动作的多组人体骨架数据,每组人体骨架数据均包括执行目标动作时的关节点数据;
特征提取单元,用于根据多组人体骨架数据中的关节点数据,提取多组人体骨架数据对应的运动特征矩阵;
特征编码单元,用于对运动特征矩阵进行编码,得到运动特征图像。
在第四方面的第一种可能的实现方式中,运动特征矩阵包括线速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标;
特征提取单元,用于将第二组人体骨架数据中的关节点在三维坐标系中的坐标减去第一组人体骨架数据中的相应关节点在三维坐标系中的坐标,得到第一组人体骨架数据对应的线速度单元,第一组人体骨架数据和第二组人体骨架数据为多组人体骨架数据中任意相邻的两组人体骨架数据,第一组人体骨架数据为第二组人体骨架数据的前一组人体骨架数据;将得到的所有线速度单元组成多组人体骨架数据对应的线速度矩阵。
在第四方面的第二种可能的实现方式中,特征编码单元,用于对线速度矩阵进行预处理;
对预处理的线速度矩阵中的多个线速度单元进行编码,得到多个线速度像素帧;将多个线速度像素帧组成线速度图像。
在第四方面的第三种可能的实现方式中,特征编码单元,用于对线速度矩阵进行预处理;
对预处理的线速度矩阵中的多个线速度单元进行编码,得到多个线速度像素帧;从多个线速度像素帧中,提取多个关键线速度像素帧;将多个关键线速度像素帧组成线速度图像。
在第四方面的第四种可能的实现方式中,特征编码单元,用于获取线速度矩阵中的最大线速度元素值和最小线速度元素值;根据最大线速度元素值和最小线速度元素值,对线速度矩阵中的每个线速度元素值进行归一化处理,得到归一化的线速度矩阵。
其中,归一化的线速度矩阵中的每个线速度元素值介于第一数值和第二数值之间,第一数值小于第二数值。
在第四方面的第五种可能的实现方式中,特征编码单元,用于以预处理的每个线速度单元中的关节点在三维坐标系中的坐标为图像通道,对预处理的多个线速度单元进行编码,得到多个线速度像素帧。
在第四方面的第六种可能的实现方式中,特征编码单元,用于根据预处理的线速度矩阵,计算多个线速度像素帧的线速度能量变化值;按照线速度能量变化值由大到小的顺序,从多个线速度像素帧中,提取多个关键线速度像素帧。
在第四方面的第七种可能的实现方式中,特征编码单元,用于计算第一线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第一线速度像素帧的线速度能量值;计算第二线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第二线速度像素帧的线速度能量值,第一线速度像素帧和第二线速度像素帧为任意相邻的两个线速度像素帧,第一线速度像素帧为第二线速度像素帧的前一个线速度像素帧;将第二线速度像素帧的线速度能量值减去第一线速度像素帧的线速度能量值,得到第一线速度像素帧的线速度能量变化值。
在第四方面的第八种可能的实现方式中,特运动特征矩阵包括角速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标;
征编码单元,用于根据多组人体骨架数据的关节点在三维坐标系中的坐标,计算多组人体骨架数据的关节点在三维坐标系中的方向角;将第二组人体骨架数据的关节点在三维坐标系中的方向角减去第一组人体骨架数据序的相应关节点在三维坐标系中的方向角,得到角速度单元,第一组人体骨架数据和第二组人体骨架数据为任意相邻的两组人体骨架数据,第一组人体骨架数据为第二组人体骨架数据的前一组人体骨架数据;将得到的所有角速度单元组成多组人体骨架数据对应的角速度矩阵。
在第四方面的第九种可能的实现方式中,特征编码单元,用于对角速度矩阵进行预处理;对预处理的线速度矩阵中的多个角速度单元进行编码,得到多个角速度像素帧;将多个角速度像素帧组成角速度图像。
在第四方面的第十种可能的实现方式中,特征编码单元,用于对角速度矩阵进行预处理;对预处理的角速度矩阵中的多个角速度单元进行编码,得到多个角速度像素帧;从多个角速度像素帧中,提取多个关键角速度像素帧;将多个关键角速度像素帧组成角速度图像。
在第四方面的第十一种可能的实现方式中,特征编码单元,用于获取角速度矩阵中的最大角速度元素值和最小角速度元素值;根据最大角速度元素值和最小角速度元素值,对角速度矩阵中的每个角速度元素值进行归一化处理,得到归一化的角速度矩阵。
其中,归一化的角速度矩阵中的每个角速度元素值介于第一数值和第二数值之间,第一数值小于第二数值。
在第四方面的第十二种可能的实现方式中,特征编码单元,用于以预处理的每个角速度单元中的关节点在三维坐标系中的方向角为图像通道,对预处理的多个角速度单元进行编码,得到多个角速度像素帧。
在第四方面的第十三种可能的实现方式中,特征编码单元,用于根据预处理的角速度矩阵,计算多个角速度像素帧的角速度能量变化值;按照角速度能量变化值由大到小的顺序,从多个角速度像素帧中,提取多个关键角速度像素帧。
在第四方面的第十四种可能的实现方式中,特征编码单元,用于计算第一角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维系中的方向角的平方和相加,得到第一角速度像素帧的角速度能量值;计算第二角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,得到第二角速度像素帧的角速度能量值,第一角速度像素帧和第二角速度像素帧为任意相邻的两个角速度像素帧,第一角速度像素帧为第二角速度像素帧的前一个角速度像素帧;
将第二角速度像素帧的线速度能量值减去第一角速度像素帧的线速度能量值,得到第一角速度像素帧的线速度能量变化值。
在第四方面的第十五种可能的实现方式中,该装置还包括:
模型训练模块,用于将目标动作的至少一个运动特征图像以及目标动作的标识输入到CNN模型中,训练得到动作识别模型。
第五方面,提供了一种动作识别模型的训练装置,该装置包括:
图像获取单元,用于获取多种动作分别对应的多个参考运动特征图像,其中,每个参考运动特征图像通过第一方面方法得到;
模型训练单元,用于将多个参考运动特征图像以及多个动作的标识输入到卷积神经网络CNN模型中,训练得到动作识别模型。
第六方面,提供了一种动作识别的装置,该装置包括:
图像获取单元,用于获取待识别运动特征图像,该待识别运动特征图像为待识别动作的多组待识别人体骨架数据编码得到的图像;
图像识别单元,用于根据动作识别模型对待识别运动特征图像进行识别,得到识别结果,动作识别模型根据多种动作分别对应的多个参考运动特征图像以及多种动作的标识训练得到,识别结果用于指示待识别动作的动作类别。
在第六方面的第一种可能的实现方式中,图像获取单元,用于采集执行待识别动作的多组待识别人体骨架数据,每组待识别人体骨架数据均包括执行待识别动作时的关节点数据;根据多组待识别人体骨架数据中的关节点数据,提取多组待识别人体骨架数据对应的待识别运动特征矩阵;对待识别运动特征矩阵进行编码,得到待识别运动特征图像。
在第六方面的第二种可能的实现方式中,待识别运动特征矩阵包括待识别线速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标,图像采集单元,用于将第二组待识别人体骨架数据中的关节点在三维坐标系中的坐标减去第一组待识别人体骨架数据中的相应关节点在三维坐标系中的坐标,得到第一组待识别人体骨架数据的待识别线速度单元,第一组待识别人体骨架数据和第二组待识别人体骨架数据为多组待识别人体骨架数据中任意相邻的两组待识别人体骨架数据,第一组待识别人体骨架数据为第二组待识别人体骨架数据的前一组待识别人体骨架数据;将得到的所有待识别线速度单元组成多组待识别人体骨架数据对应的待识别线速度矩阵。
在第六方面的第三种可能的实现方式中,图像采集单元,用于对待识别线速度矩阵进行预处理;对预处理的待识别线速度矩阵中的多个线速度单元进行编码,得到多个待识别线速度像素帧;将多个待识别线速度像素帧组成待识别线速度图像。
在第六方面的第四种可能的实现方式中,图像采集单元,用于对待识别线速度矩阵进行预处理;对预处理的待识别线速度矩阵中的多个待识别线速度单元进行编码,得到多个待识别线速度像素帧;从多个待识别线速度像素帧中,提取多个待识别关键线速度像素帧;将多个待识别关键线速度像素帧组成待识别线速度图像。
在第六方面的第五种可能的实现方式中,图像采集单元,用于获取待识别线速度矩阵中的最大待识别线速度元素值和最小待识别线速度元素值;根据最大待识别线速度元素值和最小待识别线速度元素值,对待识别线速度矩阵中的每个待识别线速度元素值进行归一化处理,得到归一化的待识别线速度矩阵,该归一化的待识别线速度矩阵中的每个待识别线速度元素值介于第一数值和第二数值之间,第一数值小于第二数值。
在六方面的第六种可能的实现方式中,图像采集单元,用于以预处理的每个待识别线速度单元中的关节点在三维坐标系中的坐标为图像通道,对预处理的多个待识别线速度单元进行编码,得到多个待识别线速度像素帧。
在第六方面的第七种可能的实现方式中,图像采集单元,用于根据预处理的待识别线速度矩阵,计算多个待识别线速度像素帧的线速度能量变化值;按照线速度能量变化值由大到小的顺序,从多个待识别线速度像素帧中,提取多个待识别关键线速度像素帧。
在第六方面的第八种可能的实现方式中,图像采集单元,用于计算第一待识别线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第一待识别线速度像素帧的线速度能量值;计算第二待识别线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第二待识别线速度像素帧的线速度能量值,第一待识别线速度像素帧和第二待识别线速度像素帧为任意相邻的两个待识别线速度像素帧,第一待识别线速度像素帧为第二待识别线速度像素帧的前一个待识别线速度像素帧;将第二待识别线速度像素帧的线速度能量值减去第一待识别线速度像素帧的线速度能量值,得到第一待识别线速度像素帧的线速度能量变化值。
在第六方面的第九种可能的实现方式中,待识别运动特征矩阵包括待识别角速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标;
图像采集单元,用于根据多组待识别人体骨架数据对应的坐标矩阵,计算多组待识别人体骨架数据的关节点在三维坐标系中的方向角;将第二组待识别人体骨架数据中的关节点在三维坐标系中的方向角减去第一组待识别人体骨架数据中的相应关节点在三维坐标系中的方向角,得到待识别角速度单元,第一组待识别人体骨架数据和第二组待识别人体骨架数据为任意相邻的两组待识别人体骨架数据,第一组待识别人体骨架数据为第二组待识别人体骨架数据的前一组待识别人体骨架数据;将得到的所有待识别角速度单元组成多组待识别人体骨架数据对应的待识别角速度矩阵。
在第六方面的第十种可能的实现方式中,图像采集单元,用于对待识别角速度矩阵进行预处理;对预处理的待识别线速度矩阵中的多个待识别角速度单元进行编码,得到多个待识别角速度像素帧;将多个待识别角速度像素帧组成待识别角速度图像。
在第六方面的第十一种可能的实现方式中,图像采集单元,用于对待识别角速度矩阵进行预处理;对预处理的待识别角速度矩阵中的多个待识别角速度单元进行编码,得到多个待识别角速度像素帧;从多个待识别角速度像素帧中,提取多个待识别关键角速度像素帧;将多个待识别关键角速度像素帧组成待识别角速度图像。
在第六方面的第十二种可能的实现方式中,图像采集单元,用于获取待识别角速度矩阵中的最大待识别角速度元素值和最小待识别角速度元素值;根据最大待识别角速度元素值和最小待识别角速度元素值,对待识别角速度矩阵中的每个待识别角速度元素值进行归一化处理,得到归一化的待识别角速度矩阵,归一化的待识别角速度矩阵中的每个待识别角速度元素值介于第一数值和第二数值之间,第一数值小于第二数值。
在第六方面的第十三种可能的实现方式中,图像采集单元,用于以预处理的每个待识别角速度单元中的关节点在三维坐标系中的方向角为图像通道,对预处理的多个待识别角速度单元进行编码,得到多个待识别角速度像素帧。
在第六方面的第十四种可能的实现方式中,图像采集单元,用于根据预处理的待识别角速度矩阵,计算多个待识别角速度像素帧的角速度能量变化值;按照角速度能量变化值由大到小的顺序,从多个待识别角速度像素帧中,提取多个待识别关键角速度像素帧。
在第六方面的第十五种可能的实现方式中,图像采集单元,用于计算第一待识别角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维系中的方向角的平方和相加,得到第一待识别角速度像素帧的角速度能量值;计算第二待识别角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,得到第二待识别角速度像素帧的角速度能量值,第一待识别角速度像素帧和第二待识别角速度像素帧为任意相邻的两个待识别角速度像素帧,第一待识别角速度像素帧为第二待识别角速度像素帧的前一个待识别角速度像素帧;将第二待识别角速度像素帧的线速度能量值减去第一待识别角速度像素帧的线速度能量值,得到第一待识别角速度像素帧的线速度能量变化值。
在第六方面的第十六种可能的实现方式中,该装置还包括:
补零单元,用于对待识别运动特征图像进行补零操作;
图像识别单元,用于根据动作识别模型对补零操作后的待识别运动特征图像进行识别,得到识别结果。
在第六方面的第十七种可能的实现方式中,第六方面所述的动作识别模型通过第一方面的方法得到。
第七方面,提供了一种计算机设备,包括:处理器、存储器、通信接口及总线;
其中,所述存储器、所述处理器及所述通信接口通过所述总线连接,所述存储器用于存放计算机指令,当计算机设备运行时,所述处理器运行所述计算机指令,使得所述计算机设备执行第一方面所述的图像编码方法。
第八方面,提供了一种计算机设备,包括:处理器、存储器、通信接口及总线;
其中,所述存储器、所述处理器及所述通信接口通过所述总线连接,所述存储器用于存放计算机指令,当计算机设备运行时,所述处理器运行所述计算机指令,使得所述计算机设备执行第二方面所述的动作识别模型的训练方法。
第九方面,提供了一种计算机设备,包括:处理器、存储器、通信接口及总线;
其中,所述存储器、所述处理器及所述通信接口通过所述总线连接,所述存储器用于存放计算机指令,当计算机设备运行时,所述处理器运行所述计算机指令,使得所述计算机设备执行第三方面所述的动作识别的方法。
第十方面,提供了一种计算机可读存储介质,所述存储介质中至少存储有至少一条指令,当其在计算机上运行时,使得计算机设备执行第一方面所述的图像编码方法。
第十一方面,提供了一种计算机可读存储介质,所述存储介质中至少存储有一条指令,当其在计算机设备上运行时,使得计算机设备执行第二方面所述的动作识别模型的训练方法。
第十二方面,提供了一种计算机可读存储介质,所述存储介质中至少存储有一条指令,当其在计算机设备上运行时,使得计算机设备执行第三方面所述的动作识别的方法。
第十三方面,提供了一种包含计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行如第一方面所述的方法。
第十四方面,提供了一种包含计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行如第二方面所述的方法。
第十五方面,提供了一种包含计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行如第三方面所述的方法。
附图说明
图1是本公开实施例提供的图像编码方法、动作识别模型的训练方法及动作识别的方法所涉及的实施环境;
图2是本公开实施例提供的动作识别的方法的一种应用场景示意图;
图3是本公开实施例提供的一种图像编码方法的流程图;
图4是本公开实施例提供的人体骨骼的主要关节点的示意图;
图5是本公开实施例中由M个主要关节点的数据所构成的矩阵;
图6是本公开实施例提供的线速度矩阵的示意图;
图7是本公开实施例提供的三维坐标系的空间角的示意图;
图8是本公开实施例提供的角速度矩阵的示意图;
图9是本公开实施例提供的一种动作识别模型的训练方法的流程图;
图10是本公开实施例提供的CNN模型的示意图;
图11是本公开实施例提供的动作识别的方法的流程图;
图12是本公开实施例提供的图像编码装置的结构示意图;
图13是本公开实施例提供的动作识别模型的训练装置结构示意图;
图14本公开实施例提供的动作识别的装置结构示意图;
图15是本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
目前,相关技术在进行动作识别时,主要采用如下方法:
步骤一,基于体感设备采集用户执行目标动作时的人体骨架数据。其中,体感设备是指至少能够获取包括人体骨架的各个关节点的三维(Three Dimensions,3D)空间位置信息和角度信息的采集设备;人体骨架数据包括体感采集设备采集到的各个关节点的数据。
步骤二,从人体骨架数据中提取主要关节点的数据。其中,主要关节点是对动作行为识别起关键作用的关节点。
步骤三,从主要关节点的数据中提取动作特征,并将所提取的动作特征组成动作特征向量序列。其中,动作特征包括位置、角度、速度、主要关节点的速度及主要关节间夹角等特征;动作特征向量序列是指由动作特征组成的特征向量所构成的序列。
步骤四,对动作特征向量序列进行归一化处理,得到归一化的动作特征向量序列。
步骤五,将归一化的动作特征向量序列与目标动作之间的对应关系作为一个动作样本保存至动作样本模板库。
步骤六,基于体感设备采集实时采集用户的人体骨架数据,按照上述步骤二至步骤五的方法对人体骨架数据进行处理,得到待识别的动作特征向量序列,进而采用动态时间规整算法计算待识别的动作特征向量序列与动作样本模板库中所存储的每个归一化的动作特征向量序列之间的距离值。
步骤七,基于步骤六所计算的距离值,计算待识别的动作特征向量序列与动作样本模板库中每个归一化的动作特征向量序列之间的相似度,进而依据相似度对用户的动作行为进行识别。
由于每个人的身高、体型等不同,其动作行为习惯也有所不同,当相关技术中用于构建动作样本模板库的数据量较少时,所构建的动作样本模板库不具有普适性,识别结果的准确性较低,当用于构建动作样本模板库的数据量较多时,存储量及计算量也相应地增加,然后识别结果的准确率并不会继续提升。为了解决相关技术中存在的问题,本公开实施例基于所提供的图像编码方法对执行每种动作的多组参考人体骨架数据进行编码,得到多张参考运动特征图像,并基于所提供的动作识别模型的训练方法将多个参考特征图像及多个动作的标识输入到CNN模型中,训练得到动作识别模型,进而基于所提供的动作识别的方法及动作识别模型对用户的动作进行识别。
请参考图1,其示出了本公开实施例提供的图像编码方法、动作识别模型的训练方法及动作识别的方法所涉及的实施环境,该实施环境包括图像编码设备101、模型训练设备102及动作识别设备103。
其中,图像编码设备101能够基于体感采集设备采集的多组人体骨架数据,提取多组人体骨架数据对应的运动特征矩阵,进而通过对运动特征矩阵进行编码,得到运动特征图像。其中,图像编码设备101可以为服务器,也可以为终端,本公开实施例不对图像编码设备101进行具体的限定。体感采集设备可以为kinect相机等。kinect相机基于结构光学原理,可以提供实时的深度图像。基于kinect相机所提供的深度图像,通过采用随机森林算法可获取到人体骨架数据。其中,随机森林算法是一个包含多个决策树的分类器,其输出的类别是由个别树的类别决定。
模型训练设备102具有模型训练能力,可基于图像编码设备101编码的运动特征图像,训练出动作识别模型。模型训练设备102可以为服务器,也可以为终端,本公开实施例不对模型训练设备102进行具体的限定。
动作识别设备103具有图像采集功能,可实时采集人体骨架数据;该动作识别设备103还具有计算处理能力,可基于模型训练设备102所训练的动作识别模型以及所采集的人体骨架数据,对用户的动作进行识别。为了实现图像采集功能,动作行为识别设备103可与另一个体感采集设备配对连接,还可内置有一个骨架信息采集单元,该骨骼信息采集单元与体感设备具有相同的功能。在实际应用中,该动作识别设备103可以为儿童家庭看护机器人、公共场所危险动作监控设备、人机交互游戏设备等。
以图1中的动作识别设备103为儿童家庭看护机器人为例,该儿童家庭看护机器人内置一个kinect相机,其主要功能是为了防止儿童在家中的意外伤害,如摸插座触电、攀高摔倒等。图2为儿童家庭看护机器人的工作流程图,参见图2,儿童家庭看护机器人通过kinect相机实时采集儿童在家庭环境下的动作图像,然后通过kinect的算法,识别出儿童的人体骨架数据,然后基于该人体骨架数据,对儿童的动作进行实时地识别,当判断儿童的动作为危险动作时,即刻发出报警,以吸引家人注意,否则,继续通过kinect获取人体骨骼的数据,以对儿童的动作进行监测。
本公开实施例提供了一种图像编码方法,以图像编码设备执行本公开实施例为例,参见图3,本公开实施例提供的方法流程包括:
301、图像编码设备获取执行目标动作的多组人体骨架数据,每组人体骨架数据均包括执行目标动作时的关节点数据。
其中,目标动作包括弯腰动作、立正动作、向左抬手动作、向右抬手动作等等。在动作执行主体执行目标动作的过程中,所获取到的人体骨架数据的组数可由目标动作的复杂程度确定,目标动作越复杂,所获取到的人体骨架数据的组数越多,目标动作越简单,所获取到的人体骨架数据的组数越少。对于所获取到的多组人体骨架数据可以为连续的人体骨架数据,可以为按照预设规则从多组连续的人体骨架数据中选取的非连续的多组人体骨架数据,本公开实施例对此不作具体的限定。该预设规则可以为间隔一组人体骨架数据进行选取、间隔两组人体骨架数据进行选取等。例如,对于一个弯腰动作,包括44组连续的人体骨架数据,本公开实施例中可将该44组连续的人体骨架数据作为获取到的执行弯腰动作的44组人体骨架数据,也可将第一组人体骨架数据、第三组人体骨架数据、第五组人体骨架数据、…、第四十三组人体骨架数据等22组人体骨架数据作为获取到的执行弯腰动作的22组人体骨架数据。
其中,关节点可以为人体骨架所包括的全部关节点,也可以为动作识别起关键作用的主要关节点。为了减少计算量,本公开实施例可选取预设数量个关节点进行计算,该预设数量可以为20个、25个等,本发明实施例不对预设数量作具体的限定。参见图4,当关节点的数量为20个时,20个关节点包括头部关节点、肩膀中心关节点、左肩关节点、左手肘关节点、左手关节点、右肩关节点、右手肘关节点、右手关节点、脊柱关节点、臀部中心关节点、左臀关节点、右臀关节点、左膝关节点、右膝关节点、左脚踝关节点、右脚踝关节点、左脚关节点、右脚关节点。
302、图像编码设备根据多组人体骨架数据中的关节点数据,提取多组人体骨架数据对应的运动特征矩阵。
其中,运动特征矩阵包括线速度矩阵或角速度矩阵。根据运动特征矩阵的不同,图像编码设备在根据多组人体骨架数据中的关节点数据,提取多组人体骨架数据对应的运动特征矩阵时,包括但不限于如下两种情况:
第一种情况、运动特征矩阵包括线速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标。针对该种情况,图像编码设备在根据多组人体骨架数据中的关节点数据,提取多组人体骨架数据对应的运动特征矩阵时,可采用如下步骤:
30211、图像编码设备将第二组人体骨架数据中的关节点在三维坐标系中的坐标减去第一组人体骨架数据中的相应关节点在三维坐标系中的坐标,得第一组人体骨架数据对应的线速度单元。
在执行本步骤之前,本公开实施例需要建立一个三维坐标系,基于所建立的三维坐标系,图像编码设备可获取每组人体骨架数据中的关节点在三维坐标系中的坐标。对于N组人体骨架数据的M个关节点,每个关节点在三维坐标系中的坐标为:
其中,i为第i个关节点,i的取值范围为[1,M];t为第t组人体骨架数据,t的取值范围为[1,N];px、py、pz分别为第i个关节点在X轴、Y轴、Z轴方向的坐标。
对于一个包括M个关节点的N组人体骨架数据,可采用一个N*M*3的矩阵表示。例如,对于一个弯腰动作,可获取到44组人体骨架数据,每组人体骨架数据均包括执行弯腰动作的20个关节点数据,该44组人体骨架数据可采用一个44*20*3的矩阵进行表示。其中,第1组人体骨架数据中的20个关节点在三维坐标系中的坐标为(-0.6197,0.3280,3.1819)、(-0.6204,0.3820,3.1629)、(-0.6255,0.6453,3.0822)、(-0.6614,0.8672,2.9904)、(-0.8062,0.5685,3.0942)、(-0.8786,0.3563,3.1360)、(-0.8830,0.1673,3.1266)、(-0.9009,0.1085,3.1476)、(-0.5482,0.6521,3.1190)、(-0.4806,0.4419,3.2474)、(-0.4548,0.2069,3.2755)、(-0.4420,0.1354,3.2706)、(-0.6727,0.2509,3.1807)、(-0.7282,-0.1948,3.229)、(-0.7292,-0.5496,3.4253)、(-0.7618,-0.6072,3.3867)、(-0.5636,0.2808,3.2195)、(-0.6295,-0.2032,3.4010)、(-0.6533,-0.5380,3.4876)、(-0.6111,-0.5965,3.5122);第2组人体骨架数据中的20个关节点在三维坐标系中的坐标为(-0.6173,0.3269,3.1828)、(-0.6181,0.3813,3.1635)、(-0.6306,0.6889,3.0651)、(-0.6591,0.8689,2.9900)、(-0.8029,0.5767,3.0945)、(-0.8761,0.3543,3.1334)、(-0.8702,0.1630,3.1079)、(-0.8705,0.1008,3.1136)、(-0.5461,0.6517,3.1196)、(-0.4783,0.4416,3.2485)、(-0.4544,0.2077,3.2763)、(-0.4396,0.1362,3.2724)、(-0.6702,0.2514,3.1821)、(-0.7256,-0.1930,3.3226)、(-0.7288,-0.5498,3.4245)、(-0.7630,-0.5859,3.3605)、(-0.5615,0.2807,3.2189)、(-0.6285,-0.2010,3.3994)、(-0.6541,-0.5380,3.4877)、(-0.6301,-0.5980,3.4545);…;第44组人体骨架数据中的20个关节点在三维坐标系中的坐标为(0.1460,0.2145,2.1690)、(0.1428,0.1927,2.1485)、(0.1210,0.5332,2.0699)、(0.1993,0.6894,1.9873)、(-0.0031,0.4087,2.0452)、(-0.0944,0.1501,2.0784)、(-0.1050,-0.0680,2.1074)、(-0.0945,-0.1476,2.1227)、(0.2512,0.4655,2.2222)、(0.2743,0.2475,2.3574)、(0.3129,0.0278,2.5084)、(0.3781,-0.0206,2.5579)、(0.0911,0.0540,2.1466)、(0.0969,-0.4015,2.2515)、(0.1133,-0.7766,2.3625)、(0.1721,-0.8567,2.3584)、(0.2090,0.0647,2.2219)、(0.2538,-0.3598,2.3791)、(0.0210,-0.5750,2.6110)、(0.0572,-6798,2.6159),最终可得到图5所示的矩阵。
基于所建立的坐标矩阵,图像编码设备通过将第二组人体骨架数据中的关节点在三维坐标系中的坐标减去第一组人体骨架数据中的相应关节点在三维坐标系中的坐标,可得第一组人体骨架数据对应的线速度单元。其中,第一组人体骨架数据和第二组人体骨架数据为多组人体骨架数据中任意相邻的两组人体骨架数据,第一组人体骨架数据为第二组人体骨架数据的前一组人体骨架数据。
对于第r组人体骨架数据和第r+1组人体骨架数据,第r组人体骨架数据中的关节点i在三维坐标系中的坐标为:第r+1组人体骨架数据中的关节点i在三维坐标系中的坐标为:图像编码设备通过将可得到关节点i的坐标差其中,r的取值为[1,N-1]。采用该种方式计算第r组人体骨架数据和第r+1组人体骨架数据中每个关节点的坐标差,并将M个主要关节点的坐标差组成第r组人体骨架数据对应的线速度单元,线速度单元实际上为一个M*3的矩阵。
30212、图像编码设备将得到的所有线速度单元组成多组人体骨架数据对应的线速度矩阵。
对于一个N组人体骨架数据,通过将后一组人体骨架数据中的关节点在三维坐标系中的坐标减去前一组人体骨架数据中的相应关节点在三维坐标系中的坐标,可得到N-1个线速度单元。由于每个线速度单元均为M*3阶的矩阵,因而N组人体骨架数据对应的线速度度矩阵可用一个(N-1)*M*3的矩阵表示。
例如,对于图5所示的弯腰动作所对应的坐标矩阵,通过将后一组人体骨架数据中的关节点在三维坐标系中的坐标减去前一组人体骨架数据中的相应关节点在三维坐标系中的坐标,可得到图6所示的43*20*3的矩阵。
第一种情况、运动特征矩阵包括角速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标。针对该种情况,图像编码设备在根据多组人体骨架数据中的关节点数据,提取多组人体骨架数据对应的运动特征矩阵时,可采用如下步骤:
30221、图像编码设备根据多组人体骨架数据的关节点在三维坐标系中的坐标,计算多组人体骨架数据的关节点在三维坐标系中的方向角。
对于第t组人体骨架数据中的关节点i,设定其在X轴方向上的方向角为α、在Y轴方向上的方向角为β、在Z轴方向上的方向角为γ,则关节点i的方向角为:
其中,i的取值范围为[1,M],t的取值范围为[1,N]。
30222、图像编码设备将第二组人体骨架数据的关节点在三维坐标系中的方向角减去第一组人体骨架数据的相应关节点在三维坐标系中的方向角,得到第一组人体骨架数据对应的角速度单元。
其中,第一组人体骨架数据和第二组人体骨架数据为任意相邻的两组人体骨架数据,第一组人体骨架数据为第二组人体骨架数据的前一组人体骨架数据。
对于第r组人体骨架数据和第r+1组人体骨架数据,第r组人体骨架数据中的关节点i在三维坐标系中的方向角为:第r+1组人体骨架数据的关节点i在三维坐标系中的方向角为:通过将可得到第r组人体骨架数据中的关节点i的角度差,该角度差为其中,r的取值为[1,N-1]。采用该种方式计算第r组人体骨架数据和第r+1组人体骨架数据中每个关节点的角度差,并将M个主要关节点的角度差组成第r组人体骨架数据对应的角速度单元,角速度单元实际上为一个M*3的矩阵。
30223、图像编码设备将得到的所有角速度单元组成多组人体骨架数据对应的角速度矩阵。
对于一个N组人体骨架数据,通过将后一组人体骨架数据中的关节点在三维坐标系中的方向角减去前一组人体骨架数据中的相应关节点在三维坐标系中的方向角,可得到N-1个角速度单元。由于每个角速度单元均为M*3阶的矩阵,因而N组人体骨架数据对应的角速度度矩阵可用一个(N-1)*M*3的矩阵表示。
例如,对于图5所示的弯腰动作所对应的坐标矩阵,通过将后一组人体骨架数据中的关节点在三维坐标系中的方向角减去前一组人体骨架数据中的相应关节点在三维坐标系中的方向角,可得到图7所示的43*20*3的矩阵。
303、图像编码设备对运动特征矩阵进行编码,得到运动特征图像。
考虑到步骤302中提取的运动特征矩阵不同时,图像编码设备编码得到的运动特征图像也是不同的,针对不同的运动特征矩阵,图像编码设备进行编码时,可分为如下两种情况:
第一种情况、运动特征矩阵为线速度矩阵。
针对该种情况,图像编码设备对运动特征矩阵进行编码,得到运动特征图像时,包括但不限于如下步骤30311~步骤30313:
30311、图像编码设备对线速度矩阵进行预处理。
图像编码设备对线速度矩阵进行预处理,包括如下步骤:
第一步,图像编码设备获取线速度矩阵中的最大线速度元素值和最小线速度元素值。
第二步,图像编码设备根据最大线速度元素值和最小线速度元素值,对线速度矩阵中的每个线速度元素值进行归一化处理,得到归一化的线速度矩阵。
其中,归一化的线速度矩阵中的每个线速度元素值介于第一数值和第二数值之间,第一数值小于第二数值,本公开实施例选取第一数值为0,选取第二数值为255。
设定从线速度矩阵中,获取到的最大线速度元素值为max(X)、最小线速度元素值为min(X),对于线速度矩阵中的每个线速度元素值X,可采用如下公式对进行归一化处理,归一化后的线速度元素值Xnorm为:
当X为线速度矩阵中的最大线速度元素值时,X-min(X)等于max(X)-min(X),Xnorm的值为255;当X为线速度矩阵中的最小线速度元素值时,X-min(X)等于0,Xnorm的值为0;当X介于最小线速度元素值和最大线速度元素值之间时,Xnorm的值也介于第一数值和第二数值之间。
30312、图像编码设备对预处理的线速度矩阵中的多个线速度单元进行编码,得到多个线速度像素帧。
图像编码设备以预处理的每个线速度单元中的关节点在三维坐标系中的坐标为图像通道,对预处理的多个线速度单元进行编码,得到多个线速度像素帧。具体地,图像编码设备随机地指定预处理的每个线速度单元中的关节点在X轴、Y轴、Z轴中的坐标为R、G、B三个图像通道,进而按照所指定的图像通道对每个线速度单元进行编码,得到多个线速度像素帧。例如,对于一个包括N-1个线速度单元的线速度矩阵,采用上述方法进行编码,可得到N-1个线速度像素帧。
30313、图像编码设备将多个线速度像素帧组成线速度图像。
图像编码设备按照每个线速度像素帧对应的人体骨架数据的采集时间顺序,将多个线速度像素帧组成线速度图像。
在图像处理领域,通常一种动作包括40~120组人体骨架数据,其中有些组人体骨架数据中包括了更加丰富的动作信息,这些人体骨架数据编码得到的像素帧称为关键像素帧。从多个像素帧中提取关键像素帧,有助于减少图像后续处理时的计算量。对于关键像素帧的提取过程为:
步骤a、图像编码设备根据预处理的线速度矩阵,计算多个线速度像素帧的线速度能量变化值。
针对于线速度矩阵,本公开实施例定义其线速度能量函数为:
其中,r的取值范围为[1,N-1];j为任一关节点的数量,该j的取值为[1,20];为第j个关节点在X轴、Y轴及Z轴的坐标的平方和,实际上为第j个关节点的线速度的平方和;Er为第r个线速度像素帧的线速度能量值,实际上为第r组人体骨架数据中20个关节点的线速度的平方和。
基于预先定义的线速度能量函数,其线速度能量函数对时间的导数为:
δEr=Er+1-Er
由线速度能量函数对时间的导数公式可以看出以下两点:
第一点,对于第r个线速度像素帧,其线速度能量函数对时间的导数实际上等于第r+1个线速度像素帧的线速度能量值减去第r个线速度像素帧的线速度能量值,即线速度能量变化值。由于最后一个线速度像素帧没有后一个线速度像素帧,因此,对于前N-1个线速度像素帧可计算出N-2个线速度能量变化值。
第二点,导数的绝对值越大,动作的变化程度越大,对应像素帧的信息量越大,信息量大的像素帧实际上就是本公开实施例所要获取的关键像素帧。
该步骤具体实现时,可参见步骤1)~3)
1)、图像编码设备计算第一线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第一线速度像素帧的线速度能量值。
基于所定义的线速度能量函数,图像编码设备通过计算第一线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,可计算出第一线速度像素帧的线速度能量值。
2)、图像编码设备计算第二线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第二线速度像素帧的线速度能量值。
基于所定义的线速度能量函数,图像编码设备通过计算第二线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,可计算出第二线速度像素帧的线速度能量值。
其中,第一线速度像素帧和第二线速度像素帧为任意相邻的两个线速度像素帧,第一线速度像素帧为第二线速度像素帧的前一个线速度像素帧。
3)、图像编码设备将第二线速度像素帧的线速度能量值减去所述第一线速度像素帧的线速度能量值,得到第一线速度像素帧的线速度能量变化值。
步骤b、图像编码设备按照线速度能量变化值由大到小的顺序,从多个线速度像素帧中,提取多个关键线速度像素帧。
当计算出多个线速度能量变化值后,图像编码设备可按照线速度能量变化值由大到小的顺序,对多个线速度像素帧的线速度能量变化值进行排序,进而基于排序结果,从多个线速度像素帧中,提取多个关键线速度像素帧。
基于所提取的多个关键线速度像素帧,图像编码设备按照时间顺序对多个关键线速度像素帧进行编码,可得到线速度图片。例如,对于一个弯腰动作,可获取44组人体骨架数据,编码为43个线速度像素帧,基于线速度能量函数,从43个线速度像素帧中提取出32个关键线速度像素帧,最终编码为一张包括32*20个像素点的线速度图像。
第二种情况、运动特征矩阵为角速度矩阵。
针对该种情况,图像编码设备对运动特征矩阵进行编码,得到运动特征图像时,包括但不限于如下步骤30321~步骤30323:
30321、图像编码设备对角速度矩阵进行预处理。
图像编码设备对角速度矩阵进行预处理,包括如下步骤:
第一步,图像编码设备获取角速度矩阵中的最大角速度元素值和最小角速度元素值。
第二步,图像编码设备根据最大角速度元素值和最小角速度元素值,对角速度矩阵中的每个角速度元素值进行归一化处理,得到归一化的角速度矩阵。
其中,归一化的角速度矩阵中的每个角速度元素值介于第一数值和第二数值之间,第一数值小于第二数值,本公开实施例选取第一数值为0,选取第二数值为255。
设定从角速度矩阵中,获取到的最大角速度元素值为max(Y)、最小角速度元素值为min(Y),对于线速度矩阵中的每个角速度元素值Y,可采用如下公式对进行归一化处理,归一化后的线速度元素值Ynorm为:
当Y为角度矩阵中的最大角速度元素值时,Y-min(Y)等于max(Y)-min(Y),Ynorm的值为255;当Y为角速度矩阵中的最小角速度元素值时,Y-min(Y)等于0,Ynorm的值为0;当Y介于最小角速度元素值和最大角速度元素值之间时,Ynorm的值也介于第一数值和第二数值之间。
30322、图像编码设备对预处理的角速度矩阵中的多个角速度单元进行编码,得到多个角速度像素帧。
图像编码设备以预处理的每个角速度单元中的关节点在三维坐标系中的方向角为图像通道,对预处理的多个角速度单元进行编码,得到多个角速度像素帧。具体地,图像编码设备随机地指定预处理的每个角速度单元中的关节点在X轴、Y轴、Z轴中的方向角为R、G、B三个图像通道,进而按照所指定的图像通道对每个角速度单元进行编码,得到多个角速度像素帧。例如,对于一个包括N-1个角速度单元的角速度矩阵,采用上述方法进行编码,可得到N-1个角速度像素帧。
30323、图像编码设备将多个角速度像素帧组成角速度图像。
图像编码设备按照每个角速度像素帧对应的人体骨架数据的采集时间顺序,将多个角速度像素帧组成角速度图像。
在图像处理领域,通常一种动作包括40~120组人体骨架数据,其中有些组人体骨架数据中包括了更加丰富的动作信息,这些人体骨架数据编码得到的像素帧称为关键像素帧。从多个像素帧中提取关键像素帧,有助于减少图像后续处理时的计算量。对于关键像素帧的提取过程为:
步骤a、图像编码设备根据预处理的角速度矩阵,计算多个线速度像素帧的角速度能量变化值。
针对于角速度矩阵,本公开实施例定义其角速度能量函数为:
其中,r的取值范围为[1,N-1];j为任一关节点的数量,该j的取值为[1,20];为第j个关节点在X轴、Y轴及Z轴的坐标的平方和,实际上为第j个关节点的角速度的平方和;Er为第r个线速度像素帧的角速度能量值,实际上为第r组人体骨架数据中20个关节点的角速度的平方和。
基于预先定义的角速度能量函数,其角速度能量函数对时间的导数为:
δEr=Er+1-Er
由角速度能量函数对时间的导数公式可以看出以下两点:
第一点,对于第r个角速度像素帧,其角速度能量函数对时间的导数实际上等于第r+1个角速度像素帧的角速度能量值减去第r个角速度像素帧的角速度能量值,即角速度能量变化值。由于最后一个角速度像素帧没有后一个角速度像素帧,因此,对于前N-1个角速度像素帧可计算出N-2个角速度能量变化值。
第二点,导数的绝对值越大,动作的变化程度越大,对应像素帧的信息量越大,信息量大的像素帧实际上就是本公开实施例所要获取的关键像素帧。
该步骤具体实现时,可参见步骤1)~3):
1)、图像编码设备计算第一角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,得到第一角速度像素帧的线速度能量值。
基于所定义的角速度能量函数,图像编码设备通过计算第一角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,可计算出第一角速度像素帧的角速度能量值。
2)、图像编码设备计算第二线速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,得到第二角速度像素帧的角速度能量值。
基于所定义的角速度能量函数,图像编码设备通过计算第二角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,可计算出第二角速度像素帧的线速度能量值。
其中,第一角速度像素帧和第二角速度像素帧为任意相邻的两个角速度像素帧,第一角速度像素帧为第二角速度像素帧的前一个角速度像素帧。
3)、图像编码设备将第二线速度像素帧的线速度能量值减去所述第一线速度像素帧的角速度能量值,得到第一角速度像素帧的角速度能量变化值。
步骤b、图像编码设备按照角速度能量变化值由大到小的顺序,从多个角速度像素帧中,提取多个关键角速度像素帧。
当计算出多个角速度能量变化值后,图像编码设备可按照角速度能量变化值由大到小的顺序,对多个角速度像素帧的角速度能量变化值进行排序,进而基于排序结果,从多个角速度像素帧中,提取多个关键角速度像素帧。
基于所提取的多个关键角速度像素帧,图像编码设备按照时间顺序对多个关键角速度像素帧进行编码,可得到角速度图片。例如,对于一个弯腰动作,可获取44组人体骨架数据,编码为43个角速度像素帧,基于角速度能量函数,从43个角速度像素帧中提取出32个关键角速度像素帧,最终编码为一张包括32*20个像素点的角速度图像。
本公开中所编码的目标动作的至少一个运动特征图像可用于训练动作识别模型。例如,图像编码设备通过将目标动作的至少一个运动特征图像以及目标动作的标识输入到卷积神经网络CNN模型中,训练可得到动作识别模型。
本公开实施例提供的方法,提取多组人体骨架数据对应的运动特征矩阵,进而将所提取的多组人体骨架数据对应的运动特征矩阵编码成运动特征图像。由于运动特征图像的数据量相对多个动作特征向量序列的数据量要小,因而降低了存储资源及计算资源的消耗。
本公开实施例提供了一种动作识别模型的训练方法,以模型训练设备执行本公开为例,参见图9,本公开实施例提供的方法流程包括:
901、模型训练设备获取多种动作分别对应的多个参考运动特征图像。
其中,多种动作包括弯腰、低头、向左抬手动作、向右抬手动作等等。每种动作对应的参考运动特征图像可通过图3所示的图像编码方法编码得到。
902、模型训练设备将多个参考运动特征图像以及多个动作的标识输入到CNN模型中,训练得到动作识别模型。
本公开实施例使用VGG16网络结构对CNN模型进行训练,其网络结构如图10所示,包括5个卷积层、5个池化层以及两个全连接层。其中,每一个卷积层之后设置有一个最大池化层;在每一个卷积层或全连接层输入特征(即矩阵)都要和若干个滤波模板进行卷积操作,而该层的输出则是下一层的输入;池化层负责对输出特征的大小进行压缩,从而保证特征的高度紧凑;滤波模板的权重作为参数可以在对CNN的训练过程中不断得到迭代更新,而CNN的最终输出可以是一个对原始输入图像进行编码的高维向量;该高维向量通过相应的数学变换,直接对应到对该物体进行分类的一个概率描述。如图7所示,VGG16网络的输入为224*224*3的彩色图像,将其输入到网络后,首先经过第一个卷积层(convolution+ReLU),该层的卷积核为3*3*64,因此,经过第一个卷积层后,所输入的224*224*3的图像变为224*224*64的图像,经过第一个最大池化层(max pooling)后,图像的大小减半,变为112*112*64的图像;经过第二个卷积层(convolution+ReLU),该层的卷积核为3*3*128,所输入的112*112*64的图像变为112*112*128的图像,经过第二最大池化层(maxpooling)后,图像的大小减半,变为56*56*128的图像;第三个卷积层的卷积核大小为3*3*256,第四个卷积层的卷积核大小为3*3*512,第五个卷积层的卷积核大小为3*3*512,依次类推,在经过5个卷积层以及5个最大池化层后,其输出图像大小为7*7*512;将7*7*512输入到第一个全连接层,可将其压缩为1*1*4096的图像,再将1*1*4096的图像输入到第二个全连接层,可将其压缩为1*1*1000的图像,也即是该图像可能的类别有1000个。考虑到VGG16网络结构针对224*224*3的图像进行设计,用于对将图像分为1000个类别,而本公开输入的是32*32*3的图像,且本公开所需要识别的动作类别并未达到1000个,因此,为了节省计算量,缩短建模及应用过程中的识别时间,本公开需要对VGG16网络结构进行修改,将第一个全连接层由1*1*4096修改为1*1*512,将第二个全连接层由1*1*1000修改为相应的动作类别的个数,例如,如果需要识别的动作类别为20个,则将第二个全连接层由1*1*1000修改为1*1*20,如果需要识别的动作类别为100个,则将第二个全连接层由1*1*1000修改为1*1*100。
基于修改后的VGG16网络结构,模型训练设备通过将多个参考运动特征图像以及多个动作的标识输入到CNN模型中,可对CNN模型的模型参数进行调整,进而将得到调整后的模型参数对应的CNN模型作为动作识别模型。考虑到运动特征图像包括线速度图像和角速度图像,模型训练设备将多个参考运动特征图像以及多个动作的标识输入到CNN模型中,训练得到动作识别模型时,可将多个参考运动特征图像中的线速度图像及对应动作的标识输入到CNN模型中,还可将多个参考运动特征图像中的角速度图像及对应动作的标识输入到CNN模型中,也可将多个参考运动特征图像中的线速度图像及对应动作的标识、多个参考运动特征图像中的角速度图像及对应动作的标识输入到CNN模型中。根据所输入的图像不同,最终训练出的动作识别模型也是不同的。针对于仅输入线速度图像的情况,训练出的动作识别模型仅能对线速度图像进行识别,对于仅输入角速度图像的情况,训练出的动作识别模型仅能对角速度图像进行识别,对于同时输入线速度图像和角速度图像的情况,训练出的动作识别模型能同时对线速度图像和角速度图像进行识别。
在另一种实施方式中,为了满足CNN模型的输入要求,模型训练设备将多个参考运动特征图像以及多个动作的标识输入到CNN模型之前,还将对参考运动特征图像进行补零操作。具体实施时,对于一个S*M*3参考运动特征图像,可在每个参考运动特征图像的左右两侧各添加一个S*[(S-M)/2]*3的全零矩阵(实际上是添加灰度像素),使其最终成为像素数量为S*S的运动特征图像。例如,对于一个弯腰动作,经过上述步骤301~302的处理,可得到一张32*20*3的运动特征图像,通过在运动特征图像的左右两侧各增添一个32*6*3的全零矩阵,使其最终成为32*32*3的运动特征图像。
本公开实施例提供的方法,基于参考运动特征图像训练动作识别模型,在保证识别精度的条件下,减少了模型训练过程的计算量。
本公开实施例提供了一种动作识别的方法,以动作识别设备执行本公开为例,参见图11,本公开实施例提供的方法流程包括:
1101、动作识别设备获取待识别运动特征图像。
其中,待识别运动特征图像为待识别动作的多组待识别人体骨架数据编码得到的图像。
动作识别设备获取待识别运动特征图像时,可采用如下步骤:
11011、动作识别设备采集执行待识别动作的多组待识别人体骨架数据,每组待识别人体骨架数据均包括执行待识别动作时的关节点数据。
11012、动作识别设备根据多组待识别人体骨架数据中的关节点数据,提取多组待识别人体骨架数据对应的待识别运动特征矩阵。
第一种情况、待识别运动特征矩阵包括待识别线速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标。动作识别设备根据多组待识别人体骨架数据中的关节点数据,提取多组待识别人体骨架数据对应的待识别运动特征矩阵,包括以下步骤:
第一步、动作识别设备将第二组待识别人体骨架数据中的关节点在三维坐标系中的坐标减去第一组待识别人体骨架数据中的相应关节点在三维坐标系中的坐标,得到第一组待识别人体骨架数据的待识别线速度单元。
其中,第一组待识别人体骨架数据和第二组待识别人体骨架数据为多组待识别人体骨架数据中任意相邻的两组待识别人体骨架数据,第一组待识别人体骨架数据为第二组待识别人体骨架数据的前一组待识别人体骨架数据;
第二步,动作识别设备将得到的所有待识别线速度单元组成多组待识别人体骨架数据对应的待识别线速度矩阵。
第二种情况、待识别运动特征矩阵包括待识别角速度矩阵,关节点数据包括相应关节点在三维坐标系中的坐标。动作识别设备根据多组待识别人体骨架数据中的关节点数据,提取多组待识别人体骨架数据对应的待识别运动特征矩阵,包括以下步骤:
第一步,动作识别设备根据多组待识别人体骨架数据对应的坐标矩阵,计算多组待识别人体骨架数据的关节点在三维坐标系中的方向角。
第二步,动作识别设备将第二组待识别人体骨架数据中的关节点在三维坐标系中的方向角减去第一组待识别人体骨架数据中的相应关节点在三维坐标系中的方向角,得到待识别角速度单元。
其中,第一组待识别人体骨架数据和第二组待识别人体骨架数据为任意相邻的两组待识别人体骨架数据,第一组待识别人体骨架数据为第二组待识别人体骨架数据的前一组待识别人体骨架数据。
第三步,动作识别设备将得到的所有待识别角速度单元组成多组待识别人体骨架数据对应的待识别角速度矩阵。
11012、动作识别设备对待识别运动特征矩阵进行编码,得到待识别运动特征图像。
当运动特征矩阵为线速度矩阵时,动作识别设备对待识别运动特征矩阵进行编码,得到待识别运动特征图像,可采用如下步骤1101211~1101213:
1101211、动作识别设备对待识别线速度矩阵进行预处理。
动作识别设备对待识别线速度矩阵进行预处理时,可获取待识别线速度矩阵中的最大待识别线速度元素值和最小待识别线速度元素值,并根据最大待识别线速度元素值和最小待识别线速度元素值,对待识别线速度矩阵中的每个待识别线速度元素值进行归一化处理,得到归一化的待识别线速度矩阵。
其中,归一化的待识别线速度矩阵中的每个待识别线速度元素值介于第一数值和第二数值之间,第一数值小于第二数值,第一数值为0,第二数值为255。
1101212、动作识别设备对预处理的待识别线速度矩阵中的多个线速度单元进行编码,得到多个待识别线速度像素帧。
动作识别设备以预处理的每个待识别线速度单元中的关节点在三维坐标系中的坐标为图像通道,对预处理的多个待识别线速度单元进行编码,得到多个待识别线速度像素帧。
为了减少对待识别动作进行识别的计算量,动作识别设备还可从多个待识别线速度像素帧中,提取多个待识别关键线速度像素帧,进而将多个待识别关键线速度像素帧组成待识别线速度图像。对于从多个待识别像素帧中,提取多个待识别关键线速度像素帧时,可采用如下步骤:
第一步,动作识别设备根据预处理的待识别线速度矩阵,计算多个待识别线速度像素帧的线速度能量变化值。
具体地,动作识别设备可计算第一待识别线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第一待识别线速度像素帧的线速度能量值。然后,计算第二待识别线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第二待识别线速度像素帧的线速度能量值,进而将第二待识别线速度像素帧的线速度能量值减去第一待识别线速度像素帧的线速度能量值,得到第一待识别线速度像素帧的线速度能量变化值。
其中,第一待识别线速度像素帧和第二待识别线速度像素帧为任意相邻的两个待识别线速度像素帧,第一待识别线速度像素帧为第二待识别线速度像素帧的前一个待识别线速度像素帧。
第二步,动作识别设备按照线速度能量变化值由大到小的顺序,从多个待识别线速度像素帧中,提取多个待识别关键线速度像素帧。
1101213、动作识别设备将多个待识别线速度像素帧组成待识别线速度图像。
当然,如果提取的是多个待识别关键线速度像素帧,则动作识别设备可将多个待识别关键线速度像素帧组成待识别线速度图像。
当运动特征矩阵为角速度矩阵时,动作识别设备对待识别运动特征矩阵进行编码,得到待识别运动特征图像,可采用如下步骤1101221~1101223:
1101221、动作识别设备对待识别角速度矩阵进行预处理。
动作识别设备对待识别角速度矩阵进行预处理时,可获取待识别角速度矩阵中的最大待识别角速度元素值和最小待识别角速度元素值,并根据最大待识别角速度元素值和最小待识别角速度元素值,对待识别角速度矩阵中的每个待识别角速度元素值进行归一化处理,得到归一化的待识别角速度矩阵。
其中,归一化的待识别角速度矩阵中的每个待识别角速度元素值介于第一数值和第二数值之间,第一数值小于第二数值,第一数值为0,第二数值为255。
110122、动作识别设备对预处理的待识别角速度矩阵中的多个角速度单元进行编码,得到多个待识别角速度像素帧。
动作识别设备以预处理的每个待识别角速度单元中的关节点在三维坐标系中的方向角为图像通道,对预处理的多个待识别角速度单元进行编码,得到多个待识别角速度像素帧。
为了减少对待识别动作进行识别的计算量,动作识别设备还可从多个待识别角速度像素帧中,提取多个待识别关键角速度像素帧,进而将多个待识别关键角速度像素帧组成待识别角速度图像。对于从多个待识别像素帧中,提取多个待识别关键角速度像素帧时,可采用如下步骤:
第一步,动作识别设备根据预处理的待识别角速度矩阵,计算多个待识别角速度像素帧的角速度能量变化值。
具体地,动作识别设备可计算第一待识别角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,得到第一待识别角速度像素帧的角速度能量值。然后,计算第二待识别角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,得到第二待识别角速度像素帧的角速度能量值,进而将第二待识别角速度像素帧的角速度能量值减去第一待识别角速度像素帧的角速度能量值,得到第一待识别角速度像素帧的角速度能量变化值。
其中,第一待识别角速度像素帧和第二待识别角速度像素帧为任意相邻的两个待识别角速度像素帧,第一待识别角速度像素帧为第二待识别角速度像素帧的前一个待识别角速度像素帧。
第二步,动作识别设备按照角速度能量变化值由大到小的顺序,从多个待识别角速度像素帧中,提取多个待识别关键线角度像素帧。
110123、动作识别设备将多个待识别角速度像素帧组成待识别线速度图像。
当然,如果提取的是多个待识别关键角速度像素帧,则动作识别设备可将多个待识别关键角速度像素帧组成待识别角速度图像。
1102、动作识别设备根据动作识别模型对待识别运动特征图像进行识别,得到识别结果。
其中,动作识别模型根据多种动作分别对应的多个参考运动特征图像以及多种动作的标识训练得到,识别结果用于指示待识别动作的动作类别。
基于所得到的待识别运动特征图像,动作识别设备将待识别运动特征图像输入到动作识别模型中,可得到识别结果。当根据识别结果确定出待识别动作为指定危险动作时,动作识别设备将发出警报,以提示其他用户注意,从而避免危险事件发生。
本公开实施例提供的方法,通过获取待识别运动特征图像,进而基于所建立的动作识别模型对待识别运动特征图像进行识别,从而得到对待识别动作的识别结果。由于运动特征图像的数据量相对多个动作特征向量序列的数据量要小,从而在保证识别精度的情况下,大大减少了存储资源及计算资源。
本公开实施例提供了一种图像编码装置,参见图12,该装置包括:数据获取单元1201、特征提取单元1202、特征编码单元1203。
其中,数据获取单元1201用于执行图3中的步骤301;
特征提取单元1202用于执行图3中的步骤302;
特征编码单元1203用于执行图3中的步骤303。
本公开实施例提供了一种动作识别模型的训练装置,参见图13,该装置包括:图像获取单元1301和模型训练单元1302。
其中,图像获取单元1201用于执行图9中的步骤901;
模型训练单元1202用于执行图9中的步骤902。
本公开实施例提供了一种动作识别的装置,参见图14,该装置包括:图像获取单元1401和图像识别单元1402。
其中,图像获取单元1401用于执行图11中的步骤1101;
模型训练单元1402用于执行图11中的步骤1102。
参见图15,其示出了本公开的一个实施例中使用的计算机设备1500。所述计算设备1500包括处理器1501、存储器1502、通信接口1503和总线1504。该处理器1501、存储器1502、通信接口1503通过总线1504直连。该计算设备1500可用于执行上述图3中的图像编码方法,也可执行图9中动作识别模型的训练方法,还可执行图11中的动作识别的方法。
该存储器1502包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。
根据本公开的各种实施例,所述计算机设备1500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1500可以通过连接在所述总线1504上的网络接口单元1505连接到网络,或者说,也可以使用网络接口单元1505来连接到其他类型的网络或远程计算机系统(未示出)。
本公开实施例提供了一种计算机可读存储介质,所述存储介质包括至少一条指令,当其在计算机设备上运行时,使得计算机设备执行图3中的图像编码方法或图9中动作识别模型的训练方法或图11中的动作识别的方法。
需要说明的是:上述实施例提供的图像编码装置在编码图像时、动作识别模型的训练装置在训练动作识别模型时、动作识别的装置在进行动作识别时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像编码方法、动作识别模型的训练方法、动作识别的方法、图像编码装置、动作识别模型的训练装置、动作识别的装置、计算机设备实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (41)

1.一种图像编码方法,其特征在于,所述方法包括:
获取执行目标动作的多组人体骨架数据,每组人体骨架数据均包括执行所述目标动作时的关节点数据;
根据所述多组人体骨架数据中的关节点数据,提取所述多组人体骨架数据对应的运动特征矩阵;
对所述运动特征矩阵进行编码,得到运动特征图像。
2.根据权利要求1所述的方法,其特征在于,所述运动特征矩阵包括线速度矩阵,所述关节点数据包括相应关节点在三维坐标系中的坐标;
其中,所述根据所述多组人体骨架数据中的关节点数据,提取所述多组人体骨架数据对应的运动特征矩阵,包括:
将第二组人体骨架数据中的关节点在三维坐标系中的坐标减去第一组人体骨架数据中的相应关节点在三维坐标系中的坐标,得到所述第一组人体骨架数据对应的线速度单元,所述第一组人体骨架数据和所述第二组人体骨架数据为所述多组人体骨架数据中任意相邻的两组人体骨架数据,所述第一组人体骨架数据为所述第二组人体骨架数据的前一组人体骨架数据;
将得到的所有线速度单元组成所述多组人体骨架数据对应的线速度矩阵。
3.根据权利要求2所述的方法,其特征在于,所述对所述运动特征矩阵进行编码,得到运动特征图像,包括:
对所述线速度矩阵进行预处理;
对预处理的线速度矩阵中的多个线速度单元进行编码,得到多个线速度像素帧;
将所述多个线速度像素帧组成线速度图像。
4.根据权利要求2所述的方法,其特征在于,所述对所述运动特征矩阵进行编码,得到运动特征图像,包括:
对所述线速度矩阵进行预处理;
对预处理的线速度矩阵中的多个线速度单元进行编码,得到多个线速度像素帧;
从所述多个线速度像素帧中,提取多个关键线速度像素帧;
将所述多个关键线速度像素帧组成线速度图像。
5.根据权利要求3或4所述的方法,其特征在于,所述对所述线速度矩阵进行预处理,包括:
获取所述线速度矩阵中的最大线速度元素值和最小线速度元素值;
根据所述最大线速度元素值和所述最小线速度元素值,对所述线速度矩阵中的每个线速度元素值进行归一化处理,得到归一化的线速度矩阵,所述归一化的线速度矩阵中的每个线速度元素值介于第一数值和第二数值之间,所述第一数值小于所述第二数值。
6.根据权利要求3或4所述的方法,其特征在于,所述对预处理的线速度矩阵中的多个线速度单元进行编码,得到多个线速度像素帧,包括:
以预处理的每个线速度单元中的关节点在三维坐标系中的坐标为图像通道,对预处理的多个线速度单元进行编码,得到多个线速度像素帧。
7.根据权利要求4所述的方法,其特征在于,所述从所述多个像素帧中,提取多个关键线速度像素帧,包括:
根据所述预处理的线速度矩阵,计算多个线速度像素帧的线速度能量变化值;
按照线速度能量变化值由大到小的顺序,从所述多个线速度像素帧中,提取多个关键线速度像素帧。
8.根据权利要求7所述的方法,其特征在于,所述根据所述预处理的线速度矩阵,计算多个线速度像素帧的线速度能量变化值,包括:
计算第一线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第一线速度像素帧的线速度能量值;
计算第二线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第二线速度像素帧的线速度能量值,所述第一线速度像素帧和所述第二线速度像素帧为任意相邻的两个线速度像素帧,所述第一线速度像素帧为所述第二线速度像素帧的前一个线速度像素帧;
将所述第二线速度像素帧的线速度能量值减去所述第一线速度像素帧的线速度能量值,得到第一线速度像素帧的线速度能量变化值。
9.根据权利要求1所述的方法,其特征在于,所述运动特征矩阵包括角速度矩阵,所述关节点数据包括相应关节点在三维坐标系中的坐标,所述根据所述多组人体骨架数据中的关节点数据,提取所述多组人体骨架数据对应的运动特征矩阵,包括:
根据所述多组人体骨架数据的关节点在三维坐标系中的坐标,计算所述多组人体骨架数据的关节点在三维坐标系中的方向角;
将第二组人体骨架数据的关节点在三维坐标系中的方向角减去第一组人体骨架数据的相应关节点在三维坐标系中的方向角,得到角速度单元,所述第一组人体骨架数据和所述第二组人体骨架数据为任意相邻的两组人体骨架数据,所述第一组人体骨架数据为所述第二组人体骨架数据的前一组人体骨架数据;
将得到的所有角速度单元组成所述多组人体骨架数据对应的角速度矩阵。
10.根据权利要求9所述的方法,其特征在于,所述对所述运动特征矩阵进行编码,得到运动特征图像,包括:
对所述角速度矩阵进行预处理;
对预处理的线速度矩阵中的多个角速度单元进行编码,得到多个角速度像素帧;
将所述多个角速度像素帧组成角速度图像。
11.根据权利要求9所述的方法,其特征在于,所述对所述运动特征矩阵进行编码,得到运动特征图像,包括:
对所述角速度矩阵进行预处理;
对预处理的角速度矩阵中的多个角速度单元进行编码,得到多个角速度像素帧;
从所述多个角速度像素帧中,提取多个关键角速度像素帧;
将所述多个关键角速度像素帧组成角速度图像。
12.根据权利要求10或11所述的方法,其特征在于,所述对所述角速度矩阵进行预处理,包括:
获取所述角速度矩阵中的最大角速度元素值和最小角速度元素值;
根据所述最大角速度元素值和所述最小角速度元素值,对所述角速度矩阵中的每个角速度元素值进行归一化处理,得到归一化的角速度矩阵,所述归一化的角速度矩阵中的每个角速度元素值介于第一数值和第二数值之间,所述第一数值小于所述第二数值。
13.根据权利要求10或11所述的方法,其特征在于,所述对预处理的角速度矩阵中的多个角速度单元进行编码,得到多个角速度像素帧,包括:
以预处理的每个角速度单元中的关节点在三维坐标系中的方向角为图像通道,对预处理的多个角速度单元进行编码,得到多个角速度像素帧。
14.根据权利要求11所述的方法,其特征在于,所述从所述多个角速度像素帧中,提取多个关键角速度像素帧,包括:
根据所述预处理的角速度矩阵,计算多个角速度像素帧的角速度能量变化值;
按照角速度能量变化值由大到小的顺序,从所述多个角速度像素帧中,提取多个关键角速度像素帧。
15.根据权利要求14所述的方法,其特征在于,所述根据所述预处理的角速度矩阵,计算多个角速度像素帧的角速度能量变化值,包括:
计算第一角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维系中的方向角的平方和相加,得到第一角速度像素帧的角速度能量值;
计算第二角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,得到第二角速度像素帧的角速度能量值,所述第一角速度像素帧和所述第二角速度像素帧为任意相邻的两个角速度像素帧,所述第一角速度像素帧为所述第二角速度像素帧的前一个角速度像素帧;
将所述第二角速度像素帧的线速度能量值减去所述第一角速度像素帧的线速度能量值,得到第一角速度像素帧的线速度能量变化值。
16.根据权利要求1至15中任一项所述的方法,其特征在于,所述方法还包括:
将所述目标动作的至少一个运动特征图像以及所述目标动作的标识输入到卷积神经网络CNN模型中,训练得到动作识别模型。
17.一种动作识别模型的训练方法,其特征在于,所述方法包括:
获取多种动作分别对应的多个参考运动特征图像,其中,每个参考运动特征图像通过权利要求1-15中任一项所述的方法得到;
将所述多个参考运动特征图像以及所述多个动作的标识输入到卷积神经网络CNN模型中,训练得到动作识别模型。
18.一种动作识别的方法,其特征在于,所述方法包括:
获取待识别运动特征图像,所述待识别运动特征图像为待识别动作的多组待识别人体骨架数据编码得到的图像;
根据动作识别模型对所述待识别运动特征图像进行识别,得到识别结果,所述动作识别模型根据多种动作分别对应的多个参考运动特征图像以及所述多种动作的标识训练得到,所述识别结果用于指示所述待识别动作的动作类别。
19.根据权利要求18所述的方法,其特征在于,所述获取待识别运动特征图像,包括:
采集执行所述待识别动作的多组待识别人体骨架数据,每组待识别人体骨架数据均包括执行所述待识别动作时的关节点数据;
根据所述多组待识别人体骨架数据中的关节点数据,提取所述多组待识别人体骨架数据对应的待识别运动特征矩阵;
对所述待识别运动特征矩阵进行编码,得到所述待识别运动特征图像。
20.根据权利要求19所述的方法,其特征在于,所述待识别运动特征矩阵包括待识别线速度矩阵,所述关节点数据包括相应关节点在三维坐标系中的坐标,所述根据所述多组待识别人体骨架数据中的关节点数据,提取所述多组待识别人体骨架数据对应的待识别运动特征矩阵,包括:
将第二组待识别人体骨架数据中的关节点在三维坐标系中的坐标减去第一组待识别人体骨架数据中的相应关节点在三维坐标系中的坐标,得到所述第一组待识别人体骨架数据的待识别线速度单元,所述第一组待识别人体骨架数据和所述第二组待识别人体骨架数据为所述多组待识别人体骨架数据中任意相邻的两组待识别人体骨架数据,所述第一组待识别人体骨架数据为所述第二组待识别人体骨架数据的前一组待识别人体骨架数据;
将得到的所有待识别线速度单元组成所述多组待识别人体骨架数据对应的待识别线速度矩阵。
21.根据权利要求20所述的方法,其特征在于,所述对所述待识别运动特征矩阵进行编码,得到所述待识别运动特征图像,包括:
对所述待识别线速度矩阵进行预处理;
对预处理的待识别线速度矩阵中的多个线速度单元进行编码,得到多个待识别线速度像素帧;
将所述多个待识别线速度像素帧组成待识别线速度图像。
22.根据权利要求20所述的方法,其特征在于,所述对所述待识别运动特征矩阵进行编码,得到待识别运动特征图像,包括:
对所述待识别线速度矩阵进行预处理;
对预处理的待识别线速度矩阵中的多个待识别线速度单元进行编码,得到多个待识别线速度像素帧;
从所述多个待识别线速度像素帧中,提取多个待识别关键线速度像素帧;
将所述多个待识别关键线速度像素帧组成待识别线速度图像。
23.根据权利要求21或22所述的方法,其特征在于,所述对所述待识别线速度矩阵进行预处理,包括:
获取所述待识别线速度矩阵中的最大待识别线速度元素值和最小待识别线速度元素值;
根据所述最大待识别线速度元素值和所述最小待识别线速度元素值,对所述待识别线速度矩阵中的每个待识别线速度元素值进行归一化处理,得到归一化的待识别线速度矩阵,所述归一化的待识别线速度矩阵中的每个待识别线速度元素值介于第一数值和第二数值之间,所述第一数值小于所述第二数值。
24.根据权利要求21或22所述的方法,其特征在于,所述对预处理的待识别线速度矩阵中的多个待识别线速度单元进行编码,得到多个待识别线速度像素帧,包括:
以预处理的每个待识别线速度单元中的关节点在三维坐标系中的坐标为图像通道,对预处理的多个待识别线速度单元进行编码,得到多个待识别线速度像素帧。
25.根据权利要求22所述的方法,其特征在于,所述从所述多个待识别像素帧中,提取多个待识别关键线速度像素帧,包括:
根据所述预处理的待识别线速度矩阵,计算多个待识别线速度像素帧的线速度能量变化值;
按照线速度能量变化值由大到小的顺序,从所述多个待识别线速度像素帧中,提取多个待识别关键线速度像素帧。
26.根据权利要求25所述的方法,其特征在于,所述根据所述预处理的待识别线速度矩阵,计算多个待识别线速度像素帧的线速度能量变化值,包括:
计算第一待识别线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第一待识别线速度像素帧的线速度能量值;
计算第二待识别线速度像素帧中的每个关节点在三维坐标系中的坐标的平方和,并将所有关节点在三维坐标系中的坐标的平方和相加,得到第二待识别线速度像素帧的线速度能量值,所述第一待识别线速度像素帧和所述第二待识别线速度像素帧为任意相邻的两个待识别线速度像素帧,所述第一待识别线速度像素帧为所述第二待识别线速度像素帧的前一个待识别线速度像素帧;
将所述第二待识别线速度像素帧的线速度能量值减去所述第一待识别线速度像素帧的线速度能量值,得到第一待识别线速度像素帧的线速度能量变化值。
27.根据权利要求19所述的方法,其特征在于,所述待识别运动特征矩阵包括待识别角速度矩阵,所述关节点数据包括相应关节点在三维坐标系中的坐标,所述根据所述多组待识别人体骨架数据中的关节点数据,提取所述多组待识别人体骨架数据对应的待识别运动特征矩阵,包括:
根据所述多组待识别人体骨架数据对应的坐标矩阵,计算所述多组待识别人体骨架数据的关节点在三维坐标系中的方向角;
将第二组待识别人体骨架数据中的关节点在三维坐标系中的方向角减去第一组待识别人体骨架数据中的相应关节点在三维坐标系中的方向角,得到待识别角速度单元,所述第一组待识别人体骨架数据和所述第二组待识别人体骨架数据为任意相邻的两组待识别人体骨架数据,所述第一组待识别人体骨架数据为所述第二组待识别人体骨架数据的前一组待识别人体骨架数据;
将得到的所有待识别角速度单元组成所述多组待识别人体骨架数据对应的待识别角速度矩阵。
28.根据权利要求27所述的方法,其特征在于,所述对所述待识别运动特征矩阵进行编码,得到待识别运动特征图像,包括:
对所述待识别角速度矩阵进行预处理;
对预处理的待识别线速度矩阵中的多个待识别角速度单元进行编码,得到多个待识别角速度像素帧;
将所述多个待识别角速度像素帧组成待识别角速度图像。
29.根据权利要求27所述的方法,其特征在于,所述对所述待识别运动特征矩阵进行编码,得到待识别运动特征图像,包括:
对所述待识别角速度矩阵进行预处理;
对预处理的待识别角速度矩阵中的多个待识别角速度单元进行编码,得到多个待识别角速度像素帧;
从所述多个待识别角速度像素帧中,提取多个待识别关键角速度像素帧;
将所述多个待识别关键角速度像素帧组成待识别角速度图像。
30.根据权利要求28或29所述的方法,其特征在于,所述对所述待识别角速度矩阵进行预处理,包括:
获取所述待识别角速度矩阵中的最大待识别角速度元素值和最小待识别角速度元素值;
根据所述最大待识别角速度元素值和所述最小待识别角速度元素值,对所述待识别角速度矩阵中的每个待识别角速度元素值进行归一化处理,得到归一化的待识别角速度矩阵,所述归一化的待识别角速度矩阵中的每个待识别角速度元素值介于第一数值和第二数值之间,所述第一数值小于所述第二数值。
31.根据权利要求28或29所述的方法,其特征在于,所述对预处理的待识别角速度矩阵中的多个待识别角速度单元进行编码,得到多个待识别角速度像素帧,包括:
以预处理的每个待识别角速度单元中的关节点在三维坐标系中的方向角为图像通道,对预处理的多个待识别角速度单元进行编码,得到多个待识别角速度像素帧。
32.根据权利要求29所述的方法,其特征在于,所述从所述多个待识别角速度像素帧中,提取多个待识别关键角速度像素帧,包括:
根据所述预处理的待识别角速度矩阵,计算多个待识别角速度像素帧的角速度能量变化值;
按照角速度能量变化值由大到小的顺序,从所述多个待识别角速度像素帧中,提取多个待识别关键角速度像素帧。
33.根据权利要求32所述的方法,其特征在于,所述根据所述预处理的待识别角速度矩阵,计算多个待识别角速度像素帧的角速度能量变化值,包括:
计算第一待识别角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维系中的方向角的平方和相加,得到第一待识别角速度像素帧的角速度能量值;
计算第二待识别角速度像素帧中的每个关节点在三维坐标系中的方向角的平方和,并将所有关节点在三维坐标系中的方向角的平方和相加,得到第二待识别角速度像素帧的角速度能量值,所述第一待识别角速度像素帧和所述第二待识别角速度像素帧为任意相邻的两个待识别角速度像素帧,所述第一待识别角速度像素帧为所述第二待识别角速度像素帧的前一个待识别角速度像素帧;
将所述第二待识别角速度像素帧的线速度能量值减去所述第一待识别角速度像素帧的线速度能量值,得到第一待识别角速度像素帧的线速度能量变化值。
34.根据权利要求18所述的方法,其特征在于,所述根据所述动作识别模型对所述待识别运动特征图像进行识别,得到识别结果之前,还包括:
对所述待识别运动特征图像进行补零操作;
所述根据所述动作识别模型对所述待识别运动特征图像进行识别,得到识别结果,包括:
根据所述动作识别模型对所述补零操作后的待识别运动特征图像进行识别,得到识别结果。
35.根据权利要求18所述的方法,其特征在于,所述动作识别模型通过权利要求17所述的方法得到。
36.一种计算机设备,其特征在于,包括:处理器、存储器、通信接口及总线;
其中,所述存储器、所述处理器及所述通信接口通过所述总线连接,所述存储器用于存放计算机指令,当计算机设备运行时,所述处理器运行所述计算机指令,使得所述计算机设备执行权利要求1至16中任一项所述的图像编码方法。
37.一种计算机设备,其特征在于,包括:处理器、存储器、通信接口及总线;
其中,所述存储器、所述处理器及所述通信接口通过所述总线连接,所述存储器用于存放计算机指令,当计算机设备运行时,所述处理器运行所述计算机指令,使得所述计算机设备执行权利要求17所述的动作识别模型的训练方法。
38.一种计算机设备,其特征在于,包括:处理器、存储器、通信接口及总线;
其中,所述存储器、所述处理器及所述通信接口通过所述总线连接,所述存储器用于存放计算机指令,当计算机设备运行时,所述处理器运行所述计算机指令,使得所述计算机设备执行权利要求18至35所述的动作识别的方法。
39.一种计算机可读存储介质,其特征在于,所述存储介质包括至少一条指令,当其在计算机设备上运行时,使得计算机设备执行如权利要求1至16中任一项所述的图像编码方法。
40.一种计算机可读存储介质,其特征在于,所述存储介质包括至少一条指令,当其在计算机设备上运行时,使得计算机设备执行如权利要求17所述的动作识别模型的训练方法。
41.一种计算机可读存储介质,其特征在于,所述存储介质包括至少一条指令,当其在计算机设备上运行时,使得计算机设备执行如权利要求18至35中任一项所述的动作识别的方法。
CN201711378734.3A 2017-12-19 2017-12-19 图像编码方法、动作识别的方法及计算机设备 Active CN109934881B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201711378734.3A CN109934881B (zh) 2017-12-19 2017-12-19 图像编码方法、动作识别的方法及计算机设备
EP18891958.3A EP3716212A4 (en) 2017-12-19 2018-12-11 IMAGE ENCODING METHOD, ACTION DETECTION METHOD AND COMPUTER DEVICE
PCT/CN2018/120337 WO2019120108A1 (zh) 2017-12-19 2018-12-11 图像编码方法、动作识别的方法及计算机设备
US16/903,938 US11303925B2 (en) 2017-12-19 2020-06-17 Image coding method, action recognition method, and action recognition apparatus
US17/716,665 US11825115B2 (en) 2017-12-19 2022-04-08 Image coding method, action recognition method, and action recognition apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711378734.3A CN109934881B (zh) 2017-12-19 2017-12-19 图像编码方法、动作识别的方法及计算机设备

Publications (2)

Publication Number Publication Date
CN109934881A true CN109934881A (zh) 2019-06-25
CN109934881B CN109934881B (zh) 2022-02-18

Family

ID=66984194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711378734.3A Active CN109934881B (zh) 2017-12-19 2017-12-19 图像编码方法、动作识别的方法及计算机设备

Country Status (4)

Country Link
US (2) US11303925B2 (zh)
EP (1) EP3716212A4 (zh)
CN (1) CN109934881B (zh)
WO (1) WO2019120108A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446313A (zh) * 2020-11-20 2021-03-05 山东大学 一种基于改进动态时间规整算法的排球动作识别方法
CN113705284A (zh) * 2020-05-22 2021-11-26 杭州萤石软件有限公司 攀爬识别方法、装置及摄像机
WO2022237383A1 (en) * 2021-05-09 2022-11-17 International Business Machines Corporation Skeleton-based action recognition using bi-directional spatial-temporal transformer

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111079535B (zh) * 2019-11-18 2022-09-16 华中科技大学 一种人体骨架动作识别方法、装置及终端
CN111267099B (zh) * 2020-02-24 2023-02-28 东南大学 基于虚拟现实的陪护机器控制系统
US20210312236A1 (en) * 2020-03-30 2021-10-07 Cherry Labs, Inc. System and method for efficient machine learning model training
CN112507870A (zh) * 2020-12-08 2021-03-16 南京代威科技有限公司 一种通过人体骨架提取技术的行为识别方法和系统
WO2023122543A1 (en) * 2021-12-20 2023-06-29 Canon U.S.A., Inc. Apparatus and method for gesture recognition stabilization
WO2024038517A1 (ja) * 2022-08-17 2024-02-22 日本電気株式会社 映像処理システム、映像処理方法、及び画質制御装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120057761A1 (en) * 2010-09-01 2012-03-08 Sony Corporation Three dimensional human pose recognition method and apparatus
CN103310191A (zh) * 2013-05-30 2013-09-18 上海交通大学 运动信息图像化的人体动作识别方法
CN104850846A (zh) * 2015-06-02 2015-08-19 深圳大学 一种基于深度神经网络的人体行为识别方法及识别系统
CN106056035A (zh) * 2016-04-06 2016-10-26 南京华捷艾米软件科技有限公司 一种基于体感技术的幼儿园智能监控方法
CN107301370A (zh) * 2017-05-08 2017-10-27 上海大学 一种基于Kinect三维骨架模型的肢体动作识别方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100507780B1 (ko) * 2002-12-20 2005-08-17 한국전자통신연구원 고속 마커프리 모션 캡쳐 장치 및 방법
WO2004096567A1 (ja) * 2003-04-30 2004-11-11 Mitsubishi Chemical Corporation 相変化記録材料及び情報記録用媒体
JP4735795B2 (ja) * 2003-12-26 2011-07-27 独立行政法人 宇宙航空研究開発機構 冗長マニピュレータの制御方法
AU2010257107B2 (en) * 2009-02-20 2015-07-09 Digital Signal Corporation System and method for generating three dimensional images using lidar and video measurements
CN101763647A (zh) 2010-02-02 2010-06-30 浙江大学 一种基于关键帧的实时摄像机跟踪方法
US8213680B2 (en) * 2010-03-19 2012-07-03 Microsoft Corporation Proxy training data for human body tracking
US8786680B2 (en) * 2011-06-21 2014-07-22 Disney Enterprises, Inc. Motion capture from body mounted cameras
US20140347479A1 (en) * 2011-11-13 2014-11-27 Dor Givon Methods, Systems, Apparatuses, Circuits and Associated Computer Executable Code for Video Based Subject Characterization, Categorization, Identification, Tracking, Monitoring and/or Presence Response
CN102663449A (zh) * 2012-03-12 2012-09-12 西安电子科技大学 基于最大几何流向直方图的人体运动跟踪方法
JP6102680B2 (ja) 2013-10-29 2017-03-29 ソニー株式会社 符号化装置、復号装置、符号化データ、符号化方法、復号方法およびプログラム
US9826923B2 (en) * 2013-10-31 2017-11-28 Roshanak Houmanfar Motion analysis method
WO2015103693A1 (en) * 2014-01-07 2015-07-16 Arb Labs Inc. Systems and methods of monitoring activities at a gaming venue
US10252106B2 (en) * 2014-06-19 2019-04-09 Sumitomo Rubber Industries, Ltd. Golf swing analysis apparatus and golf club fitting apparatus
US20160042227A1 (en) * 2014-08-06 2016-02-11 BAE Systems Information and Electronic Systems Integraton Inc. System and method for determining view invariant spatial-temporal descriptors for motion detection and analysis
GB201417535D0 (en) * 2014-10-03 2014-11-19 Microsoft Corp Adapting encoding properties
CN104573665B (zh) * 2015-01-23 2017-10-17 北京理工大学 一种基于改进维特比算法的连续动作识别方法
US9633282B2 (en) 2015-07-30 2017-04-25 Xerox Corporation Cross-trained convolutional neural networks using multimodal images
US9600717B1 (en) * 2016-02-25 2017-03-21 Zepp Labs, Inc. Real-time single-view action recognition based on key pose analysis for sports videos
CN105930767B (zh) * 2016-04-06 2019-05-17 南京华捷艾米软件科技有限公司 一种基于人体骨架的动作识别方法
CN106384093B (zh) * 2016-09-13 2018-01-02 东北电力大学 一种基于降噪自动编码器和粒子滤波的人体动作识别方法
CN106647282B (zh) * 2017-01-19 2020-01-03 北京工业大学 一种考虑末端运动误差的六自由度机器人轨迹规划方法
CN106897670B (zh) 2017-01-19 2020-09-22 南京邮电大学 一种基于计算机视觉的快递暴力分拣识别方法
JP6760490B2 (ja) * 2017-04-10 2020-09-23 富士通株式会社 認識装置、認識方法および認識プログラム
US20200178851A1 (en) * 2017-07-10 2020-06-11 Georgia Tech Research Corporation Systems and methods for tracking body movement
JP2019036899A (ja) * 2017-08-21 2019-03-07 株式会社東芝 情報処理装置、情報処理方法およびプログラム
JP7409390B2 (ja) * 2019-10-03 2024-01-09 富士通株式会社 運動認識方法、運動認識プログラムおよび情報処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120057761A1 (en) * 2010-09-01 2012-03-08 Sony Corporation Three dimensional human pose recognition method and apparatus
CN103310191A (zh) * 2013-05-30 2013-09-18 上海交通大学 运动信息图像化的人体动作识别方法
CN104850846A (zh) * 2015-06-02 2015-08-19 深圳大学 一种基于深度神经网络的人体行为识别方法及识别系统
CN106056035A (zh) * 2016-04-06 2016-10-26 南京华捷艾米软件科技有限公司 一种基于体感技术的幼儿园智能监控方法
CN107301370A (zh) * 2017-05-08 2017-10-27 上海大学 一种基于Kinect三维骨架模型的肢体动作识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蒲静 等: "基于动态特征的突发暴力事件辨识算法", 《计算机应用》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113705284A (zh) * 2020-05-22 2021-11-26 杭州萤石软件有限公司 攀爬识别方法、装置及摄像机
CN112446313A (zh) * 2020-11-20 2021-03-05 山东大学 一种基于改进动态时间规整算法的排球动作识别方法
WO2022237383A1 (en) * 2021-05-09 2022-11-17 International Business Machines Corporation Skeleton-based action recognition using bi-directional spatial-temporal transformer

Also Published As

Publication number Publication date
US20220232247A1 (en) 2022-07-21
US11303925B2 (en) 2022-04-12
US11825115B2 (en) 2023-11-21
WO2019120108A1 (zh) 2019-06-27
US20200322626A1 (en) 2020-10-08
CN109934881B (zh) 2022-02-18
EP3716212A1 (en) 2020-09-30
EP3716212A4 (en) 2021-01-27

Similar Documents

Publication Publication Date Title
CN109934881A (zh) 图像编码方法、动作识别的方法及计算机设备
Song et al. Constructing stronger and faster baselines for skeleton-based action recognition
CN109086869B (zh) 一种基于注意力机制的人体动作预测方法
WO2021088556A1 (zh) 图像处理方法、装置、设备及存储介质
CN110599395B (zh) 目标图像生成方法、装置、服务器及存储介质
CN109948453B (zh) 一种基于卷积神经网络的多人姿态估计方法
CN109961005A (zh) 一种基于二维卷积网络的动态手势识别方法及系统
CN112131908A (zh) 基于双流网络的动作识别方法、装置、存储介质及设备
CN113128424B (zh) 基于注意力机制的图卷积神经网络动作识别方法
CN113064968B (zh) 一种基于张量融合网络的社交媒体情感分析方法及系统
CN111462274A (zh) 一种基于smpl模型的人体图像合成方法及系统
CN113096001A (zh) 图像处理方法、电子设备及可读存储介质
CN112906520A (zh) 一种基于姿态编码的动作识别方法及装置
CN114333002A (zh) 基于图深度学习和人脸三维重建的微表情识别方法
CN115223201A (zh) 基于单目序列图像的三维人体关节点估算方法、系统及装置
CN113657272B (zh) 一种基于缺失数据补全的微视频分类方法及系统
CN114494543A (zh) 动作生成方法及相关装置、电子设备和存储介质
CN113240714A (zh) 一种基于情境感知网络的人体运动意图预测方法
CN116665300A (zh) 基于时空自适应特征融合图卷积网络的骨架动作识别方法
Yin et al. Spatiotemporal Progressive Inward-Outward Aggregation Network for skeleton-based action recognition
CN115205750A (zh) 基于深度学习模型的运动实时计数方法和系统
Wang et al. [Retracted] Convolution‐Based Design for Real‐Time Pose Recognition and Character Animation Generation
CN114863013A (zh) 一种目标物体三维模型重建方法
CN112949419A (zh) 一种基于肢体层次结构的动作识别方法
Blobel Assessing Human Mobility by Constructing a Skeletal Database and Augmenting it Using a Generative Adversarial Network (GAN) Simulator

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