CN116543417A - 人体姿态估计方法、装置、设备以及存储介质 - Google Patents
人体姿态估计方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN116543417A CN116543417A CN202310492398.4A CN202310492398A CN116543417A CN 116543417 A CN116543417 A CN 116543417A CN 202310492398 A CN202310492398 A CN 202310492398A CN 116543417 A CN116543417 A CN 116543417A
- Authority
- CN
- China
- Prior art keywords
- human body
- body posture
- image
- frame
- estimated
- 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
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 238000005520 cutting process Methods 0.000 claims abstract description 24
- 238000012549 training Methods 0.000 claims description 26
- 238000005315 distribution function Methods 0.000 claims description 23
- 238000002372 labelling Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 11
- 238000011176 pooling Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 24
- 238000004590 computer program Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/766—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本公开的实施例提供了人体姿态估计方法、装置、设备以及存储介质,应用于人工智能技术领域。所述方法包括获取待估计人体姿态图像和对应的图像编号;对图像编号和预设间隔步数进行取模运算;若余值不为零,则采用ByteTrack***预测框作为目标裁剪框;若余值为零,则将待估计人体姿态图像输入至行人目标检测器,并对ByteTrack***预测框进行更新后,得到目标裁剪框;根据目标裁剪框对待估计人体姿态图像进行裁剪,得到行人目标图像集;并输入至预先训练的人体姿态估计模型,输出对应的人体关键点预测结果;并进行聚类,得到人体姿态估计结果。以此方式,可以节省大量计算量,提高整体估计效率的同时,提高人体姿态估计精度。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及人体姿态估计方法、装置、设备以及存储介质。
背景技术
人体姿态估计是从图像或视频信息中获取人体各个关节部位具***置的过程,也是计算机视觉中的一个重要任务,也是计算机理解人类动作、行为必不可少的一步。人体姿态估计可以分为2D姿态估计和3D姿态估计,前者是为每个关键点预测一个二维坐标,后者是为每个关键点预测一个三维坐标。人体姿态估计可以应用到人机交互、视频监控、虚拟现实等领域。人体姿态估计目前主要分成自顶向下范式和自底向上范式。首先,自顶向下范式指的是先采用人体目标检测器对图像中行人进行检测,得到行人目标框,然后基于行人目标框将人从图像中裁剪出来,再输入到单目标人体姿态估计模型进行姿态估计;而自底向上范式指的是直接将图像输入至人体姿态估计模型中,得到图中所有人体关键点预测位置,然后根据一系列关键点分组策略(以单人为一组),将关键点分配到每个行人目标上。它们优点分别是:自顶向下的方法可以更好地处理不同尺寸的人体,更适合单人或非拥挤的场景。自底向上的方法可以更好地处理密集场景下的遮挡问题,更适合多人或大规模的场景。它们各自缺点也明显:自顶向下的方法需要依赖目标检测器的性能,计算量随着人数的增加而上升。自底向上的方法不需要依赖目标检测器,计算量相对稳定,但需要设计有效的关键点分组策略,以避免将不同人的关键点错误地组合在一起,这可能需要额外的计算或后处理。
在以上两种主流范式的基础上,还可分为细分为基于热力图学习方法和基于回归学习方法。其中,目前基于热力图方法在人体姿态估计任务上占据主导地位,因为采用此学习方法的模型所学习的是高斯概率分布图,得到高斯概率分布图后,在目标高斯概率分布图上获取最大值点的位置信息作为估计结果(离散值)。因为学习高斯概率分布图亦可看作学习一种滤波方法,而在计算机视觉任务上经常使用卷积网络,卷积本身可看作是一种滤波,换言之,基于热力图方法非常契合卷积网络,此学习方法降低了模型的学习难度,所以目前的基于热力图学习方法的模型表现比基于回归学习方法更鲁棒,精度更高。但是,此方法所得到的模型的最终预测并非人体关键点位置,而是高斯概率分布图,人体关键点位置只能间接从高斯概率分布图中获取,所以此方法需要模型维持一个相对高分辨率的热力图(常见是64x64),否则从高斯概率分布图中获取的关键点位置映射回原图像坐标时,会存在较大的量化误差。而基于回归学习方法是使回归模型学习连续的目标分布,通过目标分布可直接预测人体关键点位置,不需要计算高斯概率分布图,也不需要argmax(arguments ofthe maxima,最大值自变量点集)或Soft-argmax(Integral Pose Regression,积分姿态回归)间接获取位置信息,所以相较于基于热力图学习方法,基于回归学习方法在计算流程上更简洁,计算速度方面更快,计算资源消耗更低,同时,其输出为连续目标分布中的变量,不存在量化误差的问题。
总体来看,基于回归学习方法所具备的特性更优于基于热力图学习方法,但其精度和鲁棒性不及基于热力图学习方法的主要原因是模型学习过程中缺少一种有效监督约束,目标分布拟合过程不稳定,极容易受到训练数据的影响,导致模型的学习难度相较于基于热力图学习方法更难。所以,无论是自顶向下范式,还是自底向上范式,都将基于热力图学习方法视为优先选项,在范式的框架内以此方法指导模型学习,获得可解决人体姿态估计问题的最终模型。
在当前已知方案中,已经有尝试将基于回归学习方法中的部分特性应用到基于热力图学习方法,相关方案采用了一种基于Soft-argmax方法,通过对离散概率求期望的形式,进行连续空间上的坐标回归,使输出从离散变为连续,进而缓解量化误差问题。所以,相较于以往方案,这些方案可进一步降低高斯概率分布图的分辨率,进而达到降低计算资源,提高估计精度的效果。但,基于Soft-argmax方法虽然降低了计算资源,提高了估计精度,但其仍需要高斯概率分布图,无法直接预测关键点位置,量化误差问题未能根本性解决。除此之外,以上方案未提出一种***性的框架解决自顶向下范式所存在弊端,如过于依赖检测器精度,处理速度慢,难以在计算资源有限设备上部署等问题。
发明内容
本公开提供了一种人体姿态估计方法、装置、设备以及存储介质。
根据本公开的第一方面,提供了一种人体姿态估计方法。该方法包括:
获取待估计人体姿态图像和对应的图像编号;其中,所述待估计人体姿态图像为待估计人体姿态视频流中的任意一帧图像;
对所述图像编号和预设间隔步数进行取模运算,得到余值;
若所述余值不为零,则采用ByteTrack***预测框作为目标裁剪框;
若所述余值为零,则将所述待估计人体姿态图像输入至行人目标检测器,得到行人目标框,并对ByteTrack***预测框进行更新后,得到目标裁剪框;
根据所述目标裁剪框对所述待估计人体姿态图像进行裁剪,得到行人目标图像集;其中,所述行人目标图像集包括单个或多个行人目标;
将所述行人目标图像集输入至预先训练的人体姿态估计模型,输出对应的人体关键点预测结果;
对所述人体关键点预测结果进行聚类,得到人体姿态估计结果。
进一步地,所述人体姿态估计模型包括骨干网络、回归模型和流模型,所述人体姿态估计模型的训练过程包括:
将图像数据集输入至骨干网络完成图像特征提取,得到特征图;
通过全局平均池化将所述特征图转换为回归模型的输入,并将转换后的特征图输入所述回归模型完成回归计算,得到回归值;
根据所述回归值,基于概率密度分布函数,计算标注偏移量,并将所述标注偏移量输入流模型完成概率分布计算,得到残差对数似然分布函数和标准高斯分布函数;
根据所述回归值、所述残差对数似然分布函数和所述标准高斯分布函数,计算所述人体姿态估计模型的损失函数,并按照反向传播机制更新所述人体姿态估计模型;
直至达到预设轮次时,完成所述人体姿态估计模型的训练。
进一步地,所述图像数据集的生成过程,包括:
获取历史人体姿态图像集;
对所述历史人体姿态图像集进行人体关键点标注;
将标注后的人体姿态图像集作为图像数据集。
进一步地,在所述人体姿态估计模型训练完成之后,还包括:
对完成训练的骨干网络进行结构重参数化处理,并更新所述人体姿态估计模型。
进一步地,所述根据所述回归值,基于概率密度分布函数,计算标注偏移量,包括:
根据标注的人体关键点和所述回归值,计算所述标注的人体关键点与真实的人体关键点的偏移量,得到标注偏移量。
进一步地,所述人体姿态估计模型的损失函数的计算公式如下:
其中,表示标准高斯分布函数,/>表示残差对数似然分布函数,/>表示标注偏移量,/>表示回归值,C表示常数。
根据本公开的第二方面,提供了一种人体姿态估计装置。该装置包括:
图像获取模块,用于获取待估计人体姿态图像和对应的图像编号;其中,所述待估计人体姿态图像为待估计人体姿态视频流中的任意一帧图像;
取模运算模块,用于对所述图像编号和预设间隔步数进行取模运算,得到余值;
第一判断模块,用于若所述余值不为零,则采用ByteTrack***预测框作为目标裁剪框;
第二判断模块,用于若所述余值为零,则将所述待估计人体姿态图像输入至行人目标检测器,得到行人目标框,并对ByteTrack***预测框进行更新后,得到目标裁剪框;
图像裁剪模块,用于根据所述目标裁剪框对所述待估计人体姿态图像进行裁剪,得到行人目标图像集;其中,所述行人目标图像集包括单个或多个行人目标;
关键点预测模块,用于将所述行人目标图像集输入至预先训练的人体姿态估计模型,输出对应的人体关键点预测结果;
姿态估计模块,用于对所述人体关键点预测结果进行聚类,得到人体姿态估计结果。
根据本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
根据本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的第一方面所述的方法。
本公开的实施例提供的人体姿态估计方法、装置、设备以及存储介质,通过对图像编号和预设间隔步数进行取模运算,得到余值,并根据余值对应的结果确定是否对ByteTrack***预测框(目标裁剪框)进行更新,以便于满足余值不为零时直接使用ByteTrack***预测框对图像进行裁剪,提高人体姿态估计效率,当然,由于引入ByteTrack***,在保证不增加额外计算量的同时,还可解决图像裁剪过程中过于依赖检测器精度的问题。另一方面,通过对人体姿态估计模型的框架和损失函数进行特定的设计,可以节省大量计算量,提高整体估计效率的同时,提高人体姿态估计精度。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。附图用于更好地理解本方案,不构成对本公开的限定在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了根据本公开的实施例的人体姿态估计方法的流程图;
图2示出了根据本公开的又一实施例的人体姿态估计方法的流程图;
图3示出了根据本公开的又一实施例的人体姿态估计方法的流程图;
图4示出了根据本公开的实施例的人体姿态估计装置的框图;
图5示出了能够实施本公开的实施例的示例性电子设备的方框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本公开中,基于偏移量分布回归模型对人体姿态进行实时估计,在训练阶段,引入流模型和残差对数似然估计,将“拟合目标分布”拆分成“人体关键点标注和真实人体关键点的偏移量分布”和“对偏移量分布的平移缩放”两个任务,降低回归模型学习难度,使回归模型代替热力图渲染模型成为可能,进而在保证了算法精度的同时,降低自顶向下泛式推理时的计算资源消耗,提高计算效率。在推理阶段,引入结构重参数化和ByteTrack***,进一步提高自顶向下范式的计算效率,和降低资源消耗,可在非多人拥挤应用场景下,替代精度较低的自底向上范式人体姿态估计方案。
图1示出了根据本公开实施例的人体姿态估计方法100的流程图。方法100包括:
步骤110,获取待估计人体姿态图像和对应的图像编号。
其中,所述待估计人体姿态图像为待估计人体姿态视频流中的任意一帧图像。
在一些实施例中,若有人体姿态估计需求时,则获取待估计人体姿态视频流,从中选取任意一帧图像,并获取选取的这帧图像的编号,例如,选取的这帧图像是视频流中的第i帧图像。可以是对一段视频流中的人体姿态进行估计,也可以是对实时视频流进行实时的人体姿态估计。
步骤120,对所述图像编号和预设间隔步数进行取模运算,得到余值。
在一些实施例中,对通过步骤110获得的图像编号i与预设间隔步数s之间进行取模运算,即mod(i,s),得到余值。例如,i为4,即视频流中的第4帧图像,s为2,通过计算可得余值为零;i为5,则余值为1;……
步骤130,若所述余值不为零,则采用ByteTrack***预测框作为目标裁剪框。
在一些实施例中,通过步骤120计算得到的余值,判断该余值是否为零,如果不为零,即mod(i,s)≠0,那么直接使用ByteTrack***预测框作为目标裁剪框,跳过行人目标检测器的计算,能节省大量计算量,提高整体计算效率,同时,ByteTrack***的可靠性将目标裁剪框丢失概率保持在低位。
步骤140,若所述余值为零,则将所述待估计人体姿态图像输入至行人目标检测器,得到行人目标框,并对ByteTrack***预测框进行更新后,得到目标裁剪框。
在一些实施例中,通过步骤120计算得到的余值,判断该余值是否为零,如果为零,即mod(i,s)=0,则开启行人目标检测器(例如采用轻量级目标检测器:YOLOv7(You OnlyLook Once Version 7,目标检测算法)等),并将第i帧图像输入至行人目标检测器,计算得到行人目标框,然后根据该行人目标框对ByteTrack***预测框进行更新,得到新的ByteTrack***预测框作为目标裁剪框,以便于利用ByteTrack***的可靠性,将目标裁剪框丢失概率保持在低位。
步骤150,根据所述目标裁剪框对所述待估计人体姿态图像进行裁剪,得到行人目标图像集。
其中,所述行人目标图像集包括单个或多个行人目标。
在一些实施例中,使用通过步骤130或步骤140得到的目标裁剪框,从第i帧图像中裁剪出单个或多个行人目标,得到行人目标图像集。
步骤160,将所述行人目标图像集输入至预先训练的人体姿态估计模型,输出对应的人体关键点预测结果。
在一些实施例中,将通过步骤150得到的行人目标图像集输入到预先训练的人体姿态估计模型,输出对应的人体关键点预测结果,以便于根据人体关键点汇集得到人体姿态估计。即采用基于回归学***移缩放”两个任务,人体关键点标注和真实人体关键点的偏移量分布交给流模型,而回归模型仅需学***移缩放参数,进而降低回归模型学习难度。此外,由于采用了基于回归学习方法替代基于热力图学习方法,所以无需维护高斯概率分布图,训练后的回归模型可直接预测出关键点位置。
在一些实施例中,人体姿态估计模型包括骨干网络、回归模型和流模型,如图2所示的人体姿态估计模型的训练过程示意图,包括以下步骤:
步骤210,将图像数据集输入至骨干网络完成图像特征提取,得到特征图。
在一些实施例中,将图像数据集X输入至骨干网络G完成图像特征提取,得到特征图。其中,骨干网络采用RepVGG(Re-Parameterization Visual Geometry Group,重参数化卷积神经网络)模型。
在一些实施例中,如图3所示的图像数据集X的生成过程示意图,包括以下步骤:
步骤310,获取历史人体姿态图像集;
步骤320,对所述历史人体姿态图像集进行人体关键点标注;
步骤330,将标注后的人体姿态图像集作为图像数据集。
在一些实施例中,获取历史的人体姿态图像,并标注人体关键点,得到标注后的人体姿态图像集。其中,历史的人体姿态图像可以从视频流中获取,并对人体姿态图像采取如上述步骤120-步骤150的处理,即对人体姿态图像进行裁剪之后,再进行标注,为模型训练提供样本数据。
步骤220,通过全局平均池化将所述特征图转换为回归模型的输入,并将转换后的特征图输入所述回归模型完成回归计算,得到回归值。
在一些实施例中,将步骤210得到的特征图,通过全局平均池化转换为回归模型R的输入,经回归模型R计算后输出回归值:μ^和σ^。其中,回归模型则是一层全连接层模型。全局平均池化技术,对于建立特征图和类别之间的关系,是一种更朴素的卷积结构选择。全局平均池化层不需要参数,避免在该层产生过拟合,其对空间信息进行求和,对输入的空间变化的鲁棒性更强。
步骤230,根据所述回归值,基于概率密度分布函数,计算标注偏移量,并将所述标注偏移量输入流模型完成概率分布计算,得到残差对数似然分布函数和标准高斯分布函数。
在一些实施例中,首先,根据标注的人体关键点和回归值,计算标注的人体关键点与真实的人体关键点的偏移量,得到标注偏移量。具体地,标注偏移量的计算公式如下:
其中,是人体关键点标注和真实人体关键点的偏移量,即标注偏移量,Yg是训练时的标注样本,回归值:μ^和σ^。然后,将标注偏移量输入到流模型进行计算,得到残差对数似然分布函数/>以及对标注偏移量进行高斯分布计算,得到标准高斯分布函数/>流模型是一种生成模型,它通过一系列可逆的非线性变换,将一个简单的概率分布(如高斯分布)映射到一个复杂的数据分布(如图像分布)。流模型的优点是可以精确地计算数据的似然函数,也可以高效地从模型中采样,以提高模型训练的准确率和效率。
步骤240,根据所述回归值、所述残差对数似然分布函数和所述标准高斯分布函数,计算所述人体姿态估计模型的损失函数,并按照反向传播机制更新所述人体姿态估计模型。
在一些实施例中,将通过步骤220得到的回归值和步骤230得到的残差对数似然分布函数/>标准高斯分布函数/>基于下述公式进行计算,得到人体姿态估计模型的损失函数:
其中,表示标准高斯分布函数,/>表示残差对数似然分布函数,/>表示标注偏移量,/>表示回归值,C表示常数。然后,按照反向传播机制对人体姿态估计模型进行更新,以便于修改人体姿态估计模型的训练参数,加速其收敛。其中,通过损失函数的特定设计,可以提高人体姿态估计模型的训练效率和人体姿态估计的准确率。
步骤250,直至达到预设轮次时,完成所述人体姿态估计模型的训练。
在一些实施例中,给人体姿态估计模型设定训练的轮次的阈值,当触发该阈值时,视为人体姿态估计模型达到收敛或训练精度,如此,便完成了人体姿态估计模型的训练。关于阈值的设定,可以由用户根据经验进行预设,在训练的过程中也可以进行动态的调整。
在一些实施例中,在所述人体姿态估计模型训练完成之后,还包括:
对完成训练的骨干网络进行结构重参数化处理,并更新所述人体姿态估计模型。结构重参数化:一种结构模块融合方法,指的是模型训练阶段中使用一系列训练友好(例如容易收敛,稳定,训练效果好等)的模型结构,然后在推理或部署阶段,将训练好的结构等价转换成另一种对推理友好的模型结构,并将训练好的参数等价转换,进而加快模型推理速度。例如,将骨干网络等价转化(等价指模型转换后计算结果不受影响)为对加速计算设备(如GPU,VPU等)更友好的直筒式模型结构(即模型中仅有主线卷积模型,无额外分支,如VGG结构),从而降低计算资源占用,并充分利用卷积在加速计算设备的优势,提高计算效率,解决难以在计算资源有限设备上部署的问题。
步骤170,对所述人体关键点预测结果进行聚类,得到人体姿态估计结果。
在一些实施例中,对通过步骤160得到的人体关键点预测结果进行聚类处理,得到最终的人体姿态估计结果,即,将行人对应的人体关键点进行聚类,以此,可以避免将不同行人的关键点错误的组合在一起,确保人体姿态估计的高准确性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
图4示出了根据本公开的实施例的人体姿态估计装置400的方框图。
如图4所示,装置400包括:
图像获取模块410,用于获取待估计人体姿态图像和对应的图像编号;其中,所述待估计人体姿态图像为待估计人体姿态视频流中的任意一帧图像;
取模运算模块420,用于对所述图像编号和预设间隔步数进行取模运算,得到余值;
第一判断模块430,用于若所述余值不为零,则采用ByteTrack***预测框作为目标裁剪框;
第二判断模块440,用于若所述余值为零,则将所述待估计人体姿态图像输入至行人目标检测器,得到行人目标框,并对ByteTrack***预测框进行更新后,得到目标裁剪框;
图像裁剪模块450,用于根据所述目标裁剪框对所述待估计人体姿态图像进行裁剪,得到行人目标图像集;其中,所述行人目标图像集包括单个或多个行人目标;
关键点预测模块460,用于将所述行人目标图像集输入至预先训练的人体姿态估计模型,输出对应的人体关键点预测结果;
姿态估计模块470,用于对所述人体关键点预测结果进行聚类,得到人体姿态估计结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质。
图5示出了可以用来实施本公开的实施例的电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
电子设备500包括计算单元501,其可以根据存储在ROM502中的计算机程序或者从存储单元508加载到RAM503中的计算机程序,来执行各种适当的动作和处理。在RAM503中,还可存储电子设备500操作所需的各种程序和数据。计算单元501、ROM502以及RAM503通过总线504彼此相连。I/O接口505也连接至总线504。
电子设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如方法100。例如,在一些实施例中,方法100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM502和/或通信单元509而被载入和/或安装到电子设备500上。当计算机程序加载到RAM503并由计算单元501执行时,可以执行上文描述的方法100的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法100。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (9)
1.一种人体姿态估计方法,其特征在于,包括:
获取待估计人体姿态图像和对应的图像编号;其中,所述待估计人体姿态图像为待估计人体姿态视频流中的任意一帧图像;
对所述图像编号和预设间隔步数进行取模运算,得到余值;
若所述余值不为零,则采用ByteTrack***预测框作为目标裁剪框;
若所述余值为零,则将所述待估计人体姿态图像输入至行人目标检测器,得到行人目标框,并对ByteTrack***预测框进行更新后,得到目标裁剪框;
根据所述目标裁剪框对所述待估计人体姿态图像进行裁剪,得到行人目标图像集;其中,所述行人目标图像集包括单个或多个行人目标;
将所述行人目标图像集输入至预先训练的人体姿态估计模型,输出对应的人体关键点预测结果;
对所述人体关键点预测结果进行聚类,得到人体姿态估计结果。
2.根据权利要求1所述的方法,其特征在于,所述人体姿态估计模型包括骨干网络、回归模型和流模型,所述人体姿态估计模型的训练过程包括:
将图像数据集输入至骨干网络完成图像特征提取,得到特征图;
通过全局平均池化将所述特征图转换为回归模型的输入,并将转换后的特征图输入所述回归模型完成回归计算,得到回归值;
根据所述回归值,基于概率密度分布函数,计算标注偏移量,并将所述标注偏移量输入流模型完成概率分布计算,得到残差对数似然分布函数和标准高斯分布函数;
根据所述回归值、所述残差对数似然分布函数和所述标准高斯分布函数,计算所述人体姿态估计模型的损失函数,并按照反向传播机制更新所述人体姿态估计模型;
直至达到预设轮次时,完成所述人体姿态估计模型的训练。
3.根据权利要求2所述的方法,其特征在于,所述图像数据集的生成过程,包括:
获取历史人体姿态图像集;
对所述历史人体姿态图像集进行人体关键点标注;
将标注后的人体姿态图像集作为图像数据集。
4.根据权利要求2所述的方法,其特征在于,在所述人体姿态估计模型训练完成之后,还包括:
对完成训练的骨干网络进行结构重参数化处理,并更新所述人体姿态估计模型。
5.根据权利要求3所述的方法,其特征在于,所述根据所述回归值,基于概率密度分布函数,计算标注偏移量,包括:
根据标注的人体关键点和所述回归值,计算所述标注的人体关键点与真实的人体关键点的偏移量,得到标注偏移量。
6.根据权利要求2或5所述的方法,其特征在于,所述人体姿态估计模型的损失函数的计算公式如下:
其中,表示标准高斯分布函数,/>表示残差对数似然分布函数,/>表示标注偏移量,/>表示回归值,C表示常数。
7.一种人体姿态估计装置,其特征在于,包括:
图像获取模块,用于获取待估计人体姿态图像和对应的图像编号;其中,所述待估计人体姿态图像为待估计人体姿态视频流中的任意一帧图像;
取模运算模块,用于对所述图像编号和预设间隔步数进行取模运算,得到余值;
第一判断模块,用于若所述余值不为零,则采用ByteTrack***预测框作为目标裁剪框;
第二判断模块,用于若所述余值为零,则将所述待估计人体姿态图像输入至行人目标检测器,得到行人目标框,并对ByteTrack***预测框进行更新后,得到目标裁剪框;
图像裁剪模块,用于根据所述目标裁剪框对所述待估计人体姿态图像进行裁剪,得到行人目标图像集;其中,所述行人目标图像集包括单个或多个行人目标;
关键点预测模块,用于将所述行人目标图像集输入至预先训练的人体姿态估计模型,输出对应的人体关键点预测结果;
姿态估计模块,用于对所述人体关键点预测结果进行聚类,得到人体姿态估计结果。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一权利要求所述的方法。
9.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310492398.4A CN116543417A (zh) | 2023-05-04 | 2023-05-04 | 人体姿态估计方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310492398.4A CN116543417A (zh) | 2023-05-04 | 2023-05-04 | 人体姿态估计方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116543417A true CN116543417A (zh) | 2023-08-04 |
Family
ID=87442946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310492398.4A Pending CN116543417A (zh) | 2023-05-04 | 2023-05-04 | 人体姿态估计方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116543417A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117115595A (zh) * | 2023-10-23 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 姿态估计模型的训练方法、装置、电子设备及存储介质 |
-
2023
- 2023-05-04 CN CN202310492398.4A patent/CN116543417A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117115595A (zh) * | 2023-10-23 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 姿态估计模型的训练方法、装置、电子设备及存储介质 |
CN117115595B (zh) * | 2023-10-23 | 2024-02-02 | 腾讯科技(深圳)有限公司 | 姿态估计模型的训练方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112562069B (zh) | 三维模型的构造方法、装置、设备和存储介质 | |
CN113378770B (zh) | 手势识别方法、装置、设备、存储介质 | |
CN115409933B (zh) | 多风格纹理贴图生成方法及其装置 | |
CN111739167B (zh) | 3d人头重建方法、装置、设备和介质 | |
CN115880435B (zh) | 图像重建方法、模型训练方法、装置、电子设备和介质 | |
CN113409430B (zh) | 可驱动三维人物生成方法、装置、电子设备及存储介质 | |
CN114186632A (zh) | 关键点检测模型的训练方法、装置、设备、存储介质 | |
CN112967315B (zh) | 一种目标跟踪方法、装置及电子设备 | |
CN112528858A (zh) | 人体姿态估计模型的训练方法、装置、设备、介质及产品 | |
CN111899159B (zh) | 用于变换发型的方法、装置、设备以及存储介质 | |
CN116309983B (zh) | 虚拟人物模型的训练方法、生成方法、装置和电子设备 | |
CN116543417A (zh) | 人体姿态估计方法、装置、设备以及存储介质 | |
CN114708374A (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN112528811A (zh) | 行为识别方法和装置 | |
CN113409340A (zh) | 语义分割模型训练方法、语义分割方法、装置及电子设备 | |
CN116596750A (zh) | 一种点云处理方法、装置、电子设备及存储介质 | |
CN112580666A (zh) | 图像特征的提取方法、训练方法、装置、电子设备及介质 | |
CN113766117A (zh) | 一种视频去抖动方法和装置 | |
CN115272705B (zh) | 显著性物体检测模型的训练方法、装置以及设备 | |
CN116168132A (zh) | 街景重建模型获取及街景重建方法、装置、设备及介质 | |
CN115222895A (zh) | 图像生成方法、装置、设备以及存储介质 | |
CN113870428A (zh) | 场景地图生成方法、相关装置及计算机程序产品 | |
CN114078184A (zh) | 数据处理方法、装置、电子设备和介质 | |
CN111382834B (zh) | 一种置信度比较方法及装置 | |
CN116206035B (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 |