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

文档序号:9335772阅读:来源:国知局
深度图像上的每一个像素进行判断。
[0043]步骤三,通过对人体像素点的遍历和比较,获得人体最高像素点PixelTop、人体最低像素点PixelBottom、人体最左像素点PixelLeft和人体最右像素点PixelRight。
[0044]步骤四,将人体最高像素点PixelTop减去人体最低像素点PixelBottom,得到人体的深度像素高度PixelHeight ;将人体最左像素点PixelLeft减去人体最右像素点PixelRight,得到人体的深度像素宽度PixelWidth。
[0045]步骤五,获得kinect摄像头和人体“髋部中心”骨骼点之间的距离,将之作为人体的深度值,记作d。
[0046]步骤六,根据人体的深度值d和深度像素宽度PixelWidth,计算人体的实际宽度;
[0047]计算公式为,
[0048]Wr = 2dXtan(28.5) XPixelffidth/Imageffidth
[0049]其中,Wr为人体的实际宽度。
[0050]步骤七,根据人体的实际宽度Wr和深度像素宽度PixelWidth,计算每个深度图像帧像素宽度对应的实际宽度;
[0051]计算公式为,
[0052]OnePixelffidth = ffr/Pixelffidth
[0053]其中,OnePixelffidth为每个深度图像帧像素宽度对应的实际宽度。
[0054]步骤八,根据每个深度图像帧像素宽度对应的实际宽度OnePixelWidth和人体的深度像素高度PixelHeight,计算人体的实际身高;
[0055]计算公式为,
[0056]Hr = OnePixelWidthXPixelHeight
[0057]其中,Hr为人体的实际身高。
[0058]步骤九,根据人体的实际宽度Wr和实际身高Hr,计算人体的实际体重;
[0059]计算公式为,
[0060]W = a*Hr'b*ffr'c
[0061]其中,W为人体的实际体重;a、b、c为参数,参数是通过选取若干样本,再通过Matlab训练拟合三个参数之间的关系得到的,若样本取得越多,则越精确;这里参数的取值为 a = 27.3150,b = 2.2104,c = 0.6487。
[0062]上述基于Kinect景深图像的快速身高和体重测量方法,利用Kinect视角场几何推导来测量人体身高,不涉及骨骼关节点的差值计算,因此可以获得精确身高值,利用景深图像数据与实际数据之间的比例推算出每个深度图像帧像素宽度对应的实际宽度,再据此推算出精确的人体实际高度(此处的体宽是指:从正面看人体时,人体最宽处的距离);同理,按照上述方法可以推算出精确的人体实际体宽;通过实际宽度和实际高度,可以估算出人体实际体重。
[0063]为了进一步说明该方法,做了以下试验。
[0064]找16名被测者,采集16名被测者的实际身高和体重,用本方法测量16名被测者的身高和体重,比较结果如图5和6所示。
[0065]根据试验可以看出,本方法不仅精确而且速度快,只需人从摄像头前走过,就可以立即给出人体身高值和体重,省去了手工记录、录入数据的繁琐工序,减少了人力。
[0066]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
【主权项】
1.基于Kinect景深图像的快速身高和体重测量方法,其特征在于:包括以下步骤, 步骤一,通过Kinect设备获取人体景深图像; 步骤二,对人体景深图像上的每一个像素进行判断,判断其是否属于人体,如果属于人体,则获得人体像素点并保存待用,如果不属于人体,则读取下一个像素点; 步骤三,通过对人体像素点的遍历和比较,获得人体最高像素点、人体最低像素点、人体最左像素点和人体最右像素点; 步骤四,将人体最尚像素点减去人体最低像素点,得到人体的深度像素尚度;将人体最左像素点减去人体最右像素点,得到人体的深度像素宽度; 步骤五,获得kinect摄像头和人体“髋部中心”骨骼点之间的距离,将之作为人体的深度值; 步骤六,根据人体的深度值和深度像素宽度,计算人体的实际宽度; 计算公式为,Wr = 2dX tan (28.5) XPixelffidth/Imageffidth 其中,Wr为人体的实际宽度,d为人体的深度值,Pixelffidth为人体的深度像素宽度,Imageffidth为人体所在有效视角场的横截面的深度图像像素宽度; 步骤七,根据人体的实际宽度和深度像素宽度,计算每个深度图像帧像素宽度对应的实际宽度; 计算公式为,OnePixelffidth = ffr/Pixelffidth 其中,OnePixelffidth为每个深度图像帧像素宽度对应的实际宽度; 步骤八,根据每个深度图像帧像素宽度对应的实际宽度和人体的深度像素高度,计算人体的实际身尚; 计算公式为,Hr = OnePixelffidthXPixelHeight 其中,Hr为人体的实际身高,PixelHeight为人体的深度像素高度; 步骤九,根据人体的实际宽度和实际身高,计算人体的实际体重; 计算公式为,W = a*Hr'b*ffr'c 其中,W为人体的实际体重,a、b、c为参数,参数是通过选取若干样本,再通过Matlab训练拟合三个参数之间的关系得到的。2.根据权利要求1所述的基于Kinect景深图像的快速身高和体重测量方法,其特征在于:通过Kinect设备来检测深度图像中运动的人体,并用ID号标识和跟踪人体,利用此ID号对深度图像上的每一个像素进行判断。3.根据权利要求1所述的基于Kinect景深图像的快速身高和体重测量方法,其特征在于:a = 27.3150,b = 2.2104,c = 0.6487。
【专利摘要】本发明公开了一种基于Kinect景深图像的快速身高和体重测量方法,利用Kinect视角场几何推导来测量人体身高,不涉及骨骼关节点的差值计算,因此可以获得精确身高值,利用景深图像数据与实际数据之间的比例推算出每个深度图像帧像素宽度对应的实际宽度,再据此推算出精确的人体实际高度;同理,按照上述方法可以推算出精确的人体实际体宽;通过实际宽度和实际高度,可以估算出人体实际体重;本发明不仅精确而且速度快,只需人从摄像头前走过,就可以立即给出人体身高值和体重,省去了手工记录、录入数据的繁琐工序,减少了人力。
【IPC分类】G01G19/50, A61B5/107
【公开号】CN105054936
【申请号】CN201510419297
【发明人】周小芹
【申请人】河海大学常州校区
【公开日】2015年11月18日
【申请日】2015年7月16日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1