一种基于深度摄像机的快速3d骨骼模型检测方法

文档序号:6523699阅读:1215来源:国知局
一种基于深度摄像机的快速3d骨骼模型检测方法
【专利摘要】本发明涉及计算机视觉【技术领域】,具体涉及一种基于深度摄像机的快速3D骨骼模型检测方法,包括:使用深度摄像机拍摄整个人体,在图像中使用Adaboost算法进行人脸检测,得到人脸的深度信息;基于人脸的深度信息,提取人体轮廓;使用“凸模板”验证算法对检测到的人体轮廓进行检测验证;验证通过后,对人体轮廓进行图像平滑处理,通过细化算法获取人体轮廓骨架线;提取人体轮廓骨架线上的特征点,并且对特征点进行个数和位置的修正,排除干扰点;对修正后的特征点进行验证,如果验证通过,则采用快速关节点提取算法得到精确关节点等特征。本发明能运算速度快,计算复杂度低,适应各种复杂背景,每帧图像仅需5ms。
【专利说明】一种基于深度摄像机的快速3D骨骼模型检测方法
【技术领域】
[0001]本发明涉及计算机视觉【技术领域】,具体涉及一种基于深度摄像机的快速3D骨骼模型检测方法。
【背景技术】
[0002]人机交互越来越成为人们日常生活中的一个重要组成部分,特别是近几年,随着计算机技术的迅猛发展,符合人们交流习惯的新型人机交互技术变得异常活跃并取得了很多创新性成果。
[0003]随着以红外扫描方式为核心的人体骨骼识别方式的兴起,以体感输入隔空操作计算机将日益走入人们的生活,鲁棒的人体骨架识别在游戏、人机交互、安全、远程监控,甚至医疗方面有很广泛的应用,而深度摄像机的出现使得人体骨骼模型识别更加便宜且易于实现。

【发明内容】

[0004]本发明的目的在于提供一种基于深度摄像机的快速3D骨骼模型检测方法,解决现有技术无法完整显示人的轮廓,并且不能实时的生成人体的3D骨骼模型,以得到各个关节点的3D坐标的问题。
[0005]为解决上述的技术问题,本发明采用以下技术方案:
[0006]一种基于深度摄像机的快速3D骨骼模型检测方法,包括:
[0007]步骤一,使用深度摄像机拍摄整个人体,在图像中使用Adaboost算法进行人脸检测,得到人脸的深度信息;
[0008]步骤二,基于人脸的深度信息,提取人体轮廓;
[0009]步骤三,使用“凸模板”验证算法对检测到的人体轮廓进行检测验证;
[0010]步骤四,验证通过后,对人体轮廓进行图像平滑处理,通过细化算法获取人体轮廓骨架线;
[0011]步骤五,提取人体轮廓骨架线上的特征点,并且对特征点进行个数和位置的修正,排除干扰点;
[0012]步骤六,对修正后的特征点进行验证,如果验证通过,则采用快速关节点提取算法得到精确关节点,如果验证没有通过,则采用3D人体部位识别算法得到精确关节点;
[0013]步骤七,连接关节点,形成完整的人体骨骼模型。
[0014]进一步的,所述步骤二中提取人体轮廓的方法如下:深度摄像机人脸中心点开始,向四周扩展,找出所有与此深度相近的像素点,对每一个像素点,计算其4-邻域点(上、下、左、右邻域点)的深度值,判断其深度值与中心点的差值是否小于阈值,如果小于阈值则保留此像素点,并以此点为中心进行递归计算,数学表达式如下:
[0015]I Depth (X,y)-Depth (χ-l, y) I < Thresh
[0016]I Depth (χ, y)-Depth (χ, y_l) I < Thresh[0017]| Depth (x, y)-Depth (x+1, y) | < Thresh
[0018]| Depth (x, y)-Depth (x, y+1) | < Thresh
[0019]如果大于阈值则停止此点的计算,深度满足条件的点记录为1,否则取为0,这样递归计算直到整个图像扩展完毕便可得到人的轮廓。
[0020]进一步的,所述步骤三中“凸模板”分为相互扣合的“凹”形和“凸”形,“凸模板”验
证算法是指把“凸模板”放在人脸检测到的区域附近,设定s_vra£是“凸”形面积,Sconcave是“凹”形面积,通过公式
[0021]
【权利要求】
1.一种基于深度摄像机的快速3D骨骼模型检测方法,其特征在于包括:步骤一,使用深度摄像机拍摄整个人体,在图像中使用Adaboost算法进行人脸检测,得到人脸的深度信息;步骤二,基于人脸的深度信息,提取人体轮廓;步骤三,使用“凸模板”验证算法对检测到的人体轮廓进行检测验证;步骤四,验证通过后,对人体轮廓进行图像平滑处理,通过细化算法获取人体轮廓骨架线;步骤五,提取人体轮廓骨架线上的特征点,并且对特征点进行个数和位置的修正,排除干扰点;步骤六,对修正后的特征点进行验证,如果验证通过,则采用快速关节点提取算法得到精确关节点,如果验证没有通过,则采用3D人体部位识别算法得到精确关节点;步骤七,连接关节点,形成完整的人体骨骼模型。
2.根据权利要求1所述的一种基于深度摄像机的快速3D骨骼模型检测方法,其特征在于:所述步骤二中提取人体轮廓的方法如下:深度摄像机人脸中心点开始,向四周扩展,找出所有与此深度相近的像素点,对每一个像素点,计算其4-邻域点的深度值,判断其深度值与中心点的差值是否小于阈值,如果小于阈值则保留此像素点,并以此点为中心进行递归计算,如果大于阈值则停止此点的计算,深度满足条件的点记录为1,否则取为0,这样递归计算直到整个图像扩展完毕便可得到人的轮廓。
3.根据权利要求1所述的一种基于深度摄像机的快速3D骨骼模型检测方法,其特征在于:所述步骤三中“凸模板”分为相互扣合的“凹”形和“凸”形,“凸模板”验证算法是指把“凸模板”放在人脸检测到的区域附近,设定S_vex是“凸”形面积,Sconcave是“凹”形面积,通过公式
4.根据权利要求1所述的一种基于深度摄像机的快速3D骨骼模型检测方法,其特征在于:所述步骤四中,通过细化算法获取人体轮廓骨架线的方法如下:使用图像降采样,将图像高度和宽度同时缩小为原来的四分之一,然后使用5X5中值滤波进行图像的平滑操作,最后使用Rosenfeld-8细化算法提取人体轮廓骨架线。
5.根据权利要求1所述的一种基于深度摄像机的快速3D骨骼模型检测方法,其特征在于:所述步骤五中,特征点提取使的方法如下:在骨架点上,使用递归算法,遍历骨架每个像素点,对每个像素点进行处理,在每个像素点处,虚拟画一个圆,用圆周与骨架线相交进行判断,如果骨架线的四周只有一个连接点且与圆周只有一个交点,则为端点;如果骨架线与圆周有三个或以上交点,则为分支点;如果骨架线与圆周只有两个交点,则为内部线,由此可提取骨架上的特征点。
6.根据权利要求1所述的一种基于深度摄像机的快速3D骨骼模型检测方法,其特征在于:所述步骤五中,对特征点进行修正是通过合并端点、合并分支点以及合并干扰分支点与端点实现的,如果端点距离过近,则合并端点,新特征点为两个初始点的线上的中点;如果分支点距离过近,则合并分支点,新特征点为两个初始点的线上的中点;如果分支点与端点的距离过近,则可能是干扰线条,合并干扰分支点与端点,新特征点为两个初始点的线上的中点。
7.根据权利要求1所述的一种基于深度摄像机的快速3D骨骼模型检测方法,其特征在于:所述步骤六中,特征点验证方法如下:在骨架线上有设定2个分支点和5个端点,用线上最短距离计算,de_nb+dmiddle = ,其中de_nb为端点到近临分支点的距离,dmiddle为中轴长度,de_fb为端点到远分支点的距离。
8.根据权利要求1所述的一种基于深度摄像机的快速3D骨骼模型检测方法,其特征在于:所述步骤六中,快速关节点提取算法得到精确关节点的方法如下:首先使用“线上最短距离找点算法”,找到关节点的大概位置,然后通过在轮廓中设置最大占有面积矩形区域,定位肩部和臀部四个关节点坐标,接着在矩形区域上下两点之间定位腰部与颈部位的关节坐标,最后通过计算骨架线上点到手与颈部直线或者脚与臀部直线的距离,变化率最大的点为关节点。
9.根据权利要求1所述的一种基于深度摄像机的快速3D骨骼模型检测方法,其特征在于:所述步骤六中,3D人体部位识别算法得到精确关节点的方法如下: 提取的人体轮廓的二值图,在轮廓区域处,把深度值填充进去,形成轮廓深度图; 统计物体X,y的平均值,得到物体重心点,在骨架线上,找一点与重心点距离最近,把此点作为“骨架线中心点”或“人体中心点”; 计算骨架线上每一个点到人体中心点的距离,并生成一个M图,记录所有骨架线上的距离值;利用M图,为了提取各个人体部位,提出一种人体部位距离度量算法,估算人体各个部位之间距离,为关节识别提供基本信息; 统计在轮廓深度图中所有的距离平均值,ΗΒΗ)距离大于平均值中取75%分为一类,距离小于平均值中取75%分为另一类; 用一个矩形框把身体区域框住,并使它位于二值轮廓区域中,在交线处得到左肩、右肩、左臀和右臀四个关节点 位置,在矩形框上下方找到位于两肩之间的颈部关节点和位于中心点附近的腰部关节点,然后提取手部区域,该区域距四个关节更远的一端作为四肢端点,距离四个关节近的一端作为中间关节点。
【文档编号】G06K9/46GK103679175SQ201310684923
【公开日】2014年3月26日 申请日期:2013年12月13日 优先权日:2013年12月13日
【发明者】程洪, 庄浩洋, 叶果, 杨路 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1