CN113255479A - 轻量化人体姿态识别模型训练方法、动作切分方法及装置 - Google Patents
轻量化人体姿态识别模型训练方法、动作切分方法及装置 Download PDFInfo
- Publication number
- CN113255479A CN113255479A CN202110507842.6A CN202110507842A CN113255479A CN 113255479 A CN113255479 A CN 113255479A CN 202110507842 A CN202110507842 A CN 202110507842A CN 113255479 A CN113255479 A CN 113255479A
- Authority
- CN
- China
- Prior art keywords
- human body
- vector
- sequence
- recognition model
- distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种轻量化人体姿态识别模型训练方法、动作切分方法及装置,所述轻量化人体姿态识别模型训练方法通过推理优化器对训练好的大型人体姿态识别模型进行轻量化部署,通过对模型精度进行压缩,在保证精度的同时,极大提高了算法运行的效率。进一步的,所述动作切分方法基于滑窗提取多个候选视频段,基于轻量化的人体姿态识别模型获取各候选视频段中每一帧图像中人体对象的评估姿态得到相应的候选序列,利用动态时间规划算法计算候选序列与标准序列的差距,从而对实时产生的视频实现精确高效的动作切分,极大提升了泛化能力。
Description
技术领域
本发明涉及视频处理技术领域,尤其涉及一种轻量化人体姿态识别模型训练方法、动作切分方法及装置。
背景技术
近年来,随着全球范围内社会经济与科学技术的高速发展,计算机视觉处理技术被大量应用于生活中的方方面面,其中,对于人体姿态识别和工作评估分析是计算机视觉处理技术的热门学科。但是,现有的人体姿态识别和动作切分方法,主要是通过构建和训练神经网络,并基于大型服务器平台进行的,主要有两个问题:
一是常见的人体姿态估计算法计算量大,现有的方法往往只关注到了检测的精度,而忽略了计算效率,因此算法只能运行在大型服务器上,不仅设备成本高昂,还往往受制于场地的限制,十分不方便。
二是目前的人体姿态评估往往是根据特定动作,设计一套特定的规则,但是面对需求复杂的场景,对每一种情况制定特定的规则不仅耗时耗力,而且在大型应用场景下,一旦出现问题,修改起来也会十分繁琐。
发明内容
本发明实施例提供了一种轻量化人体姿态识别模型训练方法、动作切分方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,对人体姿态识别模型进行轻量化处理,以在保证识别精度的条件下,提高计算效率,将深度学习算法带入边缘计算中。
本发明的技术方案如下:
本发明提供一种轻量化人体姿态识别模型训练方法,包括:
获取多个样本图像,将所述样本图像中人体对象的关节点和各关节点的匹配信息添加为标签,生成训练样本集;
获取预设神经网络模型,所述预设神经网络模型中包括骨架网络和连续多阶段卷积神经网络;其中,所述骨架网络提取所述样本图像的第一特征图,所述第一特征图输入连续多阶段卷积神经网络;每阶段卷积神经网络分为两个分支,一个用于提取人体对象的关节点热图,另一个用于提取各关节点的匹配信息;每个阶段卷积神经网络中两个分支的预测与所述第一特征图连接,用于输入下一阶段卷积神经网络;
采用所述训练样本集对所述预设神经网络模型进行训练,得到人体姿态识别模型;
采用推理优化器将所述人体姿态识别模型压缩部署至ARM(Advanced RISCMachine,进阶精简指令集机器)架构下,得到轻量化人体姿态识别模型。
在一些实施例中,所述推理优化器为TensorRT算法。
在一些实施例中,所述TensorRT算法将所述人体姿态识别模型的精度由fp32降至fp16。
在一些实施例中,所述骨架网络为DenseNet网络或Resnet网络。
在一些实施例中,所述样本图像中标记的关节点包括:左眼、右眼、左耳、右耳、鼻子、脖子、左肩、右肩、左肘、右肘、左手、右手、左胯、右胯、左膝、右膝、左脚以及右脚。
在一些实施例中,各关节点的匹配信息包括:左肩至左肘向量基于X轴的方位角、左肘至左手向量基于X轴的方位角、右肩至右肘向量基于X轴的方位角、右肘至右手向量基于X轴的方位角、左胯至左膝向量基于X轴的方位角、右胯至右膝向量基于X轴的方位角、左膝至左脚向量基于X轴的方位角、以及右膝至右脚向量基于X轴的方位角。
另一方面,本发明还提供一种视频中人体动作切分方法,包括:
获取实时产生的待切分视频,并采用预设时间长度滑窗提取多个候选视频段;
使用上述轻量化人体姿态识别模型训练方法中的轻量化人体姿态识别模型提取各候选视频段中每帧图像的人体骨骼关节点信息和各关节点的匹配信息,并将每帧图像的所述人体骨骼关节点信息按照原候选视频段中各帧的前后顺序组成候选序列;
基于动态时间规划算法计算各候选序列与动作切分标准库中标准序列的距离;
在时域上对各候选序列与标准序列的距离进行非极大值抑制,并获取在时域上不交叠且与所述标准序列距离小于设定阈值的候选序列作为切片,按照所述切片对应的时段对待切分视频进行切分。
在一些实施例中,基于动态时间规划算法计算各候选序列与动作切分标准库中标准序列的距离,包括:
将所述候选序列中每一帧与所述标准序列中每一帧对多种动作距离加权求和作为参数,基于动态时间规划算法计算各候选序列与所述标准序列的距离,其中,所述动作距离包括:
关节角度距离:两帧之间相同关节角度的余弦距离;和/或
关节点空间距离:两帧之间相同关节点的欧氏距离;和/或
骨骼向量距离:两帧之间相同骨骼向量的余弦距离;和/或
关节点时序距离:两帧之间关节点时序向量的余弦距离,所述关节点时序向量为下一帧该关节点坐标向量减去本帧该关节点坐标向量;和/或
骨骼时序距离:两帧之间相同骨骼时序向量的余弦距离,所述骨骼时序向量为下一帧该骨骼向量减去本帧该骨骼向量。
在一些实施例中,基于动态时间规划算法计算各候选序列与动作切分标准库中标准序列的距离中,输入所述动态时间规划算法的所述候选序列和所述标准序列按照设定比例进行抽帧。
在一些实施例中,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法的步骤。
本发明的有益效果至少是:
本发明所述轻量化人体姿态识别模型训练方法、动作切分方法及装置中,所述轻量化人体姿态识别模型训练方法通过推理优化器对训练好的大型人体姿态识别模型进行轻量化部署,通过对模型精度进行压缩,在保证精度的同时,极大提高了算法运行的效率。进一步的,所述动作切分方法基于滑窗提取多个候选视频段,基于轻量化的人体姿态识别模型获取各候选视频段中每一帧图像中人体对象的评估姿态得到相应的候选序列,利用动态时间规划算法计算候选序列与标准序列的差距,从而对实时产生的视频实现精确高效的动作切分,极大提升了泛化能力。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所述轻量化人体姿态识别模型训练方法的流程示意图;
图2为本发明一实施例所述轻量化人体姿态识别模型训练方法中预设神经网络模型结构示意图;
图3为本发明一实施例所述视频中人体动作切分方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
近年随着科技的发展,有两种代表性技术被广泛认为对人类经济社会产生了巨大的推动力与深远的影响力。其一,作为人工智能领域代表性技术的深度学习,受益于算法、算力和数据集等方面的进步,近年来得到了突飞猛进的发展,并在无人驾驶、电子商务、智能家居和智慧金融等领域大展拳脚,深刻改变了人们的生活方式,提高了生产效率。而另外一种技术则为从传统的云计算技术演化发展而来的边缘计算技术,相比于云计算,边缘计算将强计算资源和高效服务下沉到网络边缘端,从而拥有更低的时延、更低的带宽占用、更高的能效和更好的隐私保护性。
本发明目标将这两种技术进行融合,将深度学习算法带入边缘计算中,使人工智能更加贴近用户和物端,并应用于人体动作采集和评估,实现了动作采集和评估处理的轻量化,在保证动作识别和剪切精度的基础上,提高了计算效率。
具体的,本发明提供一种轻量化人体姿态识别模型训练方法,如图1和图2所示,包括步骤S101~S104:
步骤S101:获取多个样本图像,将样本图像中人体对象的关节点和各关节点的匹配信息添加为标签,生成训练样本集。
步骤S102:获取预设神经网络模型,预设神经网络模型中包括骨架网络和连续多阶段卷积神经网络;其中,骨架网络提取样本图像的第一特征图,第一特征图输入连续多阶段卷积神经网络;每阶段卷积神经网络分为两个分支,一个用于提取人体对象的关节点热图,另一个用于提取各关节点的匹配信息;每个阶段卷积神经网络中两个分支的预测与第一特征图连接,用于输入下一阶段卷积神经网络。
步骤S103:采用训练样本集对预设神经网络模型进行训练,得到人体姿态识别模型。
步骤S104:采用推理优化器将人体姿态识别模型压缩部署至ARM架构下,得到轻量化人体姿态识别模型。
在本实施例步骤S101中,首先建立用于训练人体姿态评估模型的训练样本集,获取多个样本图像,每个样本图像都包含至少一个人体对象。手动标记每张样本图像中人体对象的多个关节点,在一些实施例中,样本图像中标记的关节点包括:左眼、右眼、左耳、右耳、鼻子、脖子、左肩、右肩、左肘、右肘、左手、右手、左胯、右胯、左膝、右膝、左脚以及右脚。进一步的,还标记各关节点之间的匹配信息,匹配信息为各关节点之间的匹配连接关系。训练样本集可以采用COCO(Common Objects in Context)数据集,该数据集中包含了人体关节点(也可以称为关键点)的坐标、类型信息,并进一步计算各关节点之间的连接匹配关系。
在一些实施例中,各关节点的匹配信息包括:左肩至左肘向量基于X轴的方位角、左肘至左手向量基于X轴的方位角、右肩至右肘向量基于X轴的方位角、右肘至右手向量基于X轴的方位角、左胯至左膝向量基于X轴的方位角、右胯至右膝向量基于X轴的方位角、左膝至左脚向量基于X轴的方位角、以及右膝至右脚向量基于X轴的方位角。
在步骤S102中,通过构建或获取预设神经网络模型,以实现对图像中人体对象的姿态进行评估预测。具体的,预设神经网络可以采用现有的人体姿态估计网络模型,如DensePose、OpenPose、AlphaPose和DeepPose等。本实施例中,构建了具有两个分支通道和连续多阶段卷积神经网络结构的预设神经网络模型。其中,预设神经网络模型首先由骨架网络通过下采样获取第一特征图,在一些实施例中,骨架网络可以采用DenseNet网络或Resnet网络。第一特征图输入连续多阶段卷积神经网络用于提取关节点热图以及各关节间的匹配信息。具体的,每个阶段的卷积神经网络分为两个分支,一个用于提取关节点热图,另一个用于获取关节点的匹配信息,具体的,可以通过计算两个关节点之间所有向量的积分,来确定亲和度,根据亲和度大小完成骨骼点匹配。每个阶段卷积神经网络内两个分支的结构相同,每个阶段神经网络内两个分支的输入相同。每个阶段卷积神经网络中两个分支的输出与第一特征图连接后,输入下一阶段的卷积神经网络。通过多个卷积神经网络来渐进优化预测结果,每个阶段卷积神经网络中卷积核的尺寸和卷积层的数量也不同,最后高效准确的获得到人体信息。
在步骤S103中,采用训练样本集对预设神经网络模型进行训练,用于获取关节点热图的分支和用于获取关节点匹配信息的分支采用不同的损失函数,在训练过程中分别基于相应的损失函数进行反向传播调整各参数。按照设定迭代次数或设定损失值进行迭代训练,得到人体姿态识别模型。
在步骤S104中,由步骤S103训练得到的人体姿态识别模型是大型神经网络模型,其结构复杂。一般的深度学习项目,训练时为了加快速度,会使用多个GPU(graphicsprocessing unit,图形处理器)分布式训练。但在部署推理时,为了降低成本,往往使用单个GPU机器甚至嵌入式平台进行部署。由于训练的网络模型可能会很大,参数很多,而且部署端的机器性能存在差异,就会导致推理速度慢,延迟高。这对于那些高实时性的应用场合是致命的,比如自动驾驶要求实时目标检测,目标追踪等。所以为了提高部署推理的速度,出现了很多轻量级神经网络,比如SqueezeNet网络、MobileNet网络、ShuffleNet网络等。基本做法都是基于现有的经典模型提出一种新的模型结构,然后用这些改造过的模型重新训练,再重新部署。
本申请中,基于推理优化器对训练好的模型进行优化,推理优化器是一种只有前向传播的深度学习框架,可以将训练好的神经网络模型进行解析,按照设定的优化策略将训练好的模型进行映射部署和优化。在一些实施例中,推理优化器可以采用TensorRT算法。优选的,TensorRT算法可以将人体姿态识别模型的精度由fp32降至fp16,以实现对人体姿态识别模型的优化部署,得到轻量化人体姿态识别模型。具体的,人体姿态识别模型的优化部署至ARM架构下,不同于服务器的x86(The X86 architecture)架构,优化得到的轻量化人体姿态识别模型可以部署在开发板上,能够进行高效的实时计算。
进一步的,基于步骤S101~S104得到的轻量化人体姿态识别模型,本发明还提供一种人体姿态评估方法,包括步骤S201:获取待识别图像,将待识别图像输入至步骤S101~S104中所述轻量化人体姿态识别模型训练方法中的轻量化人体姿态识别模型,输出人体姿态评估结果。
另一方面,本发明还提供一种视频中人体动作切分方法,如图3所示,包括步骤S301~S304:
步骤S301:获取实时产生的待切分视频,并采用预设时间长度滑窗提取多个候选视频段。
步骤S302:使用上述轻量化人体姿态识别模型训练方法中的轻量化人体姿态识别模型提取各候选视频段中每帧图像的人体骨骼关节点信息和各关节点的匹配信息,并将每帧图像的所述人体骨骼关节点信息按照原候选视频段中各帧的前后顺序组成候选序列。
步骤S303:基于动态时间规划算法计算各候选序列与动作切分标准库中标准序列的距离。
步骤S304:在时域上对各候选序列与标准序列的距离进行非极大值抑制,并获取在时域上不交叠且与所述标准序列距离小于设定阈值的候选序列作为切片,按照所述切片对应的时段对待切分视频进行切分。
在本实施例步骤S301中,为了实现对待测视频实时检测进行动作切分,针对这种处理情形,将实时产生的待测视频通过预设长度的滑窗进行实时截取,得到一系列的候选视频段。滑窗所对应的预设时间长度可以按照标准序列的长度设置,同时,根据实际动作发生过程中的拉长或压缩,可以调整滑窗对应的时长,以更好的截取待识别视频中的动作。这种截取方式,能够适应实时检测处理的需求。
在步骤S302中,基于轻量化人体姿态识别模型对各候选视频段中的每一帧图像进行处理,得到每一帧图片中的人体骨骼关节点信息和各关节点的匹配信息。进一步的,对每一帧图像提取的人体骨骼关节点信息,按照原帧的先后顺序进行排列构成候选序列。在一些实施例中,还可以添加时间戳以便于后续步骤中进行比对切分。
在步骤S303中,标准序列即需要切分的目标动作视频,经采集人体骨骼关节点信息后按照原视频中各帧排列形成的标准序列,动作切分标准库中可以保存多种标准动作相对应的多个标准序列。将滑窗所提取的多个候选序列分别与标准序列进行对比,由于候选序列与标准序列的长度大概率是不一致的,因此,本实施例中,采用动态时间规划算法进行相似性的比对,以获得更高的准确度。需要说明的是,标准序列是对标准动作视频进行人体骨骼关键点信息提取后形成的,用于参照对比,识别标准动作。
具体的,动态时间规划算法可以输出候选序列与标准序列的距离值,该距离值可以反映两者的相似性。
在步骤S304中,滑窗延时间轴截取了多个候选序列,每个候选序列通过动态时间规划算法计算得到一个与标准序列的距离值,通过在时域上进行非极大值抑制,筛选出在局部区域与标准序列相似度最高的候选序列,最终完成高精度地切分。
在一些实施例中,步骤S303中,基于动态时间规划算法计算各候选序列与动作切分标准库中标准序列的距离,包括:将候选序列中每一帧与标准序列中每一帧对多种动作距离加权求和作为参数,基于动态时间规划算法计算各候选序列与标准序列的距离,其中,动作距离包括:
关节角度距离:两帧之间相同关节角度的余弦距离;和/或关节点空间距离:两帧之间相同关节点的欧氏距离;和/或骨骼向量距离:两帧之间相同骨骼向量的余弦距离;和/或关节点时序距离:两帧之间关节点时序向量的余弦距离,关节点时序向量为下一帧该关节点坐标向量减去本帧该关节点坐标向量;和/或骨骼时序距离:两帧之间相同骨骼时序向量的余弦距离,骨骼时序向量为下一帧该骨骼向量减去本帧该骨骼向量。
在本实施例中,对多种动作距离进行加权求和作为参数,以结合多种特征进行相似性比对,提高识别准确度。
具体的,关节角度距离是指两帧之间相同关节的角度变化量,通过计算两帧之间相同关节角度的余弦距离获得。关节角度包括:左肘-左肩-左胯的关节角度、右肘-右肩-右胯的关节角度、左肩-左肘-左手的关节角度、右肩-右肘-右手的关节角度、右胯-左胯-左膝的关节角度、左胯-右胯-右膝的关节角度、左胯-左膝-左脚的关节角度以及右胯-右膝-右脚的关节角度。
关键点空间距离是指两帧之间相同关键点的位置变化量,通过计算两帧之间相同关键点的欧氏距离获得。在计算前首先将关键点横纵坐标分别除以本帧的人体矩形框的宽高以进行归一化表示。
骨骼向量距离是指两帧之间相同骨骼的向量变化量,通过计算两帧之间相同骨骼向量的余弦距离获得。骨骼向量可以包括:胸部至头部向量、胸部至左肩向量、胸部至右肩向量、左肩至左肘向量、右肩至右肘向量、左肘至左手向量、右肘至右手向量、左肩至左胯向量、右肩至右胯向量、左胯至右胯向量、左胯至左膝向量、右胯至右膝向量、左膝至左脚向量以及右膝至右脚向量。
利用动态时间规划算法DTW(Dynamic Time Warping)是由于在时间序列中,需要比较相似性的两段时间序列的长度可能并不相等,具体体现在标准动作视频的标准序列与待检测动作视频中提取的多个候选序列之间的长度差异。大部分情况下,两个序列整体上具有非常相似的形状,但是这些形状在时间轴上并未对齐,故在比较他们的相似度之前,需要将其中几个序列在时间轴下进行Warping扭曲,以此达到更好的对齐效果。而DTW就是实现这种Warping扭曲的一种有效方法,DTW通过将时间序列进行延伸和缩短,来计算两个时间序列之间的相似性,从而达到准确切分动作的目的。
在一些实施例中,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法的步骤。
在一些实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
下面结合具体实施例对本发明进行说明:
本实施例为了解决人体姿态估计算法那计算量过大的问题,首先选取了运算效率更高的自底向上算法,并对模型进行轻量化处理,使人体姿态估计算法可以在一个数十平方厘米的开发板上实现每秒30帧的推理速度。其次,为了解决动作评估方法运算繁琐的问题,本实施例提出了一种基于动态时间规划算法的人体动作评估分析方法,利用人体关键点时间序列作为算法输入,得到各种动作都能通用的人体动作评估方法。
具体的,本实施例所述人体动作评估方法包括三个部分:
1)人体姿态算法的构建和训练:
构建预设神经网络模型,为了提高运算效率,本实施例选用了目前效率更高的自底向上方法,使用DenseNet网络作为骨架网络,通过卷积、池化等操作,对图像进行降采样,从视频序列中提取丰富的图像特征,再将图像特征分为两个分支,一个用于生成PCM(关节点热力图,Part confidence map)预测人体关节点信息,另一部分生成PAF(Part AffinityField,部分亲和字段,用于将PCM预测到的人体关节点进行匹配,最后形成一个完整的人体骨架。亲和指的是两个关节点之间的匹配程度,通过计算两个关节点之间所有向量的积分,来确定亲和度,根据亲和度大小完成骨骼关节点匹配)来实现人体骨骼的组成。通过构建多个阶段卷积神经网络来渐进优化预测结果,最后高效准确的获得到人体信息。生成PCM的过程中,假设需要输出18个人体关键点信息,那么PCM会输出19个通道,最后一个通道作为背景。理论上不输出背景也可以,但是输出背景有两个好处,一是增加了一个监督信息,有利于网络的学习,二是背景输出继续作为下一个阶段卷积神经网络的输入,有利于下一个阶段卷积神经网络获得更好的语义信息。
如图2所示,由骨架网络处理得到的特征图分为两个分支输入阶段1的卷积神经网络,阶段1中分支1的参数为ρ1,损失函数为阶段1中分支2的参数为损失函数为损失函数阶段t中分支1的参数为ρt,损失函数为阶段t中分支2的参数为损失函数为整个网络模型结构包含t个阶段。
采用COCO数据集对预设神经网络模型进行训练,得到人体姿态识别模型。
2)TensorRT算法加速:
TensorRT是一个高性能的深度学习推理(Inference)优化器,可以为深度学习应用提供低延迟、高吞吐率的部署推理。TensorRT可用于对超大规模数据中心、嵌入式平台或自动驾驶平台进行推理加速。本实施例利用TensorRT来加速1)中得到的人体姿态识别模型,将人体姿态识别模型的精度从原有的fp32降低到fp16,得到轻量化人体姿态识别模型。在不会很大影响推理精度的情况下,大大提高了推理速度。
3)基于DTW算法的动作切分及优化:
将待切分视频中的每一帧图像输入至2)中优化部署得到的轻量化人体姿态识别模型,输出各帧图像的的人体骨骼关节点信息和各关节点的匹配信息。将每帧图像的人体骨骼关节点信息按照原视频中各帧的前后顺序组成输入关节点序列。
在输入关键点序列上采用不同时长的滑窗提出一部分候选序列,滑窗的长度由动作切分标准库中定义,和动作的持续时间有关,例如在深蹲动作中滑窗时间被定义为2~3s。通过衡量候选序列帧之间的人体关节角度距离、关键点空间距离、关键点时序距离等信息。建立代价矩阵,通过设置阈值,筛选掉相似度过低的候选序列,达到人体动作采集的目的。之后通过代价矩阵的计算结果,反推出帧之间的对应关系,通过提前设置标准视频关键帧中的特定人体角度信息,再根据帧之间的对应关系,计算两者之间的差距,即可实现人体动作的评估和分析。
而对于时间动态规划算法(DTW)本身,也可以进行一些优化。首先是对于输入的数据进行精简,将输入数据简化为变化量最明显的人体骨骼向量方位角,通过设置不同的权重,加大对相似度底的动作的惩罚力度;其次可以对数据进行合理的抽帧处理,对于大多数人体动作,无需关注每一帧之间的信息,适当的抽帧不仅可以提高动作检测的泛化能力,还可以进一步精简运算,提高数据处理的效率。
具体的,对应于已经训练并经过TensorRT优化部署得到的轻量化人体姿态识别模型。
首先将视频输入轻量化人体姿态识别模型,得到每一帧图像的人体关节点信息,关键点信息索引如下(0:头部,1:脖子,2:左肩,3:右肩,4:左肘,5:右肘,6:左手,7:右手,8:左胯,9:右胯,10:左膝,11:右膝,12:左脚,13:右脚)。
通过得到的人体关节点坐标信息,计算出身体骨骼向量基于X轴的方位角,总共计算8个角度:2→4,4→6,3→5,5→7,8→10,9→11,10→12和11→13,其中数字对应上文中提到的关节点索引,第一个数字代表骨骼向量起点,第二个数字代表骨骼向量终点,以2→4为例,代表左肩指向左肘的骨骼向量基于X轴的方位角。
DTW算法用于比较两段视频序列的相似性,就需要有一段视频序列作为模板,也即获取标准序列用于对比。比如检测深蹲动作,则首先准备一段深蹲的视频作为标准序列,通过2)中轻量化人体姿态识别模型进行处理,得到人体骨骼关节点信息,并进一步计算得到所需要的关节向量方位角信息,将其按照设定格式保存在文件中。
在实时检测过程中,将摄像头捕获到的实时视频帧保存到一个滑动窗口内,将滑动窗口内的视频通过2)中轻量化人体姿态识别模型进行处理,得到人体骨骼关节点信息,并进一步计算得到所需要的关节向量方位角信息;将这个实时视频对应的角度信息同之前已经提前处理好的标准序列的角度信息进行DTW算法计算,建立一个代价矩阵(计算两个视频的相似度,需要建立一个代价矩阵,利用动态规划算法得到两者的相似度差距)。通过代价矩阵可以得到:两段视频之间的相似度差距,以及标准序列和待测视频的帧与帧之间的对应关系。通过设置一个阈值,去掉相似度差距过大的,筛选出相似度最接近的作为本次计算的结果,即切分出了一个动作。
在一些实施例中,通过帧之间的对应关系,可以用来判断动作的准确度。示例性的,对于深蹲动作,深蹲动作最关键的一帧就是大腿下蹲到平行于地面的那一帧,将这个帧作为关键帧,提前在标准序列中标注出这一帧,命名为A帧,这时候根据代价矩阵得到的帧对应关系,我们可以获取到待测视频对应标准序列A帧的那一帧,命名为B帧,通过计算AB两帧中,大腿平行程度的差值,将这个差距归一化到100分以内,就可以实现动作打分的功能。
进一步地,为了加快时间动态规划算法计算效率,并不需要计算每一帧之间的对应关系,因此可以对输入时间动态规划算法(DTW)的数据进行抽帧处理,可以按照每10帧做一次抽帧处理。此外就是将输入时间动态规划算法(DTW)的数据精简为变化量最大的骨骼向量角度。
相比于本发明,目前主流的人体姿态估计算法,都仅仅关注了算法的准确度,致力于达到更高的精度,但往往忽略了算法运行的效率,以及轻量化部署问题。本发明从轻量化网络入手,不仅在方案选取上选择更加轻量高效的人体姿态估计算法,还针对模型进行了优化部署加速,在保持高精度的同时,提高了识别效率,达到了实时人体姿态估计的能力。
相比于本发明,基于特定规则的人体动作评估分析方法泛化能力较差,虽然针对不同的人体动作来制定特定的识别规则可以达到一个不错的效果。但是对于复杂的应用场景,泛化能力不足的问题就会暴露。本发明从制定一个通用的人体动作采集、评估、分析的方案入手,通过设置不同的参数,来实现以一个通用的识别方案框架覆盖各种人体动作,具有优秀的泛化能力。
综上所述,本发明所述轻量化人体姿态识别模型训练方法、动作切分方法及装置中,所述轻量化人体姿态识别模型训练方法通过推理优化器对训练好的大型人体姿态识别模型进行轻量化部署,通过对模型精度进行压缩,在保证精度的同时,极大提高了算法运行的效率。进一步的,所述动作切分方法基于滑窗提取多个候选视频段,基于轻量化的人体姿态识别模型获取各候选视频段中每一帧图像中人体对象的评估姿态得到相应的候选序列,利用动态时间规划算法计算候选序列与标准序列的差距,从而对实时产生的视频实现精确高效的动作切分,极大提升了泛化能力。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种轻量化人体姿态识别模型训练方法,其特征在于,包括:
获取多个样本图像,将所述样本图像中人体对象的关节点和各关节点的匹配信息添加为标签,生成训练样本集;
获取预设神经网络模型,所述预设神经网络模型中包括骨架网络和连续多阶段卷积神经网络;其中,所述骨架网络提取所述样本图像的第一特征图,所述第一特征图输入连续多阶段卷积神经网络;每阶段卷积神经网络分为两个分支,一个用于提取人体对象的关节点热图,另一个用于提取各关节点的匹配信息;每个阶段卷积神经网络中两个分支的预测与所述第一特征图连接,用于输入下一阶段卷积神经网络;
采用所述训练样本集对所述预设神经网络模型进行训练,得到人体姿态识别模型;
采用推理优化器将所述人体姿态识别模型压缩部署至ARM架构下,得到轻量化人体姿态识别模型。
2.根据权利要求1所述的轻量化人体姿态识别模型训练方法,其特征在于,所述推理优化器为TensorRT算法。
3.根据权利要求2所述的轻量化人体姿态识别模型训练方法,其特征在于,所述TensorRT算法将所述人体姿态识别模型的精度由fp32降至fp16。
4.根据权利要求1所述的轻量化人体姿态识别模型训练方法,其特征在于,所述骨架网络为DenseNet网络或Resnet网络。
5.根据权利要求1所述的轻量化人体姿态识别模型训练方法,其特征在于,所述样本图像中标记的关节点包括:左眼、右眼、左耳、右耳、鼻子、脖子、左肩、右肩、左肘、右肘、左手、右手、左胯、右胯、左膝、右膝、左脚以及右脚。
6.根据权利要求5所述的轻量化人体姿态识别模型训练方法,其特征在于,各关节点的匹配信息包括:左肩至左肘向量基于X轴的方位角、左肘至左手向量基于X轴的方位角、右肩至右肘向量基于X轴的方位角、右肘至右手向量基于X轴的方位角、左胯至左膝向量基于X轴的方位角、右胯至右膝向量基于X轴的方位角、左膝至左脚向量基于X轴的方位角、以及右膝至右脚向量基于X轴的方位角。
7.一种视频中人体动作切分方法,其特征在于,包括:
获取实时产生的待切分视频,并采用预设时间长度滑窗提取多个候选视频段;
使用如权利要求1至6任意一项所述轻量化人体姿态识别模型训练方法中的轻量化人体姿态识别模型提取各候选视频段中每帧图像的人体骨骼关节点信息和各关节点的匹配信息,并将每帧图像的所述人体骨骼关节点信息按照原候选视频段中各帧的前后顺序组成候选序列;
基于动态时间规划算法计算各候选序列与动作切分标准库中标准序列的距离;
在时域上对各候选序列与标准序列的距离进行非极大值抑制,并获取在时域上不交叠且与所述标准序列距离小于设定阈值的候选序列作为切片,按照所述切片对应的时段对待切分视频进行切分。
8.根据权利要求7所述的视频中人体动作切分方法,其特征在于,基于动态时间规划算法计算各候选序列与动作切分标准库中标准序列的距离,包括:
将所述候选序列中每一帧与所述标准序列中每一帧对多种动作距离加权求和作为参数,基于动态时间规划算法计算各候选序列与所述标准序列的距离,其中,所述动作距离包括:
关节角度距离:两帧之间相同关节角度的余弦距离;和/或
关节点空间距离:两帧之间相同关节点的欧氏距离;和/或
骨骼向量距离:两帧之间相同骨骼向量的余弦距离;和/或
关节点时序距离:两帧之间关节点时序向量的余弦距离,所述关节点时序向量为下一帧该关节点坐标向量减去本帧该关节点坐标向量;和/或
骨骼时序距离:两帧之间相同骨骼时序向量的余弦距离,所述骨骼时序向量为下一帧该骨骼向量减去本帧该骨骼向量。
9.根据权利要求7所述的视频中人体动作切分方法,其特征在于,基于动态时间规划算法计算各候选序列与动作切分标准库中标准序列的距离中,输入所述动态时间规划算法的所述候选序列和所述标准序列按照设定比例进行抽帧。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110507842.6A CN113255479A (zh) | 2021-05-10 | 2021-05-10 | 轻量化人体姿态识别模型训练方法、动作切分方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110507842.6A CN113255479A (zh) | 2021-05-10 | 2021-05-10 | 轻量化人体姿态识别模型训练方法、动作切分方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113255479A true CN113255479A (zh) | 2021-08-13 |
Family
ID=77222463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110507842.6A Pending CN113255479A (zh) | 2021-05-10 | 2021-05-10 | 轻量化人体姿态识别模型训练方法、动作切分方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113255479A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673494A (zh) * | 2021-10-25 | 2021-11-19 | 青岛根尖智能科技有限公司 | 人体姿态标准运动行为匹配方法及系统 |
CN113743247A (zh) * | 2021-08-16 | 2021-12-03 | 电子科技大学 | 基于Reders模型的手势识别方法 |
CN114170621A (zh) * | 2021-11-10 | 2022-03-11 | 沈阳工程学院 | 一种基于组合模型的视频人体姿态推理优化方法 |
CN114863558A (zh) * | 2022-04-19 | 2022-08-05 | 长三角信息智能创新研究院 | 一种人体训练动作的识别与计数方法及系统 |
CN115379286A (zh) * | 2022-10-24 | 2022-11-22 | 通号通信信息集团有限公司 | 智能视频分析盒、智能视频分析系统以及方法 |
CN116824703A (zh) * | 2023-07-13 | 2023-09-29 | 哈尔滨工业大学 | 一种冰壶运动员动作识别与评估方法 |
CN117357103A (zh) * | 2023-12-07 | 2024-01-09 | 山东财经大学 | 一种基于cv的肢体运动训练指导方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110624A (zh) * | 2019-04-24 | 2019-08-09 | 江南大学 | 一种基于DenseNet网络与帧差法特征输入的人体行为识别方法 |
CN110490109A (zh) * | 2019-08-09 | 2019-11-22 | 郑州大学 | 一种基于单目视觉的在线人体康复动作识别方法 |
CN110555417A (zh) * | 2019-09-06 | 2019-12-10 | 福建中科亚创动漫科技股份有限公司 | 一种基于深度学习的视频图像识别系统及方法 |
CN112052886A (zh) * | 2020-08-21 | 2020-12-08 | 暨南大学 | 基于卷积神经网络的人体动作姿态智能估计方法及装置 |
CN112464847A (zh) * | 2020-12-07 | 2021-03-09 | 北京邮电大学 | 视频中人体动作切分方法及装置 |
-
2021
- 2021-05-10 CN CN202110507842.6A patent/CN113255479A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110624A (zh) * | 2019-04-24 | 2019-08-09 | 江南大学 | 一种基于DenseNet网络与帧差法特征输入的人体行为识别方法 |
CN110490109A (zh) * | 2019-08-09 | 2019-11-22 | 郑州大学 | 一种基于单目视觉的在线人体康复动作识别方法 |
CN110555417A (zh) * | 2019-09-06 | 2019-12-10 | 福建中科亚创动漫科技股份有限公司 | 一种基于深度学习的视频图像识别系统及方法 |
CN112052886A (zh) * | 2020-08-21 | 2020-12-08 | 暨南大学 | 基于卷积神经网络的人体动作姿态智能估计方法及装置 |
CN112464847A (zh) * | 2020-12-07 | 2021-03-09 | 北京邮电大学 | 视频中人体动作切分方法及装置 |
Non-Patent Citations (3)
Title |
---|
ALI JAHANSHAHI等: "GPU-NEST: Characterizing Energy Efficiency of Multi-GPU Inference Servers", 《IEEE COMPUTER ARCHITECTURE LETTER9》 * |
ZHE CAO等: ""Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields"", 《ARXIV:1611.08050V2[CS.CV]》 * |
何勇: "《嵌入式系统原理与设计》", 31 August 2019 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113743247A (zh) * | 2021-08-16 | 2021-12-03 | 电子科技大学 | 基于Reders模型的手势识别方法 |
CN113673494A (zh) * | 2021-10-25 | 2021-11-19 | 青岛根尖智能科技有限公司 | 人体姿态标准运动行为匹配方法及系统 |
CN114170621A (zh) * | 2021-11-10 | 2022-03-11 | 沈阳工程学院 | 一种基于组合模型的视频人体姿态推理优化方法 |
CN114863558A (zh) * | 2022-04-19 | 2022-08-05 | 长三角信息智能创新研究院 | 一种人体训练动作的识别与计数方法及系统 |
CN115379286A (zh) * | 2022-10-24 | 2022-11-22 | 通号通信信息集团有限公司 | 智能视频分析盒、智能视频分析系统以及方法 |
CN116824703A (zh) * | 2023-07-13 | 2023-09-29 | 哈尔滨工业大学 | 一种冰壶运动员动作识别与评估方法 |
CN117357103A (zh) * | 2023-12-07 | 2024-01-09 | 山东财经大学 | 一种基于cv的肢体运动训练指导方法及系统 |
CN117357103B (zh) * | 2023-12-07 | 2024-03-19 | 山东财经大学 | 一种基于cv的肢体运动训练指导方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113255479A (zh) | 轻量化人体姿态识别模型训练方法、动作切分方法及装置 | |
CN112949508B (zh) | 模型训练方法、行人检测方法、电子设备及可读存储介质 | |
US20220254157A1 (en) | Video 2D Multi-Person Pose Estimation Using Multi-Frame Refinement and Optimization | |
CN111259940B (zh) | 一种基于空间注意力地图的目标检测方法 | |
JP7263216B2 (ja) | ワッサースタイン距離を使用する物体形状回帰 | |
CN109934300B (zh) | 模型压缩方法、装置、计算机设备及存储介质 | |
CN111709410B (zh) | 一种强动态视频的行为识别方法 | |
CN109274883B (zh) | 姿态矫正方法、装置、终端及存储介质 | |
CN110059625B (zh) | 一种基于mixup的人脸训练与识别方法 | |
CN111931654A (zh) | 一种人员跟踪智能监测方法、系统和装置 | |
CN112258555A (zh) | 实时姿态估计运动分析方法、系统、计算机设备及存储介质 | |
CN112052736A (zh) | 一种基于云计算平台的田间茶叶嫩梢检测方法 | |
CN116563355A (zh) | 一种基于时空交互注意力机制的目标跟踪方法 | |
CN112528811A (zh) | 行为识别方法和装置 | |
CN116823885A (zh) | 一种基于金字塔池化注意力机制的端到端单目标跟踪方法 | |
CN114495170A (zh) | 一种基于局部抑制自注意力的行人重识别方法及系统 | |
CN116306813A (zh) | 一种基于yolox轻量化及网络优化的方法 | |
CN111291785A (zh) | 目标检测的方法、装置、设备及存储介质 | |
CN112329571B (zh) | 一种基于姿态质量评估的自适应人体姿态优化方法 | |
CN116934796B (zh) | 基于孪生残差注意力聚合网络的视觉目标跟踪方法 | |
CN113763420A (zh) | 一种目标跟踪方法、系统及存储介质和终端设备 | |
CN117115474A (zh) | 一种基于多阶段特征提取的端到端单目标跟踪方法 | |
CN117671450A (zh) | 一种基于transformer的属地网络图像内容安全监管的DETR架构方法 | |
CN116563343A (zh) | 一种基于孪生网络结构和锚框自适应思想的rgbt目标跟踪方法 | |
CN115512435A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210813 |
|
RJ01 | Rejection of invention patent application after publication |