CN116580211B - 关键点检测方法、装置、计算机设备及存储介质 - Google Patents
关键点检测方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116580211B CN116580211B CN202310850815.8A CN202310850815A CN116580211B CN 116580211 B CN116580211 B CN 116580211B CN 202310850815 A CN202310850815 A CN 202310850815A CN 116580211 B CN116580211 B CN 116580211B
- Authority
- CN
- China
- Prior art keywords
- pixel point
- distance
- points
- point
- pixel
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 133
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000000605 extraction Methods 0.000 claims description 20
- 238000012549 training Methods 0.000 claims description 20
- 230000002596 correlated effect Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 11
- 230000004927 fusion Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 21
- 210000003127 knee Anatomy 0.000 description 20
- 210000000707 wrist Anatomy 0.000 description 20
- 238000012545 processing Methods 0.000 description 17
- 238000013473 artificial intelligence Methods 0.000 description 14
- 210000003423 ankle Anatomy 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 230000036544 posture Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Classifications
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/457—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
-
- 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/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/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- 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
- 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
- G06V40/23—Recognition of whole body movements, e.g. for sport training
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种关键点检测方法、装置、计算机设备及存储介质,属于计算机技术领域。该方法包括:获取对象图像;基于对象的多个预设关键点,对对象图像进行检测,得到每个预设关键点的候选像素点以及候选像素点的预测距离,预测距离是指预测得到的候选像素点与具有连接关系的另一候选像素点之间的距离;基于每个预设关键点的候选像素点,构建多个像素点集合;基于像素点集合中的候选像素点的预测距离,确定像素点集合的误差参数;确定误差参数满足误差条件的目标像素点集合,将目标像素点集合中的多个候选像素点的位置确定为多个预设关键点的位置。本申请在检测关键点时考虑了具有连接关系的关键点之间的距离,能够提高关键点检测的准确性。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种关键点检测方法、装置、计算机设备及存储介质。
背景技术
随着社会的进步和科技的发展,关键点检测技术广泛应用于各种领域,例如通过对人体进行关键点检测可以进行行为识别或者动作捕捉等。
相关技术中,通常采用卷积神经网络学习出图像中的像素点属于各个关键点的概率,然后将概率最大的像素点确定为关键点。但是,仅根据预测得到的概率确定关键点的误差较大,导致关键点检测的准确性较低。
发明内容
本申请实施例提供了一种关键点检测方法、装置、计算机设备及存储介质,能够提高关键点检测的准确性,所述技术方案如下述内容。
一方面,提供了一种关键点检测方法,所述方法包括:
获取对象图像,所述对象图像中包括对象;
基于所述对象的多个预设关键点,对所述对象图像进行检测,得到每个预设关键点的候选像素点以及所述候选像素点的预测距离,所述候选像素点中存在具有连接关系的像素点对,两个候选像素点具有连接关系是指所述两个候选像素点的预设关键点具有连接关系,所述候选像素点的预测距离是指预测得到的所述候选像素点与具有连接关系的另一候选像素点之间的距离;
基于每个预设关键点的候选像素点,构建多个像素点集合,每个所述像素点集合包括每个预设关键点的一个候选像素点,每个所述像素点集合包括至少一个所述像素点对;
对于每个所述像素点集合,基于所述像素点集合中的候选像素点的预测距离,确定所述像素点集合的误差参数,所述误差参数表示所述像素点集合中的像素点对之间的距离与所述像素点对中的候选像素点的预测距离之间的差异;
在多个所述像素点集合中,确定所述误差参数满足误差条件的目标像素点集合,将所述目标像素点集合中的多个候选像素点的位置确定为所述多个预设关键点的位置。
另一方面,提供了一种关键点检测装置,所述装置包括:
图像获取模块,用于获取对象图像,所述对象图像中包括对象;
图像检测模块,用于基于所述对象的多个预设关键点,对所述对象图像进行检测,得到每个预设关键点的候选像素点以及所述候选像素点的预测距离,所述候选像素点中存在具有连接关系的像素点对,两个候选像素点具有连接关系是指所述两个候选像素点的预设关键点具有连接关系,所述候选像素点的预测距离是指预测得到的所述候选像素点与具有连接关系的另一候选像素点之间的距离;
集合构建模块,用于基于每个预设关键点的候选像素点,构建多个像素点集合,每个所述像素点集合包括每个预设关键点的一个候选像素点,每个所述像素点集合包括至少一个所述像素点对;
关键点确定模块,用于对于每个所述像素点集合,基于所述像素点集合中的候选像素点的预测距离,确定所述像素点集合的误差参数,所述误差参数表示所述像素点集合中的像素点对之间的距离与所述像素点对中的候选像素点的预测距离之间的差异;
所述关键点确定模块,还用于在多个所述像素点集合中,确定所述误差参数满足误差条件的目标像素点集合,将所述目标像素点集合中的多个候选像素点的位置确定为所述多个预设关键点的位置。
可选地,所述关键点确定模块,用于:
对于所述像素点集合中的每个像素点对,基于所述像素点对之间的距离与所述像素点对中的候选像素点的预测距离的差值,确定所述像素点对的误差子参数,所述误差子参数与所述差值正相关;
将所述像素点集合中的多个所述像素点对的误差子参数的和值,确定为所述像素点集合的误差参数。
可选地,所述关键点确定模块,用于:
基于所述像素点对中的两个候选像素点属于所述预设关键点的概率,确定误差权重,所述误差权重与所述概率负相关;
基于所述误差权重和所述差值,确定所述误差子参数,所述误差子参数与所述误差权重和所述差值正相关。
可选地,所述连接关系对应有连接方向,所述候选像素点的预测距离是指所述候选像素点所连接且指向的另一候选像素点之间的距离,所述像素点对包括具有连接关系的第一候选像素点和第二候选像素点,且连接方向为所述第一候选像素点指向所述第二候选像素点;
所述关键点确定模块,用于:
基于所述像素点对之间的距离与所述第一候选像素点的预测距离的差值,确定所述像素点对的误差子参数。
可选地,所述图像检测模块,用于:
基于所述多个预设关键点,对所述对象图像进行特征提取,得到概率特征和距离特征,所述概率特征表示所述对象图像中的像素点属于每个预设关键点的概率,所述距离特征表示所述对象图像中的像素点的预测距离;
对于每个预设关键点,基于所述概率特征,将属于所述预设关键点的概率满足概率条件的像素点确定为所述预设关键点的候选像素点。
可选地,所述图像检测模块,用于:
基于所述多个预设关键点,对所述对象图像进行特征提取,得到所述概率特征、第一距离特征和第二距离特征,所述第一距离特征表示所述对象图像中的像素点的横向预测距离,所述像素点的横向预测距离是指预测得到的所述像素点与具有连接关系的另一像素点之间在横轴方向上的距离,所述第二距离特征表示所述对象图像中的像素点的纵向预测距离,所述像素点的纵向预测距离是指预测得到的所述像素点与具有连接关系的另一像素点之间在纵轴方向上的距离。
可选地,所述图像检测模块,用于:
基于所述概率特征,确定属于所述预设关键点的概率满足所述概率条件的目标数量个像素点;
在所述目标数量个像素点中,将满足所述预设关键点的位置约束条件的像素点,确定为所述预设关键点的候选像素点。
可选地,关键点检测模型包括概率预测网络和距离预测网络;所述图像检测模块,用于:
通过所述概率预测网络,基于所述多个预设关键点,对所述对象图像进行特征提取,得到所述概率特征;
通过所述距离预测网络,基于所述多个预设关键点,对所述对象图像进行特征提取,得到所述距离特征。
可选地,所述图像检测模块,用于:
通过所述距离预测网络,基于所述多个预设关键点,对所述对象图像进行特征提取,得到第一距离特征和第二距离特征,所述第一距离特征表示所述对象图像中的像素点的横向预测距离,所述像素点的横向预测距离是指预测得到的所述像素点与具有连接关系的另一像素点之间在横轴方向上的距离,所述第二距离特征表示括所述对象图像中的像素点的纵向预测距离,所述像素点的纵向预测距离是指预测得到的所述像素点与具有连接关系的另一像素点之间在纵轴方向上的距离。
可选地,所述装置还包括模型训练模块,用于:
获取样本对象图像、样本概率特征和样本距离特征,所述样本概率特征表示所述样本对象图像中的样本像素点属于每个预设关键点的真实概率,所述样本距离特征表示所述样本对象图像中的样本像素点的真实连接距离,所述真实连接距离是指所述样本像素点在属于预设关键点的情况下,与具有连接关系的另一预设关键点之间的真实距离;
通过所述关键点检测模型,基于所述多个预设关键点,对所述样本对象图像进行特征提取,得到预测概率特征和预测距离特征;
基于所述预测概率特征、所述预测距离特征、所述样本概率特征和所述样本距离特征,训练所述关键点检测模型。
可选地,所述模型训练模块,用于:
基于所述预测概率特征与所述样本概率特征之间的第一差值,确定第一损失参数,所述第一损失参数与所述第一差值正相关;
基于所述预测距离特征与所述样本距离特征之间的第二差值,确定第二损失参数,所述第二损失参数与所述第二差值正相关;
将所述第一损失参数和所述第二损失参数进行加权融合,得到目标损失参数,基于所述目标损失参数,训练所述关键点检测模型。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如上述方面所述的关键点检测方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现如上述方面所述的关键点检测方法所执行的操作。
另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序由处理器加载并执行,以实现如上述方面所述的关键点检测方法所执行的操作。
本申请实施例提供的方案,预设关键点之间具有连接关系,通过对对象图像进行检测,得到每个预设关键点的候选像素点,除此之外,还得到候选像素点与具有连接关系的另一候选像素点之间的预测距离。那么如果具有连接关系的两个候选像素点之间的距离与候选像素点的预测距离的差异较小,则说明这两个候选像素点越准确,也即是越可能属于预设关键点。因此,基于候选像素点构建多个像素点集合,并确定每个像素点集合的误差参数,该误差参数表示具有连接关系的两个候选像素点之间的距离与候选像素点的预测距离之间的差异,然后将误差参数满足误差条件的像素点集合中的候选像素点确定为预设关键点,实现了对对象图像进行关键点检测,提高了关键点检测的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种在直播中进行关键点检测的示意图;
图3是本申请实施例提供的一种关键点检测方法的流程图;
图4是本申请实施例提供的另一种关键点检测方法的流程图;
图5是本申请实施例提供的一种预设关键点的示意图;
图6是本申请实施例提供的一种概率特征热图的示意图;
图7是本申请实施例提供的一种特征提取方法的示意图;
图8是本申请实施例提供的一种连接关系向量场的示意图;
图9是本申请实施例提供的一种确定候选像素点的示意图;
图10是本申请实施例提供的一种构建像素点集合的示意图;
图11是本申请实施例提供的一种关键点检测模型的训练方法的流程图;
图12是本申请实施例提供的一种关键点检测结果的示意图;
图13是本申请实施例提供的又一种关键点检测方法的流程图;
图14是本申请实施例提供的一种关键点检测装置的结构示意图;
图15是本申请实施例提供的另一种关键点检测装置的结构示意图;
图16是本申请实施例提供的一种终端的结构示意图;
图17是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本申请的范围的情况下,可以将第一候选像素点称为第二候选像素点,且类似地,可将第二候选像素点称为第一候选像素点。
其中,至少一个是指一个或者一个以上,例如,至少一个像素点可以是一个像素点、两个像素点、三个像素点等任一大于等于一的整数个像素点。多个是指两个或者两个以上,例如,多个像素点可以是两个像素点、三个像素点等任一大于等于二的整数个像素点。每个是指至少一个中的每一个,例如,每个像素点是指多个像素点中的每一个像素点,若多个像素点为3个像素点,则每个像素点是指3个像素点中的每一个像素点。
可以理解的是,在本申请的实施方式中,涉及到对象图像等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(Optical Character Recognition,光学字符识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D(3-Dimension,三维)技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
以下将基于人工智能技术和计算机视觉技术,对本申请实施例提供的关键点检测方法进行说明。
本申请实施例提供的关键点检测方法,能够用于计算机设备中。可选地,该计算机设备为终端或服务器。可选地,该服务器是独立的物理服务器,或者,是多个物理服务器构成的服务器集群或者分布式系统,或者,是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,该终端是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能终端等,但并不局限于此。
在一种可能实现方式中,本申请实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备能够组成区块链系统。
在一种可能实现方式中,本申请实施例中用于训练关键点检测模型的计算机设备是区块链系统中的节点,该节点能够将训练的关键点检测模型存储在区块链中,之后该节点或者该区块链中的其他设备对应的节点可通过该关键点检测模型对对象图像进行检测,得到概率特征和距离特征,该概率特征表示像素点属于预设关键点的概率,该距离特征表示预测得到的具有连接关系的预设关键点之间的距离。
图1是本申请实施例提供的一种实施环境的示意图,参见图1,该实施环境包括:终端101和服务器102。终端101和服务器102之间通过无线或有线网络连接。
在一种可能实现方式中,服务器102用于采用本申请实施例提供的方法,训练关键点检测模型,将训练完成的关键点检测模型下发给终端101。后续终端101通过该关键点检测模型,对对象图像进行检测,得到概率特征和距离特征,基于检测得到的概率特征和距离特征来确定对象图像中的哪些像素点属于预设关键点。在另一种可能实现方式中,服务器102在完成对关键点检测模型的训练后,通过该关键点检测模型,对对象图像进行检测,得到概率特征和距离特征,基于检测得到的概率特征和距离特征来确定对象图像中的哪些像素点属于预设关键点,然后将关键点检测结果下发给终端101,由终端101展示该关键点检测结果。
本申请实施例提供的关键点检测方法,可应用于多种场景下。采用该关键点检测方法可检测人体关键点或者物体关键点等,以检测人体关键点为例,则该关键点检测方法可应用于体育分析、医疗健康、虚拟现实以及机器人技术等领域。
其中,视频级人体关键点检测是指在视频的视频帧中确定人体关键点的位置,在多个连续的视频帧中实现连续进行关键点检测,视频级人体关键点检测在虚拟现实中具有重要意义。虚拟现实是一种通过计算机技术创建的用于模拟真实世界的三维虚拟场景,用户可以通过虚拟现实设备进行互动和探索。在虚拟现实中,用户的动作和姿态对于提高用户体验和互动性非常重要。因此,视频级人体关键点检测可以协助在虚拟现实中更加准确地捕捉用户的动作和姿态,从而提高虚拟现实的逼真度和交互性。通过捕捉用户的手部和身体的动作和姿态,虚拟现实可以实现更自然和直观得与用户交互。例如,用户可以通过手势和身体语言来控制虚拟现实中的虚拟对象。
除此之外,本申请实施例提供的关键点检测方法还可以应用于视频直播等应用场景中,如图2所示,在直播场景中,直播视频201中的用户A做出动作,采用本申请实施例提供的方法检测直播视频201中用户A的人体关键点的位置,直播视频202中的用户B模仿直播视频201中的用户A的动作,同时采用本申请实施例提供的方法检测直播视频202中用户B的人体关键点的位置。通过对比直播视频201中用户A的人体关键点和直播视频202中用户B的人体关键点,可以检测用户B对用户A的动作进行模仿是否标准等。
图3是本申请实施例提供的一种关键点检测方法的流程图,本申请实施例由计算机设备执行,参见图3,该方法包括以下步骤。
301、计算机设备获取对象图像,对象图像中包括对象。
该对象图像是待检测关键点的图像,该对象图像中包括对象,该对象可以为各种类型的对象,例如该对象可以为人体、动物、植物、建筑物或者车辆等,本申请实施例对此不做限定。其中,对象上对应有预设关键点,例如在对象为人体的情况下,该预设关键点可以为手肘关键点、手腕关键点、脚踝关键点等,在该对象为植物的情况下,该预设关键点可以为根关键点、茎关键点、叶关键点、花关键点等。
对象上的预设关键点是该对象固有的,但是在对象处于不同姿态的情况下,预设关键点的位置也不同,本申请实施例的目的即是检测对象的预设关键点在该对象图像中的位置。例如,在该对象图像为人体图像的情况下,需要检测手肘关键点、手腕关键点以及脚踝关键点等预设关键点在该对象图像中的位置。
302、计算机设备基于对象的多个预设关键点,对对象图像进行检测,得到每个预设关键点的候选像素点以及候选像素点的预测距离,候选像素点中存在具有连接关系的像素点对,两个候选像素点具有连接关系是指两个候选像素点的预设关键点具有连接关系,候选像素点的预测距离是指预测得到的候选像素点与具有连接关系的另一候选像素点之间的距离。
计算机设备确定对象的多个预设关键点,基于该多个预设关键点,对该对象图像进行检测,从而得到每个预设关键点的候选像素点以及候选像素点的预测距离。其中,预设关键点的候选像素点是指可能属于该预设关键点的像素点,预设关键点的候选像素点可以为一个也可以为多个。
本申请实施例中,该多个预设关键点中存在具有连接关系的关键点对,以预设关键点为人体关键点为例,人体关键点包括手肘关键点、手腕关键点、脚踝关键点等,则手肘关键点和手腕关键点为具有连接关系的关键点对,该手肘关键点和手腕关键点之间的连接关系为人体关键点之间的毗邻关系。
每个预设关键点具有各自的候选像素点,由于预设关键点中存在具有连接关系的关键点对,那么候选像素点中也存在具有连接关系的像素点对,两个候选像素点具有连接关系是指两个候选像素点的预设关键点具有连接关系。例如,手肘关键点的候选像素点包括候选像素点A和候选像素点B,手腕关键点的候选像素点包括候选像素点C和候选像素点D,手肘关键点和手腕关键点具有连接关系,那么具有连接关系的像素点对包括(候选像素点A,候选像素点C)、(候选像素点A,候选像素点D)、(候选像素点B,候选像素点C)、(候选像素点B,候选像素点D)。
计算机设备还得到至少一个候选像素点的预测距离,该预测距离是计算机设备预测得到的该候选像素点与具有连接关系的另一候选像素点之间的距离。或者说,该预测距离是预测得到的该候选像素点所属的预设关键点与具有连接关系的另一预设关键点之间的距离。例如,手肘关键点和手腕关键点具有连接关系,手肘关键点的候选像素点包括候选像素点A,手腕关键点的候选像素点包括候选像素点C,候选像素点A的预测距离是计算机设备预测得到的候选像素点A和候选像素点C之间的距离,也即是预测得到的手肘关键点和手腕关键点之间的距离。如果计算机设备预测足够准确,且候选像素点A和候选像素点C也足够准确,那么该候选像素点A的预测距离应等于候选像素点A和候选像素点C之间的距离。
303、计算机设备基于每个预设关键点的候选像素点,构建多个像素点集合,每个像素点集合包括每个预设关键点的一个候选像素点,每个像素点集合包括至少一个像素点对。
每个预设关键点具有各自的候选像素点,计算机设备基于每个预设关键点的候选像素点,构建多个像素点集合,每个像素点集合包括每个预设关键点的一个候选像素点,且任两个像素点集合不同,因此每个像素点集合中的多个候选像素点分别属于多个预设关键点,每个像素点集合可以作为一种关键点检测结果。由于预设关键点中存在具有连接关系的预设关键点,而每个像素点集合包括每个预设关键点的一个候选像素点,因此每个像素点集合中也存在至少一个具有连接关系的像素点对。
例如,预设关键点的数量为14个,每个预设关键点的候选关键点的数量为3个,那
么通过组合可以构建个像素点集合。
304、计算机设备对于每个像素点集合,基于像素点集合中的候选像素点的预测距离,确定像素点集合的误差参数,误差参数表示像素点集合中的像素点对之间的距离与像素点对中的候选像素点的预测距离之间的差异。
对于每个像素点集合,计算机设备基于该像素点集合中候选像素点的预测距离,确定该像素点集合的误差参数,该误差参数表示像素点集合中的像素点对之间的距离与像素点对中的候选像素点的预测距离之间的差异,像素点对之间的距离为具有连接关系的像素点对之间的真实距离,像素点的预测距离为预测得到的具有连接关系的像素点对之间的预测距离,如果计算机设备预测的像素点对足够准确,且预测距离也足够准确,则像素点对之间的距离与像素点对中的候选像素点的预测距离之间的差异就会足够小。因此可以利用误差参数来衡量像素点集合的准确性,像素点集合的误差参数越小,表示该像素点集合中的候选像素点越准确,越可能属于预设关键点。
305、计算机设备在多个像素点集合中,确定误差参数满足误差条件的目标像素点集合,将目标像素点集合中的多个候选像素点的位置确定为多个预设关键点的位置。
计算机设备将误差参数满足误差条件的像素点集合确定为目标像素点集合,将目标像素点集合中的多个候选像素点的位置确定为多个预设关键点的位置。例如,像素点集合中的候选像素点A为手肘关键点的候选像素点,则将该候选像素点A的位置确定为手肘关键点的位置。可选地,该误差条件为误差参数最小,或者该误差条件为误差参数大于误差参数阈值等,本申请实施例对此不做限定。
本申请实施例提供的方法,预设关键点之间具有连接关系,通过对对象图像进行检测,得到每个预设关键点的候选像素点,除此之外,还得到候选像素点与具有连接关系的另一候选像素点之间的预测距离。那么如果具有连接关系的两个候选像素点之间的距离与候选像素点的预测距离的差异较小,则说明这两个候选像素点越准确,也即是越可能属于预设关键点。因此,基于候选像素点构建多个像素点集合,并确定每个像素点集合的误差参数,该误差参数表示具有连接关系的两个候选像素点之间的距离与候选像素点的预测距离之间的差异,然后将误差参数满足误差条件的像素点集合中的候选像素点确定为预设关键点,实现了对对象图像进行关键点检测,提高了关键点检测的准确性。
上述图3的实施例仅是对关键点检测方法的简要说明,其中,关键点检测方法中确定候选像素点和候选像素点的预测距离的详细过程,以及确定像素点集合的误差参数的详细过程,可参见下述图4所示的实施例。图4是本申请实施例提供的另一种关键点检测方法的流程图,本申请实施例由计算机设备执行,参见图4,该方法包括以下步骤。
401、计算机设备获取对象图像,对象图像中包括对象。
对象具有预设关键点,对象上的预设关键点是该对象固有的,但是在对象处于不同姿态的情况下,预设关键点的位置也不同。
在一种可能实现方式中,该对象图像为人体图像,该人体图像是待检测关键点的图像,人体的预设关键点为人体关键点。例如在虚拟现实中,对用户进行拍摄,得到该人体图像,通过检测该人体图像中的人体关键点,来确定该用户当前做出的动作和姿势等。
例如,如图5所示,人体包括18个人体关键点,分别为鼻子关键点0、左眼关键点1、右眼关键点2、左耳关键点3、右耳关键点4、左肩关键点5、右肩关键点6、左肘关键点7、右肘关键点8、左腕关键点9、右腕关键点10、左臀关键点11、右臀关键点12、左膝关键点13、右膝关键点14、左踝关键点15、右踝关键点16、左掌关键点17和右掌关键点18。
除此之外,本申请实施例中还创建预设关键点之间的连接关系,多个预设关键点中存在具有连接关系的至少一个关键点对,可选地,关键点对中的两个预设关键点具有连接方向,该连接方向是指一个预设关键点指向另一个预设关键点。以人体关键点为例,如图5所示,18个人体关键点中存在具有连接关系的14个关键点对,分别为:
(鼻子关键点0->左肩关键点5)、(鼻子关键点0->右肩关键点6);
(左肩关键点5->左肘关键点7),(右肩关键点6->右肘关键点8);
(左肘关键点7->左腕关键点9),(右肘关键点8->右腕关键点10);
(左腕关键点9->左掌关键点17),(右腕关键点10->右掌关键点18);
(左肩关键点5->左臀关键点11),(右肩关键点6->右臀关键点12);
(左臀关键点11->左膝关键点13),(右臀关键点12->右膝关键点14);
(左膝关键点13->左踝关键点15),(右膝关键点14->右踝关键点16)。
402、计算机设备基于多个预设关键点,对对象图像进行特征提取,得到概率特征和距离特征,概率特征表示对象图像中的像素点属于每个预设关键点的概率,距离特征表示对象图像中的像素点的预测距离。
计算机设备基于对象的多个预设关键点,对该对象图像进行特征提取,得到概率特征和距离特征,该概率特征表示对象图像中的像素点属于每个预设关键点的概率,该距离特征表示对象图像中的像素点的预测距离,该像素点的预测距离是指预测得到的该像素点与具有连接关系的另一像素点之间的距离。
可选地,该概率特征的表现形式为概率特征热图,每个预设关键点对应一个概率特征热图,例如预设关键点的数量为18个,则计算机设备得到18个概率特征热图,某一个预设关键点的概率特征热图中像素点的像素值与在对象图像中相同位置上的像素点属于该预设关键点的概率正相关。图6是本申请实施例提供的一种概率特征热图的示意图,如图6所示,像素点的颜色越接近黑色像素值越低,则像素点属于预设关键点的概率越小。像素点的颜色越接近白色像素值越高,则像素点属于预设关键点的概率越大。
在一种可能实现方式中,计算机设备基于多个预设关键点,对对象图像进行特征提取,得到概率特征、第一距离特征和第二距离特征,第一距离特征表示对象图像中的像素点的横向预测距离,像素点的横向预测距离是指预测得到的该像素点与具有连接关系的另一像素点之间在横轴方向上的距离,第二距离特征表示对象图像中的像素点的纵向预测距离,像素点的纵向预测距离是指预测得到的该像素点与具有连接关系的另一像素点之间在纵轴方向上的距离。
计算机设备基于像素点的横向预测距离和纵向预测距离,即可确定像素点的预测距离。例如,像素点A和像素点B为具有连接关系的像素点对,像素点A的横向预测距离表示预测得到的像素点A和像素点B在横轴方向上的距离,像素点A的纵向预测距离表示预测得到的像素点A和像素点B在纵轴方向上的距离。
可选地,该距离特征的表现形式为距离特征热图,距离特征包括第一距离特征和第二距离特征,距离特征热图包括第一距离特征热图和第二距离特征热图,每个关键点对对应一个第一距离特征热图和一个第二距离特征热图,例如关键点对的数量为14个,则计算机设备得到14个第一距离特征热图和14个第二距离特征热图。该关键点对的第一距离特征热图中的像素点的像素值表示在对象图像中相同位置上的像素点是否属于预设关键点,以及在属于预设关键点的情况下,与具有连接关系的另一预设关键点之间在横轴方向上的距离。当像素点的像素值为0时,表示在对象图像中相同位置上的像素点不属于预设关键点;当像素点的像素值不为0时,表示在对象图像中相同位置上的像素点属于预设关键点,且与具有连接关系的另一预设关键点之间在横轴方向上的距离等于该像素点的像素值。该关键点对的第二距离特征热图中的像素点的像素值表示在对象图像中相同位置上的像素点是否属于预设关键点,以及在属于预设关键点的情况下,与具有连接关系的另一预设关键点之间在纵轴方向上的距离。当像素点的像素值为0时,表示在对象图像中相同位置上的像素点不属于预设关键点;当像素点的像素值不为0时,表示在对象图像中相同位置上的像素点属于预设关键点,且与具有连接关系的另一预设关键点之间在纵轴方向上的距离等于该像素点的像素值。
以关键点对为(左肘关键点7->左腕关键点9)为例,连接方向为左肘关键点7指向左腕关键点9。则该关键点对的第一距离特征热图中的像素点的像素值为0时,表示在对象图像中相同位置上的像素点不属于左肘关键点7;当像素点的像素值不为0时,表示在对象图像中相同位置上的像素点属于左肘关键点7,且像素点与左腕关键点9之间在横轴方向上的距离等于该像素点的像素值。则该关键点对的第二距离特征热图中的像素点的像素值为0时,表示在对象图像中相同位置上的像素点不属于左肘关键点7;当像素点的像素值不为0时,表示在对象图像中相同位置上的像素点属于左肘关键点7,且像素点与左腕关键点9之间在纵轴方向上的距离等于该像素点的像素值。
在一种可能实现方式中,计算机设备可通过关键点检测模型来确定对象图像的概率特征和距离特征。该关键点检测模型包括概率预测网络和距离预测网络。计算机设备通过关键点检测模型中的概率预测网络,基于多个预设关键点,对对象图像进行特征提取,得到概率特征。计算机设备通过距离预测网络,基于多个预设关键点,对对象图像进行特征提取,得到距离特征。
其中,该概率预测网络和距离预测网络可以为卷积神经网络(ConvolutionalNeural Network,CNN),概率预测网络包括多个并行的卷积层,每个卷积层生成一个预设关键点的概率特征热图,距离预测网络包括多个并行的卷积层,每个卷积层生成一个关键点对的距离特征热图。
可选地,关键点检测模型还可以进行多尺度融合,采用不同尺度的卷积层进行卷积,得到不同尺度的候选热图,将不同尺度的候选热图进行融合,得到最终用于确定预设关键点的热图,从而提高关键点的定位精度和鲁棒性。
可选地,计算机设备通过距离预测网络,基于多个预设关键点,对对象图像进行特征提取,得到距离特征,包括:通过距离预测网络,基于多个预设关键点,对对象图像进行特征提取,得到第一距离特征和第二距离特征,第一距离特征表示对象图像中的像素点的横向预测距离,像素点的横向预测距离是指预测得到的像素点与具有连接关系的另一像素点之间在横轴方向上的距离,第二距离特征表示括对象图像中的像素点的纵向预测距离,像素点的纵向预测距离是指预测得到的像素点与具有连接关系的另一像素点之间在纵轴方向上的距离。
图7是本申请实施例提供的一种特征提取方法的示意图,如图7所示,计算机设备
将对象图像输入关键点检测模型,关键点检测模型输出概率特征热图、第一距离特征热图
和第二距离特征热图。可选地,预设关键点的数量为18个,具有连接关系的关键点对的数量
为14个,则概率特征热图的数量为18个,第一距离特征热图的数量为14个,第二距离特征热
图的数量为14个。可选地,对象图像的尺寸为H×W,热图的尺寸为h×w,且,则对
象图像中的像素点的位置与特征热图中的像素点的位置相同,其中特征热图中
的像素点。
403、计算机设备对于每个预设关键点,基于概率特征,将属于预设关键点的概率满足概率条件的像素点确定为预设关键点的候选像素点。
由于概率特征表示对象图像中的像素点属于每个预设关键点的概率,则对于每个预设关键点,计算机设备将属于该预设关键点的概率满足概率条件的像素点确定为预设关键点的候选像素点。可选地,该概率条件为按从大到小的顺序排在前目标数量个的概率,例如目标数量为3,则将概率排在前3的像素点确定为该预设关键点的候选像素点。可选地,该概率条件为概率大于概率阈值,则将概率大于概率阈值的至少一个像素点确定为该预设关键点的候选像素点。
其中,每个预设关键点对应有各自的至少一个候选像素点,预设关键点中存在具有连接关系的关键点对,则候选像素点中也存在具有连接关系的像素点对,两个候选像素点具有连接关系是指两个候选像素点的预设关键点具有连接关系。
图8是本申请实施例提供的一种确定候选像素点的示意图,如图8所示,左侧为对象图像中的各个像素点属于某一预设关键点的概率,右侧为筛选得到的概率较大的候选像素点。
在一种可能实现方式中,计算机设备基于概率特征,确定属于预设关键点的概率满足概率条件的目标数量个像素点,在目标数量个像素点中,将满足预设关键点的位置约束条件的像素点,确定为预设关键点的候选像素点。
该位置约束条件为预先设置的条件,用于将检测得到的预设关键点约束于合理范围内,排除预测得到的不合理位置。例如,对象图像为人体图像,预设关键点为人体关键点,该位置约束条件为基于人体姿态的生理约束和运动学约束所确定的约束条件。例如,鼻子关键点的位置约束条件为与眼睛关键点的距离不大于距离阈值,在确定鼻子关键点的候选像素点时,如果某一像素点与眼睛关键点的距离大于该距离阈值,则该像素点不满足鼻子关键点的位置约束条件,则不将该像素点确定为鼻子关键点的候选像素点。
本申请实施例中,在确定候选像素点时,采用位置约束条件对候选像素点的位置进行约束,从而筛选出不仅属于预设关键点的概率大,且位于合理范围内的候选像素点,能够初步排除位于不合理范围内的像素点,有利于提高关键点检测的准确性。
本申请实施例中,计算机设备预测得到概率特征,该概率特征表示对象图像中的像素点属于每个预设关键点的概率,如果存在多个像素点属于同一个预设关键点的概率均比较高,则会导致确定预设关键点的过程中出现不确定性,从而导致关键点检测的结果准确性较大。为了避免这种情况,计算机设备在基于概率特征筛选出候选像素点后,执行下述步骤404-步骤407的过程,利用距离特征来衡量候选像素点的准确性,从而在候选像素点中,确定出更加准确的像素点作为预设关键点。
404、计算机设备基于每个预设关键点的候选像素点,构建多个像素点集合,每个像素点集合包括每个预设关键点的一个候选像素点,每个像素点集合包括至少一个像素点对。
每个预设关键点具有各自的候选像素点,计算机设备基于每个预设关键点的候选像素点,构建多个像素点集合,每个像素点集合包括每个预设关键点的一个候选像素点,且任两个像素点集合不同,因此每个像素点集合中的多个候选像素点分别属于多个预设关键点,每个像素点集合可以作为一种关键点检测结果。由于预设关键点中存在具有连接关系的预设关键点,而每个像素点集合包括每个预设关键点的一个候选像素点,因此每个像素点集合中也存在至少一个具有连接关系的像素点对。
405、计算机设备对于像素点集合中的每个像素点对,基于像素点对之间的距离与像素点对中的候选像素点的预测距离的差值,确定像素点对的误差子参数,误差子参数与差值正相关。
像素点集合包括每个预设关键点的一个候选像素点,多个预设关键点中存在具有连接关系的关键点对,则像素点集合中存在具有连接关系的像素点对,对于像素点集合中的每个像素点对,计算机设备基于该像素点对之间的距离与像素点对中的候选像素点的预测距离的差值,确定像素点对的误差子参数,该差值越小,则该误差子参数越小,该差值越大,则该误差子参数越大。计算机设备采用该方法,可确定像素点集合中的每个像素点对的误差子参数。
在一种可能实现方式中,计算机设备基于像素点对中的两个候选像素点属于预设关键点的概率,确定误差权重,该误差权重与概率负相关。计算机设备基于误差权重和差值,确定误差子参数,误差子参数与误差权重和差值正相关。
其中,像素点对中的候选像素点属于预设关键点的概率越大,表示该候选像素点的置信度越高,该候选像素点越准确,则误差权重越低,以降低这一像素点对在计算误差参数时的占比。像素点对中的候选像素点属于预设关键点的概率越小,表示该候选像素点的置信度越低,该候选像素点越不准确,则误差权重越高,以提高这一像素点对在计算误差参数时的占比。
本申请实施例中,在计算像素点对的误差子参数时,除了考虑像素点之间的距离之外,还考虑了该像素点属于预设关键点的概率,相当于以概率作为权值,如果概率小,则该像素点对的占比就小。
在一种可能实现方式中,连接关系对应有连接方向,具有连接关系的关键点对之间具有连接方向,连接方向是其中一个预设关键点指向另一个预设关键点。具有连接关系的像素点对之间具有连接方向,连接方向是其中一个候选像素点指向另一候选像素点。候选像素点的预测距离是指预测得到的候选像素点与所连接且指向的另一候选像素点之间的距离。图9是本申请实施例提供的一种连接关系向量场的示意图,如图9所示,相互连接的关键点对之间还具有连接方向,例如关键点对(右臀关键点12->右膝关键点14)中,连接方向为右臀关键点12指向右膝关键点14,右臀关键点12的预测距离为右臀关键点12和右膝关键点14之间的距离。关键点对(右膝关键点14->右踝关键点16)中,连接方向为右膝关键点14指向右踝关键点16,右膝关键点14的预测距离为右膝关键点14和右踝关键点16之间的距离。
像素点对包括具有连接关系的第一候选像素点和第二候选像素点,且连接方向为第一候选像素点指向第二候选像素点。则计算机设备基于像素点对之间的距离与像素点对中的候选像素点的预测距离的差值,确定像素点对的误差子参数,包括:计算机设备基于像素点对之间的距离与第一候选像素点的预测距离的差值,确定像素点对的误差子参数。
在一种可能实现方式中,以确定像素点对(右臀关键点12->右膝关键点14)的误差子参数为例,计算机设备采用下述公式(1)确定误差子参数。
;(1)
其中,表示误差子参数,表示右臀关键点12的概率,表示右膝关键点14的概
率,表示右臀关键点12的横向预测距离,表示右臀关键点12的横坐标,表示右膝关键
点14的横坐标,表示右臀关键点12的纵向预测距离,表示右臀关键点12的纵坐标,表
示右膝关键点14的纵坐标,表示平方根计算。
406、计算机设备将像素点集合中的多个像素点对的误差子参数的和值,确定为像素点集合的误差参数。
计算机设备在确定每个像素点对的误差子参数后,将多个像素点对的误差子参数的和值,确定为像素点集合的误差参数,则该误差参数表示像素点集合中的像素点对之间的距离与像素点对中的候选像素点的预测距离之间的差异。
407、计算机设备在多个像素点集合中,确定误差参数满足误差条件的目标像素点集合,将目标像素点集合中的多个候选像素点的位置确定为多个预设关键点的位置。
该误差参数表示像素点集合中的像素点对之间的距离与像素点对中的候选像素点的预测距离之间的差异,如果计算机设备预测的像素点对足够准确,且预测距离也足够准确,则像素点对之间的距离与像素点对中的候选像素点的预测距离之间的差异就会足够小。因此可以利用误差参数来衡量像素点集合的准确性,像素点集合的误差参数越小,表示该像素点集合中的候选像素点越准确,越可能属于预设关键点。因此计算机设备将误差参数满足误差条件的像素点集合确定为目标像素点集合,将目标像素点集合中的多个候选像素点的位置确定为多个预设关键点的位置。
需要说明的是,上述步骤404-步骤407,说明了通过构建多个像素点集合并筛选出误差参数满足误差条件的像素点集合,来确定预设关键点的过程。在另一实施例中,基于上述步骤404-步骤407的原理,采用最小路径算法,来选取误差参数最小的像素点集合,详细过程如下:计算机设备构建一个起始点和一个终止点,基于起始像素点、终止像素点和预设关键点的候选像素点,构建像素点图,该像素点图包括多行,第一行为起始像素点,最后一行为终止像素点,其余每一行包括一个预设关键点的至少一个候选像素点。相邻的两行对应具有连接关系的两个预设关键点,然后从第一行开始,构建从第一行到达最后一行的路径,任两个候选像素点之间的连线表示这两个候选像素点之间的连接关系。以预设关键点包括具有连接关系的左臀关键点和左膝关键点为例,如图10所示,则计算机设备从起始像素点到终止像素点,可构建9条路径。计算机设备确定每条路径中的每个连线的误差子参数,任两个候选像素点之间的连线的误差子参数即为这两个候选像素点构成的像素点对的误差子参数,起始像素点与任意候选像素点之间的连线的误差子参数均为第一数值(例如均为1),任意选像素点与终止像素点之间的连线的误差子参数均为第二数值(例如均为2)。计算机设备采用最小路径算法,确定误差子参数的和值最小的路径,将该路径中的候选像素点的位置确定为对应的预设关键点的位置。
本申请实施例提供的方法,预设关键点之间具有连接关系,通过对对象图像进行检测,得到每个预设关键点的候选像素点,除此之外,还得到候选像素点与具有连接关系的另一候选像素点之间的预测距离。那么如果具有连接关系的两个候选像素点之间的距离与候选像素点的预测距离的差异较小,则说明这两个候选像素点越准确,也即是越可能属于预设关键点。因此,基于候选像素点构建多个像素点集合,并确定每个像素点集合的误差参数,该误差参数表示具有连接关系的两个候选像素点之间的距离与候选像素点的预测距离之间的差异,然后将误差参数满足误差条件的像素点集合中的候选像素点确定为预设关键点,实现了对对象图像进行关键点检测,提高了关键点检测的准确性。
上述图4所示的实施例中的关键点检测模型的训练过程,可参见下述图11所示的实施例。图11是本申请实施例提供的一种关键点检测模型的训练方法的流程图,本申请实施例由计算机设备执行,参见图11,该方法包括以下步骤。
1101、计算机设备获取样本对象图像、样本概率特征和样本距离特征,样本概率特征表示样本对象图像中的样本像素点属于每个预设关键点的真实概率,样本距离特征表示样本对象图像中的样本像素点的真实连接距离,真实连接距离是指样本像素点在属于预设关键点的情况下,与具有连接关系的另一预设关键点之间的真实距离。
计算机设备获取样本对象图像,并在样本对象图像中标注多个预设关键点的位置,基于多个预设关键点的位置,确定该样本对象图像的样本概率特征。样本概率特征表示样本对象图像中的样本像素点属于每个预设关键点的真实概率。如果样本对象图像中的样本像素点属于预设关键点,则该样本像素点属于该预设关键点的概率为1,如果该样本像素点不属于预设关键点,则该样本像素点属于该预设关键点的概率为0。
在一种可能实现方式中,该样本概率特征为样本概率特征热图,样本概率特征热图中的样本像素点与样本对象图像中的样本像素点一一对应,且每个预设关键点对应一个样本概率特征热图,某一个预设关键点的样本概率特征热图中样本像素点的像素值与在样本对象图像中相同位置上的样本像素点属于该预设关键点的概率正相关。例如,如果样本对象图像中的样本像素点属于该预设关键点,则样本概率特征热图中相同位置上的样本像素点的像素值为255(白色),如果样本对象图像中的样本像素点不属于该预设关键点,则样本概率特征热图中相同位置上的样本像素点的像素值为0(黑色)。
计算机设备还基于多个预设关键点的位置,确定该样本对象图像的样本距离特征,样本距离特征表示样本对象图像中的样本像素点的真实连接距离。例如,样本对象图像中的某一样本像素点不属于任意预设关键点,则该样本像素点的真实连接距离为0,如果样本对象图像中的某一样本像素点属于预设关键点且与另一预设关键点具有连接关系,则该样本像素点的真实连接距离为这两个预设关键点之间的距离。
在一种可能实现方式中,该样本距离特征的表现形式为样本距离特征热图,样本距离特征包括第一样本距离特征和第二样本距离特征,样本距离特征热图包括第一样本距离特征热图和第二样本距离特征热图,每个关键点对对应一个第一样本距离特征热图和一个第二样本距离特征热图。
可选地,以计算机设备确定关键点对(第一预设关键点->第二预设关键点)的第一
样本距离特征热图和第二样本距离特征热图为例,计算机设备采用下述公式(2)和公式(3)
确定。其中,关键点对(第一预设关键点->第二预设关键点)在距离特征热图中的相同位置
上的像素点的坐标分别为和。
;(2)
;(3)
在公式(2)中,表示第一样本距离特征热图中的像素点的像素值,公
式(2)的意思是,如果第一样本距离特征热图中的像素点为,则该像素点的像素值为和在横轴方向上的距离,如果该像素点不为,则该像素点的像素值为
0。在公式(3)中,表示第二样本距离特征热图中的像素点的像素值,公式(3)
的意思是,如果第二样本距离特征热图中的像素点为,则该像素点的像素值为和在纵轴方向上的距离,如果该像素点不为,则该像素点的像素值为
0。
1102、计算机设备通过关键点检测模型,基于多个预设关键点,对样本对象图像进行特征提取,得到预测概率特征和预测距离特征。
该关键点检测模型包括概率预测网络和距离预测网络。计算机设备通过关键点检测模型中的概率预测网络,基于多个预设关键点,对样本对象图像进行特征提取,得到预测概率特征。计算机设备通过距离预测网络,基于多个预设关键点,对样本对象图像进行特征提取,得到预测距离特征。
该预测概率特征表示预测得到的样本对象图像中的像素点属于每个预设关键点的概率,该预测距离特征表示预测得到的样本对象图像中的像素点的预测距离,该预测距离是指预测得到的像素点与所在的像素点对中另一像素点之间的距离。
该步骤1102中确定预测概率特征和预测距离特征的过程,与上述步骤402中确定概率特征和距离特征的过程同理,在此不再赘述。
1103、计算机设备基于预测概率特征与样本概率特征之间的第一差值,确定第一损失参数,第一损失参数与第一差值正相关。
关键点检测模型输出的预测概率特征与样本概率特征之间的差异越小,则该关键点检测模型的性能越好,误差越小。预测概率特征与样本概率特征之间的差异越大,该关键点检测模型的性能越差,误差越大。
因此关键点检测模型的训练目标之一为降低预测概率特征与样本概率特征之间的差异。计算机设备确定预测概率特征与样本概率特征之间的第一差值,第一差值表示预测概率特征与样本概率特征之间的差异。计算机设备基于该第一差值确定第一损失参数,该第一损失参数与第一差值正相关,第一差值越小,该第一损失参数越小,该第一差值越大,该第一损失参数越大。
1104、计算机设备基于预测距离特征与样本距离特征之间的第二差值,确定第二损失参数,第二损失参数与第二差值正相关。
关键点检测模型输出的预测距离特征与样本距离特征之间的差异越小,则该关键点检测模型的性能越好,误差越小。预测距离特征与样本距离特征之间的差异越大,该关键点检测模型的性能越差,误差越大。
因此关键点检测模型的训练目标之一为降低预测距离特征与样本距离特征之间的差异。计算机设备确定预测距离特征与样本距离特征之间的第二差值,第二差值表示预测距离特征与样本距离特征之间的差异。计算机设备基于该第二差值确定第二损失参数,该第二损失参数与第二差值正相关,第二差值越小,该第二损失参数越小,该第二差值越大,该第二损失参数越大。
在一种可能实现方式中,该样本距离特征的表现形式为样本距离特征热图,每个
关键点对对应有各自的样本距离特征热图和预测距离特征热图,计算机设备采用下述公式
(4)和公式(5),确定任意一个关键点对的第二损失参数。其中,关键点对中的预设关键点在
样本距离特征热图中的相同位置上的像素点的坐标为。
;(4)
;(5)
其中,表示样本距离特征热图中的像素点的权重,公式(4)表示,如
果样本距离特征热图中的像素点为,则该像素点的权重为1,如果该像素点不为,则该像素点的权重为0。表示关键点对的第二损失参数,表示样本距离特
征热图中像素点的像素值,表示预测距离特征热图中像素点的像素值。
1105、计算机设备将第一损失参数和第二损失参数进行加权融合,得到目标损失参数,基于目标损失参数,训练关键点检测模型。
计算机设备第一损失参数和第二损失参数进行加权融合,得到目标损失参数,由于关键点检测模型的训练目标是降低第一损失参数和第二损失参数,因此计算机设备基于该目标损失参数,训练该关键点检测模型,以使通过训练后的关键点检测模型得到的目标损失参数减小。
本申请实施例中,计算机设备通过执行上述步骤1103-步骤1105,实现了基于预测概率特征、预测距离特征、样本概率特征和样本距离特征,训练关键点检测模型。在另一实施例中,计算机设备还可以采用其他方式,基于预测概率特征、预测距离特征、样本概率特征和样本距离特征,训练关键点检测模型,本申请实施例对此不做限定。
本申请实施例中,计算机设备预测得到概率特征,该概率特征表示对象图像中的像素点属于每个预设关键点的概率,但是如果待检测的对象的姿态不够端正,可能会导致两个不同的预设关键点相聚较近甚至重叠。例如对象为人体,在肢体交叉的情况下或者肢体被遮挡的情况下,预设关键点的检测难度会增大。在这种情况下,可能会存在多个像素点属于同一个预设关键点的概率均比较高(热图多峰问题,也即是概率特征热图中存在多个峰值),则会导致确定预设关键点的过程中出现不确定性,从而导致关键点检测的结果准确性较低,检测得到的关键点出现大幅度的闪动问题。图12是本申请实施例提供的一种关键点检测结果的示意图,如图12所示,在热图多峰的情况下,计算机设备如果仅根据概率特征确定关键点,则会出现将左膝关键点定位在右膝上的情况,导致关键点检测的结果存在较大偏差。
本申请实施例中,为了避免这种情况,考虑到不同的预设关键点之间具有一定的依赖关系,因此构建预设关键点之间的连接关系,计算机设备还预测得到对象图像的距离特征,在基于概率特征筛选出候选像素点后,利用距离特征来衡量候选像素点的准确性,从而在候选像素点中,确定出更加准确的像素点作为预设关键点,能够有效处理多峰问题,避免了确定关键点的不准确性。
图13是本申请实施例提供的又一种关键点检测方法的流程图,如图13所示,计算机设备将对象图像输入关键点检测模型,关键点检测模型输出概率特征热图和距离特征热图,然后利用非极大值抑制算法,选取预设关键点的候选像素点,再利用最小路径算法,选取误差参数最小的路径,将误差参数最小的路径中的候选像素点确定为预设关键点。
为了验证本申请实施例提供的关键点检测方法的有效性,对本申请实施例提供的方法(考虑预设关键点之间的连接关系)以及相关技术提供的方法(不考虑预设关键点之间的连接关系)进行了测试,测试结果如下述表1所示。
表1
其中,Accel是一种衡量抖动性的评价指标,Accel越高关键点检测结果越不稳定,Accel越低关键点检测结果越稳定。因此,从表1中可以看出,本申请实施例提供的关键点检测方法比相关技术提供的关键点检测方法更加稳定,采用本申请实施例提供的方法后,评价指标从9.06下降至7.1,稳定性提升21.6%。
图14是本申请实施例提供的一种关键点检测装置的结构示意图。参见图14,该装置包括:
图像获取模块1401,用于获取对象图像,对象图像中包括对象;
图像检测模块1402,用于基于对象的多个预设关键点,对对象图像进行检测,得到每个预设关键点的候选像素点以及候选像素点的预测距离,候选像素点中存在具有连接关系的像素点对,两个候选像素点具有连接关系是指两个候选像素点的预设关键点具有连接关系,候选像素点的预测距离是指预测得到的候选像素点与具有连接关系的另一候选像素点之间的距离;
集合构建模块1403,用于基于每个预设关键点的候选像素点,构建多个像素点集合,每个像素点集合包括每个预设关键点的一个候选像素点,每个像素点集合包括至少一个像素点对;
关键点确定模块1404,用于对于每个像素点集合,基于像素点集合中的候选像素点的预测距离,确定像素点集合的误差参数,误差参数表示像素点集合中的像素点对之间的距离与像素点对中的候选像素点的预测距离之间的差异;
关键点确定模块1404,还用于在多个像素点集合中,确定误差参数满足误差条件的目标像素点集合,将目标像素点集合中的多个候选像素点的位置确定为多个预设关键点的位置。
本申请实施例提供的关键点检测装置,预设关键点之间具有连接关系,通过对对象图像进行检测,得到每个预设关键点的候选像素点,除此之外,还得到候选像素点与具有连接关系的另一候选像素点之间的预测距离。那么如果具有连接关系的两个候选像素点之间的距离与候选像素点的预测距离的差异较小,则说明这两个候选像素点越准确,也即是越可能属于预设关键点。因此,基于候选像素点构建多个像素点集合,并确定每个像素点集合的误差参数,该误差参数表示具有连接关系的两个候选像素点之间的距离与候选像素点的预测距离之间的差异,然后将误差参数满足误差条件的像素点集合中的候选像素点确定为预设关键点,实现了对对象图像进行关键点检测,提高了关键点检测的准确性。
可选地,关键点确定模块1404,用于:
对于像素点集合中的每个像素点对,基于像素点对之间的距离与像素点对中的候选像素点的预测距离的差值,确定像素点对的误差子参数,误差子参数与差值正相关;
将像素点集合中的多个像素点对的误差子参数的和值,确定为像素点集合的误差参数。
可选地,关键点确定模块1404,用于:
基于像素点对中的两个候选像素点属于预设关键点的概率,确定误差权重,误差权重与概率负相关;
基于误差权重和差值,确定误差子参数,误差子参数与误差权重和差值正相关。
可选地,连接关系对应有连接方向,候选像素点的预测距离是指候选像素点所连接且指向的另一候选像素点之间的距离,像素点对包括具有连接关系的第一候选像素点和第二候选像素点,且连接方向为第一候选像素点指向第二候选像素点;
关键点确定模块1404,用于:
基于像素点对之间的距离与第一候选像素点的预测距离的差值,确定像素点对的误差子参数。
可选地,图像检测模块1402,用于:
基于多个预设关键点,对对象图像进行特征提取,得到概率特征和距离特征,概率特征表示对象图像中的像素点属于每个预设关键点的概率,距离特征表示对象图像中的像素点的预测距离;
对于每个预设关键点,基于概率特征,将属于预设关键点的概率满足概率条件的像素点确定为预设关键点的候选像素点。
可选地,图像检测模块1402,用于:
基于多个预设关键点,对对象图像进行特征提取,得到概率特征、第一距离特征和第二距离特征,第一距离特征表示对象图像中的像素点的横向预测距离,像素点的横向预测距离是指预测得到的像素点与具有连接关系的另一像素点之间在横轴方向上的距离,第二距离特征表示对象图像中的像素点的纵向预测距离,像素点的纵向预测距离是指预测得到的像素点与具有连接关系的另一像素点之间在纵轴方向上的距离。
可选地,图像检测模块1402,用于:
基于概率特征,确定属于预设关键点的概率满足概率条件的目标数量个像素点;
在目标数量个像素点中,将满足预设关键点的位置约束条件的像素点,确定为预设关键点的候选像素点。
可选地,关键点检测模型包括概率预测网络和距离预测网络;图像检测模块1402,用于:
通过概率预测网络,基于多个预设关键点,对对象图像进行特征提取,得到概率特征;
通过距离预测网络,基于多个预设关键点,对对象图像进行特征提取,得到距离特征。
可选地,图像检测模块1402,用于:
通过距离预测网络,基于多个预设关键点,对对象图像进行特征提取,得到第一距离特征和第二距离特征,第一距离特征表示对象图像中的像素点的横向预测距离,像素点的横向预测距离是指预测得到的像素点与具有连接关系的另一像素点之间在横轴方向上的距离,第二距离特征表示对象图像中的像素点的纵向预测距离,像素点的纵向预测距离是指预测得到的像素点与具有连接关系的另一像素点之间在纵轴方向上的距离。
可选地,参见图15,装置还包括模型训练模块1405,用于:
获取样本对象图像、样本概率特征和样本距离特征,样本概率特征表示样本对象图像中的样本像素点属于每个预设关键点的真实概率,样本距离特征表示样本对象图像中的样本像素点的真实连接距离,真实连接距离是指样本像素点在属于预设关键点的情况下,与具有连接关系的另一预设关键点之间的真实距离;
通过关键点检测模型,基于多个预设关键点,对样本对象图像进行特征提取,得到预测概率特征和预测距离特征;
基于预测概率特征、预测距离特征、样本概率特征和样本距离特征,训练关键点检测模型。
可选地,模型训练模块1405,用于:
基于预测概率特征与样本概率特征之间的第一差值,确定第一损失参数,第一损失参数与第一差值正相关;
基于预测距离特征与样本距离特征之间的第二差值,确定第二损失参数,第二损失参数与第二差值正相关;
将第一损失参数和第二损失参数进行加权融合,得到目标损失参数,基于目标损失参数,训练关键点检测模型。
需要说明的是:上述实施例提供的关键点检测装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的关键点检测装置与关键点检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以实现上述实施例的关键点检测方法中所执行的操作。
可选地,该计算机设备提供为终端。图16示出了本申请一个示例性实施例提供的终端1600的结构示意图。
终端1600包括有:处理器1601和存储器1602。
处理器1601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1601可以集成有GPU(Graphics Processing Unit,图像处理的交互器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1602中的非暂态的计算机可读存储介质用于存储至少一条计算机程序,该至少一条计算机程序用于被处理器1601所具有以实现本申请中方法实施例提供的关键点检测方法。
在一些实施例中,终端1600还可选包括有:外围设备接口1603和至少一个外围设备。处理器1601、存储器1602和外围设备接口1603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1603相连。可选地,外围设备包括:射频电路1604、显示屏1605、摄像头组件1606、音频电路1607和电源1608中的至少一种。
外围设备接口1603可被用于将I/O(Input /Output,输入/输出)相关的至少一个外围设备连接到处理器1601和存储器1602。在一些实施例中,处理器1601、存储器1602和外围设备接口1603被集成在同一芯片或电路板上;在一些其他实施例中,处理器1601、存储器1602和外围设备接口1603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1604可以通过至少一种无线通信协议来与其它设备进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1605是触摸显示屏时,显示屏1605还具有采集在显示屏1605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1601进行处理。此时,显示屏1605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1605可以为一个,设置在终端1600的前面板;在另一些实施例中,显示屏1605可以为至少两个,分别设置在终端1600的不同表面或呈折叠设计;在另一些实施例中,显示屏1605可以是柔性显示屏,设置在终端1600的弯曲表面上或折叠面上。甚至,显示屏1605还可以设置成非矩形的不规则图形,也即异形屏。显示屏1605可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。
摄像头组件1606用于采集图像或视频。可选地,摄像头组件1606包括前置摄像头和后置摄像头。前置摄像头设置在终端1600的前面板,后置摄像头设置在终端1600的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1601进行处理,或者输入至射频电路1604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1601或射频电路1604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1607还可以包括耳机插孔。
电源1608用于为终端1600中的各个组件进行供电。电源1608可以是交流电、直流电、一次性电池或可充电电池。当电源1608包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图16中示出的结构并不构成对终端1600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
可选地,该计算机设备提供为服务器。图17是本申请实施例提供的一种服务器的结构示意图,该服务器1700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)1701和一个或一个以上的存储器1702,其中,所述存储器1702中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器1701加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以实现上述实施例的关键点检测方法所执行的操作。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序由处理器加载并执行,以实现如上述实施例的关键点检测方法所执行的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请实施例的可选实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种关键点检测方法,其特征在于,所述方法包括:
获取对象图像,所述对象图像中包括对象;
基于所述对象的多个预设关键点,对所述对象图像进行检测,得到每个预设关键点的候选像素点以及所述候选像素点的预测距离,所述候选像素点中存在具有连接关系的像素点对,两个候选像素点具有连接关系是指所述两个候选像素点的预设关键点具有连接关系,所述候选像素点的预测距离是指预测得到的所述候选像素点与具有连接关系的另一候选像素点之间的距离;
基于每个预设关键点的候选像素点,构建多个像素点集合,每个所述像素点集合包括每个预设关键点的一个候选像素点,每个所述像素点集合包括至少一个所述像素点对;
对于每个所述像素点集合,基于所述像素点集合中的候选像素点的预测距离,确定所述像素点集合的误差参数,所述误差参数表示所述像素点集合中的像素点对之间的距离与所述像素点对中的候选像素点的预测距离之间的差异;
在多个所述像素点集合中,确定所述误差参数满足误差条件的目标像素点集合,将所述目标像素点集合中的多个候选像素点的位置确定为所述多个预设关键点的位置。
2.根据权利要求1所述的方法,其特征在于,所述基于所述像素点集合中的候选像素点的预测距离,确定所述像素点集合的误差参数,包括:
对于所述像素点集合中的每个像素点对,基于所述像素点对之间的距离与所述像素点对中的候选像素点的预测距离的差值,确定所述像素点对的误差子参数,所述误差子参数与所述差值正相关;
将所述像素点集合中的多个所述像素点对的误差子参数的和值,确定为所述像素点集合的误差参数。
3.根据权利要求2所述的方法,其特征在于,所述基于所述像素点对之间的距离与所述像素点对中的候选像素点的预测距离的差值,确定所述像素点对的误差子参数,包括:
基于所述像素点对中的两个候选像素点属于所述预设关键点的概率,确定误差权重,所述误差权重与所述概率负相关;
基于所述误差权重和所述差值,确定所述误差子参数,所述误差子参数与所述误差权重和所述差值正相关。
4.根据权利要求2所述的方法,其特征在于,所述连接关系对应有连接方向,所述候选像素点的预测距离是指预测得到的所述候选像素点与所连接且指向的另一候选像素点之间的距离,所述像素点对包括具有连接关系的第一候选像素点和第二候选像素点,且连接方向为所述第一候选像素点指向所述第二候选像素点;
所述基于所述像素点对之间的距离与所述像素点对中的候选像素点的预测距离的差值,确定所述像素点对的误差子参数,包括:
基于所述像素点对之间的距离与所述第一候选像素点的预测距离的差值,确定所述像素点对的误差子参数。
5.根据权利要求1所述的方法,其特征在于,所述基于所述对象的多个预设关键点,对所述对象图像进行检测,得到每个预设关键点的候选像素点以及所述候选像素点的预测距离,包括:
基于所述多个预设关键点,对所述对象图像进行特征提取,得到概率特征和距离特征,所述概率特征表示所述对象图像中的像素点属于每个预设关键点的概率,所述距离特征表示所述对象图像中的像素点的预测距离;
对于每个预设关键点,基于所述概率特征,将属于所述预设关键点的概率满足概率条件的像素点确定为所述预设关键点的候选像素点。
6.根据权利要求5所述的方法,其特征在于,所述基于所述多个预设关键点,对所述对象图像进行特征提取,得到概率特征和距离特征,包括:
基于所述多个预设关键点,对所述对象图像进行特征提取,得到所述概率特征、第一距离特征和第二距离特征,所述第一距离特征表示所述对象图像中的像素点的横向预测距离,所述像素点的横向预测距离是指预测得到的所述像素点与具有连接关系的另一像素点之间在横轴方向上的距离,所述第二距离特征表示所述对象图像中的像素点的纵向预测距离,所述像素点的纵向预测距离是指预测得到的所述像素点与具有连接关系的另一像素点之间在纵轴方向上的距离。
7.根据权利要求5所述的方法,其特征在于,所述基于所述概率特征,将属于所述预设关键点的概率满足概率条件的像素点确定为所述预设关键点的候选像素点,包括:
基于所述概率特征,确定属于所述预设关键点的概率满足所述概率条件的目标数量个像素点;
在所述目标数量个像素点中,将满足所述预设关键点的位置约束条件的像素点,确定为所述预设关键点的候选像素点。
8.根据权利要求5所述的方法,其特征在于,关键点检测模型包括概率预测网络和距离预测网络;所述基于所述多个预设关键点,对所述对象图像进行特征提取,得到概率特征和距离特征,包括:
通过所述概率预测网络,基于所述多个预设关键点,对所述对象图像进行特征提取,得到所述概率特征;
通过所述距离预测网络,基于所述多个预设关键点,对所述对象图像进行特征提取,得到所述距离特征。
9.根据权利要求8所述的方法,其特征在于,所述通过所述距离预测网络,基于所述多个预设关键点,对所述对象图像进行特征提取,得到所述距离特征,包括:
通过所述距离预测网络,基于所述多个预设关键点,对所述对象图像进行特征提取,得到第一距离特征和第二距离特征,所述第一距离特征表示所述对象图像中的像素点的横向预测距离,所述像素点的横向预测距离是指预测得到的所述像素点与具有连接关系的另一像素点之间在横轴方向上的距离,所述第二距离特征表示所述对象图像中的像素点的纵向预测距离,所述像素点的纵向预测距离是指预测得到的所述像素点与具有连接关系的另一像素点之间在纵轴方向上的距离。
10.根据权利要求8所述的方法,其特征在于,所述关键点检测模型的训练过程,包括:
获取样本对象图像、样本概率特征和样本距离特征,所述样本概率特征表示所述样本对象图像中的样本像素点属于每个预设关键点的真实概率,所述样本距离特征表示所述样本对象图像中的样本像素点的真实连接距离,所述真实连接距离是指所述样本像素点在属于预设关键点的情况下,与具有连接关系的另一预设关键点之间的真实距离;
通过所述关键点检测模型,基于所述多个预设关键点,对所述样本对象图像进行特征提取,得到预测概率特征和预测距离特征;
基于所述预测概率特征、所述预测距离特征、所述样本概率特征和所述样本距离特征,训练所述关键点检测模型。
11.根据权利要求10所述的方法,其特征在于,所述基于所述预测概率特征、所述预测距离特征、所述样本概率特征和所述样本距离特征,训练所述关键点检测模型,包括:
基于所述预测概率特征与所述样本概率特征之间的第一差值,确定第一损失参数,所述第一损失参数与所述第一差值正相关;
基于所述预测距离特征与所述样本距离特征之间的第二差值,确定第二损失参数,所述第二损失参数与所述第二差值正相关;
将所述第一损失参数和所述第二损失参数进行加权融合,得到目标损失参数,基于所述目标损失参数,训练所述关键点检测模型。
12.一种关键点检测装置,其特征在于,所述装置包括:
图像获取模块,用于获取对象图像,所述对象图像中包括对象;
图像检测模块,用于基于所述对象的多个预设关键点,对所述对象图像进行检测,得到每个预设关键点的候选像素点以及所述候选像素点的预测距离,所述候选像素点中存在具有连接关系的像素点对,两个候选像素点具有连接关系是指所述两个候选像素点的预设关键点具有连接关系,所述候选像素点的预测距离是指预测得到的所述候选像素点与具有连接关系的另一候选像素点之间的距离;
集合构建模块,用于基于每个预设关键点的候选像素点,构建多个像素点集合,每个所述像素点集合包括每个预设关键点的一个候选像素点,每个所述像素点集合包括至少一个所述像素点对;
关键点确定模块,用于对于每个所述像素点集合,基于所述像素点集合中的候选像素点的预测距离,确定所述像素点集合的误差参数,所述误差参数表示所述像素点集合中的像素点对之间的距离与所述像素点对中的候选像素点的预测距离之间的差异;
所述关键点确定模块,还用于在多个所述像素点集合中,确定所述误差参数满足误差条件的目标像素点集合,将所述目标像素点集合中的多个候选像素点的位置确定为所述多个预设关键点的位置。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如权利要求1至11任一项所述的关键点检测方法所执行的操作。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现如权利要求1至11任一项所述的关键点检测方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310850815.8A CN116580211B (zh) | 2023-07-12 | 2023-07-12 | 关键点检测方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310850815.8A CN116580211B (zh) | 2023-07-12 | 2023-07-12 | 关键点检测方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116580211A CN116580211A (zh) | 2023-08-11 |
CN116580211B true CN116580211B (zh) | 2023-09-08 |
Family
ID=87541683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310850815.8A Active CN116580211B (zh) | 2023-07-12 | 2023-07-12 | 关键点检测方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116580211B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117854156B (zh) * | 2024-03-07 | 2024-05-07 | 腾讯科技(深圳)有限公司 | 一种特征提取模型的训练方法和相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111402228A (zh) * | 2020-03-13 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 图像检测方法、装置和计算机可读存储介质 |
CN113139564A (zh) * | 2020-01-20 | 2021-07-20 | 清华大学 | 关键点检测模型的训练方法、装置、电子设备及存储介质 |
CN114139630A (zh) * | 2021-12-02 | 2022-03-04 | 北京地平线信息技术有限公司 | 姿态识别方法、装置、存储介质和电子设备 |
CN114842305A (zh) * | 2022-06-14 | 2022-08-02 | 广州文远知行科技有限公司 | 深度预测模型训练方法、深度预测方法及相关装置 |
CN116188789A (zh) * | 2022-12-01 | 2023-05-30 | 浙江大华技术股份有限公司 | 目标检测方法、检测装置及计算机可读存储介质 |
-
2023
- 2023-07-12 CN CN202310850815.8A patent/CN116580211B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113139564A (zh) * | 2020-01-20 | 2021-07-20 | 清华大学 | 关键点检测模型的训练方法、装置、电子设备及存储介质 |
CN111402228A (zh) * | 2020-03-13 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 图像检测方法、装置和计算机可读存储介质 |
CN114139630A (zh) * | 2021-12-02 | 2022-03-04 | 北京地平线信息技术有限公司 | 姿态识别方法、装置、存储介质和电子设备 |
CN114842305A (zh) * | 2022-06-14 | 2022-08-02 | 广州文远知行科技有限公司 | 深度预测模型训练方法、深度预测方法及相关装置 |
CN116188789A (zh) * | 2022-12-01 | 2023-05-30 | 浙江大华技术股份有限公司 | 目标检测方法、检测装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116580211A (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111325726A (zh) | 模型训练方法、图像处理方法、装置、设备及存储介质 | |
CN113610750B (zh) | 对象识别方法、装置、计算机设备及存储介质 | |
JP2022518745A (ja) | 目標の位置取得方法、装置、コンピュータ機器及びコンピュータプログラム | |
CN114332530A (zh) | 图像分类方法、装置、计算机设备及存储介质 | |
CN112419326B (zh) | 图像分割数据处理方法、装置、设备及存储介质 | |
CN110147533B (zh) | 编码方法、装置、设备及存储介质 | |
CN110147532B (zh) | 编码方法、装置、设备及存储介质 | |
CN111598168B (zh) | 图像分类方法、装置、计算机设备及介质 | |
CN112035671B (zh) | 状态检测方法、装置、计算机设备及存储介质 | |
CN114722937B (zh) | 一种异常数据检测方法、装置、电子设备和存储介质 | |
CN113516143B (zh) | 文本图像匹配方法、装置、计算机设备及存储介质 | |
CN111753498B (zh) | 文本处理方法、装置、设备及存储介质 | |
CN116580211B (zh) | 关键点检测方法、装置、计算机设备及存储介质 | |
CN114359225B (zh) | 图像检测方法、装置、计算机设备及存储介质 | |
CN113569052B (zh) | 知识图谱的表示学习方法及装置 | |
CN112115900B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN113569042A (zh) | 文本信息分类方法、装置、计算机设备及存储介质 | |
CN111589138B (zh) | 动作预测方法、装置、设备及存储介质 | |
CN110555102A (zh) | 媒体标题识别方法、装置及存储介质 | |
CN114677350B (zh) | 连接点提取方法、装置、计算机设备及存储介质 | |
CN113763931B (zh) | 波形特征提取方法、装置、计算机设备及存储介质 | |
CN110990549A (zh) | 获取答案的方法、装置、电子设备及存储介质 | |
CN113569822B (zh) | 图像分割方法、装置、计算机设备及存储介质 | |
CN117009878A (zh) | 基于超图的分类方法、装置、计算机设备及存储介质 | |
CN114281937A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40091081 Country of ref document: HK |