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

技术编号:9832318 阅读:175 留言:0更新日期:2014-04-01 22:59
本发明专利技术涉及计算机视觉技术领域,具体涉及一种基于深度摄像机的快速3D骨骼模型检测方法,包括:使用深度摄像机拍摄整个人体,在图像中使用Adaboost算法进行人脸检测,得到人脸的深度信息;基于人脸的深度信息,提取人体轮廓;使用“凸模板”验证算法对检测到的人体轮廓进行检测验证;验证通过后,对人体轮廓进行图像平滑处理,通过细化算法获取人体轮廓骨架线;提取人体轮廓骨架线上的特征点,并且对特征点进行个数和位置的修正,排除干扰点;对修正后的特征点进行验证,如果验证通过,则采用快速关节点提取算法得到精确关节点等特征。本发明专利技术能运算速度快,计算复杂度低,适应各种复杂背景,每帧图像仅需5ms。

【技术实现步骤摘要】
一种基于深度摄像机的快速3D骨骼模型检测方法
本专利技术涉及计算机视觉
,具体涉及一种基于深度摄像机的快速3D骨骼模型检测方法。
技术介绍
人机交互越来越成为人们日常生活中的一个重要组成部分,特别是近几年,随着计算机技术的迅猛发展,符合人们交流习惯的新型人机交互技术变得异常活跃并取得了很多创新性成果。随着以红外扫描方式为核心的人体骨骼识别方式的兴起,以体感输入隔空操作计算机将日益走入人们的生活,鲁棒的人体骨架识别在游戏、人机交互、安全、远程监控,甚至医疗方面有很广泛的应用,而深度摄像机的出现使得人体骨骼模型识别更加便宜且易于实现。
技术实现思路
本专利技术的目的在于提供一种基于深度摄像机的快速3D骨骼模型检测方法,解决现有技术无法完整显示人的轮廓,并且不能实时的生成人体的3D骨骼模型,以得到各个关节点的3D坐标的问题。为解决上述的技术问题,本专利技术采用以下技术方案:一种基于深度摄像机的快速3D骨骼模型检测方法,包括:步骤一,使用深度摄像机拍摄整个人体,在图像中使用Adaboost算法进行人脸检测,得到人脸的深度信息;步骤二,基于人脸的深度信息,提取人体轮廓;步骤三,使用“凸模板”验证算法对检测到的人体轮廓进行检测验证;步骤四,验证通过后,对人体轮廓进行图像平滑处理,通过细化算法获取人体轮廓骨架线;步骤五,提取人体轮廓骨架线上的特征点,并且对特征点进行个数和位置的修正,排除干扰点;步骤六,对修正后的特征点进行验证,如果验证通过,则采用快速关节点提取算法得到精确关节点,如果验证没有通过,则采用3D人体部位识别算法得到精确关节点;步骤七,连接关节点,形成完整的人体骨骼模型。进一步的,所述步骤二中提取人体轮廓的方法如下:深度摄像机人脸中心点开始,向四周扩展,找出所有与此深度相近的像素点,对每一个像素点,计算其4-邻域点(上、下、左、右邻域点)的深度值,判断其深度值与中心点的差值是否小于阈值,如果小于阈值则保留此像素点,并以此点为中心进行递归计算,数学表达式如下:|Depth(x,y)-Depth(x-1,y)|<Thresh|Depth(x,y)-Depth(x,y-1)|<Thresh|Depth(x,y)-Depth(x+1,y)|<Thresh|Depth(x,y)-Depth(x,y+1)|<Thresh如果大于阈值则停止此点的计算,深度满足条件的点记录为1,否则取为0,这样递归计算直到整个图像扩展完毕便可得到人的轮廓。进一步的,所述步骤三中“凸模板”分为相互扣合的“凹”形和“凸”形,“凸模板”验证算法是指把“凸模板”放在人脸检测到的区域附近,设定Sconvex是“凸”形面积,Sconcave是“凹”形面积,通过公式当C大于预订阈值时,就认为此处就是人脸;而当C小于预订阈值时,就判断此处不是人脸;进一步的,所述步骤四中,通过细化算法获取人体轮廓骨架线的方法如下:使用图像降采样,将图像高度和宽度同时缩小为原来的四分之一,然后使用5×5中值滤波进行图像的平滑操作,最后使用Rosenfeld-8细化算法提取人体轮廓骨架线。进一步的,所述步骤五中,特征点提取使用的方法如下:在骨架点上,使用递归算法,遍历骨架每个像素点,对每个像素点进行处理,在每个像素点处,虚拟画一个圆,用圆周与骨架线相交进行判断,如果骨架线的四周只有一个连接点且与圆周只有一个交点,则为端点;如果骨架线与圆周有三个或以上交点,则为分支点;如果骨架线与圆周只有两个交点,则为内部线,由此可提取骨架上的特征点。进一步的,所述步骤五中,对特征点进行修正是通过合并端点、合并分支点以及合并干扰分支点与端点实现的,如果端点距离过近,则合并端点,新特征点为两个初始点的线上的中点;如果分支点距离过近,则合并分支点,新特征点为两个初始点的线上的中点;如果分支点与端点的距离过近,则可能是干扰线条,合并干扰分支点与端点,新特征点为两个初始点的线上的中点。进一步的,所述步骤六中,特征点验证方法如下:在骨架线上有设定2个分支点和5个端点,用线上最短距离计算,de-nb+dmiddle=de-fb,其中de-nb为端点到近临分支点的距离,dmiddle为中轴长度,de-fb为端点到远分支点的距离。进一步的,所述步骤六中,快速关节点提取算法得到精确关节点的方法如下:首先使用“线上最短距离找点算法”,找到关节点的大概位置,然后通过在轮廓中设置最大占有面积矩形区域,定位肩部和臀部四个关节点坐标,接着在矩形区域上下两点之间定位腰部与颈部位的关节坐标,最后通过计算骨架线上点到手与颈部直线或者脚与臀部直线的距离,变化率最大的点为关节点。进一步的,所述步骤六中,3D人体部位识别算法得到精确关节点的方法如下:提取的人体轮廓的二值图,在轮廓区域处,把深度值填充进去,形成轮廓深度图;统计物体x,y的平均值,得到物体重心点,在骨架线上,找一点与重心点距离最近,把此点作为“骨架线中心点”或“人体中心点”;计算骨架线上每一个点到人体中心点的距离,并生成一个M图,记录所有骨架线上的距离值;利用M图,为了提取各个人体部位,提出一种人体部位距离度量算法(HumanBodyPartDistance,HBPD),估算人体各个部位之间距离,为关节识别提供基本信息。该算法可用下式表示:式中:Depthi,j表示当前点的深度,Depthc表示人体中心点的深度信息,Li,j是从当前点到骨架线的最短距离;在此得到一个新的(i2,j2)点位于骨架线上,是建立的距离分布M图的值,Di,j是计算得到的最终HBPD距离;统计在轮廓深度图中所有的距离平均值,HBPD距离大于平均值中取75%分为一类,距离小于平均值中取75%分为另一类;用一个矩形框把身体区域框住,并使它位于二值轮廓区域中,在交线处得到左肩、右肩、左臀和右臀四个关节点位置,在矩形框上下方找到位于两肩之间的颈部关节点和位于中心点附近的腰部关节点,然后提取手部区域,该区域距四个关节更远的一端作为四肢端点,距离四个关节近的一端作为中间关节点。与现有技术相比,本专利技术的有益效果是:能快速地检测到人,得到人体骨架线,并且精确定位每个人的关节点,建立3D骨架,运算速度快,计算复杂度低,适应各种复杂背景,每帧图像仅需5ms。附图说明图1为本专利技术一种基于深度摄像机的快速3D骨骼模型检测方法一个实施例的流程示意图。图2为本专利技术一种基于深度摄像机的快速3D骨骼模型检测方法中使用的深度摄像机提取的深度图像。图3为本专利技术一种基于深度摄像机的快速3D骨骼模型检测方法中“凸模板”检验算法模型示意图。图4为本专利技术一种基于深度摄像机的快速3D骨骼模型检测方法获得的标准骨架模型示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图1示出了本专利技术一种基于深度摄像机的快速3D骨骼模型检测方法的一个实施例:一种基于深度摄像机的快速3D骨骼模型检测方法,包括:步骤一,使用深度摄像机(可用微软公司提供的KinectforWindows)拍摄整个人体,在图像中使用Adaboost算法进行人脸检测,得到人脸的深度信息;步骤二,基于人脸的深度信息,提取人体轮廓;步骤三,使用“本文档来自技高网...
一种基于深度摄像机的快速3D骨骼模型检测方法

【技术保护点】
一种基于深度摄像机的快速3D骨骼模型检测方法,其特征在于包括:步骤一,使用深度摄像机拍摄整个人体,在图像中使用Adaboost算法进行人脸检测,得到人脸的深度信息;步骤二,基于人脸的深度信息,提取人体轮廓;步骤三,使用“凸模板”验证算法对检测到的人体轮廓进行检测验证;步骤四,验证通过后,对人体轮廓进行图像平滑处理,通过细化算法获取人体轮廓骨架线;步骤五,提取人体轮廓骨架线上的特征点,并且对特征点进行个数和位置的修正,排除干扰点;步骤六,对修正后的特征点进行验证,如果验证通过,则采用快速关节点提取算法得到精确关节点,如果验证没有通过,则采用3D人体部位识别算法得到精确关节点;步骤七,连接关节点,形成完整的人体骨骼模型。

【技术特征摘要】
1.一种基于深度摄像机的快速3D骨骼模型检测方法,其特征在于包括:步骤一,使用深度摄像机拍摄整个人体,在图像中使用Adaboost算法进行人脸检测,得到人脸的深度信息;步骤二,基于人脸的深度信息,提取人体轮廓;步骤三,使用“凸模板”验证算法对检测到的人体轮廓进行检测验证;步骤四,验证通过后,对人体轮廓进行图像平滑处理,通过细化算法获取人体轮廓骨架线;步骤五,提取人体轮廓骨架线上的特征点,并且对特征点进行个数和位置的修正,排除干扰点;步骤六,对修正后的特征点进行验证,如果验证通过,则采用快速关节点提取算法得到精确关节点,如果验证没有通过,则采用3D人体部位识别算法得到精确关节点;步骤七,连接关节点,形成完整的人体骨骼模型;所述步骤五中,特征点提取使用的方法如下:在骨架点上,使用递归算法,遍历骨架每个像素点,对每个像素点进行处理,在每个像素点处,虚拟画一个圆,用圆周与骨架线相交进行判断,如果骨架线的四周只有一个连接点且与圆周只有一个交点,则为端点;如果骨架线与圆周有三个或以上交点,则为分支点;如果骨架线与圆周只有两个交点,则为内部线,由此可提取骨架上的特征点;所述步骤三中“凸模板”分为相互扣合的“凹”形和“凸”形,“凸模板”验证算法是指把“凸模板”放在人脸检测到的区域附近,设定Sconvex是“凸”形面积,Sconcave是“凹”形面积,通过公式当C大于预订阈值时,就认为此处就是人脸;而当C小于预订阈值时,就判断此处不是人脸;所述步骤六中,快速关节点提取算法得到精确关节点的方法如下:首先使用“线上最短距离找点算法”,找到关节点的大概位置,然后通过在轮廓中设置最大占有面积矩形区域,定位肩部和臀部四个关节点坐标,接着在矩形区域上下两点之间定位腰部与颈部位的关节坐标,最后通过计算骨架线上点到手与颈部直线或者脚与臀部直线的距离,变化率最大的点为关节点;所述步骤六中,3D人体部位识别算法得到精确关节点的方法如下:提取的人体轮廓的二值图,在轮廓区域处,把深度值填充进去,形成轮廓深度图;统计物体x,y的平均值,得到物体重心点,在骨架线上,找一点与重心点距离最近,把此点作为“骨架线中心点”或“人体中心点”;计算骨...

【专利技术属性】
技术研发人员:程洪庄浩洋叶果杨路
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1