Nothing Special   »   [go: up one dir, main page]

CN109558832B - 一种人体姿态检测方法、装置、设备及存储介质 - Google Patents

一种人体姿态检测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109558832B
CN109558832B CN201811427578.XA CN201811427578A CN109558832B CN 109558832 B CN109558832 B CN 109558832B CN 201811427578 A CN201811427578 A CN 201811427578A CN 109558832 B CN109558832 B CN 109558832B
Authority
CN
China
Prior art keywords
human body
body posture
image data
human
frame image
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
CN201811427578.XA
Other languages
English (en)
Other versions
CN109558832A (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.)
Bigo Technology Pte Ltd
Original Assignee
Guangzhou Baiguoyuan Information 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 Guangzhou Baiguoyuan Information Technology Co Ltd filed Critical Guangzhou Baiguoyuan Information Technology Co Ltd
Priority to CN201811427578.XA priority Critical patent/CN109558832B/zh
Publication of CN109558832A publication Critical patent/CN109558832A/zh
Priority to US17/297,882 priority patent/US11908244B2/en
Priority to PCT/CN2019/119633 priority patent/WO2020108362A1/zh
Application granted granted Critical
Publication of CN109558832B publication Critical patent/CN109558832B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种人体姿态检测方法、装置、设备及存储介质。该方法包括:采集多帧图像数据;将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成;在人体姿态参考图中识别人体姿态关键点;根据人体姿态关键点的可信性,生成人体姿态置信图;判断当前帧图像数据是否为最后一帧图像数据;若否,则将人体姿态置信图输入至人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图;若是,则结束执行生成多帧图像数据的人体姿态置信图的操作。本发明实施例实现了在嵌入式平台上进行人体姿态检测。

Description

一种人体姿态检测方法、装置、设备及存储介质
技术领域
本发明实施例涉及人体姿态检测技术,尤其涉及一种人体姿态检测方法、装置、设备及存储介质。
背景技术
人体姿态检测是计算机视觉领域中最具挑战性的研究方向,被广泛应用于人机交互、智能监控、虚拟现实和人体行为分析等领域。但是,由于组成人体姿态的各个关键点所在的局部图像特征呈多尺度的仿射变换,并且图像容易受目标人物着装、相机的拍摄角度、距离、光照变化和局部遮挡等因素影响,使得人体姿态检测研究进展缓慢。
现有技术中,通常采用基于卷积神经网络来进行人体姿态检测,同时,为了获得较高的识别精度,通常需要采集大量的训练样本对人体姿态检测模型进行长时间监督学习。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:由于嵌入式平台中没有GPU(Graphics Processing Unit,图形处理器)对卷积神经网络中计算量最大的卷积操作进行优化,因此,大量基于卷积神经网络的人体姿态检测方法无法应用于嵌入式平台。
发明内容
本发明实施例提供一种人体姿态检测方法、装置、设备及存储介质,以实现在嵌入式平台上的人体姿态检测。
第一方面,本发明实施例提供了一种人体姿态检测方法,该方法包括:
采集多帧图像数据;
将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,所述人体检测模型为经应用于嵌入式平台的卷积神经网络训练生成;
在所述人体姿态参考图中识别人体姿态关键点;
根据所述人体姿态检测点的可信性,生成人体姿态置信图;
判断当前帧图像数据是否为最后一帧图像数据;
若否,则将所述人体姿态置信图输入至所述人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图;
若是,则结束执行生成多帧图像数据的人体姿态置信图的操作。
进一步的,所述将所述当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,包括:
判断上一帧图像数据的人体姿态置信图是否可信;
若是,则将所述当前帧图像数据和所述上一帧图像数据的人体姿态置信图输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图;
若否,则将所述当前帧图像数据和预设图像数据输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图。
进一步的,所述在所述人体姿态参考图中识别人体姿态关键点,包括:
在所述人体姿态参考图中确定最大概率值的坐标位置,将所述坐标位置作为人体姿态关键点。
进一步的,所述根据所述人体姿态关键点的可信性,生成人体姿态置信图,包括:
判断所述人体姿态关键点是否可信;
若是,则以所述人体姿态关键点作为中心生成掩模图,作为人体姿态置信图;
若否,则将所述预设图像数据作为人体姿态置信图。
进一步的,所述判断所述人体姿态关键点是否可信,包括:
判断所述人体关键点对应的概率值是否大于预设的阈值;
若是,则确定所述人体姿态关键点可信;
若否,则确定所述人体姿态关键点不可信。
进一步的,所述人体姿态检测模型包括主路、第一支路和第二支路,所述主路包括残差模块和上采样模块,所述第一支路包括提炼网络,所述第二支路包括反馈模块;
所述将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,包括:
将当前帧图像数据输入至所述残差模块进行处理,以参考将上一帧图像数据的人体姿态置信图输入至所述反馈模块进行处理,得到第一卷积结果;
将所述残差模块输出的第一卷积结果分别输入至所述上采样模块和所述提炼网络模块进行处理,分别得到第二卷积结果和第三卷积结果;
将所述第二卷积结果和所述第三卷积结果相加,输出多张人体姿态参考图。
进一步的,所述残差模块包括第一残差单元、第二残差单元和第三残差单元;
所述将当前帧图像数据输入至所述残差模块进行处理,以参考将上一帧图像数据的人体姿态置信图输入至所述反馈模块进行处理,得到第一卷积结果,包括:
将所述当前帧图像数据输入至所述第一残差单元进行处理得到第一中间结果;
将所述第一中间结果输入至所述第二残差单元进行处理,以及将所述上一帧图像数据的人体姿态置信图输入至所述反馈模块进行处理后的结果相加,得到第二中间结果;
将所述第二中间结果输入至所述第三残差单元进行处理,得到第三中间结果,作为所述第一卷积结果;
其中,所述第一中间结果、所述第二中间结果和所述第三中间结果的通道数依次增多。
进一步的,所述人体姿态检测模型还包括第三支路;
所述将所述残差模块输出的第一卷积结果分别输入至所述上采样模块和所述提炼网络模块进行处理,分别得到第二卷积结果和第三卷积结果,包括:
将所述第一中间结果输入至所述第三支路进行处理,得到第四中间结果;
将所述第二中间结果输入至所述第三支路进行处理,得到第五中间结果;
将所述第三中间结果和所述第五中间结果输入至所述上采样模块进行处理,得到第六中间结果;
将所述第四中间结果和所述第六中间结果输入至所述上采样模块进行处理,得到第七中间结果,作为所述第二卷积结果;
将所述残差模块输出的第一卷积结果输入至所述提炼网络模块进行处理,得到所述第三卷积结果;
其中,所述第六中间和所述第七中间的通道数依次减少。
进一步的,所述将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,还包括:
将所述第一卷积结果和所述第二卷积结果相加,得到第二目标结果;
将所述多张人体姿态参考图和所述第二目标结果相加,输出新的多张人体姿态参考图;
其中,所述第二目标结果用于在对所述人体姿态检测模型进行训练时,提高所述人体姿态检测模型的精度。
第二方面,本发明实施例还提供了一种人体姿态检测装置,该装置包括:
图像数据采集模块,用于采集多帧图像数据;
人体姿态参考图输出模块,用于将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,所述人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成;
人体姿态关键点识别模块,用于在所述人体姿态参考图中识别人体姿态关键点;
人体姿态置信图生成模块,用于根据所述人体姿态关键点的可信性,生成人体姿态置信图;
判断模块,用于判断当前帧图像数据是否为最后一帧图像数据;
第一执行模块,用于若否,则将所述人体姿态置信图输入至所述人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图;
第二执行模块,用于若是,则结束执行生成多帧图像数据的人体姿态置信图的操作。
进一步的,所述人体姿态参考图输出模块,包括:
置信图可信性判断单元,用于判断上一帧图像数据的人体姿态置信图是否可信;
第一人体姿态参考图输出单元,用于若是,则将所述当前帧图像数据和所述上一帧图像数据的人体姿态置信图输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图;
第二人体姿态参考图输出单元,用于若否,则将所述当前帧图像数据和预设图像数据输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图。
进一步的,所述人体姿态关键点识别模块,包括:
人体姿态关键点识别单元,用于在所述人体姿态参考图中确定最大概率值的坐标位置,将所述坐标位置作为人体姿态关键点。
进一步的,所述人体姿态置信图生成模块,包括:
人体姿态关键点可信性判断单元,用于判断所述人体姿态关键点是否可信;
第一人体姿态置信图生成单元,用于若是,则以所述人体姿态关键点作为中心生成掩模图,作为人体姿态置信图;
第二人体姿态置信图生成单元,用于若否,则将所述预设图像数据作为人体姿态置信图。
进一步的,所述人体姿态关键点可信性判断单元,具体用于:
判断所述人体关键点对应的概率值是否大于预设的阈值;
若是,则确定所述人体姿态关键点可信;
若否,则确定所述人体姿态关键点不可信。
进一步的,所述人体姿态检测模型包括主路、第一支路和第二支路,所述主路包括残差模块和上采样模块,所述第一支路包括提炼网络模块,所述第二支路包括反馈模块;
所述将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,包括:
将当前帧图像数据输入至所述残差模块进行处理,以参考将上一帧图像数据的人体姿态置信图输入至所述反馈模块进行处理,得到第一卷积结果;
将所述残差模块输出的第一卷积结果分别输入至所述上采样模块和所述提炼网络模块进行处理,分别得到第二卷积结果和第三卷积结果;
将所述第二卷积结果和所述第三卷积结果相加,输出多张人体姿态参考图。
进一步的,所述残差模块包括第一残差单元、第二残差单元和第三残差单元;
所述将当前帧图像数据输入至所述残差模块进行处理,以参考将上一帧图像数据的人体姿态置信图输入至所述反馈模块进行处理,得到第一卷积结果,包括:
将所述当前帧图像数据输入至所述第一残差单元进行处理,得到第一中间结果;
将所述第一中间结果输入至所述第二残差单元进行处理以及将所述上一帧图像数据的人体姿态置信图输入至所述反馈模块进行处理后的结果相加,得到第二中间结果;
将所述第二中间结果输入至所述第三残差单元进行处理,得到第三中间结果,作为所述第一卷积结果;
其中,所述第一中间结果、所述第二中间结果和所述第三中间结果的通道数依次增多。
进一步的,所述人体姿态检测模型还包括第三支路;
所述将所述残差模块输出的第一卷积结果分别输入至所述上采样模块和所述提炼网络模块进行处理,分别得到第二卷积结果和第三卷积结果,包括:
将所述第一中间结果输入至所述第三支路进行处理,得到第四中间结果;
将所述第二中间结果输入至所述第三支路进行处理,得到第五中间结果;
将所述第三中间结果和所述第五中间结果输入至所述上采样模块进行处理,得到第六中间结果;
将所述第四中间结果和所述第六中间结果输入至所述上采样模块进行处理,得到第七中间结果,作为所述第二卷积结果;
将所述残差模块输出的第一卷积结果输入至所述提炼网络模块进行处理,得到所述第三卷积结果;
其中,所述第六中间和所述第七中间的通道数依次减少。
进一步的,所述将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,还包括:
将所述第一卷积结果和所述第二卷积结果相加,得到第二目标结果;
将所述多张人体姿态参考图和所述第二目标结果相加,输出新的多张人体姿态参考图;
其中,所述第二目标结果用于在对所述人体姿态检测模型进行训练时,提高所述人体姿态检测模型的精度。
第三方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例第一方面所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例第一方面所述的方法。
本发明实施例通过采集多帧图像数据,将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成,在人体姿态参考图中识别人体姿态关键点,根据人体姿态关键点的可信性,生成人体姿态置信图,判断当前帧图像数据是否为最后一帧图像数据,若否,则将人体姿态置信图输入至人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图,若是,则结束执行生成多帧图像数据的人体姿态置信图的操作,实现了在嵌入式平台上进行人体姿态检测,同时,将上一帧图像数据的输出结果引入对当前帧图像数据的输出结果的预测过程中,进一步提高了预测精度。
附图说明
图1是本发明实施例中的一种人体姿态检测方法的流程图;
图2是本发明实施例中的一种卷积神经网络的应用示意图;
图3是本发明实施例中的另一种人体姿态检测方法的流程图;
图4是本发明实施例中的一种人体姿态检测装置的结构示意图;
图5是本发明实施例中的一种设备的结构示意图。
具体实施方式
下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例
所谓计算机视觉,就是让计算机模拟人的视觉功能,能够像人一样通过观察来理解客观世界。它研究的主要内容是:如何利用计算机视觉技术解决以人为中心的相关问题,包括物体识别、人脸识别、人体检测与跟踪、人体姿态检测和人体运动分析等。人体姿态检测是人体行为识别的重要组成部分,也是人体行为识别系统的重要研究内容,它最终的目的是输出人的整体或者局部肢体的结构参数,如人体轮廓、头部的位置与朝向、人体关键点的位置或者部位类别。它在很多方面都有重要应用,示例性的,如运动员动作识别、动画人物制作以及基于内容的图像和视频检索等。
针对人体姿态检测来说,可将人体看成是由关键点相连接的不同部件组成,人体姿态检测可以通过获取各个关键点的位置信息来确定,其中,关键点的位置信息可以用一个平面二维坐标来表示。人体姿态检测通常需要获取人体的头部、脖子、左肩、右肩、左肘、右肘、左手腕、右手腕、左臀、右臀、左膝、右膝、左脚踝和右脚踝,共计14个关键点。
传统技术中,可以采用基于卷积神经网络的人体姿态检测方法来进行人体姿态检测,其中,卷积神经网络解决的核心问题就是如何自动提取并抽象特征,进而将特征映射到任务目标解决实际问题,一个卷积神经网络一般由以下三部分组成,第一部分是输入层,第二部分由卷积层、激励层和池化层(或下采样层)组合而成,第三部分由一个全连结的多层感知机分类器构成。卷积神经网络具有权值共享特性,权值共享即指可以通过一个卷积核的卷积操作提取整张图像不同位置的同一特征,换句话说,即是在一张图像数据中的不同位置的相同目标,它们的局部特征是基本相同的。可以理解到,使用一个卷积核只能得到一种特征,可以通过设置多核卷积,用每个卷积核来学习不同的特征来提取图像数据的特征。可以理解到,在图像处理中,卷积层的作用是将低层次的特征抽取并聚合为高层次特征,低层次的特征是基本特征,诸如纹理和边缘等局部特征,高层次特征如人脸和物体的形状等,更能表现样本的全局属性,这个过程就是卷积神经网络对目标物体层级概括性。
可以理解到,如果想实现基于卷积神经网络的人体姿态检测方法可以在嵌入式平台上运行,需要该卷积神经网络的计算量较小、运行速度快且预测精度满足实际要求。
为了解决基于卷积神经网络的人体姿态检测方法无法实现在嵌入式平台运行的问题,可考虑对卷积神经网络进行改进,具体可以采用轻量化卷积神经网络,本发明实施例所提供的卷积神经网络即指轻量化卷积神经网络。所谓轻量化卷积神经网络指的是可以应用于嵌入式平台的卷积神经网络。
下面将结合具体实施例对人体姿态检测方法进行进一步说明。
图1为本发明实施例提供的一种人体姿态检测方法的流程图,本实施例可适用于检测人体姿态的情况,该方法可以由人体姿态检测装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于设备中,例如典型的是计算机或移动终端等。如图1所示,该方法具体包括如下步骤:
步骤110、采集多帧图像数据。
在本发明的实施例中,视频可以理解为是由至少一帧图像数据组成的,因此,为了对视频中的人体姿态进行识别,可以将视频划分为一帧一帧的图像数据,分别对每帧图像数据进行分析。这里多帧图像数据表示的是同一视频中的图像数据,换句话说,该视频包括多帧图像数据。可以按照时间顺序对多帧图像数据进行命名。示例性的,如视频包括N帧图像数据,N≥1,此时,按照时间顺序可将上述N帧图像数据称为:第一帧图像数据、第二帧图像数据、…、第N-1帧图像数据以及第N帧图像数据。
可以理解到,当将视频划分为多帧图像数据时,可以按照时间顺序依次对每帧图像数据进行处理。同时,可将当前正在处理的某帧图像数据称为当前帧图像数据,将当前帧图像数据的上一帧图像数据称为上一帧图像数据,将当前帧图像数据的下一帧图像数据称为下一帧图像数据。当前可以理解到,如果当前帧数据为第一帧图像数据,则对该当前帧图像数据来说,其只有下一帧图像数据而没有上一帧图像数据;如果当前帧图像数据是最后一帧图像数据,则对当前帧图像数据来说,其只有上一帧图像数据而没有下一帧图像数据;如果当前帧图像数据既不是第一帧图像数据也不是最后一帧图像数据,则对当前帧图像数据来说,其有上一帧图像数据也有下一帧图像数据。
采用上述按照时间顺序依次对每帧图像数据进行处理的原因在于:对于人体姿态检测来说,相邻两帧图像数据之间可能存在一定的关联性,即如果根据上一帧图像数据识别出某关键点出现在了上一帧图像中的某个位置,则当前帧图像数据中该关键点也可能出现在当前帧图像数据中的同一位置附近。换句话说,如果上一帧图像数据的检测结果满足预设条件,则可以参考上一帧图像数据的检测结果,对当前帧图像数据进行处理。
步骤120、将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成。
在本发明的实施例中,人体姿态置信图可以指包括人体姿态关键点的图像,或者,人体姿态置信图可以理解为是基于人体姿态关键点所生成的图像,如以人体姿态关键点为中心生成的图像。这里所述的人体姿态关键点可以指前文所述的头部、脖子、左肩、右肩、左肘、右肘、左手腕、右手腕、左臀、右臀、左膝、右膝、左脚踝和右脚踝等14个关键点。
人体姿态参考图可以包括两方面的内容,即可能作为人体姿态关键点的各个点的位置信息以及该位置信息对应的概率值,其中,可将可能作为人体姿态关键点的点称为候选点,相应的,人体姿态参考图可以包括各个候选点的位置信息以及该位置信息对应的概率值,即每个候选点对应一个概率值,位置信息可以以坐标形式表示。同时,可以根据各个候选点的位置信息对应的概率值确定将哪个候选点作为人体姿态关键点。示例性的,如选择各个候选点的位置信息对应的概率值中最大概率值对应的候选点作为人体姿态关键点。某人体姿态参考图中包括候选点A的位置信息(xA,yA)以及对应的概率值PA;候选点B的位置信息(xB,yB)以及对应的概率值PB;候选点C的位置信息(xC,yC)以及对应的概率值PC,其中,PA<PB<PC,基于上述,确定将候选点C作为人体姿态关键点。
需要说明的是,每张人体姿态置信图对应一个人体姿态关键点,每张人体姿态参考图包括多个候选点,所述候选点是针对某个关键点的候选点,如某张人体姿态参考图包括多个候选点,所述候选点是针对左肘的候选点。再如某张人体姿态参考图也包括多个候选点,所述候选点是针对左膝的候选点。基于上述,可以理解到,针对某帧图像数据,需要从该帧图像数据中确定N个关键点,则对应存在N张人体姿态参考图以及N张人体姿态置信图。
预先训练的人体姿态检测模型可以由设定数量组的训练样本为经应用于嵌入式平台的卷积神经网络训练生成,可应用于嵌入式平台的卷积神经网络即是轻量化卷积神经网络,人体姿态检测模型可以包括主路、第一支路、第二支路和第三支路;主路可以包括残差模块和上采样模块,第一支路可以包括提炼网络模块,第二支路可以包括反馈模块;残差模块可以包括第一残差单元、第二残差单元和第三残差单元。对于人体姿态检测模型的组成部分的详细说明可参见后文。
将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,可分如下两种情况:
情况一、将当前帧图像数据作为输入变量输入至预先训练的人体姿态模型中,得到多张第一人体姿态参考图,并根据上一帧图像数据得到的多张人体姿态置信图,输出多张人体姿态参考图,其中,每张第一人体姿态参考图根据对应的上一帧图像数据得到的多张人体姿态置信图中的某张人体姿态置信图,输出当前帧图像数据的一张人体姿态参考图,上述所述的对应关系是基于关键点是否相同确定的。示例性的,如当前帧图像数据的某张第一人体姿态参考图针对的关键点是左肘,则其参考的是上一帧图像上数据中对应关键点是左肘的人体姿态置信图。
可以理解到,针对情况一,上一帧图像数据的人体姿态置信图并未作为输入变量,同当前帧图像数据一起输入至预先训练的人体姿态检测模型中,而是在当前帧图像数据输入至预先训练的人体姿态检测模型,得到多张第一人体姿态参考图后,根据上一帧图像数据的多张人体姿态置信图,依次确定每张第一人体姿态参考图是否可信,如果可信,则可将该张第一人体姿态参考图作为该帧人体姿态参考图;如果不可信,则可将上一帧图像数据中对于该张的人体姿态置信图作为该帧人体姿态参考图。
情况二、将当前帧图像数据和上一帧图像数据的人体姿态置信图作为输入变量输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图。
可以理解到,上述情况二中上一帧图像数据的人体姿态置信图也作为输入变量,同当前帧图像数据一起输入至预先训练的人体姿态检测模型中,上述设置的有益效果在于:针对视频来说,相邻两帧图像数据之间具有一定的关联性,将上一帧图像数据的结果作为反馈信息,输入至预先训练的人体姿态检测模型中,参与到预测当前帧图像数据的输出结果的进程中,可进一步提高人体姿态检测模型的预测精度。
需要说明的是,针对第二种情况,为了进一步提高人体姿态检测模型的预测精度,具体可采用如下方式:判断上一帧图像数据的人体姿态置信图是否可信;如果可信,则可将当前帧图像数据和上一帧图像数据的人体姿态置信图输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图;如果不可信,则可将当前帧图像数据和预设图像数据输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图;或者,如果不可信,则可将当前帧图像数据输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图。其中,预设图像数据指的是不包含先验知识的图像数据,如全黑图像,若以矩阵表形式表示,即为全零矩阵。对于当前帧图像数据的输出结果来说,上一帧图像数据的人体姿态置信图即是包含先验知识的图像数据;对于下一帧图像数据的输出结果来说,当前帧图像数据的人体姿态置信图即是包含先验知识的图像数据。
采用上述方式可进一步提高人体姿态检测模型的预测精度的原因在于:如果上一帧图像数据的人体姿态置信图不可信,则可以说明上一帧图像数据的人体姿态置信图并不可靠,如果在上述情况下,仍然将其作为输入变量也输入至预先训练的人体姿态检测模型中,不但不会提高人体姿态检测模型的预测精度,反而可能降低人体姿态模型的预测精度。基于上述,需要确保作为输入变量输入至预先训练的人体姿态检测模型中的上一帧图像数据的人体姿态置信图是可信的,因此,在确定是否参考上一帧图像数据的人体姿态置信图之前,具体采用了判断上一帧图像数据的人体姿态置信图是否可信的方式来实现,如果可信,则可将上一帧图像数据的人体姿态置信图作为输入变量输入至预先训练的人体姿态检测模型中,相反的,如果不可信,则不将其作为输入变量。可采用如下方式判断上一帧图像数据的人体姿态置信图是否可信,具体的:在上一帧的人体姿态参考图中识别人体姿态关键点,如果人体关键点对应的概率值大于预设的阈值,则以人体姿态关键点作为中心生成掩模图,作为上一帧的人体姿态置信图,并确定上一帧的人体姿态置信图可信;如果人体关键点对应的概率值小于等于预设的阈值,则以预设图像数据作为人体姿态置信图,并确定上一帧的人体姿态置信图不可信。
还需要说明的是,上述所述的多张人体姿态参考图针对的是当前帧图像数据的输出结果,即当前帧图像数据对应多张人体姿态参考图,更为具体的,如果需要从当前帧图像数据中确定N个关键点,则对应输出N张人体姿态参考图。同时,作为参考的上一帧图像数据的人体姿态置信图也包括N张。
另需要说明的是,上述所述的判断上一帧图像数据的人体姿态置信图是否可信指的是分别判断上一帧图像数据的每张人体姿态置信图是否可信。还可以理解到,由于人体姿态置信图可以指包括关键点的图像,不同关键点对应不同的人体姿态置信图,因此,针对不同关键点,判断人体姿态置信图是否可信的条件可以相同,也可以不同,具体可根据实际情况进行确定,在此不作具体限定。
此外,如果当前帧图像数据是第一帧图像数据,即其不存在上一帧图像数据,则可将当前帧图像数据输入至预先训练的人体姿态检测模型中,或者,可将当前帧图像数据和预设图像数据输入至预先训练的人体姿态检测模型中。
可选的,在上述技术方案的基础上,将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信,输出多张人体姿态参考图,具体可以包括:判断上一帧图像数据的人体姿态置信图是否可信。若是,则将当前帧图像数据和上一帧图像数据的人体姿态置信图输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图。若否,则将当前帧图像数据和预设图像数据输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图。
在本发明的实施例中,为了进一步提高人体姿态检测模型的预测精度,可考虑采用如下方式:判断上一帧图像数据的人体姿态置信图是否可信;如果可信,则可将当前帧图像数据和上一帧图像数据的人体姿态置信图输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图;如果不可信,则可将当前帧图像数据和预设图像数据输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图。
经过上述操作,确保作为输入变量输入至预先训练的人体姿态检测模型中的上一帧图像数据的人体姿态置信图是可信的,进而依据上一帧图像数据的人体姿态置信图所提供的先验知识,提高人体姿态检测模型对当前帧图像数据的输出结果的预测精度。
示例性的,如上一帧图像数据的人体姿态置信图有N张,分别判断N张人体姿态置信图是否可信,判断结果为x张人体姿态置信图可信,(N-x)张人体姿态置信图不可信,则可将x张可信的人体姿态置信图、(N-x)张预设图像数据和当前帧图像数据输入至人体姿态检测模型中,输出多张人体姿态参考图。
可选的,在上述技术方案的基础上,将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图之前,具体还可以包括:分别对每帧图像数据进行预处理,得到处理后的图像数据。
在本发明的实施例中,预处理可以包括归一化和白化,其中,归一化是指通过一系列变换,即利用图像的不变矩寻找一组参数使其能够消除其他变换函数对图像变换的影响,将待处理的原始图像转换成相应的唯一标准形式,该标准形式图像对平移、旋转或缩放等仿射变换具有不变特性。通常归一化包括如下步骤:即坐标中心化、x-shearing归一化、缩放归一化和旋转归一化。在将当前帧图像数据输入至预先训练的人体姿态检测模型之前,该人体姿态检测模型可以基于神经网络训练生成,将图像数据进行归一化所起到的作用是归纳统一样本的统计分布性,进而加快网络学习速度,保证输出数据中数值小的不被吞食。
由于图像数据中相邻像素之间具有很强的相关性,因此作为输入变量输入时是冗余的。白化的作用即是降低输入的冗余性,更准确的说,通过白化处理,使得输入变量具有如下性质:特征之间相关性较低;所有特征具有相同的方差,通常在图像处理中设置为单位方差。
可以理解到,在对图像数据进行预处理后,作为输入变量输入至预先训练的人体姿态检测模型中的当前帧图像数据便是经过处理后的图像数据。当然,上一帧图像数据也是经过处理后的图像数据。
步骤130、在人体姿态参考图中识别人体姿态关键点。
在本发明的实施例中,根据前文所述可知,人体姿态参考图可以包括两方面的内容,即可能作为人体姿态关键点的各个点的位置信息以及该位置信息对应的概率值,其中,人体姿态关键点可以指确定作为关键点的点,换句话说,人体姿态关键点即为关键点,同时,可将可能作为人体姿态关键点的点称为候选点。
基于上述,可以理解到,人体姿态参考图包括多个候选点的位置信息以及位置信息对应的概率值,可以根据各个候选点的位置信息对应的概率值确定将哪个候选点作为人体姿态关键点。示例性的,如选择各个候选点的位置信息对应的概率值中最大概率值对应的候选点作为人体姿态关键点。
可选的,在上述技术方案的基础上,在人体姿态参考图中识别人体姿态关键点,具体可以包括:在人体姿态参考图中确定最大概率值的坐标位置,将所述坐标位置作为人体姿态关键点。
在本发明的实施例中,由于人体姿态参考图包括可能作为人体姿态关键点的各个点的位置信息以及该位置信息对应的概率值,因此,可以根据各个点的位置信息所对应的概率值,确定将哪个点作为人体姿态关键点。具体可以为:在人体姿态参考图中确定最大概率值的坐标位置,将坐标位置作为人体姿态关键点。
需要说明的是,针对每张人体姿态参考图来说,其只有一个人体姿态关键点。采用上述根据概率值的方式确定人体姿态关键点,可能存在如下问题,在人体姿态参考图中有至少两个概率值相等,且均大于其它概率值,则可以根据实际情况,如关节连接是否合理,在进一步确定将哪个概率值的坐标位置作为人体姿态关键点。示例性的,如人体姿态参考图中有两个概率值相等且均大于其它概率值,两个概率值的坐标位置分别为A和B,分别将A和B作为人体姿态关键点进行关节连接是否合理的判断,判断结果为:如果将A作为人体姿态关键点,则关节连接不合理;如果将B作为人体姿态关键点,则关节连接合理。因此,确定B为人体姿态关键点。
步骤140、根据人体姿态关键点的可信性,生成人体姿态置信图。
在本发明的实施例中,可信性可以包括可信和不可信,确定可信和不可信的标准可以为:人体姿态关键点对应的概率值是否大于预设的阈值,即如果人体姿态关键点对应的概率值大于预设的阈值,则可以说明该人体姿态关键点可信;如果人体姿态关键点对应的概率值小于等于预设的阈值,则可以说明该人体姿态关键点不可信。
在此基础上,如果人体姿态关键点可信,则以人体姿态关键点为中心生成掩模图,作为人体姿态置信图;如果人体姿态关键点不可信,则可将预设图像数据作为人体姿态置信图。这里所述的预设图像数据与前文所述的预设图像数据相同,预设图像数据可以为全黑图像,若以矩阵表形式表示,即为全零矩阵。其中,可采用如下方式判断人体姿态关键点是否可信,具体的:判断人体姿态关键点的概率值是否大于预设的阈值。如果人体姿态关键点的概率值大于预设的阈值,则可以说明该人体姿态关键点可信;如果人体姿态关键点的概率值小于等于预设的阈值,则可以说明该人体姿态关键点不可信。
需要说明的是,如果确定人体姿态关键点不可信,则将上一帧图像数据中对应的人体姿态关键点作为当前帧人体姿态关键点,但是,针对不可信的人体姿态关键点来说,其人体姿态置信图并不是根据上一帧图像数据中对应的人体姿态关键点生成的,而是根据预设图像数据人体姿态置信图生成的。
可选的,在上述技术方案的基础上,根据人体姿态关键点的可信性,生成人体姿态置信图,具体可以包括:判断人体姿态关键点是否可信。若是,则以人体姿态关键点作为中心生成掩模图,作为人体姿态置信图。若否,则将预设图像数据作为人体姿态置信图。
在本发明的实施例中,掩模图即指对图像进行图像掩膜处理后得到的图像。其中,图像掩膜是指用选定的图像、图形或物体,对待处理的图像(全部或局部)进行遮挡来控制图像处理的区域或处理过程。其中,用于覆盖的特定图像或物体称为掩膜或模板。在数字图像处理中,掩膜可以为二维矩阵数组,也可以为多值图像,图像掩膜主要用于:其一、提取感兴趣区域。即用预先制作的感兴趣区域掩膜与待处理图像相乘,得到感兴趣区域图像,感兴趣区域内图像值保持不变,而区域外图像值均为零;其二、屏蔽作用。即用掩膜对待处理图像上某些区域作屏幕,使其不参与处理、不参与处理参数的计算或者仅对所掩区域作处理、统计;其三、结构特征提取。即用相似性模板或图像匹配方法检测和提取待处理图像中与掩膜相似的结构特征;其四、制作特殊形状的图像。
根据人体姿态关键点的可信性,将人体姿态参考图生成人体姿态置信图,具体可以包括:如果人体姿态关键点可信,则以人体姿态关键点作为中心生成掩模图,作为人体姿态置信图,可以包括:如果人体姿态关键点可信,则以人体姿态关键点作为中心,并使用高斯核生成掩模图,作为人体姿态置信图。需要说明的是,可以通过设置高斯核的参数来确定掩模图所影响区域,其中,高斯核的参数包括滤波窗口的宽度和高度,高斯核可以为二维高斯核。示例性的,如某高斯核为二维高斯核,该二维高斯核的参数为滤波窗口的宽度为7,高度为7,即掩模图所影响区域为7×7的方形区域。
需要说明的是,如果人体姿态关键点不可信,则可以将预设图像数据作为人体姿态置信图,也可将预设图像数据认为是一种掩模图。这里所述的预设图像数据与前文所述的预设图像数据相同,预设图像数据可以为全黑图像,若以矩阵表形式表示,即为全零矩阵。
可选的,在上述技术方案的基础上,判断人体姿态关键点是否可信,具体可以包括:判断人体关键点对应的概率值是否大于预设的阈值。若是,则确定人体关键点可信。若否,则确定人体关键点不可信。
在本发明的实施例中,需要说明的是,阈值可以根据实际情况进行设定,在此不作具体限定。此外,不同人体姿态关键点对应的阈值可以相同,也可以不同,具体也可以根据实际情况进行确定,在此不作具体限定,如对于重要的人体姿态关键点,可设置较大的阈值,对于不重要的人体姿态关键点,可设置较小的阈值。示例性的,如当人体姿态关键点为头顶时,其对应的阈值为0.9,而当人体姿态关键点为左膝时,其对应的阈值为0.5。
步骤150、判断当前帧图像数据是否为最后一帧图像数据;若否,则执行步骤160;若是,则执行步骤170。
步骤160、将人体姿态置信图输入至人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图。
步骤170、结束执行生成多帧图像数据的人体姿态置信图的操作。
在本发明的实施例中,判断当前帧图像数据是否为最后一帧图像数据,如果当前帧图像数据不为最后一帧图像数据,则可将当前帧图像数据的人体姿态置信图输入至人体姿态检测模型中,作为下一帧图像数据的输出结果的参考,以提高下一帧图像数据的输出结果的精度,即将下一帧图像数据输入至预先训练的人体姿态检测模型中,以参考当前帧图像数据的人体姿态置信图,输出下一帧图像数据的多张人体姿态参考图,在人体姿态参考图中识别人体姿态关键点,根据人体姿态关键点的可信性,生成人体姿态置信图。
需要说明的是,如果当前帧图像数据为最后一帧图像数据,则表明可以结束执行生成多帧图像数据的人体姿态置信图的操作,而无需再将得到的人体姿态置信图输入至人体姿态检测模型中。在此基础上,可以理解到,如果当前帧图像数据为最后一帧图像数据,则可以只执行步骤120、步骤130以及判断人体姿态关键点是否可信,如果不可信,则将上一帧图像数据中对应的人体姿态关键点作为人体姿态关键点。当然可以理解到,每经过步骤120、步骤130以及判断人体姿态关键点是否可信,如果不可信,则将上一帧图像数据中对应的人体姿态关键点作为人体姿态关键点,便可以得到当前帧图像数据对应的人体姿态关键点。
还需要说明的是,步骤120-步骤150,均是针对当前帧图像数据的处理过程,相应的,步骤120和步骤130中的人体姿态参考图指的是当前帧图像数据对应的人体姿态参考图,步骤130和步骤140中的人体姿态关键点指的是当前帧图像数据对应的人体姿态关键点,以及步骤140和步骤150中的人体姿态置信图指的是当前帧图像数据对应的人体姿态置信图。
基于上述,由于当前帧图像数据表示的是当前正在处理的某帧图像数据,因此,如果第一帧图像数据为当前正在处理的某帧图像数据,则可以将第一帧图像数据作为当前帧图像数据;如果第二帧图像数据为当前正在处理的某帧图像数据,则可以将第二帧图像数据作为当前帧图像数据,依此类推。换句话说,当前帧图像数据可以为第一帧图像数据、第二帧图像数据、第三帧图像数据、……、第N-1帧图像数据或第N帧图像数据。
假设视频包括N帧图像数据,N≥1,如果确定当前帧图像数据不是第N帧图像数据,则可以重复执行步骤120-140,进而完成对第一帧图像数据至第N-1帧图像数据的处理操作;如果确定当前帧图像数据为第N帧图像数据,则可以执行步骤120-步骤130以及如果不可信,则将上一帧图像数据中对应的人体姿态关键点作为人体姿态关键点即可。
本实施例的技术方案,通过采集多帧图像数据,将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成,在人体姿态参考图中识别人体姿态关键点,根据人体姿态关键点的可信性,生成人体姿态置信图,判断当前帧图像数据是否为最后一帧图像数据,若否,则将人体姿态置信图输入至人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图,若是,则结束执行生成多帧图像数据的人体姿态置信图的操作,实现了在嵌入式平台上进行人体姿态检测,同时,将上一帧图像数据的输出结果引入对当前帧图像数据的输出结果的预测过程中,进一步提高了预测精度。
可选的,在上述技术方案的基础上,人体姿态检测模型包括主路、第一支路和第二支路,主路包括残差模块和上采样模块,第一支路包括提炼网络模块,第二支路包括反馈模块。
将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,具体可以包括:将当前帧图像数据输入至残差模块进行处理,以参考将上一帧图像数据的人体姿态置信图输入至反馈模块进行处理,得到第一卷积结果。将残差模块输出的第一卷积结果分别输入至上采样模块和提炼网络模块进行处理,分别得到第二卷积结果和第三卷积结果。将第二卷积结果和第三卷积结果相加,输出多张人体姿态参考图。
在本发明的实施例中,残差模块可以用于提取图像数据的边缘和轮廓等特征,而上采样模块可以用于提取图像数据的上下文信息。提炼网络模块用于对残差模块输出的第一卷积结果进行处理,可将第一卷积结果认为是网络中间层信息,即提炼网络模块利用了网络中间层信息,增加了其回传梯度,进而提高了卷积神经网络的预测精度。反馈模块用于将上一帧图像数据的人体姿态置信图引入卷积神经网络中,提高当前帧图像数据输出结果的精度。
将当前帧图像数据输入至残差模块进行处理,以参考将上一帧图像数据的人体姿态置信图输入至反馈模块进行处理,得到第一卷积结果,可作如下理解:将所述当前帧图像数据输入至所述残差模块进行处理以及将所述上一帧图像数据的人体姿态置信图输入至所述反馈模块进行处理后的结果相加,得到第一卷积结果。
将残差模块输出的第一卷积结果分别输入至上采样模块和提炼网络模块进行处理,得到第二卷积结果和第三卷积结果,再将第二卷积结果和第三卷积结果相加,输出多张人体姿态参考图,其中,上采样模块具体可以采用最近邻插值方法,也可采用其它上采样方法,具体可以根据实际情况进行设定,在此不作具体限定。
通过提炼网络模块利用了网络中间层信息,增加了其回传梯度,进而提高了卷积神经网络的预测精度。通过反馈模块将上一帧图像数据的人体姿态置信图引入卷积神经网络中,参与人体姿态检测模型对当前帧图像数据的预测,也提高了卷积神经网络的预测精度。
可选的,在上述技术方案的基础上,残差模块包括第一残差单元、第二残差单元和第三残差单元。
将当前帧图像数据输入至残差模块进行处理,以参考将上一帧图像数据的人体姿态置信图输入至反馈模块进行处理,得到第一卷积结果,具体可以包括:将当前帧图像数据输入至第一残差单元进行处理,得到第一中间结果。将第一中间结果输入至第二残差单元进行处理以及将上一帧图像数据的人体姿态置信图输入至反馈模块进行处理后的结果相加,得到第二中间结果。将第二中间结果输入至第三残差单元进行处理,得到第三中间结果,作为第一卷积结果。其中,第一中间结果、第二结果和第三结果的通道数依次增多。
在本发明的实施例中,残差模块具体可以包括第一残差单元、第二残差单元和第三残差单元,其中,每个残差单元均由ShuffleNet子单元和ShuffleNet下采样子单元组成,其中,ShuffleNet子单元可以实现对任意尺寸的图像数据进行操作,其由两个参数控制,分别为输入深度和输出深度,其中,输入深度表示的是输入网络中间特征层的层数,输出深度指的是该子单元所输出中间特征层的层数,层数与通道数对应,ShuffleNet子单元提取了较高层次的特征,同时保留了原有层次的信息,可以实现不改变图像数据的尺寸大小,只改变网络中间特征层的深度,可以将其看做一个保持尺寸大小不变的高级“卷积层”。其中,在卷积神经网络中,通道数即指每个卷积层中卷积核的个数。此外,需要说明的是,每个残差单元可以只包含一个ShuffleNet子单元,相比于原有的每个残差单元包括三个ShuffleNet子单元而言,简化了网络结构,相应的,也就减少了计算量,提升了处理效率。
通过第一残差单元、第二残差单元和第三残差单元中ShuffleNet下采样子单元的依次处理,使得第一中间结果、第二中间结果和第三中间结果的尺寸依次变小,同时,为了保持网络大小的不变,使第一中间结果的通道数、第二中间结果的通道数和第三中间结果的通道数依次增多。此外,每个通道对应一张特征图。
需要说明的是,中间结果可以用W×H×K表示,其中,W表示中间结果的宽度,H表示中间结果的长度,K表示通道数,W×H即表示中间结果的尺寸。针对输入图像数据来说,其可以表示为W×H×D,其中,W和H与前述含义相同,D表示深度,示例性的,如果输入图像数据是RGB图像,则D=3,如果输入图像数据是灰度图像,则D=1。
示例性的,如第一中间结果、第二中间结果和第三中间结果用M×N×K表示,M、N和K的含义与前述相同,第一中间结果为64×32×32,第二中间结果为32×16×64,第三中间结果为16×8×128。基于上述可知,第一中间结果的尺寸为64×32,第二中间结果的尺寸为32×16,第三中间结果的尺寸为16×8,上述表明,第一中间结果、第二中间结果和第三中间结果的尺寸依次变小。同时,第一中间结果的通道数为32,第二中间结果的通道数为64,第三中间结果的通道数为128,上述表明,第一中间结果、第二中间结果和第三中间结果的通道数依次增多。
可选的,在上述技术方案的基础上,人体姿态检测模型具体还可以包括第三支路。
将残差模块输出的第一卷积结果分别输入至上采样模块和提炼网络模块进行处理,分别得到第二卷积结果和第三卷积结果,具体可以包括:将第一中间结果输入至第三支路进行处理,得到第四中间结果。将第二中间结果输入至第三支路进行处理,得到第五中间结果。将第三中间结果和第五中间结果输入至上采样模块进行处理,得到第六中间结果。将第四中间结果和第六中间结果输入至上采样模块进行处理,得到第七中间结果,作为第二卷积结果。将残差模块输出的第一卷积结果输入至提炼网络模块进行处理,得到第三卷积结果。其中,第六中间结果和第七中间结果的通道数依次减少。
在本发明的实施例中,人体姿态检测模型具体还可以包括第三支路,第三支路所起到的作用在于:通过将第三支路,实现了将跳转连接的卷积操作移至主路上,从而进一步提高了人体姿态检测模型的预测精度。第三支路具体可以包括1×1卷积核模块、批标准化模块和线性激活函数模块。其中,1×1卷积核可以起到如下作用,具体的:
情况一、针对单通道和单个卷积核来说,1×1的卷积核是对输入图像数据进行的比例缩放,这是由于1×1卷积核只有一个参数,这个卷积核在输入图像数据上滑动,就相当于给输入图像数据乘以一个系数;
情况二、针对多通道和多个卷积核来说,1×1卷积核具有如下两方面的作用:其一,实现跨通道的交互和信息整合;其二、进行降维和升维并减少网络参数,这里所述的降维指的是减少通道数,升维指的是增加通道数;其三、在不损失分辨率的前提下大幅增加非线性特性。
批标准化模块用于进行批标准化处理,其中,批标准化(或称批量归一化)是为了克服神经网络层数加深,收敛速度变慢,导致的梯度消失或者梯度爆炸,具体可以通过采用批标准化来规范某些层或者所有层的输入,从而固定每层输入信号的均值与方差,使得每一层的输入有一个稳定的分布。更为具体的:其一般用在激活函数之前,对x=W+b进行规范化,使输出结果的均值为0,方差为1,其中,W表示权值矩阵,b表示偏置。可以理解到,在卷积神经网络中,权值矩阵即指卷积核,即W表示卷积核。
由于第七中间结果是将第六中间结果和第四中间结果输入至上采样模块后得到的,因此,第七中间结果的尺寸大于第六中间结果的尺寸,同时,为了保持网络大小不变,使第六中间结果的通道数和第七中间结果的通道数依次减少。
通过将第三支路,实现了将跳转连接的卷积操作移至主路上,从而进一步提高了人体姿态检测模型的预测精度。此外,可将第一中间结果、第二中间结果和第三中间结果理解编码部分,将第六中间结果和第七中间结果理解为解码部分,为了保持网络大小不变,在编码部分,随着中间结果的尺寸减小,依次增加中间结果的通道数;在解码部分,随着中间结果的尺寸增大,依次减少中间结果的通道数。此外,可以理解到,本发明实施例所提供的卷积神经网络是一种非对称编码-解码结构。
可选的,在上述技术方案的基础上,将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图输出多张人体姿态参考图,具体还可以包括:将第一卷积结果和第二卷积结果相加,得到第二目标结果。将多张人体姿态参考图和第二目标结果相加,输出新的多张人体姿态参考图。其中,第二目标结果用于在对人体姿态检测模型进行训练时,提高人体姿态检测模型的精度。
在本发明的实施例中,为了提高人体姿态检测模型在训练阶段的精度,可以考虑增加中途监督,中途监督指的是在每个阶段的输出都计算损失,可以保证底层参数正常更新。
将第一卷积结果和第二卷积结果相加,得到第二目标结果,再将第二目标结果与多张人体姿态参考图相加,得到新的多张人体姿态参考图,上述第二目标结果即起到中途监督的作用,即第二目标结果也参与到损失的计算过程中。
需要说明的是,在预测阶段,可以不执行将第一卷积结果和第二卷积结果相加的操作,即在预测阶段,输出结果只包括多张人体姿态参考图。
还需要说明的是,本发明实施例所述的技术方案,在采集到多帧图像数据后,无需进行检测图像数据中是否有人脸,如果存在人脸,则检测人脸在图像数据中所在的位置,再将其提取等操作,不进行上述操作的原因在于:上述操作耗时较长,且检测结果误差较大。可以理解到,当不进行上述操作时,可以大大提高数据处理效率。
另需要说明的是,由于第二残差单元和第三残差单元均由ShuffleNet子单元和ShuffleNet下采样子单元组成,在每次进行下采样之前,主路上保留原尺寸信息,即在第二残差单元的ShuffleNet下采样子单元在进行下采样之前,将第一中间结果输入至第二残差单元;在第三残差单元的ShuffleNet下采样子单元在进行下采样之前,将第二中间结果输入至第三残差单元。两次下采样之间,使用一个ShuffleNet子单元提取特征,即第一残差单元和第二残差单元之间使用一个ShuffleNet子单元提取特征,该ShuffleNet子单元为第一残差单元的ShuffleNet子单元;第二残差单元和第三残差单元之间使用一个ShuffleNet子单元提取特征,即第二残差单元和第三残差单元之间使用一个ShuffleNet子单元提取特征,该ShuffleNet子单元为第二残差单元的ShuffleNet子单元。
本发明实施例所提供的卷积神经网络引入了提炼网络模块、反馈模块以及将跳转连接的卷积操作移至主路上,上述提高了卷积神经网络的预测精度。此外,采用非对称编码-解码结构,保证了网络大小基本不变,由于每个残差单元只包含一个ShuffleNet子单元,相比于原有的每个残差单元包括三个ShuffleNet子单元而言,简化了网络结构,相应的,也就减少了计算量,提升了处理效率。基于上述,使得基于卷积神经网络的人体姿态检测方法可以应用于嵌入式平台,如智能手机的嵌入式平台上,并且实时运行且预测精度可以满足要求。
为了更好的理解本发明实施例所提供的卷积神经网络,下面以具体示例进行说明,具体的:
如图2所示,为一种卷积神经网络的应用示意图,该卷积神经网络具有可以包括:主路、第一支路、第二支路和第三支路,其中,主路包括第一卷积模块21、第一残差单元22、第二残差单元23、第三残差单元24、第二卷积模块25、上采样模块26、按位加模块27和第三卷积模块28,其中,第一残差单元22、第二残差单元23和第三残差单元24均包括ShuffleNet下采样子单元221和ShuffleNet子单元222,第一支路包括提炼网络模块29,其中,提炼网络模块29包括ShuffleNet子单元222和上采样模块26,第二支路包括反馈模块30,第三支路包括第二卷积模块25。
需要说明的是,模块、单元或子单元上标注的W×H×K,表示经过该模块、单元或子单元处理后得到的结果,其中,W表示结果的宽度,H表示结果的长度,K表示通道数。
还需要说明的是,第一卷积模块21包括如下处理操作:第一步、卷积操作,具体所采用的卷积核的尺寸为3×3;第二步、批标准化;第三步、线性激活函数。第二卷积模块25包括如下处理操作:第一步、卷积操作,具体采用所卷积核的尺寸为1×1;第二步、批标准化;第三步、线性激活函数。第三卷积模块26包括如下处理操作:第一步、卷积操作,具体所采用的卷积核的尺寸为1×1;第二步、批标准化;第三步、线性激活函数;第四步、卷积操作,具体所采用采用的卷积核的尺寸为3×3。
假设当前帧图像数据为256×128×3的RGB图像,将其作为输入变量输入至卷积神经网络中,依次经过第一卷积模块21和第一残差单元22后,得到第一中间结果,第一中间结果为64×32×32,将第一中间结果输入至第二残差单元23进行处理,以及将上一帧图像数据的人体姿态置信图输入至反馈模块30进行处理后的结果相加,得到第二中间结果,第二中间结果为32×16×64,将第二中间结果输入至第三残差单元24进行处理,得到第三中间结果,将第三中间结果作为第一卷积结果,第一卷积结果为16×8×128。需要说明的是,反馈模块30可以包括1×1卷积核,用于升维,这是由于上一帧图像数据的人体姿态置信图为64×32×14,而第一中间结果为64×32×32,需要升维,以保证两者输出通道数一致。
将第一中间结果输入至第三支路的第二卷积模块25进行处理,得到第四中间结果,第四中间结果为64×32×32。
将第二中间结果输入至第三支路的第二卷积模块25进行处理,得到第五中间结果,第五中间结果为32×16×32。
将第三中间结果输入至主路上的第二卷积模块25和上采样模块26进行处理后得到的结果和第五中间结果,共同输入至主路上的按位加模块27进行处理,得到第六中间结果,将第六中间结果输入至主路上的上采样模块26进行处理得到的结果和第四中间结果,共同输入至主路上的按位加模块27进行处理,得到第七中间结果,将第七中间结果作为第二卷积结果,第二卷积结果为64×32×32。
将第三中间结果输入至主路上的第二卷积模块25进行处理得到的结果,再输入至第一支路上的ShuffleNet子单元222进行处理,得到第八中间结果,将第八中间结果输入至第一支路上的上采样模块26进行处理,得到第九中间结果,再将第九中间结果输入至第一支路上的ShuffleNet子单元222进行处理,得到第十中间结果,将第十中间结果输入至第一支路上的上采样模块26进行处理,得到第十一中间结果。将第六中间结果输入至第一支路上的ShuffleNet子单元222进行处理,得到第十二中间结果,将第十二中间结果输入至第一支路上的上采样模块26进行处理,得到第十三中间结果,将第十一中间结果和第十三中间结果相加,得到第三卷积结果,第三卷积结果为64×32×32。
将第二卷积结果和第三卷积结果输入至主路上的按位加模块27,得到第十四中间结果,将第十四中间结果输入至主路上的ShuffleNet子单元222,得到第十五中间结果,第十五中间结果为64×32×32,将第十五中间结果输入至主路上的第三卷积模块28,输出多张人体姿态参考图。
将第一卷积结果和第二卷积结果相加,得到第二目标结果,第二目标结果为64×32×14。将多张人体姿态参考图和第二目标结果相加,输出新的多张人体姿态参考图。其中,第二目标结果用于在对人体姿态检测模型进行训练时,提高人体姿态检测模型的精度。
需要说明的是,由于上一帧图像数据的人体姿态置信图并未在开始时,便与当前帧图像数据作为输入变量输入至卷积神经网络中,而是在网络中间层与第一中间结果作为输入变量输入至卷积神经网络中,上述实现了减少数据处理量。
图3为本发明实施例提供的另一种人体姿态检测方法的流程图,本实施例可适用于检测人体姿态的情况,该方法可以由人体姿态检测装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于设备中,例如典型的是计算机或移动终端等。如图3所示,该方法具体包括如下步骤:
步骤301、采集多帧图像数据。
步骤302、判断上一帧图像数据的人体姿态置信图是否可信;若是,则执行步骤303;若否,则执行步骤304。
步骤303、将当前帧图像数据和上一帧图像数据的人体姿态置信图输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图,并转入执行步骤305。
步骤304、将当前帧图像数据和预设图像数据输入至预先训练的人体姿态检测图中,输出多张人体姿态参考图,并转入执行步骤305。
步骤305、在人体姿态参考图中确定最大概率值的坐标位置,将坐标位置作为人体姿态关键点。
步骤306、判断人体姿态关键点对应的概率值是否大于预设的阈值;若是,则执行步骤307;若否,则执行步骤308。
步骤307、以人体姿态关键点为中心生成掩模图,作为人体姿态置信图,并转入执行步骤309。
步骤308、将预设图像数据作为人体姿态置信图,并转入执行步骤309。
步骤309、判断当前帧图像数据是否为最后一帧图像数据;若否,则执行步骤310;若是,则执行步骤311。
步骤310、将人体姿态置信图输入至人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图。
步骤311、结束执行生成多帧图像数据的人体姿态置信图的操作。
在本发明的实施例中,需要说明的是,本发明实施例所提供的人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成。
本实施例的技术方案,通过采集多帧图像数据,将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成,在人体姿态参考图中识别人体姿态关键点,根据人体姿态关键点的可信性,生成人体姿态置信图,判断当前帧图像数据是否为最后一帧图像数据,若否,则将人体姿态置信图输入至人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图,若是,则结束执行生成多帧图像数据的人体姿态置信图的操作,实现了在嵌入式平台上进行人体姿态检测,同时,将上一帧图像数据的输出结果引入对当前帧图像数据的输出结果的预测过程中,进一步提高了预测精度。
图4为本发明实施例提供的一种人体姿态检测装置的结构示意图,本实施例可适用于检测人体姿态的情况,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于设备中,例如典型的是计算机或移动终端等。如图4所示,该装置具体包括:
图像数据采集模块410,用于采集多帧图像数据。
人体姿态参考图输出模块420,用于将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成。
人体姿态关键点识别模块430,用于在人体姿态参考图中识别人体姿态关键点。
人体姿态置信图生成模块440,用于根据人体姿态关键点的可信性,生成人体姿态置信图。
判断模块450,用于判断当前帧图像数据是否为最后一帧图像数据。
第一执行模块460,用于若否,则将人体姿态置信图输入至人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图。
第二执行模块470,用于若是,则结束执行生成多帧图像数据的人体姿态置信图的操作。
本实施例的技术方案,通过采集多帧图像数据,将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成,在人体姿态参考图中识别人体姿态关键点,根据人体姿态关键点的可信性,生成人体姿态置信图,判断当前帧图像数据是否为最后一帧图像数据,若否,则将人体姿态置信图输入至人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图,若是,则结束执行生成多帧图像数据的人体姿态置信图的操作,实现了在嵌入式平台上进行人体姿态检测,同时,将上一帧图像数据的输出结果引入对当前帧图像数据的输出结果的预测过程中,进一步提高了预测精度。
可选的,在上述技术方案的基础上,人体姿态参考图输出模块420,具体可以包括:
置信图可信性判断单元,用于判断上一帧图像数据的人体姿态置信图是否可信。
第一人体姿态参考图输出单元,用于若是,则将当前帧图像数据和上一帧图像数据的人体姿态置信图输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图。
第二人体姿态参考图输出单元,用于若否,则将当前帧图像数据和预设图像数据输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图。
可选的,在上述技术方案的基础上,人体姿态关键点识别模块430,具体可以包括:
人体姿态关键点识别单元,用于在人体姿态参考图中确定最大概率值的坐标位置,将坐标位置作为人体姿态关键点。
可选的,在上述技术方案的基础上,人体姿态置信图生成模块440,具体可以包括:
人体姿态关键点可信性判断单元,用于判断人体姿态关键点是否可信。
第一人体姿态置信图生成单元,用于若是,则以人体姿态关键点作为中心生成掩模图,作为人体姿态置信图;
第二人体姿态置信图生成单元,用于若否,则将预设图像数据作为人体姿态置信图。
可选的,在上述技术方案的基础上,人体姿态关键点可信性判断单元,具体可以用于:
判断人体关键点对应的概率值是否大于预设的阈值。
若是,则确定人体姿态关键点可信。
若否,则确定人体姿态关键点不可信。
可选的,在上述技术方案的基础上,人体姿态检测模型包括主路、第一支路和第二支路,主路包括残差模块和上采样模块,第一支路包括提炼网络模块,第二支路包括反馈模块。
将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,具体可以包括:
将当前帧图像数据输入至残差模块进行处理,以参考将上一帧图像数据的人体姿态置信图输入至反馈模块进行处理,得到第一卷积结果。
将残差模块输出的第一卷积结果分别输入至上采样模块和提炼网络模块进行处理,分别得到第二卷积结果和第三卷积结果。
将第二卷积结果和第三卷积结果相加,输出多张人体姿态参考图。
可选的,在上述技术方案的基础上,残差模块包括第一残差单元、第二残差单元和第三残差单元。
将当前帧图像数据输入至残差模块进行处理,以参考将上一帧图像数据的人体姿态置信图输入至反馈模块进行处理,得到第一卷积结果,具体可以包括:
将当前帧图像数据输入至第一残差单元进行处理,得到第一中间结果。
将第一中间结果输入至第二残差单元进行处理以及将上一帧图像数据的人体姿态置信图输入至反馈模块进行处理后的结果相加,得到第二中间结果。
将第二中间结果输入至第三残差单元进行处理,得到第三中间结果,作为第一卷积结果。
其中,第一中间结果、第二中间结果和第三中间结果的通道数依次增多。
可选的,在上述技术方案的基础上,人体姿态检测模型具体还可以包括第三支路。
将残差模块输出的第一卷积结果分别输入至上采样模块和提炼网络模块进行处理,分别得到第二卷积结果和第三卷积结果,具体可以包括:
将第一中间结果输入至第三支路进行处理,得到第四中间结果。
将第二中间结果输入至第三支路进行处理,得到第五中间结果。
将第三中间结果和第五中间结果输入至上采样模块进行处理,得到第六中间结果。
将第四中间结果和第六中间结果输入至上采样模块进行处理,得到第七中间结果,作为第二卷积结果。
将残差模块输出的第一卷积结果输入至提炼网络模块进行处理,得到第三卷积结果。
其中,第六中间和第七中间的通道数依次减少。
可选的,在上述技术方案的基础上,将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,具体还可以包括:
将第一卷积结果和第二卷积结果相加,得到第二目标结果。
将多张人体姿态参考图和第二目标结果相加,输出新的多张人体姿态参考图。
其中,第二目标结果用于在对人体姿态检测模型进行训练时,提高人体姿态检测模型的精度。
本发明实施例所提供的人体姿态检测装置可执行本发明任意实施例所提供的人体姿态检测方法,具备执行方法相应的功能模块和有益效果。
图5为本发明实施例提供的一种设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性设备512的框图。图5显示的设备512仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,设备512以通用设备的形式表现。设备512的组件可以包括但不限于:一个或者多个处理器516,系统存储器528,连接于不同系统组件(包括系统存储器528和处理器516)的总线518。
总线518表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备512典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器528可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)530和/或高速缓存存储器532。设备512可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统534可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。存储器528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块542的程序/实用工具540,可以存储在例如存储器528中,这样的程序模块542包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块542通常执行本发明所描述的实施例中的功能和/或方法。
设备512也可以与一个或多个外部设备514(例如键盘、指向设备、显示器524等)通信,还可与一个或者多个使得用户能与该设备512交互的设备通信,和/或与使得该设备512能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口522进行。并且,设备512还可以通过网络适配器520与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器520通过总线518与设备512的其它模块通信。应当明白,尽管图5中未示出,可以结合设备512使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器516通过运行存储在系统存储器528中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种人体姿态检测方法,包括:
采集多帧图像数据。
将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成。
在人体姿态参考图中识别人体姿态关键点。
根据人体姿态关键点的可信性,生成人体姿态置信图。
判断当前帧图像数据是否为最后一帧图像数据。
若否,则将人体姿态置信图输入至人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图。
若是,则结束执行生成多帧图像数据的人体姿态置信图的操作。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供应用于设备的人体姿态检测方法的技术方案。该设备的硬件结构以及功能可参见实施例的内容解释。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的一种人体姿态检测方法,该方法包括:
采集多帧图像数据。
将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成。
在人体姿态参考图中识别人体姿态关键点。
根据人体姿态关键点的可信性,生成人体姿态置信图。
判断当前帧图像数据是否为最后一帧图像数据。
若否,则将人体姿态置信图输入至人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图。
若是,则结束执行多帧图像数据的人体姿态置信图的操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
当然,本发明实施例所提供的一种计算机可读存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的设备的人体姿态检测方法中的相关操作。对存储介质的介绍可参见实施例中的内容解释。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (11)

1.一种人体姿态检测方法,其特征在于,包括:
采集多帧图像数据;
将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出当前帧图像数据的多张人体姿态参考图,所述人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成;
在所述人体姿态参考图中识别人体姿态关键点;
根据所述人体姿态关键点的可信性,生成人体姿态置信图;
判断当前帧图像数据是否为最后一帧图像数据;
若否,则将所述人体姿态置信图输入至所述人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图;
若是,则结束执行生成多帧图像数据的人体姿态置信图的操作;
其中,所述根据所述人体姿态关键点的可信性,生成人体姿态置信图,包括:判断所述人体姿态关键点是否可信;若是,则以所述人体姿态关键点作为中心生成掩模图,作为人体姿态置信图;若否,则将预设图像数据作为人体姿态置信图。
2.根据权利要求1所述的方法,其特征在于,所述将所述当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,包括:
判断上一帧图像数据的人体姿态置信图是否可信;
若是,则将所述当前帧图像数据和所述上一帧图像数据的人体姿态置信图输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图;
若否,则将所述当前帧图像数据和预设图像数据输入至预先训练的人体姿态检测模型中,输出多张人体姿态参考图。
3.根据权利要求1所述的方法,其特征在于,所述在所述人体姿态参考图中识别人体姿态关键点,包括:
在所述人体姿态参考图中确定最大概率值的坐标位置,将所述坐标位置作为人体姿态关键点。
4.根据权利要求3所述的方法,其特征在于,所述判断所述人体姿态关键点是否可信,包括:
判断所述人体关键点对应的概率值是否大于预设的阈值;
若是,则确定所述人体姿态关键点可信;
若否,则确定所述人体姿态关键点不可信。
5.根据权利要求1-4任一所述的方法,其特征在于,所述人体姿态检测模型包括主路、第一支路和第二支路,所述主路包括残差模块和上采样模块,所述第一支路包括提炼网络模块,所述第二支路包括反馈模块;
所述将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出多张人体姿态参考图,包括:
将当前帧图像数据输入至所述残差模块进行处理,以参考将上一帧图像数据的人体姿态置信图输入至所述反馈模块进行处理,得到第一卷积结果;
将所述残差模块输出的第一卷积结果分别输入至所述上采样模块和所述提炼网络模块进行处理,分别得到第二卷积结果和第三卷积结果;
将所述第二卷积结果和所述第三卷积结果相加,输出多张人体姿态参考图。
6.根据权利要求5所述的方法,其特征在于,所述残差模块包括第一残差单元、第二残差单元和第三残差单元;
所述将当前帧图像数据输入至所述残差模块进行处理,以参考将上一帧图像数据的人体姿态置信图输入至所述反馈模块进行处理,得到第一卷积结果,包括:
将所述当前帧图像数据输入至所述第一残差单元进行处理,得到第一中间结果;
将所述第一中间结果输入至所述第二残差单元进行处理,以及将所述上一帧图像数据的人体姿态置信图输入至所述反馈模块进行处理后的结果相加,得到第二中间结果;
将所述第二中间结果输入至所述第三残差单元进行处理,得到第三中间结果,作为所述第一卷积结果;
其中,所述第一中间结果、所述第二中间结果和所述第三中间结果的通道数依次增多。
7.根据权利要求6所述的方法,其特征在于,所述人体姿态检测模型还包括第三支路;
所述将所述残差模块输出的第一卷积结果分别输入至所述上采样模块和所述提炼网络模块进行处理,分别得到第二卷积结果和第三卷积结果,包括:
将所述第一中间结果输入至所述第三支路进行处理,得到第四中间结果;
将所述第二中间结果输入至所述第三支路进行处理,得到第五中间结果;
将所述第三中间结果和所述第五中间结果输入至所述上采样模块进行处理,得到第六中间结果;
将所述第四中间结果和所述第六中间结果输入至所述上采样模块进行处理,得到第七中间结果,作为所述第二卷积结果;
将所述残差模块输出的第一卷积结果输入至所述提炼网络模块进行处理,得到所述第三卷积结果;
其中,所述第六中间结果和所述第七中间结果的通道数依次减少。
8.根据权利要求5所述的方法,其特征在于,所述将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图输出多张人体姿态参考图,还包括:
将所述第一卷积结果和所述第二卷积结果相加,得到第二目标结果;
将所述多张人体姿态参考图和所述第二目标结果相加,输出新的所述多张人体姿态参考图;
其中,所述第二目标结果用于在对所述人体姿态检测模型进行训练时,提高人体姿态检测模型的精度。
9.一种人体姿态检测装置,其特征在于,包括:
图像数据采集模块,用于采集多帧图像数据;
人体姿态参考图输出模块,用于将当前帧图像数据输入至预先训练的人体姿态检测模型中,以参考上一帧图像数据的人体姿态置信图,输出当前帧图像数据的多张人体姿态参考图,所述人体姿态检测模型为经应用于嵌入式平台的卷积神经网络训练生成;
人体姿态关键点识别模块,用于在所述人体姿态参考图中识别人体姿态关键点;
人体姿态置信图生成模块,用于根据所述人体姿态关键点的可信性,生成人体姿态置信图;
判断模块,用于判断当前帧图像数据是否为最后一帧图像数据;
第一执行模块,用于若否,则将所述人体姿态置信图输入至所述人体姿态检测模型中,用于参与生成下一帧图像数据的人体姿态置信图;
第二执行模块,用于若是,则结束执行生成多帧图像数据的人体姿态置信图的操作;
其中,人体姿态置信图生成模块包括:人体姿态关键点可信性判断单元、第一人体姿态置信图生成单元以及第二人体姿态置信图生成单元;所述人体姿态关键点可信性判断单元用于判断人体姿态关键点是否可信;所述第一人体姿态置信图生成单元用于在所述人体姿态关键点可信时以人体姿态关键点作为中心生成掩模图,作为人体姿态置信图;所述第二人体姿态置信图生成单元用于在所述人体姿态关键点不可信时将预设图像数据作为人体姿态置信图”。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8任一所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8任一所述的方法。
CN201811427578.XA 2018-11-27 2018-11-27 一种人体姿态检测方法、装置、设备及存储介质 Active CN109558832B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811427578.XA CN109558832B (zh) 2018-11-27 2018-11-27 一种人体姿态检测方法、装置、设备及存储介质
US17/297,882 US11908244B2 (en) 2018-11-27 2019-11-20 Human posture detection utilizing posture reference maps
PCT/CN2019/119633 WO2020108362A1 (zh) 2018-11-27 2019-11-20 人体姿态检测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811427578.XA CN109558832B (zh) 2018-11-27 2018-11-27 一种人体姿态检测方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109558832A CN109558832A (zh) 2019-04-02
CN109558832B true CN109558832B (zh) 2021-03-26

Family

ID=65867635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811427578.XA Active CN109558832B (zh) 2018-11-27 2018-11-27 一种人体姿态检测方法、装置、设备及存储介质

Country Status (3)

Country Link
US (1) US11908244B2 (zh)
CN (1) CN109558832B (zh)
WO (1) WO2020108362A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558832B (zh) * 2018-11-27 2021-03-26 广州市百果园信息技术有限公司 一种人体姿态检测方法、装置、设备及存储介质
CN110197117B (zh) * 2019-04-18 2021-07-06 北京奇艺世纪科技有限公司 人体轮廓点提取方法、装置、终端设备及计算机可读存储介质
CN111950321B (zh) * 2019-05-14 2023-12-05 杭州海康威视数字技术股份有限公司 步态识别方法、装置、计算机设备及存储介质
CN110163878A (zh) * 2019-05-28 2019-08-23 四川智盈科技有限公司 一种基于双重多尺度注意力机制的图像语义分割方法
CN112149477B (zh) * 2019-06-28 2024-07-19 北京地平线机器人技术研发有限公司 姿态估计方法、装置、介质及设备
US11576794B2 (en) 2019-07-02 2023-02-14 Wuhan United Imaging Healthcare Co., Ltd. Systems and methods for orthosis design
CN110327146A (zh) * 2019-07-02 2019-10-15 武汉联影医疗科技有限公司 一种矫形器设计方法、装置和服务器
CN110688888B (zh) * 2019-08-02 2022-08-05 杭州未名信科科技有限公司 一种基于深度学习的行人属性识别方法和系统
CN110991235B (zh) * 2019-10-29 2023-09-01 京东科技信息技术有限公司 一种状态监测方法、装置、电子设备及存储介质
CN111008573B (zh) * 2019-11-15 2024-04-26 广东智媒云图科技股份有限公司 一种肢体结构生成方法、装置、终端设备及可读存储介质
CN111311714A (zh) * 2020-03-31 2020-06-19 北京慧夜科技有限公司 一种三维动画的姿态预测方法和系统
CN111797753B (zh) * 2020-06-29 2024-02-27 北京灵汐科技有限公司 图像驱动模型的训练、图像生成方法、装置、设备及介质
CN112528842A (zh) * 2020-12-07 2021-03-19 北京嘀嘀无限科技发展有限公司 用于姿态检测的方法、装置、设备和存储介质
CN112488071B (zh) * 2020-12-21 2021-10-26 重庆紫光华山智安科技有限公司 提取行人特征的方法、装置、电子设备和存储介质
CN112580543B (zh) * 2020-12-24 2024-04-16 四川云从天府人工智能科技有限公司 行为识别方法、系统及装置
CN112784739B (zh) * 2021-01-21 2024-05-24 北京百度网讯科技有限公司 模型的训练方法、关键点定位方法、装置、设备和介质
CN112861777B (zh) * 2021-03-05 2024-08-27 上海有个机器人有限公司 人体姿态估计方法、电子设备及存储介质
CN113034580B (zh) * 2021-03-05 2023-01-17 北京字跳网络技术有限公司 图像信息检测方法、装置和电子设备
CN113033526A (zh) * 2021-05-27 2021-06-25 北京欧应信息技术有限公司 基于计算机实现的方法、电子设备和计算机程序产品
CN113361388B (zh) * 2021-06-03 2023-11-24 北京百度网讯科技有限公司 图像数据修正方法、装置、电子设备及自动驾驶车辆
CN113077383B (zh) * 2021-06-07 2021-11-02 深圳追一科技有限公司 一种模型训练方法及模型训练装置
CN113515143B (zh) * 2021-06-30 2024-06-21 深圳市优必选科技股份有限公司 机器人导航方法、机器人及计算机可读存储介质
KR102623109B1 (ko) * 2021-09-10 2024-01-10 중앙대학교 산학협력단 합성곱 신경망 모델을 이용한 3차원 의료 영상 분석 시스템 및 방법
CN114038009A (zh) * 2021-10-26 2022-02-11 深圳市华安泰智能科技有限公司 一种基于人体骨骼关键点的图像数据采集分析系统
CN114155556B (zh) * 2021-12-07 2024-05-07 中国石油大学(华东) 一种基于加入通道混洗模块的堆叠沙漏网络的人体姿态估计方法及系统
CN114638744B (zh) * 2022-03-03 2024-07-26 厦门大学 人体姿态迁移方法及装置
CN114782981A (zh) * 2022-03-07 2022-07-22 奥比中光科技集团股份有限公司 人体姿态估计模型、模型训练方法及人体姿态估计方法
CN115100745B (zh) * 2022-07-05 2023-06-20 北京甲板智慧科技有限公司 基于Swin Transformer模型的运动实时计数方法和系统
CN115376203A (zh) * 2022-07-20 2022-11-22 华为技术有限公司 一种数据处理方法及其装置
CN116912951B (zh) * 2023-09-13 2023-12-22 华南理工大学 人体姿态的评估方法及装置
CN117392761B (zh) * 2023-12-13 2024-04-16 深圳须弥云图空间科技有限公司 人体位姿识别方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3203412A1 (en) * 2016-02-05 2017-08-09 Delphi Technologies, Inc. System and method for detecting hand gestures in a 3d space
CN108399367A (zh) * 2018-01-31 2018-08-14 深圳市阿西莫夫科技有限公司 手部动作识别方法、装置、计算机设备及可读存储介质
CN108710868A (zh) * 2018-06-05 2018-10-26 中国石油大学(华东) 一种基于复杂场景下的人体关键点检测系统及方法
CN108846365A (zh) * 2018-06-24 2018-11-20 深圳市中悦科技有限公司 视频中打架行为的检测方法、装置、存储介质及处理器
CN108875492A (zh) * 2017-10-11 2018-11-23 北京旷视科技有限公司 人脸检测及关键点定位方法、装置、系统和存储介质
CN108875523A (zh) * 2017-12-28 2018-11-23 北京旷视科技有限公司 人体关节点检测方法、装置、系统和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385695A (zh) 2010-09-01 2012-03-21 索尼公司 人体三维姿势识别方法和装置
US8437506B2 (en) * 2010-09-07 2013-05-07 Microsoft Corporation System for fast, probabilistic skeletal tracking
US20150294143A1 (en) * 2014-04-10 2015-10-15 GM Global Technology Operations LLC Vision based monitoring system for activity sequency validation
US10372228B2 (en) * 2016-07-20 2019-08-06 Usens, Inc. Method and system for 3D hand skeleton tracking
CN107832708A (zh) 2017-11-09 2018-03-23 云丁网络技术(北京)有限公司 一种人体动作识别方法及装置
CN107798313A (zh) * 2017-11-22 2018-03-13 杨晓艳 一种人体姿态识别方法、装置、终端和存储介质
CN109344755B (zh) 2018-09-21 2024-02-13 广州市百果园信息技术有限公司 视频动作的识别方法、装置、设备及存储介质
CN109558832B (zh) 2018-11-27 2021-03-26 广州市百果园信息技术有限公司 一种人体姿态检测方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3203412A1 (en) * 2016-02-05 2017-08-09 Delphi Technologies, Inc. System and method for detecting hand gestures in a 3d space
CN108875492A (zh) * 2017-10-11 2018-11-23 北京旷视科技有限公司 人脸检测及关键点定位方法、装置、系统和存储介质
CN108875523A (zh) * 2017-12-28 2018-11-23 北京旷视科技有限公司 人体关节点检测方法、装置、系统和存储介质
CN108399367A (zh) * 2018-01-31 2018-08-14 深圳市阿西莫夫科技有限公司 手部动作识别方法、装置、计算机设备及可读存储介质
CN108710868A (zh) * 2018-06-05 2018-10-26 中国石油大学(华东) 一种基于复杂场景下的人体关键点检测系统及方法
CN108846365A (zh) * 2018-06-24 2018-11-20 深圳市中悦科技有限公司 视频中打架行为的检测方法、装置、存储介质及处理器

Also Published As

Publication number Publication date
CN109558832A (zh) 2019-04-02
US20220004744A1 (en) 2022-01-06
WO2020108362A1 (zh) 2020-06-04
US11908244B2 (en) 2024-02-20

Similar Documents

Publication Publication Date Title
CN109558832B (zh) 一种人体姿态检测方法、装置、设备及存储介质
Zhou et al. Salient object detection in stereoscopic 3D images using a deep convolutional residual autoencoder
CN109344701B (zh) 一种基于Kinect的动态手势识别方法
WO2020107847A1 (zh) 基于骨骼点的跌倒检测方法及其跌倒检测装置
CN111563502B (zh) 图像的文本识别方法、装置、电子设备及计算机存储介质
WO2021139324A1 (zh) 图像识别方法、装置、计算机可读存储介质及电子设备
JP2022534337A (ja) ビデオターゲット追跡方法と装置、コンピュータ装置、プログラム
WO2019245768A1 (en) System for predicting articulated object feature location
CN113591968A (zh) 一种基于非对称注意力特征融合的红外弱小目标检测方法
CN111783749A (zh) 一种人脸检测方法、装置、电子设备及存储介质
CN111488773A (zh) 一种动作识别方法、装置、设备及存储介质
CN113807361B (zh) 神经网络、目标检测方法、神经网络训练方法及相关产品
CN106650617A (zh) 一种基于概率潜在语义分析的行人异常识别方法
CN109977834B (zh) 从深度图像中分割人手与交互物体的方法和装置
CN114549557A (zh) 一种人像分割网络训练方法、装置、设备及介质
Ma et al. Layn: Lightweight multi-scale attention yolov8 network for small object detection
CN111104911A (zh) 一种基于大数据训练的行人重识别方法及装置
CN113159053A (zh) 图像识别方法、装置及计算设备
CN110738261A (zh) 图像分类和模型训练方法、装置、电子设备及存储介质
CN117079305A (zh) 姿态估计方法、姿态估计装置以及计算机可读存储介质
CN116469177A (zh) 混合精度的活体目标检测方法和活体检测模型的训练方法
CN117036658A (zh) 一种图像处理方法及相关设备
Chi et al. Handwriting Recognition Based on Resnet-18
Tai et al. HSFE network and fusion model based dynamic hand gesture recognition
CN114511877A (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
TR01 Transfer of patent right

Effective date of registration: 20220610

Address after: 31a, 15 / F, building 30, maple mall, bangrang Road, Brazil, Singapore

Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd.

Address before: 511442 23-39 / F, building B-1, Wanda Plaza North, Wanbo business district, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right