CN110443170A - 一种人体关键点确定方法、装置及电子设备 - Google Patents
一种人体关键点确定方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110443170A CN110443170A CN201910672443.8A CN201910672443A CN110443170A CN 110443170 A CN110443170 A CN 110443170A CN 201910672443 A CN201910672443 A CN 201910672443A CN 110443170 A CN110443170 A CN 110443170A
- Authority
- CN
- China
- Prior art keywords
- key point
- matrix
- human body
- video frame
- body key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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/56—Extraction of image or video features relating to colour
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种人体关键点确定方法、装置及电子设备,其中,该方法包括:识别待检测视频中的当前视频帧的人体关键点;基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;根据区域图像,获取区域图像的色值矩阵;将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。从而可以降低确定人体关键点的过程中的运算量,减少电子设备的运算成本。
Description
技术领域
本发明涉及图像技术领域,特别是涉及一种人体关键点确定方法、装置及电子设备。
背景技术
人体关键点检测是对采集的图像中的人体进行特征分析,从而确定人体的各个关键点在采集的图像中的作为位置,其中,该人体关键点包括:头、颈、肩、肘、手、臀、膝、脚等部位。
而随着神经网络的兴起,采用神经网络进行人体关键点检测,能够极大的人体关键点检测的效率。在采用神经网络进行人体关键点检测时,通常是将待检测图像输入至预先训练好的人体关键点检测神经网络模型中,该人体关键点检测神经网络模型可以输出该待检测图像中的人体关键点。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
当采用人体关键点检测神经网络模型对拍摄的视频进行关键点检测时,应用该人体关键点检测神经网络模型的电子设备需要对每个视频帧都采用该人体关键点检测神经网络模型,才能得到每个视频帧中的人体关键点。使得该电子设备在得到每个视频帧中的人体关键点的过程中,运算量过大,增加了电子设备的运算成本。
发明内容
本发明实施例的目的在于提供一种人体关键点确定方法、装置及电子设备,以实现降低确定人体关键点的过程中的运算量,减少电子设备的运算成本。具体技术方案如下:
在本发明实施例的一个方面,本发明实施例提供了一种人体关键点确定方法,该方法包括:
识别待检测视频中的当前视频帧的人体关键点;
基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;
基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;
基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;
根据区域图像,获取区域图像的色值矩阵;
将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
在本发明实施例的又一方面,本发明实施例还提供了一种人体关键点确定装置,该装置包括:
识别模块,用于识别待检测视频中的当前视频帧的人体关键点;
位置计算模块,用于基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;
热度矩阵获取模块,用于基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;
区域获取模块,用于基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;
色值矩阵获取模块,用于根据区域图像,获取区域图像的色值矩阵;
人体关键点获取模块,用于将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
在本发明实施例的又一方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的人体关键点确定方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的人体关键点确定方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的人体关键点确定方法。
本发明实施例提供的一种人体关键点确定方法、装置及电子设备,在确定视频帧中的人体关键点时,可以先识别待检测视频中的当前视频帧的人体关键点;然后基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;再基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;在得到区域图像后,可以根据区域图像,获取区域图像的色值矩阵;最后,将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
这样,可以基于当前视频帧中的人体关键点,确定该当前视频帧的下一视频帧中的人体关键点,并且,可以仅仅将与跟踪框对应的图像的矩阵,输入至预先训练得到的第一关键点检测神经网络模型中的矩阵,而不需要将一个完整的视频帧输入至该预先训练得到的第一关键点检测神经网络模型,从而可以降低确定人体关键点的过程中的运算量,减少电子设备的运算成本。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例的一种人体关键点确定方法第一种实施方式的流程图;
图2为本发明实施例的一种人体关键点确定方法第二种实施方式的流程图;
图3a为图2所示的实施方式中的三维色值矩阵的结构示意图;
图3b为图2所示的实施方式中的合成后的三维色值矩阵的结构示意图;
图4为本发明实施例的一种人体关键点确定方法第三种实施方式的流程图;
图5为本发明实施例的一种人体关键点确定装置第一种实施方式的结构示意图;
图6为本发明实施例的一种人体关键点确定装置第二种实施方式的结构示意图;
图7为本发明实施例的一种人体关键点确定装置第三种实施方式的结构示意图;
图8为本发明实施例的一种人体关键点确定装置第四种实施方式的结构示意图;
图9为本发明实施例的一种人体关键点确定装置第五种实施方式的结构示意图;
图10为本发明实施例的一种人体关键点确定装置第六种实施方式的结构示意图;
图11为本发明实施例的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
在现有技术中,当采用人体关键点检测神经网络模型对拍摄的视频进行关键点检测时,应用该人体关键点检测神经网络模型的电子设备需要对每个视频帧都采用该人体关键点检测神经网络模型,才能得到每个视频帧中的人体关键点。无法利用连续两个视频帧之间人体关键点的关系,使得该电子设备在得到每个视频帧中的人体关键点的过程中,运算量过大,增加了电子设备的运算成本。
为了解决现有技术存在的问题,本发明实施例提供了一种人体关键点确定方法、装置及电子设备,以实现降低确定人体关键点的过程中的运算量,减少电子设备的运算成本。
首先对本发明实施例的一种人体关键点确定方法进行介绍,本发明实施例的一种人体关键点确定方法可以单独对一个人体关键点进行确定,也可以同时对多个人体关键点进行确定。当同时对多个人体关键点进行确定时,可以同时分别对每个人体关键点进行确定。
下面,以单独对一个人体关键点进行确定为例进行介绍,如图1所示,为本发明实施例的一种人体关键点确定方法第一种实施方式的流程图,该方法可以包括:
S110,识别待检测视频中的当前视频帧的人体关键点。
为了确定当前视频帧的下一视频帧中的人体关键点,在本发明实施例中,可以先确定出该当前视频帧的人体关键点。
在一些示例中,该当前视频帧的人体关键点可以是采用本发明实施例的一种人体关键点确定方法确定的人体关键点,也可以是将该当前视频帧输入至一个预先训练得到的人体关键点检测神经网络确定出的人体关键点,这都是可以的。
在又一些示例中,当该当前视频帧为该待检测视频中的第一个视频帧时,则可以将该当前视频帧输入至一个预先训练得到的人体关键点检测神经网络,以确定出该当前视频帧的人体关键点;也即,将当前视频帧输入至预先训练得到的第二关键点检测神经网络模型中,得到当前视频帧的人体关键点。该预先训练得到的第二关键点检测神经网络模型可以是采用标注有人体关键点的视频帧或图像样本进行训练得到的。
当该当前视频帧不是该待检测视频中的第一个视频帧时,则可以基于该当前视频帧的上一视频帧的人体关键点,采用本发明实施例的一种人体关键点确定方法,确定出该当前视频帧中的人体关键点。
S120,基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置。
在一些示例中,人体的同一部位在相邻的两个视频帧中的位置往往是具有一定的位移关系,因此,为了能够基于当前视频帧中的人体关键点来确定该当前视频帧的下一视频帧中的人体关键点,可以预先设置一个跟踪框,以使该当前视频帧的下一视频帧中的人体关键点也在该预设跟踪框内。
在一些示例中,在预先设置跟踪框时,可以预先设置该跟踪框的长度和高度,以便确定该跟踪框的尺寸。
在得到当前视频帧的人体关键点和预设跟踪框的长度和高度后,基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置,例如,可以获取关键点跟踪框在当前视频帧中的对角位置。
在一些示例中,可以以该关键点跟踪框的左上角位置和右下角位置作为该关键点跟踪框的对角位置,还可以以该关键点跟踪框的左下角位置和右上角位置作为该关键点跟踪框的对角位置。该左上角位置是指该关键点跟踪框的左上角在该当前视频帧中的位置,该右下角位置是指该关键点跟踪框的右下角在该当前视频帧中的位置,该左下角位置是指该关键点跟踪框的左下角在该当前视频帧中的位置,该右上角位置是指该关键点跟踪框的右上角在该当前视频帧中的位置。
例如,假设该当前视频帧的第i个人体关键点为(xi,yi),其中,xi为第i个人体关键点在该当前视频帧中的横坐标位置,yi为第i个人体关键点在该当前视频帧中的纵坐标位置,1≤i≤N,N为该当前视频帧中的人体关键点的总数。预设跟踪框的长度为W,高度为H,则该第i个人体关键点对应的关键点跟踪框的左上角的横坐标位置为:纵坐标位置为:该第i个人体关键点对应的关键点跟踪框的右下角的横坐标位置为:纵坐标位置为:其中,α为横向缩放因子,β为纵向缩放因子。
应当理解的是,基于上述的举例,对上述的计算公式进行变形,可以得到该跟踪框的左下角的横坐标位置和纵坐标位置,该跟踪框的右上角的横坐标位置和纵坐标位置,进而可以将该跟踪框的左下角的横坐标位置和纵坐标位置,跟踪框的右上角的横坐标位置和纵坐标位置,作为该跟踪框的对角位置。
S130,基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵。
在得到关键点跟踪框在该当前视频帧中的位置以及人体关键点后,为了能够更准确的确定出该当前视频帧的下一视频帧中该人体关键点的位置,可以首先确定出该人体关键点对应的热度矩阵,该热度矩阵可以用于表征该关键点跟踪框中的不同位置与该人体关键点之间的关联程度。关联程度越高,则该位置在热度矩阵中的值越大。
在一些示例中,可以基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵。也即,基于关键点跟踪框在当前视频帧中的位置和人体关键定之间的关联程度,来获取人体关键点的热度矩阵。
在一些示例中,可以计算人体关键点与关键点跟踪框中每个点的位置之间的距离,然后基于该距离来获取该人体关键点的热度矩阵。
该关键点跟踪框中的每个点可以是由一个像素构成的,也可以是多个像素构成的,这都是可以的。
在一些示例中,可以计算关键点跟踪框中每个像素的位置与该人体关键点之间的距离,在得到每个像素的位置与该人体关键点之间的距离后,可以将关键点跟踪框的对角位置横坐标之间的像素数作为热度矩阵的列数,将关键点跟踪框的对角位置纵坐标之间的像素数作为热度矩阵的行数,以每个像素的位置与该人体关键点之间的距离作为该像素对应的位置的值,建立热度矩阵,从而可以得到与人体关键点对应的热度矩阵。
在一些示例中,还可以采用如下步骤,确定与人体关键点对应的热度矩阵:
步骤A,基于人体关键点的位置和关键点跟踪框在当前视频帧中的位置,获取人体关键点在关键点跟踪框中的位置;
在一些示例中,为了获取与人体关键点对应的热度矩阵,可以先获取人体关键点在关键点跟踪框中的位置,然后基于该人体关键点在关键点跟踪框中的位置,来获取该热度矩阵。
具体的,可以基于人体关键点的位置和关键点跟踪框在当前视频帧中的位置,获取人体关键点在关键点跟踪框中的位置。
例如,可以基于人体关键点的位置和关键点跟踪框的左上角在该当前视频帧中的位置,获取人体关键点在关键点跟踪框中的位置;也可以基于人体关键点的位置和关键点跟踪框的左下角在该当前视频帧中的位置,获取人体关键点在关键点跟踪框中的位置。
或者,基于人体关键点的位置和关键点跟踪框的右上角在该当前视频帧中的位置,获取人体关键点在关键点跟踪框中的位置。
或者,基于人体关键点的位置和关键点跟踪框的右下角在该当前视频帧中的位置,获取人体关键点在关键点跟踪框中的位置。
当基于人体关键点的位置和关键点跟踪框的左上角在该当前视频帧中的位置,获取人体关键点在关键点跟踪框中的位置时,可以通过以下公式:
获取人体关键点在关键点跟踪框中的位置(xi',yi'),其中,为第i个人体关键点对应的关键点跟踪框的左上角位置(xi,yi)为第i个人体关键点。
步骤B,基于预设空矩阵中各个元素在预设空矩阵中的位置和人体关键点在关键点跟踪框中的位置,计算各个元素与人体关键点之间的距离。
在一些示例中,可以通过以下公式:
计算空矩阵中的第p行第q列的元素与第i个人体关键点之间的距离dpq,其中,(p,q)为空矩阵中第p行第q列的元素在空矩阵中的位置。
在一些示例中,该预设空矩阵可以是人工预先设置的一个空矩阵。
该空矩阵中的行列数可以是由人工设置的。
在又一些示例中,本发明实施例还提供了一种预先设置空矩阵的方法,例如,可以包括:
步骤B1,基于关键点跟踪框在当前视频帧中的对角位置,计算关键点跟踪框中像素的行数和像素的列数,并将关键点跟踪框中像素的行数作为预设空矩阵的行数,将关键点跟踪框中像素的列数作为预设空矩阵的列数;
步骤B2,基于预设空矩阵的行数和列数,创建预设空矩阵。
在一些示例中,可以先基于该关键点跟踪框在该当前视频帧中的对角位置,来计算该关键点跟踪框中像素的行数和列数,然后将关键点跟踪框中像素的行数作为预设空矩阵的行数,将关键点跟踪框中像素的列数作为预设空矩阵的列数,最后,基于预设空矩阵的行数和列数,创建预设空矩阵。该空矩阵中的各个元素的值为空。这样,可以使得基于该预设空矩阵来生成热度矩阵时,该热度矩阵中每个元素的位置与人体关键点之间的距离能够更详细,从而使得确定出的该当前视频帧的下一视频帧中的人体关键点更准确,从而可以提高本发明实施例的准确度。
例如,假设该关键点跟踪框的对角位置横坐标之间的像素数为4,该关键点跟踪框的对角位置纵坐标之间的像素数也为4,则可以建立一个4×4的矩阵,例如,可以建立如下所示的矩阵:
其中,该矩阵中的各个元素的值均为空。
步骤C,基于预设空矩阵中每个元素与人体关键点之间的距离和空矩阵,获取与人体关键点对应的热度矩阵。
其中,热度矩阵中每个元素的值用于表征该元素在热度矩阵中的位置与人体关键点之间的距离。
在通过步骤C确定出空矩阵中每个元素与人体关键点之间的距离后,可以基于空矩阵中每个元素与人体关键点之间的距离和该空矩阵,来确定与人体关键点对应的热度矩阵。
在一些示例中,可以将空矩阵中每个元素与人体关键点之间的距离,添加至该元素在空矩阵中的位置,从而可以得到添加有每个元素与人体关键点之间的距离的矩阵,也即与人体关键点对应的热度矩阵。
在又一些示例中,为了降低该热度矩阵的复杂度,可以设置一个距离阈值,然后该空矩阵中每个元素与人体关键点之间的距离和该距离阈值进行比较,当一个元素与人体关键点之间的距离大于该距离阈值时,则可以说明该元素所在位置与人体关键点所在位置之间的关联程度较低,则可以将该元素的值设为0,当一个元素与人体关键点之间的距离小于该距离阈值时,则可以说明该元素所在位置与人体关键点所在位置之间的关联程度较高,则可以将该元素的值确定为最后,将该元素的值添加至该空矩阵中该元素所在位置,得到与人体关键点对应的热度矩阵。
例如,假设通过上述步骤,可以计算得到上述的空矩阵中每个元素与人体关键点之间的距离,假设上述的空矩阵中的每个元素与人体关键点之间的距离均小于该距离阈值。则可以得到如下所示的热度矩阵:
S140,基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像。
S150,根据区域图像,获取区域图像的色值矩阵。
在一些示例中,该当前视频帧的下一视频帧中的人体关键点,不仅与该当前视频帧中的人体关键点具有相关性,还与该下一视频帧中的图像具有相关性。例如,当该人体关键点为手部关键点时,该手部关键点在该当前视频帧中的图像与在该当前视频帧的下一视频帧中的图像往往是相似的。
因此,在得到该热度矩阵后,还可以获取该当前视频帧中的下一视频帧中与关键点跟踪框对应的区域图像。
在一些示例中,由于两个相邻的视频帧的尺寸是相同的,因此,该关键点跟踪框在该两个相邻的视频帧中的位置也可以是相同的,则可以基于该关键点跟踪框在该当前视频帧中的位置,确定出该关键点跟踪框在该当前视频帧的下一视频帧中的位置,从而可以基于该关键点跟踪框在该当前视频帧的下一视频帧中的位置,确定出该关键点跟踪框在该当前视频帧的下一视频帧中围城的区域的图像,也即上述的步骤S140中的区域图像。
在得到该区域图像后,则可以根据该区域图像,获取该区域图像的色值矩阵。
在一些示例中,该色值矩阵中每个元素的值可以表示在该区域图像中的对应位置的色值。在一些示例,该元素的值可以是一个像素的色值,也可以是多个像素的色值的平均值,这都是可以的。
在一些示例中,在根据区域图像,获取区域图像的色值矩阵时,可以先获取区域图像中像素的行数、像素的列数和每个像素点的色值;然后将像素的行数作为色值矩阵的行数,将像素的列数作为色值矩阵的列数,将区域图像中每个像素点的色值作为与色值矩阵中的与该像素点对应的元素的元素值,得到区域图像的色值矩阵,其中,色值矩阵中每个元素的值为与该元素所在位置对应的像素的色值。这样,可以使得得到的色值矩阵中每个元素的值都是一个像素点的色值,从而可以使得采用该色值矩阵通过后续步骤获取到的该当前视频帧的下一视频帧中人体关键点的位置更加准确。
在一些示例中,对于图像或视频帧而言,其图像内容或视频帧内容中的不同颜色往往是由一定的色彩模式构成,例如,由RGB(Red、Green、Blue,红色、绿色、蓝色)色彩模式构成,或者由CMYK(Cyan、Magenta、Yellow、Black,青色、品红色、黄色、黑色)色彩模式构成。也就是说,对于由该关键点跟踪框的对角位置形成的区域的图像的每一个像素点,都是可以由一个色彩模式中的不同颜色来组成,因此,可以按照色彩模式,将该区域的图像的每个像素点的色彩分离,从而可以得到该区域的图像的色彩模式中的每个色彩分量的色彩图像,例如,按照RGB色彩模式,可以得到该区域的图像的红色色彩图像、该区域的图像的绿色色彩图像和该区域的图像的蓝色色彩图像。
然后,对于该区域的图像的红色色彩图像,将该红色色彩图像中的横向像素点的数量作为红色色值矩阵的列数,将该红色色彩图像中的纵向像素点的数量作为红色色值矩阵的行数,将该红色色彩图像中每个像素点的红色色值作为该像素点对应的元素在该红色色值矩阵中的元素值,从而可以得到红色色值矩阵,例如,可以得到如下所示的红色色值矩阵:
对于该区域的图像的绿色色彩图像,将该绿色色彩图像中的横向像素点的数量作为绿色色值矩阵的列数,将该绿色色彩图像中的纵向像素点的数量作为绿色色值矩阵的行数,将该绿色色彩图像中每个像素点的绿色色值作为该像素点对应的元素在该绿色色值矩阵中的元素值,从而可以得到绿色色值矩阵,例如,可以得到如下所示的绿色色值矩阵:
对于该区域的图像的蓝色色彩图像,将该蓝色色彩图像中的横向像素点的数量作为蓝色色值矩阵的列数,将该蓝色色彩图像中的纵向像素点的数量作为蓝色色值矩阵的行数,将该蓝色色彩图像中每个像素点的蓝色色值作为该像素点对应的元素在该蓝色色值矩阵中的元素值,从而可以得到蓝色色值矩阵,例如,可以得到如下所示的蓝色色值矩阵:
通过上述步骤,可以得到该区域的图像的色彩模式中的每个色彩分量的色彩图像对应的色值矩阵。也即得到该关键点跟踪框的色值矩阵。该色值矩阵可以包括:色彩模式中每个色彩分量对应的色值矩阵,例如,可以包括红色色值矩阵、绿色色值矩阵和蓝色色值矩阵。
S160,将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
在得到与当前视频帧中的人体关键点对应的热度矩阵和当前视频帧的下一视频帧对应的色值矩阵后,为了能够确定出该当前视频帧的下一视频帧中的人体关键点,则可以将该热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,
在将该热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型后,该第一关键点检测神经网络模型可以对该热度矩阵和色值矩阵进行计算,从而可以得到对当前视频帧的下一视频帧确定的人体关键点。
在一些示例中,该预先训练得到的第一关键点检测神经网络模型,可以是采用预先标注有关键点的热度矩阵样本和预先标注有关键点的色值矩阵,对关键点检测神经网络模型进行训练得到的关键点检测神经网络模型。
本发明实施例提供的一种人体关键点确定方法,在确定视频帧中的人体关键点时,可以先识别待检测视频中的当前视频帧的人体关键点;然后基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;再基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;在得到区域图像后,可以根据区域图像,获取区域图像的色值矩阵;最后,将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
这样,可以基于当前视频帧中的人体关键点,确定该当前视频帧的下一视频帧中的人体关键点,并且,可以仅仅将与跟踪框对应的图像的矩阵,输入至预先训练得到的第一关键点检测神经网络模型中的矩阵,而不需要将一个完整的视频帧输入至该预先训练得到的第一关键点检测神经网络模型,从而可以降低确定人体关键点的过程中的运算量,减少电子设备的运算成本。
在本发明实施例的一种可能的实现方式中,在图1所示的一种人体关键点确定方法的基础上,本发明实施例还提供了一种可能的实现方式,如图2所示,为本发明实施例的一种人体关键点确定方法第二种实施方式的流程图,该方法可以包括:
S210,识别待检测视频中的当前视频帧的人体关键点。
S220,基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置。
S230,基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵。
S240,基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像。
S250,根据区域图像,获取区域图像的色值矩阵。
S260,将热度矩阵中的热度值与色值维合成,得到合成后的矩阵。
在一些示例中,在将关键点跟踪框的色值矩阵和与人体关键点对应的热度矩阵输入至预先训练得到的第一关键点检测神经网络模型时,可以先对该关键点跟踪框的色值矩阵和与人体关键点对应的热度矩阵合成,然后将合成后的矩阵输入至预先训练得到的第一关键点检测神经网络模型。
在一些示例中,该色值矩阵为三维矩阵,该三维矩阵包括:纵向像素维、横向像素维以及色值维;色值矩阵的不同行沿纵向像素维纵向分布,色值矩阵的不同列沿横向像素维横向分布;色值矩阵的色值维为预设色彩模式的色彩分量,例如,假设预设色彩模式为RGB模式,则该色值维可以包括:红色色值、绿色色值以及蓝色色值;在一些示例中,将红色色值矩阵、绿色色值矩阵以及蓝色色值矩阵按照色值维进行叠加,也即将红色色值矩阵、绿色色值矩阵以及蓝色色值矩阵按照该色值维排列,便可以得到如图3a所示的是三维色值矩阵,在图3a中,框310为红色色值矩阵,框320为绿色色值矩阵,框330为蓝色色值矩阵,由于在三维矩阵中,绿色色值矩阵遮挡了红色色值矩阵部分内容,这里不对红色色值矩阵中被遮挡部分的内容进行显示,该框310中实际包含了红色色值矩阵的完整内容,同样的,框320中也包含了绿色色值矩阵的完整内容。
在又一些示例中,热度矩阵的列数与色值矩阵的横向像素维中的列数相同,热度矩阵的行数与色值矩阵的纵向像素维中的行数相同,因此,可以将热度矩阵和上述的色值矩阵进行合成。
在对热度矩阵和上述的色值矩阵进行合成时,可以将热度矩阵中的热度值与色值维合成,例如,将该热度矩阵叠加至该色值矩阵中,使得该热度矩阵按照该色值维排列在红色色值矩阵、绿色色值矩阵以及蓝色色值矩阵中的任一矩阵之后,例如,将该热度矩阵排列在该蓝色色值矩阵之后,可以得到如图3b所示的合成后的三维色值矩阵,在图3b中,该合成后的矩阵中的色值维除了包括红色色值、绿色色值、蓝色色值以外,还可以热度值,该热度值可以是框340中的各个热度值。
S270,将合成后的矩阵输入至预先训练得到的关键点检测神经网络模型的子模型中,得到子模型输出的热度矩阵。
S280,在子模型输出的热度矩阵中,查找最大热度值在子模型输出的热度矩阵中的位置。
S290,基于最大热度值在子模型输出的热度矩阵中的位置和关键点跟踪框的对角位置,确定对当前视频帧的下一视频帧确定的人体关键点。
在得到合成后的矩阵后,可以将该合成后的矩阵输入至预先训练得到的关键点检测神经网络模型中,在一些示例中,该预先训练得到的关键点检测神经网络模型可以包括一个子模型,则可以将该合成后的矩阵输入至该子模型中,则该子模型可以对该合成后的矩阵进行计算,从而可以得到该子模型输出的热度矩阵。
在一些示例中,该子模型可以是采用标注有热度值的预设合成矩阵样本进行训练得到的子模型。
在得到该子模型输出的热度矩阵后,为了确定该当前视频帧的下一视频帧中的人体关键点,则可以在该子模型输出的热度矩阵中,查找最大热度值在子模型输出的热度矩阵中的位置。在一些示例中,在该子模型输出的热度矩阵中,当热度值越大,则可以说明该热度值所在位置与该当前视频帧的下一视频帧中的人体关键点的位置的关联程度越高,因此,可以在该子模型输出的热度矩阵中,查找最大热度值在子模型输出的热度矩阵中的位置。
最后,在得到最大热度值在子模型输出的热度矩阵中的位置后,可以基于最大热度值在子模型输出的热度矩阵中的位置和关键点跟踪框的对角位置,确定对当前视频帧的下一视频帧确定的人体关键点。
在一些示例中,该子模型输出的热度矩阵的行数和列数,与输入前的热度矩阵的行数和列数相同,因此,该子模型输出的热度矩阵的总行数与关键点跟踪框的纵向像素数相同,该子模型输出的热度矩阵的总列数与关键点跟踪框的横向像素数相同。则可以基于最大热度值在子模型输出的热度矩阵中的位置和关键点跟踪框的对角位置,将该最大热度值在子模型输出的热度矩阵中的位置转换为在当前视频帧的下一视频帧中的位置。
当该关键点跟踪框的对角位置为左上角位置时,则可以将该关键点跟踪框的左上角横坐标与该最大热度值在子模型输出的热度矩阵中的列数相加,得到该将最大热度值在当前视频帧的下一视频帧中的横坐标;将该关键点跟踪框的左上角纵坐标与该最大热度值在子模型输出的热度矩阵中的行数相加,得到该将最大热度值在当前视频帧的下一视频帧中的纵坐标;从而可以得到最大热度值当前视频帧的下一视频帧中的位置,该最大热度值在当前视频帧的下一视频帧中的位置,则为该当前视频帧的下一视频帧的关键点。
通过本发明实施例,可以降低子模型的复杂度,进而减少工作人员设计该子模型的工作量。
应当理解的是,本发明实施例中的步骤S210~S250与本发明实施例的第一种实施方式中的步骤S110~S150相同,这里不再赘述。
在本发明实施例的一种可能的实现方式中,在图1所示的一种人体关键点确定方法的基础上,本发明实施例还提供了一种可能的实现方式,如图4所示,为本发明实施例的一种人体关键点确定方法第三种实施方式的流程图,该方法可以包括:
S410,对待检测完整视频进行人体识别,并基于识别结果,对待检测完整视频进行分段;
S420,将分段得到的每个视频段作为待检测视频,将每个视频段的第一个视频帧作为当前视频帧。
在一些示例中,本发明实施例可以实时对拍摄的视频进行关键点检测,以实时确定该拍摄的视频的每个视频帧中的人体关键点。还可以对存储在存储介质中的视频进行关键点检测。这都是可以的。
在又一些实例中,在一个完整视频中,一部分视频帧中有人,而另一部分视频帧中没有人,为了避免对该完整视频中没有人的视频帧进行人体关键点检测,可以先识别该完整视频中的人体,然后可以基于该完整视频中的人体,对该完整视频进行分段,使得分段后的视频段中的视频帧都包含有人。
例如,将包含有人的相邻视频帧作为一段视频,或者将包含有同一个人的相邻视频帧作为一段视频,这都是可以的。
然后可以将该分段后的视频段的第一个视频帧作为当前视频帧,并将该当前视频帧输入至预先训练得到的第二关键点检测神经网络模型中,可以得到该当前视频帧中的人体关键点。进而可以基于该当前视频帧中的人体关键点,采用后续步骤确定该当前视频帧的下一视频帧的关键点。
通过对待检测完整视频帧进行分段,可以降低使用本发明实施例的一种人体关键点检测方法确定人体关键点的复杂度,减少检测的计算量,进而降低检测的时间开销。
S430,识别待检测视频中的当前视频帧的人体关键点。
S440,基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置。
S450,基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵。
S460,基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像。
S470,根据区域图像,获取区域图像的色值矩阵。
S480,将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到对当前视频帧的下一视频帧确定的人体关键点。
应当理解的是,本发明实施例中的步骤S430~S480与本发明实施例的第一种实施方式中的步骤S110~S160相同,这里不再赘述。
相应于上述的方法实施例,本发明实施例还提供了一种人体关键点确定装置,如图5所示,为本发明实施例的一种人体关键点确定装置第一种实施方式的结构示意图,该装置可以包括:
识别模块510,用于识别待检测视频中的当前视频帧的人体关键点;
位置计算模块520,用于基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;
热度矩阵获取模块530,用于基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;
区域获取模块540,用于基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;
色值矩阵获取模块550,用于根据区域图像,获取区域图像的色值矩阵;
人体关键点获取模块560,用于将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
本发明实施例提供的一种人体关键点确定装置,在确定视频帧中的人体关键点时,可以先识别待检测视频中的当前视频帧的人体关键点;然后基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;再基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;在得到区域图像后,可以根据区域图像,获取区域图像的色值矩阵;最后,将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
这样,可以基于当前视频帧中的人体关键点,确定该当前视频帧的下一视频帧中的人体关键点,并且,可以仅仅将与跟踪框对应的图像的矩阵,输入至预先训练得到的第一关键点检测神经网络模型中的矩阵,而不需要将一个完整的视频帧输入至该预先训练得到的第一关键点检测神经网络模型,从而可以降低确定人体关键点的过程中的运算量,减少电子设备的运算成本。
在一些示例中,如图6所示,热度矩阵获取模块530,可以包括:
位置获取子模块5301,用于基于人体关键点的位置和关键点跟踪框在当前视频帧中的位置,获取人体关键点在关键点跟踪框中的位置;
距离计算子模块5302,用于基于预设空矩阵中各个元素在预设空矩阵中的位置和人体关键点在关键点跟踪框中的位置,计算各个元素与人体关键点之间的距离;
热度矩阵获取子模块5303,用于基于预设空矩阵中每个元素与人体关键点之间的距离和空矩阵,获取与人体关键点对应的热度矩阵,其中,热度矩阵中每个元素的值用于表征该元素在热度矩阵中的位置与人体关键点之间的距离。
在一些示例中,热度矩阵获取子模块5303,可以包括:
距离判断单元53031,用于对于预设空矩阵中每个元素,判断该元素与人体关键点之间的距离是否大于预设距离阈值,如果是,则该元素的值为0;否则,该元素的值为e-d,其中,d为每个元素与人体关键点之间的距离;
热度矩阵获取单元53032,用于将每个元素的值添加至空矩阵中该元素所在位置,得到与人体关键点对应的热度矩阵。
在一些示例中,如图7所示,位置计算模块520,可以包括:
对角位置获取子模块5201,用于基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的对角位置;
在一些示例中,如图7所示,该人体关键点确定装置,还可以包括:
行列数获取模块570,用于基于关键点跟踪框在当前视频帧中的对角位置,计算关键点跟踪框中像素的行数和像素的列数,并将关键点跟踪框中像素的行数作为预设空矩阵的行数,将关键点跟踪框中像素的列数作为预设空矩阵的列数;
预设空矩阵建立模块580,用于基于预设空矩阵的行数和列数,创建预设空矩阵。
在一些示例中,如图8所示,色值矩阵获取模块550,可以包括:
色值获取子模块5501,用于获取区域图像中像素的行数、像素的列数和每个像素点的色值;
色值矩阵获取子模块5502,用于将像素的行数作为色值矩阵的行数,将像素的列数作为色值矩阵的列数,将区域图像中每个像素点的色值作为与色值矩阵中的与该像素点对应的元素的元素值,得到区域图像的色值矩阵,其中,色值矩阵中每个元素的值为与该元素所在位置对应的像素的色值。
在一些示例中,色值矩阵为三维矩阵,三维矩阵包括:纵向像素维、横向像素维以及色值维;色值矩阵的不同行沿纵向像素维纵向分布,色值矩阵的不同列沿横向像素维横向分布;色值矩阵的色值维为预设色彩模式的色彩分量;
在一些示例中,如图9所示,人体关键点获取模块560,可以包括:
矩阵合成子模块5601,用于将热度矩阵中的热度值与色值维合成,得到合成后的矩阵,其中,热度矩阵的列数与色值矩阵的横向像素维中的列数相同,热度矩阵的行数与色值矩阵的纵向像素维中的行数相同,合成后的矩阵中的色值维包括:预设色彩模式的色彩分量以及热度值;
人体关键点获取子模块5602,用于将合成后的矩阵输入预先训练得到的关键点检测神经网络模型,得到对当前视频帧的下一视频帧确定的人体关键点。
在一些示例中,如图9所示,人体关键点获取子模块5602,可以包括:
热度矩阵获取单元56021,用于将合成后的矩阵输入至预先训练得到的关键点检测神经网络模型的子模型中,得到子模型输出的热度矩阵;
查找单元56022,用于在子模型输出的热度矩阵中,查找最大热度值在子模型输出的热度矩阵中的位置;
人体关键点获取单元56023,用于基于最大热度值在子模型输出的热度矩阵中的位置和关键点跟踪框的对角位置,确定对当前视频帧的下一视频帧确定的人体关键点。
在一些示例中,当当前视频帧为待检测视频中的第一个视频帧时,识别模块510,具体用于:
将待检测视频中的当前视频帧输入至预先训练得到的第二关键点检测神经网络模型中,得到当前视频帧的人体关键点。
在一些示例中,如图10所示,该人体关键点确定装置,还可以包括:
分段模块590,用于对待检测完整视频进行人体识别,并基于识别结果,对待检测完整视频进行分段;
当前视频帧确定模块5910,用于将分段得到的每个视频段作为待检测视频,将每个视频段的第一个视频帧作为当前视频帧。
本发明实施例还提供了一种电子设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序时,实现如下步骤:
识别待检测视频中的当前视频帧的人体关键点;
基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;
基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;
基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;
根据区域图像,获取区域图像的色值矩阵;
将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
本发明实施例提供的一种电子设备,在确定视频帧中的人体关键点时,可以先识别待检测视频中的当前视频帧的人体关键点;然后基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;再基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;在得到区域图像后,可以根据区域图像,获取区域图像的色值矩阵;最后,将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
这样,可以基于当前视频帧中的人体关键点,确定该当前视频帧的下一视频帧中的人体关键点,并且,可以仅仅将与跟踪框对应的图像的矩阵,输入至预先训练得到的第一关键点检测神经网络模型中的矩阵,而不需要将一个完整的视频帧输入至该预先训练得到的第一关键点检测神经网络模型,从而可以降低确定人体关键点的过程中的运算量,减少电子设备的运算成本。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如下步骤:
识别待检测视频中的当前视频帧的人体关键点;
基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;
基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;
基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;
根据区域图像,获取区域图像的色值矩阵;
将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
本发明实施例提供的一种计算机可读存储介质,在确定视频帧中的人体关键点时,可以先识别待检测视频中的当前视频帧的人体关键点;然后基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;再基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;在得到区域图像后,可以根据区域图像,获取区域图像的色值矩阵;最后,将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
这样,可以基于当前视频帧中的人体关键点,确定该当前视频帧的下一视频帧中的人体关键点,并且,可以仅仅将与跟踪框对应的图像的矩阵,输入至预先训练得到的第一关键点检测神经网络模型中的矩阵,而不需要将一个完整的视频帧输入至该预先训练得到的第一关键点检测神经网络模型,从而可以降低确定人体关键点的过程中的运算量,减少电子设备的运算成本。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如下步骤:
识别待检测视频中的当前视频帧的人体关键点;
基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;
基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;
基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;
根据区域图像,获取区域图像的色值矩阵;
将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
本发明实施例提供的一种包含指令的计算机程序产品,在确定视频帧中的人体关键点时,可以先识别待检测视频中的当前视频帧的人体关键点;然后基于人体关键点和预设跟踪框,获取关键点跟踪框在当前视频帧中的位置;再基于关键点跟踪框在当前视频帧中的位置和人体关键点,获取人体关键点的热度矩阵;基于关键点跟踪框在当前视频帧中的位置,获取当前视频帧的下一视频帧中与关键点跟踪框对应的区域图像;在得到区域图像后,可以根据区域图像,获取区域图像的色值矩阵;最后,将热度矩阵和色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到当前视频帧的下一视频帧中的人体关键点。
这样,可以基于当前视频帧中的人体关键点,确定该当前视频帧的下一视频帧中的人体关键点,并且,可以仅仅将与跟踪框对应的图像的矩阵,输入至预先训练得到的第一关键点检测神经网络模型中的矩阵,而不需要将一个完整的视频帧输入至该预先训练得到的第一关键点检测神经网络模型,从而可以降低确定人体关键点的过程中的运算量,减少电子设备的运算成本。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (19)
1.一种人体关键点确定方法,其特征在于,所述方法包括:
识别待检测视频中的当前视频帧的人体关键点;
基于所述人体关键点和预设跟踪框,获取关键点跟踪框在所述当前视频帧中的位置;
基于所述关键点跟踪框在所述当前视频帧中的位置和所述人体关键点,获取所述人体关键点的热度矩阵;
基于所述关键点跟踪框在所述当前视频帧中的位置,获取所述当前视频帧的下一视频帧中与所述关键点跟踪框对应的区域图像;
根据所述区域图像,获取所述区域图像的色值矩阵;
将所述热度矩阵和所述色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到所述当前视频帧的下一视频帧中的人体关键点。
2.根据权利要求1所述的方法,其特征在于,所述基于所述关键点跟踪框在所述当前视频帧中的位置和所述人体关键点,获取所述人体关键点的热度矩阵,包括:
基于所述人体关键点的位置和所述关键点跟踪框在所述当前视频帧中的位置,获取所述人体关键点在所述关键点跟踪框中的位置;
基于预设空矩阵中各个元素在所述预设空矩阵中的位置和所述人体关键点在所述关键点跟踪框中的位置,计算所述各个元素与所述人体关键点之间的距离;
基于所述预设空矩阵中每个元素与所述人体关键点之间的距离和所述空矩阵,获取与所述人体关键点对应的热度矩阵,其中,所述热度矩阵中每个元素的值用于表征该元素在所述热度矩阵中的位置与所述人体关键点之间的距离。
3.根据权利要求2所述的方法,其特征在于,所述基于所述预设空矩阵中每个元素与所述人体关键点之间的距离和所述空矩阵,获取与所述人体关键点对应的热度矩阵,包括:
对于所述预设空矩阵中每个元素,判断该元素与所述人体关键点之间的距离是否大于预设距离阈值,如果是,则该元素的值为0;否则,该元素的值为e-d,其中,所述d为所述每个元素与所述人体关键点之间的距离;
将所述每个元素的值添加至所述空矩阵中该元素所在位置,得到与所述人体关键点对应的热度矩阵。
4.根据权利要求2所述的方法,其特征在于,所述基于所述人体关键点和预设跟踪框,获取关键点跟踪框在所述当前视频帧中的位置,包括:
基于所述人体关键点和预设跟踪框,获取所述关键点跟踪框在所述当前视频帧中的对角位置;
在所述基于预设空矩阵中各个元素在所述预设空矩阵中的位置和所述人体关键点在所述关键点跟踪框中的位置,计算所述各个元素与所述人体关键点之间的距离之前,所述方法还包括:
基于所述关键点跟踪框在所述当前视频帧中的对角位置,计算所述关键点跟踪框中像素的行数和像素的列数,并将所述关键点跟踪框中像素的行数作为所述预设空矩阵的行数,将所述关键点跟踪框中像素的列数作为所述预设空矩阵的列数;
基于所述预设空矩阵的行数和列数,创建所述预设空矩阵。
5.根据权利要求1所述的方法,其特征在于,所述根据所述区域图像,获取所述区域图像的色值矩阵,包括:
获取所述区域图像中像素的行数、像素的列数和每个像素点的色值;
将所述像素的行数作为所述色值矩阵的行数,将所述像素的列数作为所述色值矩阵的列数,将所述区域图像中每个像素点的色值作为与所述色值矩阵中的与该像素点对应的元素的元素值,得到所述区域图像的色值矩阵,其中,所述色值矩阵中每个元素的值为与该元素所在位置对应的像素的色值。
6.根据权利要求1所述的方法,其特征在于,所述色值矩阵为三维矩阵,所述三维矩阵包括:纵向像素维、横向像素维以及色值维;所述色值矩阵的不同行沿所述纵向像素维纵向分布,所述色值矩阵的不同列沿所述横向像素维横向分布;所述色值矩阵的色值维为预设色彩模式的色彩分量;
所述将所述热度矩阵和所述色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到对所述当前视频帧的下一视频帧确定的人体关键点,包括:
将所述热度矩阵中的热度值与所述色值维合成,得到合成后的矩阵,其中,所述热度矩阵的列数与所述色值矩阵的横向像素维中的列数相同,所述热度矩阵的行数与所述色值矩阵的纵向像素维中的行数相同,所述合成后的矩阵中的色值维包括:所述预设色彩模式的色彩分量以及热度值;
将所述合成后的矩阵输入预先训练得到的关键点检测神经网络模型,得到对所述当前视频帧的下一视频帧确定的人体关键点。
7.根据权利要求6所述的方法,其特征在于,所述将所述合成后的矩阵输入预先训练得到的关键点检测神经网络模型,得到对所述当前视频帧的下一视频帧确定的人体关键点,包括:
将所述合成后的矩阵输入至所述预先训练得到的关键点检测神经网络模型的子模型中,得到所述子模型输出的热度矩阵;
在所述子模型输出的热度矩阵中,查找最大热度值在所述子模型输出的热度矩阵中的位置;
基于所述最大热度值在所述子模型输出的热度矩阵中的位置和所述关键点跟踪框的对角位置,确定所述对所述当前视频帧的下一视频帧确定的人体关键点。
8.根据权利要求1所述的方法,其特征在于,当所述当前视频帧为所述待检测视频中的第一个视频帧时,所述识别待检测视频中的当前视频帧的人体关键点,包括:
将所述待检测视频中的当前视频帧输入至预先训练得到的第二关键点检测神经网络模型中,得到所述当前视频帧的人体关键点。
9.根据权利要求8所述的方法,其特征在于,在所述将所述待检测视频中的当前视频帧输入至预先训练得到的第二关键点检测神经网络模型中,得到所述当前视频帧的人体关键点之前,所述方法还包括:
对待检测完整视频进行人体识别,并基于识别结果,对所述待检测完整视频进行分段;
将分段得到的每个视频段作为所述待检测视频,将所述每个视频段的第一个视频帧作为所述当前视频帧。
10.一种人体关键点确定装置,其特征在于,所述装置包括:
识别模块,用于识别待检测视频中的当前视频帧的人体关键点;
位置计算模块,用于基于所述人体关键点和预设跟踪框,获取关键点跟踪框在所述当前视频帧中的位置;
热度矩阵获取模块,用于基于所述关键点跟踪框在所述当前视频帧中的位置和所述人体关键点,获取所述人体关键点的热度矩阵;
区域获取模块,用于基于所述关键点跟踪框在所述当前视频帧中的位置,获取所述当前视频帧的下一视频帧中与所述关键点跟踪框对应的区域图像;
色值矩阵获取模块,用于根据所述区域图像,获取所述区域图像的色值矩阵;
人体关键点获取模块,用于将所述热度矩阵和所述色值矩阵输入预先训练得到的第一关键点检测神经网络模型,得到所述当前视频帧的下一视频帧中的人体关键点。
11.根据权利要求10所述的装置,其特征在于,所述热度矩阵获取模块,包括:
位置获取子模块,用于基于所述人体关键点的位置和所述关键点跟踪框在所述当前视频帧中的位置,获取所述人体关键点在所述关键点跟踪框中的位置;
距离计算子模块,用于基于预设空矩阵中各个元素在所述预设空矩阵中的位置和所述人体关键点在所述关键点跟踪框中的位置,计算所述各个元素与所述人体关键点之间的距离;
热度矩阵获取子模块,用于基于所述预设空矩阵中每个元素与所述人体关键点之间的距离和所述空矩阵,获取与所述人体关键点对应的热度矩阵,其中,所述热度矩阵中每个元素的值用于表征该元素在所述热度矩阵中的位置与所述人体关键点之间的距离。
12.根据权利要求11所述的装置,其特征在于,所述热度矩阵获取子模块,包括:
距离判断单元,用于对于所述预设空矩阵中每个元素,判断该元素与所述人体关键点之间的距离是否大于预设距离阈值,如果是,则该元素的值为0;否则,该元素的值为e-d,其中,所述d为所述每个元素与所述人体关键点之间的距离;
热度矩阵获取单元,用于将所述每个元素的值添加至所述空矩阵中该元素所在位置,得到与所述人体关键点对应的热度矩阵。
13.根据权利要求11所述的装置,其特征在于,所述位置计算模块,包括:
对角位置获取子模块,用于基于所述人体关键点和预设跟踪框,获取所述关键点跟踪框在所述当前视频帧中的对角位置;
所述装置还包括:
行列数获取模块,用于基于所述关键点跟踪框在所述当前视频帧中的对角位置,计算所述关键点跟踪框中像素的行数和像素的列数,并将所述关键点跟踪框中像素的行数作为所述预设空矩阵的行数,将所述关键点跟踪框中像素的列数作为所述预设空矩阵的列数;
预设空矩阵建立模块,用于基于所述预设空矩阵的行数和列数,创建所述预设空矩阵。
14.根据权利要求10所述的装置,其特征在于,所述色值矩阵获取模块,包括:
色值获取子模块,用于获取所述区域图像中像素的行数、像素的列数和每个像素点的色值;
色值矩阵获取子模块,用于将所述像素的行数作为所述色值矩阵的行数,将所述像素的列数作为所述色值矩阵的列数,将所述区域图像中每个像素点的色值作为与所述色值矩阵中的与该像素点对应的元素的元素值,得到所述区域图像的色值矩阵,其中,所述色值矩阵中每个元素的值为与该元素所在位置对应的像素的色值。
15.根据权利要求10所述的装置,其特征在于,所述色值矩阵为三维矩阵,所述三维矩阵包括:纵向像素维、横向像素维以及色值维;所述色值矩阵的不同行沿所述纵向像素维纵向分布,所述色值矩阵的不同列沿所述横向像素维横向分布;所述色值矩阵的色值维为预设色彩模式的色彩分量;
所述人体关键点获取模块,包括:
矩阵合成子模块,用于将所述热度矩阵中的热度值与所述色值维合成,得到合成后的矩阵,其中,所述热度矩阵的列数与所述色值矩阵的横向像素维中的列数相同,所述热度矩阵的行数与所述色值矩阵的纵向像素维中的行数相同,所述合成后的矩阵中的色值维包括:所述预设色彩模式的色彩分量以及热度值;
人体关键点获取子模块,用于将所述合成后的矩阵输入预先训练得到的关键点检测神经网络模型,得到对所述当前视频帧的下一视频帧确定的人体关键点。
16.根据权利要求15所述的装置,其特征在于,所述人体关键点获取子模块,包括:
热度矩阵获取单元,用于将所述合成后的矩阵输入至所述预先训练得到的关键点检测神经网络模型的子模型中,得到所述子模型输出的热度矩阵;
查找单元,用于在所述子模型输出的热度矩阵中,查找最大热度值在所述子模型输出的热度矩阵中的位置;
人体关键点获取单元,用于基于所述最大热度值在所述子模型输出的热度矩阵中的位置和所述关键点跟踪框的对角位置,确定所述对所述当前视频帧的下一视频帧确定的人体关键点。
17.根据权利要求10所述的装置,其特征在于,当所述当前视频帧为所述待检测视频中的第一个视频帧时,所述识别模块,具体用于:
将所述待检测视频中的当前视频帧输入至预先训练得到的第二关键点检测神经网络模型中,得到所述当前视频帧的人体关键点。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括:
分段模块,用于对待检测完整视频进行人体识别,并基于识别结果,对所述待检测完整视频进行分段;
当前视频帧确定模块,用于将分段得到的每个视频段作为所述待检测视频,将所述每个视频段的第一个视频帧作为所述当前视频帧。
19.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-9任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910672443.8A CN110443170B (zh) | 2019-07-24 | 2019-07-24 | 一种人体关键点确定方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910672443.8A CN110443170B (zh) | 2019-07-24 | 2019-07-24 | 一种人体关键点确定方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110443170A true CN110443170A (zh) | 2019-11-12 |
CN110443170B CN110443170B (zh) | 2022-03-04 |
Family
ID=68431388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910672443.8A Active CN110443170B (zh) | 2019-07-24 | 2019-07-24 | 一种人体关键点确定方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110443170B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909664A (zh) * | 2019-11-20 | 2020-03-24 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
CN110929638A (zh) * | 2019-11-20 | 2020-03-27 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
CN110969100A (zh) * | 2019-11-20 | 2020-04-07 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
CN111027412A (zh) * | 2019-11-20 | 2020-04-17 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015064751A (ja) * | 2013-09-25 | 2015-04-09 | Kddi株式会社 | 映像管理装置及びプログラム |
CN106203376A (zh) * | 2016-07-19 | 2016-12-07 | 北京旷视科技有限公司 | 人脸关键点定位方法及装置 |
US20180032828A1 (en) * | 2015-12-18 | 2018-02-01 | Tencent Technology (Shenzhen) Company Limited | Face liveness detection method, terminal, server and storage medium |
CN108647639A (zh) * | 2018-05-10 | 2018-10-12 | 电子科技大学 | 实时人体骨骼关节点检测方法 |
CN109584276A (zh) * | 2018-12-04 | 2019-04-05 | 北京字节跳动网络技术有限公司 | 关键点检测方法、装置、设备及可读介质 |
-
2019
- 2019-07-24 CN CN201910672443.8A patent/CN110443170B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015064751A (ja) * | 2013-09-25 | 2015-04-09 | Kddi株式会社 | 映像管理装置及びプログラム |
US20180032828A1 (en) * | 2015-12-18 | 2018-02-01 | Tencent Technology (Shenzhen) Company Limited | Face liveness detection method, terminal, server and storage medium |
CN106203376A (zh) * | 2016-07-19 | 2016-12-07 | 北京旷视科技有限公司 | 人脸关键点定位方法及装置 |
CN108647639A (zh) * | 2018-05-10 | 2018-10-12 | 电子科技大学 | 实时人体骨骼关节点检测方法 |
CN109584276A (zh) * | 2018-12-04 | 2019-04-05 | 北京字节跳动网络技术有限公司 | 关键点检测方法、装置、设备及可读介质 |
Non-Patent Citations (2)
Title |
---|
SHAOLI HUANG等: "A Coarse-Fine Network for Keypoint Localization", 《2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION》 * |
马旋 等: "基于人脸检测和关键点识别的快速人体组件划分", 《计算机应用与软件》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909664A (zh) * | 2019-11-20 | 2020-03-24 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
CN110929638A (zh) * | 2019-11-20 | 2020-03-27 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
CN110969100A (zh) * | 2019-11-20 | 2020-04-07 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
CN111027412A (zh) * | 2019-11-20 | 2020-04-17 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
CN110969100B (zh) * | 2019-11-20 | 2022-10-25 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
CN110929638B (zh) * | 2019-11-20 | 2023-03-07 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
CN111027412B (zh) * | 2019-11-20 | 2024-03-08 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110443170B (zh) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110443170A (zh) | 一种人体关键点确定方法、装置及电子设备 | |
CN109145931B (zh) | 物体检测方法、装置及存储介质 | |
US7747072B2 (en) | Image processing method, image processing program, its storage medium, and image processing device for extracting points from a color image | |
CN103106668B (zh) | 基于颜色直方图来描述图像区域的方法和系统 | |
CN103544703B (zh) | 数字图像拼接检测方法 | |
CN109163775B (zh) | 一种基于带式运输机的质量测量方法及装置 | |
JP2001324305A (ja) | 画像対応位置検出装置および該装置を備える測距装置 | |
WO2015182904A1 (ko) | 관심객체 검출을 위한 관심영역 학습장치 및 방법 | |
WO2014036813A1 (zh) | 图像特征的提取方法及装置 | |
WO2023046112A1 (zh) | 文档图像增强方法、装置及电子设备 | |
CN105957107A (zh) | 行人检测与跟踪方法及装置 | |
CN106331848B (zh) | 全景视频的识别方法及设备、播放视频方法及设备 | |
CN104240228B (zh) | 一种应用于网站的特定图片的检测方法及装置 | |
CN107103628A (zh) | 图像检测方法及装置 | |
CN106934792B (zh) | 一种显示模组的3d效果检测方法、装置及系统 | |
CN103324906B (zh) | 一种遗留物检测的方法和设备 | |
CN110120012A (zh) | 基于双目摄像头的同步关键帧提取的视频拼接方法 | |
CN111126102A (zh) | 人员搜索方法、装置及图像处理设备 | |
CN111798501A (zh) | 融入颜色直方图与余弦相似性的优化图像配准方法 | |
CN106447660A (zh) | 图片检测方法和装置 | |
JP4605582B2 (ja) | ステレオ画像認識装置及びその方法 | |
JP2002056371A (ja) | 情報識別用マーカ及びその検出方法及び情報識別用マーカを用いた関連情報取得システム及び情報識別用マーカを用いた関連情報取得方法 | |
JP2000030033A (ja) | 人物検出方法 | |
CN104933739B (zh) | 一种基于i1i2i3颜色空间的火焰检测方法 | |
CN103530616B (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 |