发明名称 基于Kinect三维深度图像的头部识别与跟踪方法
摘要 本发明公开了一种基于Kinect三维深度图像的头部识别与跟踪方法,本发明首先分析Kinect传感器输出的原始深度图,找出距离与灰度级的对应关系;目标分割,标定距离与灰度级关系后对原始深度图取反得到灰度图,通过聚类算法把灰度图中头部和肩部分成两类,并利用直方图计算得到的灰度级分割灰度图,得到二值图序列;头部识别以及跟踪计数,即基于人体头部的类椭圆状、头部的大小以及头部与肩部的空间位置等特征遍历二值图序列和灰度图,识别人体头部位置,并建立航迹,统计进出的人数;本发明解决了目前客流统计中的拥挤,受环境影响等许多问题,利用VS2008软件仿真,确定了系统的可行性和稳定性,系统精度在93%以上。
申请公布号 CN103150559A 申请公布日期 2013.06.12
申请号 CN201310064641.9 申请日期 2013.03.01
申请人 南京理工大学 发明人 顾国华;尹章芹;顾骋;胡楷;董超;钱惟贤;陈钱;路东明;任侃
分类号 G06K9/00(2006.01)I;G06K9/34(2006.01)I;G06T7/20(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 南京理工大学专利中心 32203 代理人 朱显国
主权项 1.基于Kinect三维深度图像的头部识别与跟踪方法,具体步骤包含如下:步骤一:利用Kinect传感器输出的第一帧灰度图标定传感器距离地面<img file="352762DEST_PATH_IMAGE002.GIF" wi="20" he="24" />和<img file="739881DEST_PATH_IMAGE004.GIF" wi="21" he="24" />对应的灰度级<img file="2013100646419100001DEST_PATH_IMAGE005.GIF" wi="18" he="24" />和<img file="172000DEST_PATH_IMAGE006.GIF" wi="17" he="23" />,<img file="2013100646419100001DEST_PATH_IMAGE007.GIF" wi="19" he="23" />表示第一帧中没有人在视场范围内地面对应的灰度级,<img file="124912DEST_PATH_IMAGE008.GIF" wi="117" he="76" />Kinect传感器的标定是以厘米为单位,距离与灰度级的比例系数<img file="921967DEST_PATH_IMAGE010.GIF" wi="12" he="15" />大于1.4小于1.7,距离<img file="590190DEST_PATH_IMAGE012.GIF" wi="105" he="24" />,<img file="763682DEST_PATH_IMAGE014.GIF" wi="107" he="24" />;步骤二:图像取反,即设<img file="2013100646419100001DEST_PATH_IMAGE015.GIF" wi="20" he="24" />对应的灰度级<img file="836681DEST_PATH_IMAGE016.GIF" wi="23" he="20" />为阈值,用<img file="2013100646419100001DEST_PATH_IMAGE017.GIF" wi="47" he="21" />表示原始深度图对应的灰度值,用<img file="866953DEST_PATH_IMAGE018.GIF" wi="53" he="21" />表示取反后对应的灰度级,遍历原始深度图,如果像素灰度级满足<img file="2013100646419100001DEST_PATH_IMAGE019.GIF" wi="94" he="23" />,则得到<img file="2013100646419100001DEST_PATH_IMAGE020.GIF" wi="149" he="22" />,否则<img file="25402DEST_PATH_IMAGE021.GIF" wi="79" he="22" />,其中<img file="2013100646419100001DEST_PATH_IMAGE022.GIF" wi="18" he="19" />和<img file="861640DEST_PATH_IMAGE023.GIF" wi="16" he="18" />表示对应像素的行和列,且<img file="DEST_PATH_IMAGE024.GIF" wi="78" he="22" />,<img file="726828DEST_PATH_IMAGE025.GIF" wi="80" he="22" />,取反后得到灰度图的灰度级与身高成正比;步骤3:均值漂移聚类分割,即利用均值漂移聚类分割算法对经过第二步处理得到的灰度图进行聚类分割,均值漂移矢量指向梯度变化最大的方向,在核窗口依次计算特征空间数据点的均值漂移聚类分割矢量,沿均值漂移聚类分割梯度方向移动到新位置,然后将这点作为新点,继续计算均值漂移聚类分割矢量并移动,直到满足一定的条件结束迭代,其中参数空间半径<img file="928002DEST_PATH_IMAGE027.GIF" wi="77" he="24" />,颜色半径<img file="511430DEST_PATH_IMAGE029.GIF" wi="78" he="24" />,分割级数<img file="823463DEST_PATH_IMAGE031.GIF" wi="71" he="18" />且<img file="808737DEST_PATH_IMAGE033.GIF" wi="21" he="17" />为整数,分割后得到人体头部与肩部灰度级彼此分离的灰度图,<img file="DEST_PATH_IMAGE034.GIF" wi="248" he="89" />式中<img file="183742DEST_PATH_IMAGE035.GIF" wi="22" he="24" />处以核<img file="DEST_PATH_IMAGE036.GIF" wi="35" he="22" />计算出加权平均值<img file="254466DEST_PATH_IMAGE037.GIF" wi="27" he="25" />;步骤4:获取目标灰度级,对经过聚类分割处理得到的灰度图进行直方图统计;统计直方图中满足灰度级大于<img file="DEST_PATH_IMAGE038.GIF" wi="54" he="23" />且像素个数大于<img file="DEST_PATH_IMAGE040.GIF" wi="17" he="17" />对应的灰度级,取<img file="370189DEST_PATH_IMAGE040.GIF" wi="17" he="17" />最小值为150,得到灰度级<img file="272286DEST_PATH_IMAGE041.GIF" wi="164" he="22" />,经第三步均值漂移聚类分割后处理后,头部与肩部一般占小于7个灰度级,且头部与肩部灰度级不连续,基于这一特征将灰度级<img file="DEST_PATH_IMAGE042.GIF" wi="18" he="20" />划分成N部分,其中N大于等于0,记作<img file="752946DEST_PATH_IMAGE043.GIF" wi="23" he="20" />,<img file="DEST_PATH_IMAGE044.GIF" wi="350" he="23" />,其中<img file="107704DEST_PATH_IMAGE045.GIF" wi="74" he="22" />表示区域边间对应的灰度级,<img file="DEST_PATH_IMAGE046.GIF" wi="63" he="18" />;步骤5:头部识别,首先,造<img file="27119DEST_PATH_IMAGE047.GIF" wi="20" he="20" />幅初始值为<img file="DEST_PATH_IMAGE048.GIF" wi="14" he="20" />的二值图,编号为1~N;其次,遍历经过第三步均值漂移聚类处理后的灰度图,如果<img file="721405DEST_PATH_IMAGE049.GIF" wi="165" he="25" />,则第<img file="372966DEST_PATH_IMAGE051.GIF" wi="9" he="18" />幅二值图对应的<img file="DEST_PATH_IMAGE052.GIF" wi="40" he="22" />位置赋值为255;最后,基于以下特征:(1)面积大于Area,取Area的最小值为500;(2)类椭圆状;(3)宽高按如下公式换算后满足小于25且大于15,其中<img file="480600DEST_PATH_IMAGE053.GIF" wi="18" he="20" />和<img file="DEST_PATH_IMAGE054.GIF" wi="21" he="20" />表示人体头部的实际大小,<img file="938126DEST_PATH_IMAGE055.GIF" wi="14" he="20" />和<img file="DEST_PATH_IMAGE056.GIF" wi="17" he="16" />表示二值图中求出的区域宽和高,<img file="486919DEST_PATH_IMAGE057.GIF" wi="18" he="22" />表示区域灰度均值,<img file="637277DEST_PATH_IMAGE059.GIF" wi="15" he="21" />是比例系数且<img file="DEST_PATH_IMAGE061.GIF" wi="63" he="21" />;记录所有满足条件的区域起始坐标、宽高以及区域均值,即头部信息,<img file="904311DEST_PATH_IMAGE062.GIF" wi="153" he="25" /><img file="DEST_PATH_IMAGE063.GIF" wi="158" he="25" />;步骤6:头部跟踪,视场范围内以头部中心点为点迹,波门形状为矩形,头部的宽高值作为波门大小,取波门最小尺寸大于20,由点迹<img file="162598DEST_PATH_IMAGE052.GIF" wi="40" he="22" />与波门<img file="565898DEST_PATH_IMAGE064.GIF" wi="57" he="22" />确定以目标点迹预测值<img file="DEST_PATH_IMAGE065.GIF" wi="40" he="33" />为中心的空间搜索区域,其中点迹<img file="887158DEST_PATH_IMAGE052.GIF" wi="40" he="22" />与航迹相关;首先,假定航迹,第K帧初次记录目标,基于第K+1帧得到的坐标对目标的速度进行估计,如果估计的速度在取值范围内,则生成一条暂时航迹;其次,基于第K+2帧目标的位置进行预测,并以预测位置为中心,确定一个关联区域,任何落在关联区域内的点迹扩展一条暂时的航迹,继续估计速度值,基于速度值对下一帧的位置进行预测并建立相关区域,任何落在相关区域内的点迹将生成一条新的航迹;最后,对所有生成的航迹用二次曲线进行拟合,如果航迹上的点和拟合曲线的误差在一定范围内,则确定该航迹,如果不满足,则删除该航迹;确定目标运动航迹后,在经过第三步分割处理后的灰度图的第<img file="DEST_PATH_IMAGE067.GIF" wi="12" he="24" />行和第<img file="DEST_PATH_IMAGE069.GIF" wi="12" he="24" />行画两条判断线,其中<img file="DEST_PATH_IMAGE071.GIF" wi="113" he="24" />,,如果当前目标点迹<img file="703804DEST_PATH_IMAGE072.GIF" wi="20" he="22" />小于<img file="DEST_PATH_IMAGE073.GIF" wi="12" he="24" />且航迹存在行坐标大于<img file="440816DEST_PATH_IMAGE069.GIF" wi="12" he="24" />的点迹,则进的人数加1,反之如果当前目标点迹<img file="26518DEST_PATH_IMAGE072.GIF" wi="20" he="22" />大于<img file="456362DEST_PATH_IMAGE069.GIF" wi="12" he="24" />且航迹存在行坐标小于<img file="432408DEST_PATH_IMAGE073.GIF" wi="12" he="24" />的点迹,则出的人数加1,同时,删除该航迹,<img file="35428DEST_PATH_IMAGE074.GIF" wi="71" he="29" /><img file="DEST_PATH_IMAGE075.GIF" wi="71" he="29" />对于第一帧后的图像,循环第二至六步骤。
地址 210094 江苏省南京市玄武区孝陵卫200号