一种检测多人躯干末端位置的方法

文档序号:6362876阅读:236来源:国知局
专利名称:一种检测多人躯干末端位置的方法
技术领域
本发明涉及计算机图形领域,特别是运动图像识别领域。
背景技术
在现有技术中判断人体躯干末端的方法普遍效率低,实时性差,且基本都是针对 ー个摄像头下ー个或两个人的场景进行处理。对于大场景多人的情况基本束手无策。

发明内容
有鉴于此,为解决上述问题,本发明提供了一种检测多人躯干末端位置的方法,其包括以下步骤通过摄像机获得场景深度图;将所述场景深度图的前景和背景分离;在所述场景深度图的前景中分层,将人群分离成单体个人;计算所述每ー个单体个人轮廓的轮廓重心;计算所述每ー个单体个人轮廓上每一点到轮廓重心的測地距离;和从測地距离组成的函数集合中选取极大值作为每ー个单体个人的四肢以及头部的位置点。进ー步地,所述摄像机获取场景深度采用ー个或多个深度摄像机同步获取。进ー步地,所述深度摄像机为微软kinect。进ー步地,所述方法中将所述场景深度图的前景和背景分离步骤进ー步包括在所述场景深度图中获取场景内每ー个景物距离摄像头的距离;设定背景阈值将大于背景阈值的景物作为背景,将小于背景阈值的景物作为前景。进ー步地,所述方法中“在所述场景深度图的前景中分层,将人群分离成单体个人”的步骤进一歩包括获得所述场景深度图中的前景景物与所述摄像机的距离;设定景深变化阈值,当两个景物之间的景深变化大于所述景深变化阈值吋,将两个景物标记成不同的单体个人。进ー步地,所述计算所述每ー个单体个人轮廓的轮廓重心的步骤包括获取所述単体个人轮廓上每一点的坐标值;计算所述轮廓上每一点坐标值的算木平均值作为所述单体个人的轮廓重心。进ー步地,所述计算所述每ー个单体个人轮廓上每一点到轮廓重心的測地距离方法进ー步包括,对分层后的单体个人轮廓进行横向切片,将所述横向切片建立成一棵连通树,所述连通树的根结点是単体个人轮廓的轮廓重心,其子结点是相邻切片上轮廓点;以深度为依据遍历轮廓上的点,一直到整个轮廓的每个轮廓点都能被所述连通树遍历。进ー步地,所述方法进ー步包括,对于单体个人中深度不连续部分按照景深順序分割成不同的层;采用种子填充法将每层填充完整;获得相邻两层之间的边界线;当轮廓上的点与轮廓重心分属不同的层时,计算轮廓上每一点到轮廓重心的测地距离的路线必须经过所述相邻两层之间的边界线。进ー步地,所述从测地距离组成的函数集合中选取极大值作为每ー个单体个人的四肢以及头部的位置点方法进ー步包括按照一定的順序选取轮廓上的点为自变量,以轮廓上的点到轮廓重心的測地距离为函数值建立函数集合;对所述函数集合求导;求导后导数为0的点既是四肢以及头部的位置。本发明通过分层和切片的方法,可以快速将人群分离并通过线性操作实现了实时处理。可以很快地找到单体个人的四肢和头部。


图1为本发明ー个具体的实施例中多个摄像机同步获取场景深度图的示意图; 图2为本发明ー个具体的实施例中单体个人遮挡分层示意图;和
图3为本发明ー个具体的实施例中遍历轮廓上点的示意图。
具体实施例方式本发明提供了一种检测多人躯干末端位置的方法,其包括以下步骤。步骤1,通过摄像机获得场景深度图。在ー个具体的实施例中如图1所示,采用ー个或者多个深度摄像机同步获取活动区域场景中的深度图。采用微软Kinect摄像头可以利用官方的SDK方便地对深度图像进行处理。步骤2,将所述场景深度图的前景和背景分离。检测多人躯干时只关心前景中人的活动,因此需要将获取到的深度图像中的背景分离。在ー个具体的实施例中,将背景分离采用以下的方法
步骤201,在所述场景深度图中获取场景内每ー个景物距离摄像头的距离; 步骤202,设定背景阈值将大于背景阈值的景物作为背景,将小于背景阈值的景物作为前景。步骤3,在所述场景深度图的前景中分层,将人群分离成单体个人。由于检测的是人群的躯干末端,就需要将人群分离成单体个人,在ー个具体的实施例中,可以获得所述场景深度图中的前景景物与所述摄像机的距离;设定景深变化阈值, 当两个景物之间的景深变化大于所述景深变化阈值吋,将两个景物标记成不同的单体个人。当然,如果出现两个人离得过于接近时也将过于接近的两个人作为ー个单体个人;如果 ー个人的手臂放在了自己身前等遮挡的情况也将其整体作为ー个单体个人。 步骤4,计算所述每ー个单体个人轮廓的轮廓重心。步骤5,计算所述每ー个单体个人轮廓上每一点到轮廓重心的測地距离。计算单体个人轮廓的重心采用计算所述轮廓上每一点坐标值的算木平均值作为所述单体个人的轮廓重心。对于毫无遮挡的单体个人,只需要采集单体个人轮廓上每ー个点坐标值即可,而当单体个人中有遮挡的情况时,必然会出现前后不同深度的部分。对于这种情况本发明采用以下方法解決。步骤401,对于单体个人中深度不连续部分按照景深順序分割成不同的层。步骤402,采用种子填充法将每层填充完整。步骤403,获得相邻两层之间的边界线。步骤404,当轮廓上的点与轮廓重心分属不同的层时,计算轮廓上每一点到轮廓重心的測地距离的路线必须经过所述相邻两层之间的边界线。在ー个具体的实施例中,请參看图2所示,图中人员左臂向前挡住了身体,将左臂定义为第一层,将躯干定义为第二层。采用种子填充法将第二层被遮挡的部分填充完整。并将两层之间因为遮挡而不连续的两个个体外轮廓的断点点A和点B之间的连线作为相邻两层之间的边界线。当计算位于第一层上的轮廓点到轮廓重心的測地距离时需要经过点A和点B的连线。计算轮廓上的点到轮廓重心的測地距离的方法为
步骤501,对分层后的单体个人轮廓进行切片,将所述切片建立成ー棵连通树,所述连通树的根结点是単体个人轮廓的轮廓重心,其子结点是相邻切片上轮廓点。步骤502,以深度为依据遍历轮廓上的点,一直到整个轮廓的每个轮廓点都能被所述连通树遍历。在ー个具体的实施例中,如图3所示,片段1上有3个点a和点b,片段2,片段3 上有点C。其中点a、b在第二层,点c在第一层。在以深度为依据遍历轮廓上所有点吋,先遍历与轮廓重心(躯干中间空心圆点处)在ー层的点,再根据深度遍历其他层。遍历片段1吋,点a由于无法连通到轮廓重心,因此测地距离是无穷,点b由于可以直接连通到轮廓重心,因此可以直接获得点b的測地距离;
沿着轮廓重心分別向上和向下遍历其他片段上的点,当遍历到片段2吋,由于点a可以连通到轮廓重心,此时更新点a的測地距离;
当遍历到片段3吋,点c由于在第一层,并不与轮廓重心同层,因此点c的測地距离此时为无穷;
当第二层所有片段都被遍历过之后再继续遍历第一层,此时点c的測地距离的计算需要通过相邻两层之间边界线。本实施例采用的是横向切片,当然采用其他切片方式也可以达到同样的效果。优先遍历与轮廓重心同层的轮廓点可以更快获得绝大部分轮廓上点的测地距离,但如果采用按照其他順序遍历同样可以实现相同的效果。步骤6,从测地距离组成的函数集合中选取极大值作为每ー个单体个人的四肢以及头部的位置点。以一定順序依次选取轮廓上的点为自变量,以轮廓上的点到轮廓重心的測地距离为函数值建立函数集合,对所述函数集合求导即可方便找到拐点,而求导后导数为0的点既是四肢以及头部的位置。由此可见,轮廓上的点的应当依次选取,否则将会出现不必要的函数拐点。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。。
权利要求
1.一种检测多人躯干末端位置的方法,其包括以下步骤通过摄像机获得场景深度图;将所述场景深度图的前景和背景分离;在所述场景深度图的前景中分层,将人群分离成单体个人;计算所述每ー个单体个人轮廓的轮廓重心;计算所述每ー个单体个人轮廓上每一点到轮廓重心的測地距离;和从测地距离组成的函数集合中选取极大值作为每ー个单体个人的四肢以及头部的位置点。
2.根据权利要求1所述的方法,其特征在干,所述摄像机获取场景深度采用ー个或多个深度摄像机同步获取。
3.根据权利要求2所述的方法,其特征在干,所述深度摄像机为微软kinect。
4.根据权利要求1所述的方法,其特征在干,所述方法中将所述场景深度图的前景和背景分离步骤进ー步包括在所述场景深度图中获取场景内每ー个景物距离摄像头的距离;设定背景阈值将大于背景阈值的景物作为背景,将小于背景阈值的景物作为前景。
5.根据权利要求4所述的方法,其特征在干,所述方法中“在所述场景深度图的前景中分层,将人群分离成单体个人”的步骤进一歩包括获得所述场景深度图中的前景景物与所述摄像机的距离;设定景深变化阈值,当两个景物之间的景深变化大于所述景深变化阈值时,将两个景物标记成不同的单体个人。
6.根据权利要求1所述的方法,其特征在干,所述计算所述每ー个单体个人轮廓的轮廓重心的步骤包括获取所述单体个人轮廓上每一点的坐标值;计算所述轮廓上每一点坐标值的算木平均值作为所述单体个人的轮廓重心。
7.根据权利要求1所述的方法,其特征在干,所述计算所述每ー个单体个人轮廓上每一点到轮廓重心的測地距离方法进ー步包括,对分层后的单体个人轮廓进行横向切片,将所述横向切片建立成一棵连通树,所述连通树的根结点是単体个人轮廓的轮廓重心,其子结点是相邻切片上轮廓点;以深度为依据遍历轮廓上的点,一直到整个轮廓的每个轮廓点都能被所述连通树遍历。
8.根据权利要求1或7所述的方法,其特征在干,所述方法进ー步包括,对于单体个人中深度不连续部分按照景深順序分割成不同的层;采用种子填充法将每层填充完整;获得相邻两层之间的边界线;当轮廓上的点与轮廓重心分属不同的层时,计算轮廓上每一点到轮廓重心的測地距离的路线必须经过所述相邻两层之间的边界线。
9.根据权利要求1或7所述的方法,其特征在干,所述从测地距离组成的函数集合中选取极大值作为每ー个单体个人的四肢以及头部的位置点方法进ー步包括按照一定的順序选取轮廓上的点为自变量,以轮廓上的点到轮廓重心的測地距离为函数值建立函数集合; 对所述函数集合求导;求导后导数为0的点既是四肢以及头部的位置。
全文摘要
本发明提供一种检测多人躯干末端位置的方法,其包括以下步骤通过摄像机获得场景深度图;将所述场景深度图的前景和背景分离;在所述场景深度图的前景中分层,将人群分离成单体个人;计算所述每一个单体个人轮廓的轮廓重心;计算所述每一个单体个人轮廓上每一点到轮廓重心的测地距离;和从测地距离组成的函数集合中选取极大值作为每一个单体个人的四肢以及头部的位置点。
文档编号G06K9/00GK102567721SQ20121000532
公开日2012年7月11日 申请日期2012年1月10日 优先权日2012年1月10日
发明者周超峰, 孙浩惠, 宋滢 申请人:北京水晶石数字科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1