[go: up one dir, main page]

CN102855470B - Estimation method of human posture based on depth image - Google Patents

Estimation method of human posture based on depth image Download PDF

Info

Publication number
CN102855470B
CN102855470B CN201210271289.1A CN201210271289A CN102855470B CN 102855470 B CN102855470 B CN 102855470B CN 201210271289 A CN201210271289 A CN 201210271289A CN 102855470 B CN102855470 B CN 102855470B
Authority
CN
China
Prior art keywords
depth image
human body
model
virtual human
iteration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210271289.1A
Other languages
Chinese (zh)
Other versions
CN102855470A (en
Inventor
黄向生
徐波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Automation of Chinese Academy of Science
Original Assignee
Institute of Automation of Chinese Academy of Science
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN201210271289.1A priority Critical patent/CN102855470B/en
Publication of CN102855470A publication Critical patent/CN102855470A/en
Application granted granted Critical
Publication of CN102855470B publication Critical patent/CN102855470B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开了一种人体姿态估计方法,该方法根据人体的深度图像进行人体姿态的估计,以通过虚拟人体模型来模拟该图像中的人体,该深度图像包括多个帧,该方法包括如下步骤:建立虚拟人体模型,该人体模型由骨骼模型和皮肤模型组成;对所述虚拟人体模型的参数进行初始化;对所述深度图像的当前帧进行滤波;对所述虚拟人体模型和深度图像进行对应点检测;对于所述深度图像的当前帧,根据所述对应点检测的结果建立并优化目标函数,该目标函数用于描述所述虚拟人体模型和所述深度图像之间的姿势差异的大小,通过最小化目标函数的值更新所述虚拟人体模型的当前姿态。本发明建立的虚拟人体模型自由度高,皮肤变形效果好,姿态估计收敛速度快且误差小,同时利用深度摄像机获取深度图像使得人体运动姿态估计系统装置简便,便于推广应用。

The invention discloses a human body pose estimation method. The method estimates the human body pose according to a depth image of the human body, so as to simulate the human body in the image through a virtual human body model. The depth image includes a plurality of frames. The method includes the following steps : establish a virtual human body model, the human body model is composed of a skeleton model and a skin model; initialize the parameters of the virtual human body model; filter the current frame of the depth image; correspond to the virtual human body model and the depth image point detection; for the current frame of the depth image, establish and optimize an objective function according to the result of the corresponding point detection, the objective function is used to describe the size of the posture difference between the virtual human body model and the depth image, The current pose of the virtual human body model is updated by minimizing the value of the objective function. The virtual human body model established by the invention has high degree of freedom, good skin deformation effect, fast convergence speed and small error of attitude estimation, and meanwhile, the depth image is obtained by using a depth camera, so that the device of the human body movement attitude estimation system is simple and convenient for popularization and application.

Description

基于深度图像的人体姿态估计方法Human Pose Estimation Method Based on Depth Image

技术领域 technical field

本发明属于图像处理、计算机图形学、人体运动学、最优化理论及计算机应用领域,具体涉及基于深度图像的人体姿态方法。The invention belongs to the fields of image processing, computer graphics, human kinematics, optimization theory and computer application, and in particular relates to a human body posture method based on a depth image.

背景技术 Background technique

人体姿态估计是人体运动捕捉的核心问题。所谓人体姿态估计是指将抽象层次特征与人体模型进行匹配,从而得到不同时刻目标所处的姿态。人体的姿态表达包括两个方面,一是整个人体在世界坐标的位置和方向;二是身体各部分关节的角度及受关节角影响的皮肤变形。人体运动姿态估计的主要应用领域可以分为三大方向:监控、控制、分析。Human pose estimation is the core problem of human motion capture. The so-called human pose estimation refers to matching the abstract hierarchical features with the human body model, so as to obtain the poses of the target at different times. The posture expression of the human body includes two aspects, one is the position and direction of the whole human body in the world coordinates; the other is the angle of the joints of each part of the body and the skin deformation affected by the joint angles. The main application areas of human motion pose estimation can be divided into three directions: monitoring, control, and analysis.

在监控应用方面,一些传统的应用包括在机场或地铁中自动检测并定位行人、人数统计或人群流动、拥塞分析等等。随着安全意识的提高,近年来出现了一些新型的应用——个人或人群的行为和动作的分析。比如在排队和购物中,检测不正常的行为或进行身份识别等。In terms of monitoring applications, some traditional applications include automatic detection and positioning of pedestrians in airports or subways, people counting or crowd flow, congestion analysis, etc. With the improvement of security awareness, some new applications have emerged in recent years-analysis of the behavior and actions of individuals or groups of people. For example, in queuing and shopping, detecting abnormal behavior or performing identification.

在控制应用方面,人们利用运动估计结果或姿态参数来对目标进行控制。这在人机交互方面的应用最多。在娱乐产业如电影和游戏动画等,应用也越来越广。人们可以利用捕捉到的人的形状、外表和动作,来制作3D电影或重建游戏中的人的三维模型。In control applications, people use motion estimation results or attitude parameters to control the target. This is most widely used in human-computer interaction. In the entertainment industry, such as movies and game animations, the applications are becoming more and more extensive. People can use the captured people's shapes, appearances and movements to make 3D movies or reconstruct 3D models of people in games.

在分析应用方面,包括对外科病人的自动诊断、对运动员动作的分析和改进等。在视觉媒体方面,有基于内容的视频检索、视频压缩等应用。此外,在汽车产业方面也得到了相关的应用,比如安全气囊的自动控制、睡眠检测和行人检测等。In terms of analysis applications, it includes automatic diagnosis of surgical patients, analysis and improvement of athletes' movements, etc. In terms of visual media, there are applications such as content-based video retrieval and video compression. In addition, related applications have also been obtained in the automotive industry, such as automatic control of airbags, sleep detection and pedestrian detection.

目前市场上比较成熟的人体运动捕捉系统有基于电动机械的,电磁的和特殊光学标志等类型。磁性或者光学的标记被附在人的肢体上,它们的三维轨迹被用来描述目标运动,这些系统是自动的,但是其设备非常笨重,且价格昂贵,无法得到广泛的应用。因此,基于计算机视觉人体运动捕捉技术已经成为研究热点。它利用计算机视觉的基本原理,从视频中直接提取三维人体运动序列.这种方法不需要在人体关节上附加任何传感器,保证了人体运动不受限制,而且造价低,效率高。当前流行的方法大多采用基于人体模型的匹配技术。这种方法的目标是在状态空间中找到一组姿态参数,使得对应这个参数的人体姿态与从观测图像中提取的底层特征最为符合。At present, the more mature human body motion capture systems on the market are based on electromechanical, electromagnetic and special optical signs. Magnetic or optical markers are attached to human limbs, and their three-dimensional trajectories are used to describe target motion. These systems are automatic, but the equipment is too bulky and expensive to be widely used. Therefore, human motion capture technology based on computer vision has become a research hotspot. It uses the basic principles of computer vision to directly extract 3D human motion sequences from videos. This method does not require any sensors attached to human joints, which ensures unrestricted human motion, and is low in cost and high in efficiency. Most of the current popular methods use matching techniques based on human body models. The goal of this method is to find a set of pose parameters in the state space, so that the pose of the human body corresponding to this parameter is most consistent with the underlying features extracted from the observed image.

在基于计算机视觉的运动跟踪这一领域,一般采用的研究方法是,在跟踪的开始确定图像序列中首帧的人体位置,后续序列中人体目标的确定依赖于人体运动的连续性和运动学约束条件。确定首帧人体位置有两种方法:一是人为规定目标的首个姿态或者将人体模型设定为首帧的近似姿态,这不利于人体跟踪的自动化。二是去除人体以外的背景后,使用部位检测方法确定身体的各个部位,这种方法可部分实现自动化,但需要人景分割的严格保证。在后续人体跟踪和三维姿态估计中,有基于模型和无模型的方法。基于模型的一般方法是事先建立人体的3D模型,将模型与运动序列的首帧匹配,在后续跟踪中,利用运动参数限制等条件,采用梯度下降或随机采样等优化方法进一步估计每一帧的模型参数,从而得出模型运动序列。这种方法的缺点是后续帧的跟踪存在累积误差,长时间跟踪容易出错。无模型方法不需要建立人体模型,而是根据人体运动呈现的几何、纹理、色彩等信息,采用学习或基于样本的方法来估计人体运动姿态。其缺点在于人体运动姿态难以用有限个状态描述,依赖于先验知识,且只能跟踪特定的动作集。这两种跟踪方法都可采用单目摄像机或多目摄像机实现。In the field of motion tracking based on computer vision, the general research method is to determine the position of the human body in the first frame of the image sequence at the beginning of the tracking, and the determination of the human target in the subsequent sequence depends on the continuity and kinematic constraints of human motion. condition. There are two ways to determine the position of the human body in the first frame: one is to artificially specify the first pose of the target or set the human body model as the approximate pose of the first frame, which is not conducive to the automation of human body tracking. The second is to use the part detection method to determine each part of the body after removing the background other than the human body. This method can be partially automated, but requires strict guarantees for human scene segmentation. In the follow-up human tracking and 3D pose estimation, there are model-based and model-free methods. The general method based on the model is to establish a 3D model of the human body in advance, and match the model with the first frame of the motion sequence. Model parameters, resulting in a model motion sequence. The disadvantage of this method is that the tracking of subsequent frames has cumulative errors, and long-term tracking is prone to errors. The model-free method does not need to build a human body model, but uses learning or sample-based methods to estimate human motion posture based on the geometry, texture, color and other information presented by human motion. Its disadvantage is that the human motion posture is difficult to describe with a limited number of states, relies on prior knowledge, and can only track a specific set of actions. Both tracking methods can be implemented with monocular or multi-camera.

由于不具有深度信息的普通图像在重建中存在从三维到二维映射的歧义性,且对于复杂运动姿态估计非常困难,因此在过去十多年的研究中,大多数人体运动跟踪技术的都是基于多摄像机条件下实现的,以此获得深度信息。然而,多摄像机的条件需要定标且不方便在普通家庭中布置,不利于运动捕捉技术的应用普及到千家万户中。近两年随着深度摄像机的出现,人们可以利用单个摄像机获得深度图像,基于单个深度摄像机的人体姿态估计技术成为了研究热点。Due to the ambiguity of mapping from 3D to 2D in the reconstruction of ordinary images without depth information, and it is very difficult to estimate complex motion poses, in the past ten years of research, most human motion tracking technologies are Based on the realization of multi-camera conditions, depth information is obtained in this way. However, the condition of multi-camera needs to be calibrated and it is inconvenient to arrange in ordinary households, which is not conducive to the application of motion capture technology to thousands of households. In the past two years, with the emergence of depth cameras, people can use a single camera to obtain depth images, and the human pose estimation technology based on a single depth camera has become a research hotspot.

发明内容Contents of the invention

(一)要解决的技术问题(1) Technical problems to be solved

本发明所要解决的技术问题是提出一种基于深度图像的人体姿态估计方法,以解决现有的人体姿态估计必需多个摄像机,设备复杂,难于实现的缺点。The technical problem to be solved by the present invention is to propose a human body pose estimation method based on depth images, so as to solve the shortcomings of the existing human body pose estimation that requires multiple cameras, complicated equipment, and difficult to realize.

(二)技术方案(2) Technical solution

为解决上述技术问题,本发明提出一种人体姿态估计方法,该方法根据人体的深度图像进行人体姿态的估计,以通过虚拟人体模型来模拟该图像中的人体,该深度图像包括多个帧,该方法包括如下步骤:In order to solve the above-mentioned technical problems, the present invention proposes a method for estimating human body posture. The method estimates the human body posture according to the depth image of the human body, so as to simulate the human body in the image through a virtual human body model. The depth image includes a plurality of frames, The method comprises the steps of:

S1、建立虚拟人体模型,该人体模型由骨骼模型和皮肤模型组成;S1. Establish a virtual human body model, which is composed of a skeleton model and a skin model;

S2、对所述虚拟人体模型的参数进行初始化;S2. Initializing the parameters of the virtual human body model;

S3、对所述深度图像的当前帧进行滤波;S3. Filter the current frame of the depth image;

S4、对所述虚拟人体模型和深度图像进行对应点检测;S4. Perform corresponding point detection on the virtual human body model and the depth image;

S5、对于所述深度图像的当前帧,根据所述对应点检测的结果建立并优化目标函数,该目标函数用于描述所述虚拟人体模型和所述深度图像之间的姿势差异的大小,通过最小化目标函数的值更新所述虚拟人体模型的当前姿态。S5. For the current frame of the depth image, establish and optimize an objective function according to the result of the corresponding point detection, the objective function is used to describe the size of the posture difference between the virtual human body model and the depth image, by Minimizing the value of the objective function updates the current pose of the virtual human model.

(三)有益效果(3) Beneficial effects

本发明建立的虚拟人体模型自由度高,皮肤变形效果好,姿态估计收敛速度快且误差小,同时利用深度摄像机获取深度图像使得人体运动姿态估计系统装置简便,便于推广应用。本发明在人体运动捕捉领域应用前景广泛,也为人机交互、游戏开发、电影制作提供了应用趋势。The virtual human body model established by the present invention has high degree of freedom, good skin deformation effect, fast convergence speed and small error of attitude estimation, and at the same time, the depth image is obtained by using a depth camera, so that the device of the human body movement attitude estimation system is simple and convenient for popularization and application. The invention has broad application prospects in the field of human motion capture, and also provides application trends for human-computer interaction, game development, and film production.

附图说明 Description of drawings

图1示出了本发明的各个模块的总体流程图;Fig. 1 shows the overall flow chart of each module of the present invention;

图2示出了本发明的参数初始化模块的流程图;Fig. 2 shows the flowchart of the parameter initialization module of the present invention;

图3示出了本发明的深度图像滤波模块的流程图;Fig. 3 shows the flowchart of the depth image filtering module of the present invention;

图4示出了本发明的分层姿态估计模块的主流程图;Fig. 4 shows the main flowchart of the layered pose estimation module of the present invention;

图5示出了本发明的分层姿态估计模块中的平移和旋转参数估计的流程图;Fig. 5 shows the flowchart of translation and rotation parameter estimation in the layered attitude estimation module of the present invention;

图6示出了本发明的分层姿态估计模块中的关节角参数估计的流程图;Fig. 6 shows the flowchart of the joint angle parameter estimation in the layered pose estimation module of the present invention;

图7示出了本发明的分层姿态估计模块中的平移和旋转参数估计及关节角参数估计中的黄金分割法求迭代步长的流程图;Fig. 7 shows the flowchart of the golden section method in the translation and rotation parameter estimation and the joint angle parameter estimation in the layered posture estimation module of the present invention to obtain the iterative step size;

图8示出了本发明的人体骨骼模型。Fig. 8 shows the human skeleton model of the present invention.

具体实施方式 Detailed ways

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with specific embodiments and with reference to the accompanying drawings.

本发明是利用深度摄像机获取的深度图像进行人体姿态估计方法,并将姿态估计结果以虚拟人体模型展现出来。本发明所基于的深度图像即是通过单个深度摄像机获得的,深度图像具有深度信息,可以获得场景中的三维坐标,因此对运动估计起到非常重要的作用。The present invention is a method for estimating the posture of a human body using a depth image acquired by a depth camera, and presenting the result of the posture estimation as a virtual human body model. The depth image based on the present invention is obtained by a single depth camera. The depth image has depth information and can obtain three-dimensional coordinates in the scene, so it plays a very important role in motion estimation.

如图1所示,本发明的方法根据人体的深度图像进行人体姿态的估计,以通过虚拟人体模型来模拟该图像中的人体,该深度图像包括多个帧,该方法包括以下个步骤:As shown in Figure 1, the method of the present invention carries out the estimation of human body posture according to the depth image of human body, to simulate the human body in this image by virtual human body model, and this depth image comprises a plurality of frames, and this method comprises the following steps:

1)虚拟人体模型建立步骤S1。虚拟人体模型建立步骤S1的目的是建立一个非刚性的可变形的人体运动模型,用于模拟人体实际的皮肤变形并展现人体姿态估计的结果。1) Virtual human body model establishment step S1. The purpose of the step S1 of establishing the virtual human body model is to establish a non-rigid and deformable human body motion model for simulating the actual skin deformation of the human body and displaying the result of human body pose estimation.

2)参数初始化步骤S2。参数初始化步骤S2包括读取虚拟人体模型的三维坐标随机采样、初始化姿态参数、获取坐标变换矩阵和关节角变换矩阵等。2) Parameter initialization step S2. The parameter initialization step S2 includes reading random samples of three-dimensional coordinates of the virtual human body model, initializing posture parameters, obtaining coordinate transformation matrix and joint angle transformation matrix, etc.

3)深度图像滤波模块步骤S3。深度图像滤波步骤S3是对读入的一帧深度图像进行采样、量化和平滑滤波处理的过程。3) Depth image filtering module step S3. The depth image filtering step S3 is a process of sampling, quantizing and smoothing and filtering a frame of the read-in depth image.

4)对应点检测步骤S4。对应点检测步骤S4用于寻找模型点集和随机采样得到的深度图像点集的对应关系,对应点是指每个模型点集中的点都有一个随机采样得到的深度图像点集的点与之对应。本发明中使用基于多维搜索树的对应点检测方法。4) Corresponding point detection step S4. The corresponding point detection step S4 is used to find the corresponding relationship between the model point set and the depth image point set obtained by random sampling. The corresponding point means that each point in the model point set has a point of the depth image point set obtained by random sampling. correspond. In the present invention, a corresponding point detection method based on a multi-dimensional search tree is used.

5)分层姿态估计步骤S5。分层姿态估计步骤S5将分层估计的方法和最速下降法结合起来对每一帧的姿态参数进行迭代优化,得出当前帧的人体估计姿态。5) Hierarchical pose estimation step S5. The layered pose estimation step S5 combines the method of layered estimation and the steepest descent method to iteratively optimize the pose parameters of each frame to obtain the estimated pose of the human body in the current frame.

6)步骤S6判断是否有图像流输入,如果还有图像数据输入,则转到深度图像滤波步骤S3,继续处理下一帧图像,以保证姿态估计的连续性;若没有,则处理结束。6) Step S6 judges whether there is an image stream input, if there is still image data input, then go to the depth image filtering step S3, and continue to process the next frame of image to ensure the continuity of pose estimation; if not, the process ends.

下面对各个主要步骤进行详细描述。Each main step is described in detail below.

S1、建立虚拟人体模型,人体模型由骨骼模型和皮肤模型组成。S1. Establish a virtual human body model, the human body model is composed of a skeleton model and a skin model.

如图8所示,人体模型的骨骼模型由21个关节和20个关节连接构成,其中7个关节具有三个自由度,6个关节具有两个自由度,2个关节具有一个自由度,6个关节无自由度。因此,关节角总共有35个自由度。每个关节都有唯一的ID。在图8中的关节ID、该关节的自由度、该关节的父关节的ID如下表所示:As shown in Figure 8, the skeleton model of the human body model is composed of 21 joints and 20 joint connections, of which 7 joints have three degrees of freedom, 6 joints have two degrees of freedom, 2 joints have one degree of freedom, and 6 joints have three degrees of freedom. A joint has no degrees of freedom. Therefore, the joint angle has a total of 35 degrees of freedom. Each joint has a unique ID. The joint ID in Figure 8, the degree of freedom of the joint, and the ID of the parent joint of the joint are shown in the following table:

在该表中,比如第二行表示ID为0的关节,关节自由度为3,父关节ID为0,即0是自己的父关节;第三行表示ID为1的关节,关节自由度为3,父关节ID为0,即关节0是关节1的父关节,依此类推。In this table, for example, the second row represents the joint with ID 0, the joint degree of freedom is 3, and the parent joint ID is 0, that is, 0 is its own parent joint; the third row represents the joint with ID 1, and the joint degree of freedom is 3. The parent joint ID is 0, that is, joint 0 is the parent joint of joint 1, and so on.

另外,骨骼模型整体还有三个平移自由度和三个旋转自由度。In addition, the skeleton model has three degrees of freedom in translation and three degrees of freedom in rotation.

皮肤模型采用网格状结构,网格的节点即为皮肤节点。非刚性的皮肤变形原理是:每个皮肤节点的坐标变换不仅受离该皮肤节点最近的关节影响,还受其它关节的影响,将皮肤节点在每个关节的局部坐标系中的变换以一定的权重相加就得到新的坐标。The skin model adopts a grid structure, and the nodes of the grid are skin nodes. The principle of non-rigid skin deformation is: the coordinate transformation of each skin node is not only affected by the joint closest to the skin node, but also affected by other joints, and the transformation of the skin node in the local coordinate system of each joint is determined by a certain The weights are added to get new coordinates.

S2、对虚拟人体模型的参数进行初始化。S2. Initialize the parameters of the virtual human body model.

参数初始化是为姿态估计做准备。如图2所示,具体实现过程为如下步骤:Parameter initialization is to prepare for pose estimation. As shown in Figure 2, the specific implementation process is as follows:

S21、读取虚拟人体模型的点集,所谓点集是指人体模型的三维坐标信息、法向量信息、皮肤节点的三维坐标信息和骨骼节点对皮肤节点的权重分配信息。在本发明的一个实施例中,人体模型的点集是通过读取后缀名为.mesh网格文件获得的,该网格文件中包含了上述点集信息。在这一步骤,以二进制的方式读取网格文件中的三维坐标信息,并将坐标存储成三维向量链的结构。S21. Read the point set of the virtual human body model. The so-called point set refers to the three-dimensional coordinate information of the human body model, the normal vector information, the three-dimensional coordinate information of the skin node, and the weight distribution information of the bone node to the skin node. In one embodiment of the present invention, the point set of the human body model is obtained by reading a grid file with a suffix of .mesh, which contains the above-mentioned point set information. In this step, the three-dimensional coordinate information in the grid file is read in binary mode, and the coordinates are stored as a three-dimensional vector chain structure.

S22、对人体模型的皮肤模型进行随机采样得到用于姿态估计的模型点集。从步骤S21获得皮肤模型的三维坐标信息后,由于网格文件中皮肤节点坐标数目很多,而我们用于姿态估计并不需要那么多点,且为了保证估计算法的速度,点集的规模应该适中。因此,在这一步骤中,对皮肤模型进行随机采样得到用于姿态估计的模型点集。在一个实施例中,采样点数目取500。S22. Randomly sample the skin model of the human body model to obtain a model point set for pose estimation. After obtaining the 3D coordinate information of the skin model from step S21, since there are many skin node coordinates in the grid file, we do not need so many points for pose estimation, and in order to ensure the speed of the estimation algorithm, the size of the point set should be moderate . Therefore, in this step, the skin model is randomly sampled to obtain the model point set for pose estimation. In one embodiment, the number of sampling points is 500.

S23、初始化虚拟人体模型的姿态参数。这一步是对人体模型的姿态参数进行初始化,姿态参数是指骨骼模型的参数和经过随机采样的皮肤模型的参数,包括人体模型的空间变换参数以及每个皮肤节点的平移、旋转和关节角的参数。我们设平移量和旋转量的初始值为0,各关节角的初始值也为0。S23. Initialize the posture parameters of the virtual human body model. This step is to initialize the posture parameters of the human body model. The posture parameters refer to the parameters of the skeleton model and the parameters of the randomly sampled skin model, including the space transformation parameters of the human body model and the translation, rotation and joint angle of each skin node. parameter. We set the initial value of translation and rotation to 0, and the initial value of each joint angle is also 0.

S24、获取虚拟人体模型的骨骼模型的关节变换矩阵。关节变换矩阵是指从子关节自身的局部坐标系到其父关节的局部坐标系的变换矩阵。从子关节局部坐标系到父关节局部坐标系的变换矩阵由平移矩阵和旋转矩阵组成。从每个关节的局部坐标系到世界坐标系的变换矩阵可以将多个子父坐标系变换矩阵级联得到。S24. Obtain the joint transformation matrix of the skeleton model of the virtual human body model. The joint transformation matrix refers to the transformation matrix from the local coordinate system of the child joint itself to the local coordinate system of its parent joint. The transformation matrix from the local coordinate system of the child joint to the local coordinate system of the parent joint consists of a translation matrix and a rotation matrix. The transformation matrix from the local coordinate system of each joint to the world coordinate system can be obtained by concatenating multiple child-parent coordinate system transformation matrices.

根据本发明的一种实施方式,该步骤需从.skeleton骨骼信息文件(.skeleton文件由Maya模型导出,包含人体骨骼关节的坐标和变换向量)读出三维平移向量和旋转四元组并将它们转换成四阶的矩阵形式,这样平移变换和旋转变换都可以采用矩阵相乘的形式来实现。According to an embodiment of the present invention, this step needs to read out the three-dimensional translation vector and the rotation quadruple from the .skeleton bone information file (.skeleton file is derived by the Maya model, contains the coordinates and transformation vectors of human skeleton joints) and converts them It is converted into a fourth-order matrix form, so that translation transformation and rotation transformation can be realized in the form of matrix multiplication.

步骤S25、获取骨骼模型的关节角变换矩阵。关节角变换矩阵是以关节角为变量的从子关节到父关节的旋转矩阵。在本步骤中,先定义出每个子关节到父关节的旋转矩阵,然后求出每个旋转矩阵对关节角的导数,为姿态估计中计算目标函数的梯度做准备。Step S25, obtaining the joint angle transformation matrix of the skeleton model. The joint angle transformation matrix is the rotation matrix from the child joint to the parent joint with the joint angle as a variable. In this step, first define the rotation matrix from each child joint to the parent joint, and then calculate the derivative of each rotation matrix with respect to the joint angle, in preparation for calculating the gradient of the objective function in pose estimation.

S3、对深度图像的当前帧进行滤波,所述深度图像是通过深度摄像机拍摄得到的深度图像,是需要进行人体姿态估计的图像。得到本发明的估计姿态后就可以模拟出该图像中的虚拟人体模型。S3. Filter the current frame of the depth image, the depth image is a depth image captured by a depth camera, and is an image that needs to be estimated for a human body pose. After obtaining the estimated posture of the present invention, the virtual human body model in the image can be simulated.

深度图像滤波步骤是对深度图像的当前帧进行处理以用于姿态估计。如图3所示,具体实现过程为:The depth image filtering step is to process the current frame of the depth image for pose estimation. As shown in Figure 3, the specific implementation process is:

S31、获取深度图像的当前帧。根据本发明的一个实施例,深度图像的数据源是一个dat文件和一个分割后的人体轮廓图像,dat文件存储了深度图像的数据。先将dat文件里的灰度值以二进制的形式读出,即得完整的深度图像。然后将深度图像和人体轮廓图像做像素级的与运算,即可得到人体部分的深度信息。具体来说,人体轮廓图像中的人体区域像素值为1,非人区域像素值为0,深度图像和人体轮廓图像相与后得到人体部分的深度值,而非人体部分为0。S31. Acquire the current frame of the depth image. According to an embodiment of the present invention, the data source of the depth image is a dat file and a segmented human body contour image, and the dat file stores the data of the depth image. First read the gray value in the dat file in binary form to get a complete depth image. Then, the pixel-level AND operation is performed on the depth image and the human body contour image to obtain the depth information of the human body part. Specifically, the pixel value of the human body area in the human body contour image is 1, and the pixel value of the non-human body area is 0. After the depth image and the human body contour image are combined, the depth value of the human body part is obtained, and the non-human body part is 0.

S32、对深度图像中的人体部分的深度信息进行随机采样得到深度图像点集。步骤S31获得的是像素点,而姿态估计并不需要所有的像素点,因此需要进行随机采样。对人体部分的深度信息进行随机采样得到深度图像点集。根据本发明的一个实施例,采样数目为500。S32. Randomly sample the depth information of the human body part in the depth image to obtain a point set of the depth image. What is obtained in step S31 is pixel points, but pose estimation does not require all the pixel points, so random sampling is required. The depth information of the human body part is randomly sampled to obtain the depth image point set. According to an embodiment of the present invention, the number of samples is 500.

S33、对随机采样后得到的深度图像点集进行平滑处理。由于实际拍摄的图像可能因为光照发射等原因出现一些不真实的深度信息,我们称为深度噪声。因此对随机采样后得到的深度图像点集,我们使用5像素×5像素大小的模板对其进行高斯平滑滤波处理。S33. Perform smoothing processing on the depth image point set obtained after random sampling. Since the actual captured image may have some unreal depth information due to light emission and other reasons, we call it depth noise. Therefore, for the depth image point set obtained after random sampling, we use a template with a size of 5 pixels × 5 pixels to perform Gaussian smoothing filtering on it.

S34、将深度图像点集的灰度值量化到人体模型的深度范围以内。初始的深度信息是取值例如是在0-10000的灰度值,为了用灰度值来表示深度信息,我们需要将深度图像点集的灰度值量化到合理的人体深度范围以内,具体的范围与人体模型的深度范围一致。S34. Quantize the gray value of the depth image point set within the depth range of the human body model. The initial depth information is the gray value of 0-10000, for example. In order to express the depth information with the gray value, we need to quantize the gray value of the depth image point set to within a reasonable human body depth range. Specifically The range matches the depth range of the mannequin.

S4、对人体模型和深度图像进行对应点检测。S4. Perform corresponding point detection on the human body model and the depth image.

对应点检测是预处理的关键过程。主要分两步:Correspondence point detection is the key process of preprocessing. Mainly divided into two steps:

S41、对从步骤S3获得的深度图像点集建立多维搜索树。多维搜索树是一种二叉树结构,每个结点是深度图像点集的一个点,每层按照分辨器决定的一个维度对点集进行划分。划分的规则是:对于每一层,取该层选定的维度分量的中位数作为该层的结点,小于该中位数的数据划分为左子树,大于该中位数的数据划分为右子树,这样每次划分保证左右子树的数据量几乎相等。采用的分辨器为:n mod k(n表示树的第n层,k表示维数)。S41. Establish a multi-dimensional search tree for the depth image point set obtained in step S3. The multidimensional search tree is a binary tree structure, each node is a point of the depth image point set, and each layer divides the point set according to a dimension determined by the discriminator. The division rule is: for each layer, take the median of the selected dimension components of the layer as the node of the layer, the data smaller than the median is divided into the left subtree, and the data larger than the median is divided into It is the right subtree, so that each division ensures that the data volume of the left and right subtrees is almost equal. The discriminator used is: n mod k (n represents the nth layer of the tree, k represents the dimension).

S42、根据所述多维搜索树,采用最近点搜索和法向量差异最小的原则寻找人体模型点集和深度图像点集的对应关系。给定人体模型的一个点,深度图像中与其对应的点要满足:1)距离和最近距离的比小于给定的阈值;2)两个点的法向量的夹角的平方小于给定的阈值。S42. According to the multi-dimensional search tree, search for the corresponding relationship between the point set of the human body model and the point set of the depth image by using the principle of the nearest point search and the principle of minimizing the difference between the normal vectors. Given a point on the human body model, the corresponding point in the depth image must satisfy: 1) the ratio of the distance to the closest distance is less than a given threshold; 2) the square of the angle between the normal vectors of two points is less than a given threshold .

S5、对于所述深度图像的当前帧,根据所述对应点检测的结果建立并优化目标函数,该目标函数用于描述所述虚拟人体模型和所述深度图像之间的姿势差异的大小,通过最小化目标函数的值更新所述虚拟人体模型的当前姿态。S5. For the current frame of the depth image, establish and optimize an objective function according to the result of the corresponding point detection, the objective function is used to describe the size of the posture difference between the virtual human body model and the depth image, by Minimizing the value of the objective function updates the current pose of the virtual human model.

本发明采用分层姿态估计法进行姿态估计,分层姿态估计是整个本发明的方法的核心。传统的姿态估计方法是对所有参数同时进行估计,这样可能导致目标函数落入局部最小值的问题。为了避免这个问题,我们采用分层估计的方法来对目标函数进行优化,即在每一步迭代中,先对平移和旋转参数进行估计,然后再对关节角参数进行估计。如图4所示,具体实现过程为:The present invention uses a layered pose estimation method for pose estimation, and the hierarchical pose estimation is the core of the entire method of the present invention. The traditional pose estimation method is to estimate all parameters at the same time, which may lead to the problem that the objective function falls into a local minimum. To avoid this problem, we adopt a hierarchical estimation method to optimize the objective function, that is, in each iteration step, the translation and rotation parameters are estimated first, and then the joint angle parameters are estimated. As shown in Figure 4, the specific implementation process is:

S51、对于所述深度图像的每一帧,获取所述虚拟人体模型的上一帧姿态估计结果。对于第一帧图像,即获取初始的姿态参数,对于第二帧以后的图像,获取前一帧的姿态参数估计结果。S51. For each frame of the depth image, acquire a pose estimation result of the last frame of the virtual human body model. For the first frame of image, the initial pose parameters are obtained, and for the images after the second frame, the pose parameter estimation results of the previous frame are obtained.

S52、建立用于姿态估计的目标函数,计算所述虚拟人体模型的当前姿态下的目标函数值。此步骤记录目标函数在本次迭代的初始值。S52. Establish an objective function for attitude estimation, and calculate an objective function value under the current attitude of the virtual human body model. This step records the initial value of the objective function at this iteration.

S53、对于深度图像的每一帧,估计虚拟人体模型的平移和旋转参数。此步骤为使用最速下降法对平移和旋转参数进行估计,然后更新姿态参数和目标函数,再继续后续的参数估计。如图5所示,具体实现过程为:S53. For each frame of the depth image, estimate translation and rotation parameters of the virtual human body model. This step is to use the steepest descent method to estimate the translation and rotation parameters, then update the attitude parameters and the objective function, and then continue the subsequent parameter estimation. As shown in Figure 5, the specific implementation process is:

S531、计算平移梯度。先计算均方误差对每个平移分量的梯度,利用基于洛伦兹分布建模的梯度公式计算出目标函数对平移参数的梯度向量并归一化。S531. Calculate translation gradients. First calculate the gradient of the mean square error to each translation component, and use the gradient formula based on Lorentz distribution modeling to calculate the gradient vector of the objective function to the translation parameter and normalize it.

S532、计算旋转梯度。先计算均方误差对每个旋转分量的梯度,利用基于洛伦兹分布建模的梯度公式计算出目标函数对旋转参数的梯度向量并归一化。S532. Calculate the rotation gradient. First calculate the gradient of the mean square error to each rotation component, and use the gradient formula based on Lorentz distribution modeling to calculate the gradient vector of the objective function to the rotation parameter and normalize it.

S533、黄金分割法求迭代步长。取步骤S531和步骤S532得出的平移和旋转梯度的负梯度方向作为迭代方向,然后以当前姿态参数为起点沿迭代方向进行一维搜索,得出迭代步长。黄金分割法求迭代步长步骤会在后面进行详细描述。S533. Calculating the iteration step size by the golden section method. Take the negative gradient direction of the translation and rotation gradient obtained in step S531 and step S532 as the iteration direction, and then perform a one-dimensional search along the iteration direction with the current attitude parameter as the starting point to obtain the iteration step size. The steps of calculating the iterative step size by the golden section method will be described in detail later.

S534、更新平移和旋转参数。将上一步计算得到的迭代步长和迭代方向相乘得到平移和旋转参数的增加量,然后在原姿态参数的基础上加上此增加量。S534. Update translation and rotation parameters. Multiply the iteration step size calculated in the previous step and the iteration direction to obtain the increment of the translation and rotation parameters, and then add this increment to the original attitude parameters.

S535、计算当前姿态下的目标函数值以更新目标函数,为下一步的姿态参数估计做准备。S535. Calculate the objective function value under the current attitude to update the objective function, and prepare for the next attitude parameter estimation.

S54、对于深度图像的每一帧,估计虚拟人体模型的关节角参数。在对模型整体的平移和旋转参数估计完毕后,再对关节角参数进行估计,且按照从躯干到四肢的顺序依次进行估计。如图6所示,具体实现过程为:S54. Estimating joint angle parameters of the virtual human body model for each frame of the depth image. After estimating the overall translation and rotation parameters of the model, the joint angle parameters are estimated in sequence from the trunk to the limbs. As shown in Figure 6, the specific implementation process is:

S541、选择第一个关节角。第一个关节角取骨骼模型的根关节,即ID为0的关节。S541. Select the first joint angle. The first joint angle takes the root joint of the bone model, that is, the joint with ID 0.

S542、计算当前关节角的梯度。关节角的梯度计算需要用到步骤S25中关节旋转矩阵对关节角分量的导数。由于从每个关节的局部坐标系到世界坐标系的变换需要多个子父关节的坐标变换矩阵级联来实现,因此计算关节角的梯度可以使用递归的算法来实现,分别计算出目标函数对关节角各自由度分量的梯度,从而得到梯度向量并,然后归一化处理。S542. Calculate the gradient of the current joint angle. The gradient calculation of the joint angle needs to use the derivative of the joint rotation matrix to the joint angle component in step S25. Since the transformation from the local coordinate system of each joint to the world coordinate system requires the cascading of the coordinate transformation matrices of multiple child and parent joints, the calculation of the gradient of the joint angle can be achieved using a recursive algorithm to calculate the impact of the objective function on the joint The gradient of each degree of freedom component of the angle, so as to obtain the gradient vector union, and then normalize.

S543、黄金分割法求迭代步长。取步骤S542的关节角梯度向量的负方向为迭代方向,以当前姿态参数为起点沿迭代方向进行一维搜索,得到迭代步长。黄金分割法求迭代步长步骤会在后面进行详细描述。S543. Calculate the iteration step size by the golden section method. The negative direction of the joint angle gradient vector in step S542 is taken as the iteration direction, and one-dimensional search is performed along the iteration direction with the current attitude parameter as the starting point to obtain the iteration step size. The steps of calculating the iterative step size by the golden section method will be described in detail later.

S544、更新当前关节角。将上一步计算得到的步长和迭代方向相乘得到当前关节角参数的增加量,然后在原姿态参数的基础上加上此增加量。S544. Update the current joint angle. Multiply the step length calculated in the previous step and the iteration direction to obtain the increment of the current joint angle parameter, and then add this increment to the original attitude parameter.

S545、计算当前姿态下的目标函数值。更新目标函数,为下一个关节角参数估计做准备。S545. Calculate the objective function value under the current posture. Update the objective function in preparation for the next joint angle parameter estimation.

S546、判断是否所有的关节角都估计完毕。如果还有关节角没有估计,则选择下一个关节角,一直循环下去,直到所有关节角估计完毕;如果所有关节角估计完毕,则结束关节角参数估计步骤。S546. Determine whether all joint angles have been estimated. If there are still joint angles that have not been estimated, select the next joint angle, and continue to cycle until all joint angles are estimated; if all joint angles are estimated, end the joint angle parameter estimation step.

S547、选择下一个关节角。选择关节角的原则是按照从躯干到四肢由里向外的顺序进行选择的。这样保证分层估计的效果最佳。S547. Select the next joint angle. The principle of selecting joint angles is to select them in the order from the trunk to the limbs from the inside to the outside. This ensures the best effect of stratified estimation.

S548、判断目标函数差值是否满足误差要求,此步骤决定是否继续进行优化迭代。如果最新的目标函数值与本次迭代初始的目标函数值,即步骤S52记录的目标函数值的差小于给定的阈值,则将本次迭代得到的姿态参数作为结果,并更新人体运动模型,结束分层姿态估计步骤;如果大于给定的阈值,则转到步骤S52,继续进行下一次迭代。S548. Determine whether the difference of the objective function satisfies the error requirement. This step determines whether to continue the optimization iteration. If the difference between the latest objective function value and the initial objective function value of this iteration, that is, the objective function value recorded in step S52, is less than a given threshold, the posture parameters obtained in this iteration are used as the result, and the human body motion model is updated, End the hierarchical pose estimation step; if it is greater than a given threshold, go to step S52 and proceed to the next iteration.

S549、输出所述虚拟人体模型。此步是在一帧图像姿态估计完毕后更新当前帧最终的模型姿态并输出显示。S549. Output the virtual human body model. This step is to update the final model pose of the current frame and output it for display after the pose estimation of a frame of image is completed.

黄金分割法求迭代步长步骤S533和步骤S543Calculating the iterative step size of the golden section method Step S533 and Step S543

黄金分割法求迭代步长步骤在平移和旋转参数估计步骤S53及关节角参数估计步骤S54中都被用到。黄金分割法是收敛速度较快且精度较高的一维搜索算法,每次搜索以黄金分割点作为区间断点,逐步缩短搜索区间,从而找到最小点的数值近似解。如图7所示,具体实现过程为:The step of calculating the iterative step size by the golden section method is used in both translation and rotation parameter estimation step S53 and joint angle parameter estimation step S54. The golden section method is a one-dimensional search algorithm with fast convergence speed and high precision. Each search takes the golden section point as the interval breakpoint, and gradually shortens the search interval, so as to find the numerical approximate solution of the minimum point. As shown in Figure 7, the specific implementation process is:

S5331、输入迭代方向。在平移和旋转参数估计步骤S53,迭代方向为归一化的平移和旋转梯度向量的负方向。在关节角参数估计步骤S54,迭代方向为归一化的关节角梯度向量的负方向。S5331. Input the iteration direction. In the translation and rotation parameter estimation step S53, the iteration direction is the negative direction of the normalized translation and rotation gradient vector. In the joint angle parameter estimation step S54, the iteration direction is the negative direction of the normalized joint angle gradient vector.

S5332、确定初始搜索区间。初始分割区间的左边界为0,右边界为允许的最大的迭代步长,即要满足:迭代步长乘以迭代方向得到的向量各分量大小不能超过允许的取值范围。S5332. Determine an initial search interval. The left boundary of the initial division interval is 0, and the right boundary is the maximum allowed iteration step size, that is to say, the size of each component of the vector obtained by multiplying the iteration step size by the iteration direction cannot exceed the allowed value range.

S5333、取两分割点。此步为确定初始的分割点。假设初始搜索区间为[a,b],则初始分割点为r1=a+0.382(b-a)和r2=a+0.618(b-a)。S5333. Take two segmentation points. This step is to determine the initial segmentation point. Assuming that the initial search interval is [a, b], the initial segmentation points are r1=a+0.382(b-a) and r2=a+0.618(b-a).

S5334、判断两分割点之差是否满足精度,如果满足精度,则转步骤S5335;如果不满足,则转步骤S5336,继续进行迭代搜索。两分割点之差即分割区间的长度,精度预先设定。S5334. Determine whether the difference between the two segmentation points satisfies the accuracy. If the accuracy is satisfied, go to step S5335; if not, go to step S5336 to continue the iterative search. The difference between the two segmentation points is the length of the segmentation interval, and the precision is preset.

S5335、取两分割点的中点为步长。一维搜索收敛到误差范围内后,取最终两个分割点的中点作为迭代步长,结束黄金分割法求迭代步长模块。S5335. Take the midpoint of the two split points as the step size. After the one-dimensional search converges to the error range, take the midpoint of the final two segmentation points as the iterative step size, and end the golden section method to find the iterative step size module.

S5336、计算以两分割点为步长的目标函数值,即计算E(r1)和E(r2)的值,为下一步判决做准备。S5336. Calculate the objective function value with the two segmentation points as the step size, that is, calculate the values of E(r1) and E(r2), and prepare for the next step of judgment.

S5337、更新搜索区间和两分割点。假设当前搜索区间为[a,b],分割点为r1、r2,已知步骤S5336计算出的两分割点为步长的目标函数值E(r1)和E(r2),更新分割区间和两分割点的具体实现方法如下:S5337. Update the search interval and the two segmentation points. Assuming that the current search interval is [a, b], the split points are r1 and r2, and the two split points calculated in step S5336 are the objective function values E(r1) and E(r2) of the step size, update the split interval and the two The specific implementation method of the split point is as follows:

S53371、判断E(r1)是否小于E(r2),如果小于,则令b=r2,r2=r1,r1=a+0.382(b-a),转第四步。如果不小于,则转第二步。S53371. Determine whether E(r1) is smaller than E(r2). If it is smaller, set b=r2, r2=r1, r1=a+0.382(b-a), and turn to the fourth step. If not less than, go to the second step.

S53372、判断E(r1)是否大于E(r2),如果大于,则令a=r1,r1=r2,r2=a+0.618(b-a),转第四步。如果不大于,则转第三步。S53372. Determine whether E(r1) is greater than E(r2). If so, set a=r1, r1=r2, r2=a+0.618(b-a), and turn to the fourth step. If not, go to step 3.

S53373、这是E(r1)等于E(r2)的情况,令a=r1,b=r2,r1=a+0.382(b-a),r2=a+0.618(b-a),转第四步。S53373. This is the case where E(r1) is equal to E(r2), let a=r1, b=r2, r1=a+0.382(b-a), r2=a+0.618(b-a), go to the fourth step.

S53374、更新搜索区间和分割点完毕,转到步骤S5334,继续进行分割搜索不断缩短搜索区间,直至收敛到误差范围内。S53374. After updating the search interval and segmentation points, go to step S5334 to continue the segmentation search and continuously shorten the search interval until it converges within the error range.

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The specific embodiments described above have further described the purpose, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above descriptions are only specific embodiments of the present invention, and are not intended to limit the present invention. Within the spirit and principles of the present invention, any modifications, equivalent replacements, improvements, etc., shall be included in the protection scope of the present invention.

Claims (5)

1. an estimation method of human posture, the method carries out the estimation of human body attitude according to the depth image of human body, and to be simulated the human body in this image by virtual human model, this depth image comprises multiple frame, it is characterized in that, the method comprises the steps:
S1, set up virtual human model, this manikin is made up of skeleton model and skin model;
S2, initialization is carried out to the parameter of described virtual human model;
S3, filtering is carried out to the present frame of described depth image;
S4, corresponding point detection is carried out to described virtual human model and depth image;
S5, present frame for described depth image, set up and optimization object function according to the result that described corresponding point detect, this objective function, for describing the size of the posture difference between described virtual human model and described depth image, upgrades the current pose of described virtual human model by the value minimizing objective function; Wherein
Described step S2 comprises:
S21, read the point set of virtual human model, so-called point set refers to that the three-dimensional coordinate information of the three-dimensional coordinate information of this virtual human model, normal information, skin node and bone node are to the weight allocation information of skin node;
S22, the skin model of described virtual human model carried out to the model point set that stochastic sampling obtains for Attitude estimation;
The attitude parameter of virtual human model described in S23, initialization;
S24, obtain the joint transformation matrix of the skeleton model of described virtual human model;
Described step S3 comprises:
The present frame of S31, acquisition depth image;
S32, stochastic sampling is carried out to the depth information of the human body parts in described depth image obtain depth image point set;
S33, to the smoothing process of depth image point set obtained after described stochastic sampling;
S34, the gray-scale value of the point set of described depth image is quantized to described virtual human model depth range within;
Described step S4 comprises:
S41, described depth image point set set up to multi-dimensional search tree;
S42, to set according to described multi-dimensional search, adopt closest approach search and the minimum principle of normal vector difference to find the corresponding relation of described virtual human model point set and described depth image point set;
Described step S5 comprises:
S51, each frame for described depth image, obtain the previous frame Attitude estimation result of described virtual human model;
S52, foundation, for the objective function of Attitude estimation, calculate the target function value under the current pose of described virtual human model;
S53, each frame for depth image, estimate translation and the rotation parameter of virtual human model;
S54, each frame for depth image, estimate the joint angle parameter of virtual human model;
Further, described step S53 comprises further:
S531, calculate the translation gradient of described virtual human model, namely first calculate square error to the gradient of each translational component, utilize the gradient formula based on Lorentz distribution modeling to calculate objective function to the gradient vector of translation parameters and normalization;
S532, calculate the rotation gradient of described virtual human model, namely first calculate square error to the gradient of each rotational component, utilize the gradient formula based on Lorentz distribution modeling to calculate objective function to the gradient vector of rotation parameter and normalization;
S533, the negative gradient direction of getting translation that described step S531 and step S532 draws and rotating gradient as iteration direction, then with current pose parameter for starting point carries out linear search along iteration direction, draw iteration step length;
S534, the iteration step length calculated by described step S533 are multiplied with iteration direction and obtain the recruitment of translation parameters and rotation parameter, then on the basis of former attitude parameter, add this recruitment;
Target function value under S535, calculating current pose is to upgrade described objective function.
2. estimation method of human posture as claimed in claim 1, it is characterized in that, step S54 comprises:
S541, selection first joint angle;
The gradient at S542, calculating current joint angle;
S543, the negative direction of getting the joint angle gradient vector of step S542 are iteration direction, with current pose parameter for starting point carries out linear search along iteration direction, obtain iteration step length;
S544, renewal current joint angle, the step-length calculated by step S543 is multiplied with iteration direction and obtains the recruitment of current joint angular dimensions, then on the basis of former attitude parameter, adds this recruitment;
Target function value under S545, calculating current pose is to upgrade objective function;
S546, judge whether that all joint angles are all estimated complete, if also have joint angle not estimate, then select next joint angle, circulation is always gone down, until all joint angles are estimated complete; If all joint angles are estimated complete, then terminate joint angle parametric estimation step;
S547, select next joint angle;
S548, difference as target function value and initial target function value are less than given threshold value, then by attitude parameter as a result, and upgrade described virtual human model, otherwise forward step S52 to;
S549, export described virtual human model.
3. estimation method of human posture as claimed in claim 2, it is characterized in that, step S533 comprises:
S5331, input iteration direction, described iteration direction is normalized translation and the negative direction rotating gradient vector;
S5332, determine that initial ranging is interval, iteration step length the is multiplied by each component size of vector that iteration direction obtains can not exceed the span of permission;
S5333, determine initial cut-point;
S5334, judge whether the difference of two cut-points meets precision, if meet precision, then goes to step S5335; If do not met, then go to step S5336;
S5335, the mid point getting two cut-points are step-length, and linear search converges to after in error range, gets the mid point of final two cut-points as iteration step length;
S5336, the target function value that to calculate with two cut-points be step-length;
S5337, the renewal region of search and two cut-points.
4. estimation method of human posture as claimed in claim 2, it is characterized in that, step S543 comprises:
S5431, input iteration direction, the negative direction of described iteration direction to be iteration direction be normalized joint angle gradient vector;
S5432, determine that initial ranging is interval, iteration step length the is multiplied by each component size of vector that iteration direction obtains can not exceed the span of permission;
S5433, determine initial cut-point;
S5434, judge whether the difference of two cut-points meets precision, if meet precision, then goes to step S5435; If do not met, then go to step S5436;
S5435, the mid point getting two cut-points are step-length, and linear search converges to after in error range, gets the mid point of final two cut-points as iteration step length;
S5436, the target function value that to calculate with two cut-points be step-length;
S5437, the renewal region of search and two cut-points.
5. estimation method of human posture as claimed in claim 3, it is characterized in that, step S5337 is: suppose that current search interval is for [a, b], cut-point is r1, r2, two cut-points that known steps S5336 calculates are target function value E (r1) and the E (r2) of step-length, upgrade between cut section and comprise with the step of two cut-points:
S53371, judge whether E (r1) is less than E (r2), if be less than, then makes b=r2, r2=r1, r1=a+0.382 (b-a), forward step S53374 to; If be not less than, then forward step S53372 to;
S53372, judge whether E (r1) is greater than E (r2), if be greater than, then makes a=r1, r1=r2, r2=a+0.618 (b-a), forward step S53374 to; If be not more than, then forward step S53373 to;
S53373, when E (r1) equals E (r2), make a=r1, b=r2, r1=a+0.382 (b-a), r2=a+0.618 (b-a), forwards step S53374 to;
S53374, the renewal region of search and cut-point are complete, forward step S5334 to.
CN201210271289.1A 2012-07-31 2012-07-31 Estimation method of human posture based on depth image Active CN102855470B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210271289.1A CN102855470B (en) 2012-07-31 2012-07-31 Estimation method of human posture based on depth image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210271289.1A CN102855470B (en) 2012-07-31 2012-07-31 Estimation method of human posture based on depth image

Publications (2)

Publication Number Publication Date
CN102855470A CN102855470A (en) 2013-01-02
CN102855470B true CN102855470B (en) 2015-04-08

Family

ID=47402048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210271289.1A Active CN102855470B (en) 2012-07-31 2012-07-31 Estimation method of human posture based on depth image

Country Status (1)

Country Link
CN (1) CN102855470B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600626A (en) * 2016-11-01 2017-04-26 中国科学院计算技术研究所 Three-dimensional human body movement capturing method and system

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103366505B (en) * 2013-06-26 2016-06-22 安科智慧城市技术(中国)有限公司 A kind of sleeping position recognition methods and device
CN104424650B (en) * 2013-08-21 2017-11-21 中国人民解放军第二炮兵工程大学 A kind of arm information compensation method in optical profile type human body motion capture
CN103735268B (en) * 2013-09-29 2015-11-25 沈阳东软医疗系统有限公司 A kind of position detection method and system
CN103559505A (en) * 2013-11-18 2014-02-05 庄浩洋 3D skeleton modeling and hand detecting method
CN104978583B (en) * 2014-04-11 2018-07-03 北京数码视讯科技股份有限公司 The recognition methods of figure action and device
CN104951081B (en) * 2015-07-09 2016-04-13 李乔亮 The method of automatic identification read-write posture and intelligent early-warning device thereof
CN106473738A (en) * 2015-08-31 2017-03-08 通用电气公司 Image-recognizing method, MR imaging method and imaging device
CN105225270B (en) * 2015-09-28 2019-06-25 联想(北京)有限公司 A kind of information processing method and electronic equipment
CN106599762A (en) * 2015-10-15 2017-04-26 阿里巴巴集团控股有限公司 Motion information recognition method and system
CN105389569B (en) * 2015-11-17 2019-03-26 北京工业大学 A Human Pose Estimation Method
CN106250808A (en) * 2016-06-02 2016-12-21 上海弘视通信技术有限公司 Double guard detection method based on three-dimensional camera and system
JP6520831B2 (en) * 2016-06-07 2019-05-29 オムロン株式会社 Display control apparatus, display control system, display control method, display control program, recording medium
CN108335328B (en) * 2017-01-19 2021-09-24 富士通株式会社 Camera pose estimation method and camera pose estimation device
CN106952302B (en) * 2017-02-14 2019-12-13 深圳奥比中光科技有限公司 Human body model automatic creation method and three-dimensional fitting system
CN106952334B (en) * 2017-02-14 2019-08-30 深圳奥比中光科技有限公司 The creation method and three-dimensional fitting system of the net model of human body
CN107038430B (en) * 2017-05-05 2020-09-11 成都通甲优博科技有限责任公司 Method and device for constructing human body posture data sample
CN106981075A (en) * 2017-05-31 2017-07-25 江西制造职业技术学院 The skeleton point parameter acquisition devices of apery motion mimicry and its recognition methods
CN107273677A (en) * 2017-06-08 2017-10-20 中国科学院软件研究所 A kind of multi-channel nerve function quantitative evaluation system
CN107491506B (en) * 2017-07-31 2020-06-16 西安蒜泥电子科技有限责任公司 Batch model posture transformation method
CN108510594A (en) * 2018-02-27 2018-09-07 吉林省行氏动漫科技有限公司 Virtual fit method, device and terminal device
CN108345869B (en) * 2018-03-09 2022-04-08 南京理工大学 Driver gesture recognition method based on depth image and virtual data
CN108830150B (en) * 2018-05-07 2019-05-28 山东师范大学 One kind being based on 3 D human body Attitude estimation method and device
CN109191593A (en) * 2018-08-27 2019-01-11 百度在线网络技术(北京)有限公司 Motion control method, device and the equipment of virtual three-dimensional model
CN110097639B (en) * 2019-03-18 2023-04-18 北京工业大学 Three-dimensional human body posture estimation method
CN110515709B (en) * 2019-07-25 2022-06-10 北京达佳互联信息技术有限公司 Task scheduling system, method, device, electronic equipment and storage medium
CN111260762B (en) * 2020-01-19 2023-03-28 腾讯科技(深圳)有限公司 Animation implementation method and device, electronic equipment and storage medium
CN114119913B (en) * 2020-08-27 2025-12-23 北京陌陌信息技术有限公司 Method, device and storage medium for driving human body model
CN113203416B (en) * 2021-03-19 2022-07-12 电子科技大学 Pedestrian dead reckoning method for swing arm pedestrian
CN113421286B (en) * 2021-07-12 2024-01-02 北京未来天远科技开发有限公司 Motion capturing system and method
JP7565886B2 (en) * 2021-07-27 2024-10-11 本田技研工業株式会社 Information processing method and program
CN113808239A (en) * 2021-08-18 2021-12-17 北京艺旗网络科技有限公司 A body capture method and device for online education of art works
CN115222871B (en) * 2021-08-31 2023-04-18 达闼科技(北京)有限公司 Model evaluation method, model evaluation device, storage medium and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1215618A2 (en) * 2000-12-14 2002-06-19 Eastman Kodak Company Image processing method for detecting human figures in a digital image
CN1725246A (en) * 2005-07-14 2006-01-25 中国科学院计算技术研究所 A Human Pose Morphing Method Based on Video Content
CN102074034A (en) * 2011-01-06 2011-05-25 西安电子科技大学 Multi-model human motion tracking method
CN102184541A (en) * 2011-05-04 2011-09-14 西安电子科技大学 Multi-objective optimized human body motion tracking method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1215618A2 (en) * 2000-12-14 2002-06-19 Eastman Kodak Company Image processing method for detecting human figures in a digital image
CN1725246A (en) * 2005-07-14 2006-01-25 中国科学院计算技术研究所 A Human Pose Morphing Method Based on Video Content
CN102074034A (en) * 2011-01-06 2011-05-25 西安电子科技大学 Multi-model human motion tracking method
CN102184541A (en) * 2011-05-04 2011-09-14 西安电子科技大学 Multi-objective optimized human body motion tracking method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于视频的人体运动捕捉综述;李豪杰等;《计算机辅助设计与图形学学报》;20061130;第18卷(第11期);1645-1651页 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600626A (en) * 2016-11-01 2017-04-26 中国科学院计算技术研究所 Three-dimensional human body movement capturing method and system
CN106600626B (en) * 2016-11-01 2020-07-31 中国科学院计算技术研究所 3D human motion capture method and system

Also Published As

Publication number Publication date
CN102855470A (en) 2013-01-02

Similar Documents

Publication Publication Date Title
CN102855470B (en) Estimation method of human posture based on depth image
CN108830150B (en) One kind being based on 3 D human body Attitude estimation method and device
CN115410233B (en) Gesture attitude estimation method based on Kalman filtering and deep learning
CN111027407B (en) Color image hand posture estimation method for shielding situation
CN100543775C (en) Method of 3D Human Motion Tracking Based on Multi-camera
CN105654492B (en) Robust real-time three-dimensional method for reconstructing based on consumer level camera
CN104408760B (en) A kind of high-precision virtual assembly system algorithm based on binocular vision
CN110660017A (en) Dance music recording and demonstrating method based on three-dimensional gesture recognition
CN104794737B (en) A kind of depth information Auxiliary Particle Filter tracking
CN114581571B (en) Monocular human body reconstruction method and device based on IMU and forward deformation field
CN109977971A (en) Dimension self-adaption Target Tracking System based on mean shift Yu core correlation filtering
CN108154104A (en) A kind of estimation method of human posture based on depth image super-pixel union feature
CN112241001B (en) Radar human action recognition method, device, electronic device and storage medium
CN107392131A (en) A kind of action identification method based on skeleton nodal distance
CN113808047A (en) Human motion capture data denoising method
CN118470222B (en) Medical ultrasonic image three-dimensional reconstruction method and system based on SDF diffusion
CN109614899A (en) A Human Action Recognition Method Based on Lie Group Features and Convolutional Neural Networks
CN119339302B (en) A method, device and medium for inter-frame image segmentation based on recursive neural network
CN117894072B (en) A method and system for hand detection and three-dimensional posture estimation based on diffusion model
CN118071932A (en) Three-dimensional static scene image reconstruction method and system
CN117710416A (en) Fluid light flow velocity measurement method and system for complex illumination change scene
CN117711066A (en) Three-dimensional human body posture estimation method, device, equipment and medium
CN111531546A (en) Robot pose estimation method, device, equipment and storage medium
Chen et al. A particle filtering framework for joint video tracking and pose estimation
Wang et al. Swimmer’s posture recognition and correction method based on embedded depth image skeleton tracking

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant