CN102663674B - 并行化实时无标记人体运动跟踪方法 - Google Patents
并行化实时无标记人体运动跟踪方法 Download PDFInfo
- Publication number
- CN102663674B CN102663674B CN201210129429.1A CN201210129429A CN102663674B CN 102663674 B CN102663674 B CN 102663674B CN 201210129429 A CN201210129429 A CN 201210129429A CN 102663674 B CN102663674 B CN 102663674B
- Authority
- CN
- China
- Prior art keywords
- particle
- processor
- human body
- particles
- attached processor
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及一种并行化实时无标记人体运动跟踪方法,包括以下步骤:S1:在主处理器上根据初始人体姿态产生初始粒子并读取已经得到的边缘和前景数据;S2:将Nview个边缘和前景数据传输到附属处理器上;S3:将Np个粒子数据传输到附属处理器上;S4:在附属处理器上快速并行计算每个粒子的边缘和前景似然函数;S5:在主处理器上计算粒子权重;S6:在主处理器上进行粒子扩散;S7:在附属处理器上并行快速地进行粒子选择;S8:判断粒子数目是否达到设定值,若为是,执行S9,否则,返回S6;S9:判断退火层数是否大于0,若为是,返回S3,否则,由结果粒子计算跟踪结果。与现有技术相比,本发明具有实时准确的进行三维人体运动跟踪等优点。
Description
技术领域
本发明涉及一种视觉和图像处理相关技术,尤其是涉及一种并行化实时无标记人体运动跟踪方法。
背景技术
基于视觉信息的三维人体运动跟踪,是计算机视觉领域的重要且富有挑战性的研究方向,相关技术具有广阔的应用前景,主要应用包括:虚拟现实,电影动画,智能监控,高级人机交互,视频传输和压缩以及用于体育和医学方面的运动分析。传统的基于粒子滤波(particle filter)的方法能够跟踪高维人体铰接三维模型的运动,但是由于对粒子似然函数的计算密集而且耗时,时间开销一直很大,因此无法用于实际应用。随着计算机硬件系统的不断升级和计算机视觉理论的继续完善,目前,建立应用级的人体运动跟踪系统已经成为极具商业前景的研究重点,而异构计算(heterogeneous computing)在计算机视觉中的普及应用为实时、快速人体运动跟踪系统的建立提供了契机。
人体运动跟踪的主要目标是从图像和视频信息中恢复和估计以参数表示的人体姿态,求解真实人体在三维世界坐标系中的位置和姿态参数。M.Isard等人在Visual tracking by stochastic propagation of conditional density(通过条件密度随机扩散的视觉跟踪)中提出了粒子滤波(particle filter)的方法,提供了用于人体运动跟踪的鲁棒贝叶斯框架。J.Deutscher等人在Articulated Body Motion Capture byAnnealed Particle Filtering(通过退火粒子滤波的铰接人体运动跟踪)中提出了退火粒子滤波算法,它将模拟退火的过程纳入粒子滤波的框架,能够跟踪高维人体三维铰接模型的运动。但是,作为一种粒子滤波算法的变体,它不可避免地每一步都要对每个粒子计算似然函数,这也导致它的计算开销很大(Matlab实现45秒钟每帧)。
由于人体三维运动重建问题的复杂性,使得相关算法的计算复杂度较高,在CPU上运算会遇到较大的瓶颈,而异构计算是很好的选择。异构框架包括主处理器(比如传统的CPU)和附属处理器(attached processor),附属处理器是包含成千上万的轻量级核心的专属流加速器,比如图形处理单元(Graphic Processing Units)和可编程门阵列(Field Programmable Gate Arrays)。异构计算的主要目的是结合主处理器的通用计算能力和附属处理器的高度密集计算能力对具体应用进行加速。开放计算语言(Open Computing Language)是可以在不同类型的硬件上执行的异构编程框架。当前,异构计算在计算机视觉学术界使用日益广泛。最近的一个是Jan-Michael Frahm教授等人在Building Rome on a Cloudless Day(万里无云的一天重建罗马城)中的工作,他们利用网上得到的大量图片(百万级),通过GPU加速技术,一天之内在一台工作站上实现了对罗马城的三维数字重建。值得注意的是,之前SameerAgarwal等人在Building Rome in a day(一天重建罗马城)上发表的罗马城重建的成果则是利用了云计算技术,其使用了62台用于云计算的计算机,而处理的图片数目仅仅是150000,比上述的图片处理量小了一个数量级。由此可以明显的看到异构计算对计算机视觉技术的巨大推动作用。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种能够利用普通民用计算机上的异构计算资源、实时准确的进行三维人体运动跟踪、而且当粒子数目或视角数目增多时计算时间基本保持恒定、具有很好的扩展性的并行化实时无标记人体运动跟踪方法。
本发明的目的可以通过以下技术方案来实现:
一种并行化实时无标记人体运动跟踪方法,其特征在于,包括以下步骤:
步骤S1:在主处理器上根据初始人体姿态产生初始粒子并读取已经得到的边缘和前景数据;
步骤S2:将Nview个边缘和前景数据传输到附属处理器上;
步骤S3:将Np个粒子数据传输到附属处理器上;
步骤S4:在附属处理器上快速并行计算每个粒子的边缘和前景似然函数;
步骤S5:在主处理器上计算粒子权重;
步骤S6:在主处理器上进行粒子扩散;
步骤S7:在附属处理器上并行快速地进行粒子选择;
步骤S8:判断粒子数目是否达到设定值,若为是,执行步骤S9,否则,返回步骤S6;
步骤S9:判断退火层数是否大于0,若为是,返回步骤S3,否则,由结果粒子计算跟踪结果。
所述的步骤S4:在附属处理器上快速并行计算每个粒子的边缘和前景似然函数具体如下:
步骤S4.1:在附属处理器上由每个粒子的配置参数并行计算Ntc个圆台的三维变换矩阵,对于每个粒子独立进行,其并行度是粒子数目Np;
步骤S4.2:在附属处理器上将每个圆台投影到每个二维相机平面,该过程以高度并行执行,并行度是Np*Ntc*Nview;
步骤S4.3:在附属处理器上并行计算前景似然函数;
其中Mj是视角j的前景图,ξjk是从圆台k投影到Mj上的点集,yt是观测信息,由于前景似然函数要对每个粒子进行计算而且它们互相独立,所以其并行度为Np*Ntc*Nview;
步骤S4.4:在附属处理器上并行计算边缘似然函数;此过程与S4.3基本相同,唯一区别为ξjk是从圆台k边缘投影到Mj上的点集而且在一个圆台两个长边上的计算是相同的,所以并行度是Np*Ntc*Nview*2;
步骤S4.5:将边缘和前景的似然度数据传输回主处理器。
所述的每个粒子均通过一个工作组来计算,每个工作组采用二维索引空间表示,两个坐标分别为圆台数目和视角数目。
所述的步骤S5:在主处理器上计算粒子权重具体如下
所述的步骤S6:在主处理器上进行粒子扩散具体如下
其中Bm是一个高斯随机变量。
所述的步骤S7:在附属处理器上并行快速地进行粒子选择具体为:
步骤S7.1:将扩散后的粒子数据传输到附属处理器上;
步骤S7.2:在附属处理器上进行粒子选择并将粒子选择结果传输回主处理器。
所述的粒子选择标准为:通过去除坏的粒子来减少搜索空间,其中坏的粒子为对应了不可能的人体姿态的粒子。
与现有技术相比,本发明具有以下优点:
1)采用异构平台并行化传统的退火粒子滤波算法,将退火粒子滤波算法分解成适当粒度的子任务,接着把非常耗时的粒子似然函数计算部分移植到附属处理器上进行计算,通用计算比重比较大的子任务仍然保留在主处理器上计算。结合主处理器(CPU)的通用逻辑计算能力和附属处理器的高度密集计算能力,实现了快速实时的三维人体运动跟踪,属于模式识别中的人体运动分析领域。
2)实现了快速实时的高维人体运动跟踪,可将本技术应用到虚拟现实、电影动画、智能监控、高级人机交互、视频传输和压缩以及用于体育和医学方面的运动分析等实际应用中,具有实时处理,精确度高,鲁棒性强等优点;
3)并行化实时无标记人体跟踪方法对粒子及视角数目具有很好的扩展性,由于通过异构平台进行并行计算,当粒子数目及视角数目增加而导致计算量增加时,附属处理器会相应增加并行处理资源,以此保证计算时间基本不变,目前一般的民用GPU有成千上万的轻量级“线程”,可以保证一般应用的粒子数目及视角数目需求,由于粒子数目及视角数目均直接决定跟踪精度,因此本发明克服了以往人体运动跟踪应用中处理速度过慢的缺点,兼顾了跟踪速度与精度,为三维无标记人体运动跟踪的实际应用提供了可靠的方法。
附图说明
图1为采用本发明的人体模型、观测信息及结果示意图;
图2为计算前景似然函数时候使用的工作组索引空间示意图;
图3为采用本发明所解决问题中的一些典型实施例示意图;
图4为本发明的流程图;
图5为本发明的跟踪误差对比图;
图6为本发明的对于不同粒子数目及不同视角数目的每帧耗时对比图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
本发明用三维铰接刚体模型表示人体的先验知识(图1.a所示)。此模型包括10个圆台(分表表示四肢,躯干和头部)和15个关节点。它有包括躯干的位置和朝向以及四肢间相对角度的31个自由度,这构成了粒子滤波中的31维粒子向量。本发明使用边缘距离图(图1.b)和前景图(图1.c)作为粒子似然函数的观测信息。
如图3所示,是采用本发明方法所解决问题中的一些典型实施例,具体是用于四个视角的无标记人体运动跟踪结果图片。
如图4所示流程图,本发明所提供的并行化实时无标记人体运动跟踪方法包括图中步骤,优选地在本发明的实现过程中可以使用C++语言进行编程。
为了比较本发明的有效性,我们还实现了另外两种C++版本的人体运动跟踪算法,一种是运行于单核CPU的串行程序(S-APF),另外一种是使用多线程并行化运行于多核CPU的并行程序(T-APF)。本方法的有效性已经经过了不同人体运动数据库的测试,为了测试其跟踪准确度及运行速度,我们使用了两类公开的人体运动数据库(如表1所示)。
表1
数据库 | 视角数目 | 分辨率 | 帧率 | 使用的动作 |
Brown | 4 | 644*484 | 60Hz | 走路 |
Pear | 16 | 704*576 | 25Hz | 走路,跳跃,慢跑 |
本实施例仅介绍在Brown人体运动数据库上的实施情况。
步骤S1:在标准处理器上根据初始人体姿态产生初始粒子并读取已经得到的边缘和前景(silhouette)信息;
本实施例中使用比较常见的设置,粒子数目Np设置为200,退火层数设置为10。
步骤S2:将Nview个边缘和前景数据传输到附属处理器上;
本实施例中视角的数目为Nview为4。
步骤S3:将Np个粒子数据传输到附属处理器上;
步骤S4:在附属处理器上快速并行计算每个粒子的边缘和前景似然函数;
优选地,步骤S4包括如下步骤:
步骤S4.1:在附属处理器上由每个粒子的配置参数并行计算Ntc=10个圆台的三维变换矩阵,此过程可以对于每个粒子独立进行,其并行度(degree of parallelism)是粒子数目Np=200;由图1中我们使用的人体骨架模型可以看出圆台的个数Ntc=10。
步骤S4.2:在附属处理器上将每个圆台投影到每个二维相机平面,此过程对于每个粒子是不相关的,可以高度并行执行,并行度是Np*Ntc*Nview=8000;
步骤S4.3:在附属处理器上并行计算前景似然函数;
步骤S4.4:在附属处理器上并行计算边缘似然函数;
此过程与S4.3类似,不同的是ξjk是从圆台k边缘投影到Mj上的点集而且在一个圆台两个长边上的计算是相同的,所以并行度是Np*Ntc*Nview*2=16000。
步骤S4.5:将边缘和前景的似然度数据传输回标准处理器;
步骤S5:在标准处理器上计算粒子权重;
步骤S6:在标准处理器上计算退火参数并进行粒子扩散;
步骤S7:在附属处理器上并行快速地进行粒子选择;
优选地,步骤S7包括如下步骤:
步骤S7.1:将扩散后的粒子数据传输到附属处理器上;
步骤S7.2:在附属处理器上进行粒子选择并将粒子选择结果传输回标准处理器;
粒子选择是为了通过去除坏的粒子来减少搜索空间,这些粒子对应了不可能的人体姿态。对于每个粒子我们检查三对关节,所以其并行度是Np*3=600。
步骤S8:若粒子数目足够,转S9,否则,转S6;
步骤S9:若退火层数大于0,转S3,否则,由结果粒子计算跟踪结果。
得到的三维人体运动跟踪结果如图3所示,图中每一行代表一个视角的结果图片,10列分表代表第0帧到第90帧每隔10帧的结果。从图中我们可以看出跟踪结果准确无误。我们统计了本发明(H-APF)与另外两种C++实现(S-APF,T-APF)运行500帧的跟踪误差(如图5所示)。可以看出具有相同的跟踪误差。
我们同时比较了每帧耗时与粒子数目以及视角数目的关系,分别如图6(a),(b)所示。由图所示,对于不同粒子数目,本发明的H-APF相对于S-APF有平均105的速度提升。当粒子数目或是视角数目增加时,另外两种算法的耗时急剧增加,本发明的耗时却几乎不变,这正是异构平台下并行程序对于任务规模可扩展性的体现。
Claims (2)
1.一种并行化实时无标记人体运动跟踪方法,其特征在于,包括以下步骤:
步骤S1:在主处理器上根据初始人体姿态产生初始粒子并读取已经得到的边缘和前景数据;
步骤S2:将Nview个边缘和前景数据传输到附属处理器上;
步骤S3:将Np个粒子数据传输到附属处理器上;
步骤S4:在附属处理器上快速并行计算每个粒子的边缘和前景似然函数;
步骤S5:在主处理器上计算粒子权重;
步骤S6:在主处理器上进行粒子扩散;
步骤S7:在附属处理器上并行快速地进行粒子选择;
步骤S8:判断粒子数目是否达到设定值,若为是,执行步骤S9,否则,返回步骤S6;
步骤S9:判断退火层数是否大于0,若为是,返回步骤S3,否则,由结果粒子计算跟踪结果;
所述的步骤S4:在附属处理器上快速并行计算每个粒子的边缘和前景似然函数具体如下:
步骤S4.1:在附属处理器上由每个粒子的配置参数并行计算Ntc个圆台的三维变换矩阵,对于每个粒子独立进行,其并行度是粒子数目Np;
步骤S4.2:在附属处理器上将每个圆台投影到每个二维相机平面,该过程以高度并行执行,并行度是Np*Ntc*Nview;
步骤S4.3:在附属处理器上并行计算前景似然函数;
其中Mj是视角j的前景图,ξjk是从圆台k投影到Mj上的点集,yt是观测信息,由于前景似然函数要对每个粒子进行计算而且它们互相独立,所以其并行度为Np*Ntc*Nview;
步骤S4.4:在附属处理器上并行计算边缘似然函数;此过程与S4.3基本相同,唯一区别为ξjk是从圆台k边缘投影到Mj上的点集而且在一个圆台两个长边上的计算是相同的,所以并行度是Np*Ntc*Nview*2;
步骤S4.5:将边缘和前景的似然度数据传输回主处理器;
所述的步骤S5:在主处理器上计算粒子权重具体如下
所述的步骤S6:在主处理器上进行粒子扩散具体如下
其中Bm是一个高斯随机变量;
所述的步骤S7:在附属处理器上并行快速地进行粒子选择具体为:
步骤S7.1:将扩散后的粒子数据传输到附属处理器上;
步骤S7.2:在附属处理器上进行粒子选择并将粒子选择结果传输回主处理器;
所述的粒子选择标准为:通过去除坏的粒子来减少搜索空间,其中坏的粒子为对应了不可能的人体姿态的粒子;
其中Nview为视角的数目,Np为粒子数目,Ntc为圆台数目。
2.根据权利要求1所述的一种并行化实时无标记人体运动跟踪方法,其特征在于,所述的每个粒子均通过一个工作组来计算,每个工作组采用二维索引空间表示,两个坐标分别为圆台数目和视角数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210129429.1A CN102663674B (zh) | 2012-04-27 | 2012-04-27 | 并行化实时无标记人体运动跟踪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210129429.1A CN102663674B (zh) | 2012-04-27 | 2012-04-27 | 并行化实时无标记人体运动跟踪方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102663674A CN102663674A (zh) | 2012-09-12 |
CN102663674B true CN102663674B (zh) | 2014-06-25 |
Family
ID=46773153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210129429.1A Expired - Fee Related CN102663674B (zh) | 2012-04-27 | 2012-04-27 | 并行化实时无标记人体运动跟踪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102663674B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049928A (zh) * | 2012-10-10 | 2013-04-17 | 上海交通大学 | 并行化实时稠密体素重建方法 |
CN103150575A (zh) * | 2013-01-31 | 2013-06-12 | 广州中国科学院先进技术研究所 | 一种实时三维无标记人体姿态识别方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604449A (zh) * | 2009-07-02 | 2009-12-16 | 浙江大学 | 一种基于并行粒子滤波的图像目标跟踪方法及装置 |
CN101923719A (zh) * | 2009-06-12 | 2010-12-22 | 新奥特(北京)视频技术有限公司 | 一种基于粒子滤波和光流矢量的视频目标跟踪方法 |
-
2012
- 2012-04-27 CN CN201210129429.1A patent/CN102663674B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923719A (zh) * | 2009-06-12 | 2010-12-22 | 新奥特(北京)视频技术有限公司 | 一种基于粒子滤波和光流矢量的视频目标跟踪方法 |
CN101604449A (zh) * | 2009-07-02 | 2009-12-16 | 浙江大学 | 一种基于并行粒子滤波的图像目标跟踪方法及装置 |
Non-Patent Citations (2)
Title |
---|
赵旭等.高斯混合模型导引下的三维人体运动跟踪.《第十三届全国图像图形学学术会议》.2006, |
高斯混合模型导引下的三维人体运动跟踪;赵旭等;《第十三届全国图像图形学学术会议》;20061231;第478-481页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102663674A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | Computer vision techniques in manufacturing | |
CN108369643B (zh) | 用于3d手部骨架跟踪的方法和系统 | |
Wang et al. | Region ensemble network: Towards good practices for deep 3D hand pose estimation | |
CN106826833B (zh) | 基于3d立体感知技术的自主导航机器人系统 | |
Yang et al. | FADN: fully connected attitude detection network based on industrial video | |
CN110378349A (zh) | Android移动端室内场景三维重建及语义分割方法 | |
CN104123747A (zh) | 多方式触控三维建模方法和系统 | |
CN103700117A (zh) | 一种基于tv-l1变分模型的鲁棒光流场估计方法 | |
CN108280852A (zh) | 一种基于激光点云数据的门窗点云形状检测方法及系统 | |
Cai et al. | Real-time collision-free grasp pose detection with geometry-aware refinement using high-resolution volume | |
CN105654061A (zh) | 基于估计补偿的三维人脸动态重建方法 | |
CN107133978A (zh) | 基于一致点漂移算法的三维非刚体点云配准方法 | |
Malik et al. | Simple and effective deep hand shape and pose regression from a single depth image | |
Yin et al. | Overview of robotic grasp detection from 2D to 3D | |
CN102663674B (zh) | 并行化实时无标记人体运动跟踪方法 | |
CN103324784A (zh) | 一种基于局部约束的网格模型碰撞处理方法 | |
Schaub et al. | 6-DoF grasp detection for unknown objects | |
Dietrich et al. | Probabilistic multi-sensor fusion based on signed distance functions | |
CN113160401A (zh) | 一种面向物体的视觉slam轻量化语义地图创建方法 | |
Gao et al. | Semantic Segmentation of Substation Site Cloud Based on Seg-PointNet | |
CN104463940B (zh) | 一种基于gpu的混合树并行构建方法 | |
Tu et al. | Point cloud segmentation of overhead contact systems with deep learning in high-speed rails | |
Li et al. | Construction Activity Recognition Method Based on Object Detection, Attention Orientation Estimation, and Person Re-Identification | |
Wang et al. | A prediction method for assembly surface contact considering form error | |
Saremi et al. | Vision-based hand posture estimation using a new hand model made of simple components |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140625 Termination date: 20170427 |