基于Kinect景深图像的快速身高和体重测量方法

文档序号:9335772阅读:2725来源:国知局
基于Kinect景深图像的快速身高和体重测量方法
【技术领域】
[0001]本发明涉及一种基于Kinect景深图像的快速身高和体重测量方法,涉及图像处理与计算机视觉领域。
【背景技术】
[0002]身高体重的测量在日常生活中随处可见。例如:儿童购票乘车或者购票进入旅游景点时,购票处需要通过测量身高来确定儿童不同的购票等级;医院体检时,身高体重测量是体检的基础检查项目之一;还有现如今流行的3D虚拟试衣镜,仍然无法解决如何精确快速地获取试衣者的体型的问题,而这将直接影响虚拟试衣的效果。传统的身高测量方式多为通过尺度工具采用接触式方法对身高进行人工测量,此方法虽然准确实用,但人数多时若要逐一测量,速度相对较慢,在人流量很大的场合这种通过尺度工具和人工辅助进行逐一测量的方法显然不能满足要求;而传统的体重测量方式是需要被测者站立在体重计上,待体重计数值稳定后进行人工数据读取,然后再将数据信息手工录入到数据库中。此方法本身有两大缺陷:一是如果体重计不精准、被损坏或者被测者站立姿势不标准,都会导致体重数据不准确;二是操作步骤繁杂,当人数多时需要消耗大量的人力,并且测量速度缓慢。
[0003]现有的基于二维平面图像进行身高测量的方法,需要对图像进行比对处理,身高测量所需要的数据信息不足,因此,这种对图像中人体的身高测量运算方法复杂,速度缓慢,难以满足实际需求。而现有的一些利用kinect进行身高测量的例子,大都是利用头部关节点和脚趾关节点之间的距离差来计算身高,但是,头部关节点给出的是头部中心点的坐标,并非头顶的坐标位置,因此要再额外加上9cm — Ilcm差值才能得到相对精确的身高值。由于Kinect本身提供的骨骼点位置信息就不太精确再加上人体骨骼间的偏差,因此这种方法会带来较大的误差。

【发明内容】

[0004]为了解决上述技术问题,本发明提供了一种基于Kinect景深图像的快速身高和体重测量方法。
[0005]为了达到上述目的,本发明所采用的技术方案是:
[0006]基于Kinect景深图像的快速身高和体重测量方法,包括以下步骤,
[0007]步骤一,通过Kinect设备获取人体景深图像;
[0008]步骤二,对人体景深图像上的每一个像素进行判断,判断其是否属于人体,如果属于人体,则获得人体像素点并保存待用,如果不属于人体,则读取下一个像素点;
[0009]步骤三,通过对人体像素点的遍历和比较,获得人体最高像素点、人体最低像素点、人体最左像素点和人体最右像素点;
[0010]步骤四,将人体最高像素点减去人体最低像素点,得到人体的深度像素高度;将人体最左像素点减去人体最右像素点,得到人体的深度像素宽度;
[0011]步骤五,获得kinect摄像头和人体“髋部中心”骨骼点之间的距离,将之作为人体的深度值;
[0012]步骤六,根据人体的深度值和深度像素宽度,计算人体的实际宽度;
[0013]计算公式为,
[0014]Wr = 2dX tan (28.5) XPixelffidth/Imageffidth
[0015]其中,Wr为人体的实际宽度,d为人体的深度值,PixelWidth为人体的深度像素宽度,ImageWidth为人体所在有效视角场的横截面的深度图像像素宽度;
[0016]步骤七,根据人体的实际宽度和深度像素宽度,计算每个深度图像帧像素宽度对应的实际宽度;
[0017]计算公式为,
[0018]OnePixelffidth = ffr/Pixelffidth
[0019]其中,OnePixelffidth为每个深度图像帧像素宽度对应的实际宽度;
[0020]步骤八,根据每个深度图像帧像素宽度对应的实际宽度和人体的深度像素高度,计算人体的实际身高;
[0021]计算公式为,
[0022]Hr = OnePixelffidthXPixelHeight
[0023]其中,Hr为人体的实际身高,PixelHeight为人体的深度像素高度;
[0024]步骤九,根据人体的实际宽度和实际身高,计算人体的实际体重;
[0025]计算公式为,
[0026]W = a*Hr'b*ffr'c
[0027]其中,W为人体的实际体重,a、b、c为参数,参数是通过选取若干样本,再通过Matlab训练拟合三个参数之间的关系得到的。
[0028]通过Kinect设备来检测深度图像中运动的人体,并用ID号标识和跟踪人体,利用此ID号对深度图像上的每一个像素进行判断。
[0029]a = 27.3150,b = 2.2104,c = 0.6487。
[0030]本发明所达到的有益效果:本发明利用Kinect视角场几何推导来测量人体身高,不涉及骨骼关节点的差值计算,因此可以获得精确身高值,利用景深图像数据与实际数据之间的比例推算出每个深度图像帧像素宽度对应的实际宽度,再据此推算出精确的人体实际高度;同理,按照上述方法可以推算出精确的人体实际体宽;通过实际宽度和实际高度,可以估算出人体实际体重;本发明不仅精确而且速度快,只需人从摄像头前走过,就可以立即给出人体身高值和体重,省去了手工记录、录入数据的繁琐工序,减少了人力。
【附图说明】
[0031]图1是本发明的基于Kinect景深图像的快速身高和体重测量方法的流程图。
[0032]图2是本发明的基于Kinect景深图像的快速身高和体重测量方法的结构俯视图。
[0033]图3是本发明的基于Kinect景深图像的快速身高和体重测量方法的结构侧视图。
[0034]图4是kinect获取的景深图像中人体像素点图不。
[0035]图5是本发明的基于Kinect景深图像的快速身高和体重测量方法的测试结果。
[0036]图6是在matlab环境下,测量体重与真实体重之间的误差图。
【具体实施方式】
[0037]下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0038]如图1、2、3和4所示,基于Kinect景深图像的快速身高和体重测量方法,包括以下步骤:
[0039]步骤一,通过Kinect设备获取人体景深图像。
[0040]在获取人体景深图像,要确保人体处于Kinect视角场内,即在屏幕上显示的景深图像中可以看到完整的身体,一般身体距离Kinect摄像头3.2米左右的距离即可。
[0041]步骤二,对人体景深图像上的每一个像素进行判断,判断其是否属于人体,如果属于人体,则获得人体像素点并保存待用,如果不属于人体,则读取下一个像素点。
[0042]在这里通过Kinect设备来检测深度图像中运动的人体,并用ID号标识和跟踪人体,利用此ID号对
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1