图5 3D头部模型,(a)体现了头部模型的应该具备的视角不变性(view-invariance)(b)为我们选取的头部3D半球模型
3.3.1 计算头部参数
为了生成一个与深度图像相匹配的3D模型,我们需要获取头部的真实参数,为此,我们设计了一个实验,并获取了头部高度和像素深度的关系,如图6:
图6 头部高度和深度拟合结果
拟合方程如下:
根据2Dchamfer距离匹配法的检测结果,从原始的深度图像中可以获取类头区域,由式(1)我们可以得到在某一深度下该头部区域的高度。然后我们在一个搜索半径内接着需找具体的头部区域,该搜索半径定义如下:
(3),h为头部区域的高度
3.3.2 匹配
利用头部3D模型对每一个可能的类头区域的深度图像进行匹配,进一步确定头部位置。我们以各个候选区域内的所有像素点为圆心分别提取一个半径为R(上一步的搜索半径)的圆形区域,并将该区域内像素点的深度归一化:
, (4)
其中, 为深度图像中像素点的深度值, 为归一化后的深度值。然后我们计算每个圆形区域和3D模型中像素点之间的深度值方差:
(5)
通过设定一个阈值来判定该候选区域是否为头部区域。匹配效果如图7: 基于Kinect的疲劳驾驶预警(4):http://www.youerw.com/tongxin/lunwen_7607.html