为了得到一个相对稳定的参考区域,我们可以通过检测来进行选择。我们选择 20 个包含 正面人脸并有两个睁开眼睛的图片作为训练集,从中仔细画出相对稳定的区域,通过积分图 像的数值参考峰值所处位置,得到参考区域的参数。从而得到参考区域。稳定的参考区域不 是这样就能得到的,稳定的参考区域需要不断的优化,通过扩大样本训练集来使得参考区域 的参数不断稳定,从而得到相对稳定的参考区域。而得到的参考区域并一定适合所有的图像, 所谓的稳定是相对整个训练集而言的。为了减少计算量,可以设定一个最大参考区域的比率, 例如设置最大参考区域矩形长宽都不得大于两眼珠中心之间距离的两倍。这样,我们就可以 得到一个参考区域。我们提取标记的参考区域的局部特征 K 关键点,然后在剩下的这些图片 中在同一个参考矩形中提取出这个特征。这些局部特征被匹配到一个基于欧几里德距离的 K 编码。错误的匹配点通过与其距离值最小的和第二小的比率来和阀值比较,当当大于阀值的 时候舍弃。因此,每个候选矩形被一个 K 二进制的直方图矢量化,最后对于训练图形 J 的一 个候选图 X 的有效函数被如下定义:
(1)
其中,表示内积, 是前面提到的被标记的参考区域的 K 二进制直方图,是重复向 量,来调整矩形形状的影响。是根据图像分辨率推出来的偏见因数。
参考区域的选择还有另外一个可以利用的参数-对比度。我们可以通过将眼睛区域用矩形
详细描述,然后通过眼睛区域与参考区域的对比度产生一个对比度参数。在进行过初步选择
第 6页 本科毕业设计说明书
的参考区域中进行再次选择,检测是否存在一个参考区域能够使得,此参考区域中有一个区 域与参考区域本身的对比度,与我们训练集中得到的对比度参数误差在一定的阀值范围内。 因此确定参考区域。我们将被标记的眼部区域以及其对应的参考区域进行量化,我们选择眼 睛区域的中心为原点,对一个参考区域而言它被定义为一个行向量 V=(UX,UY,DX,DY,D), 其中,UX,UY 代表选中的参考区域的左上角 x,y 坐标值,DX,DY 代表选中参考区域的右下角的 x,y 坐标值,他们都是根据原点位置计算出来的相对位置。D 代表与眼睛区域的对比度强度差。 其中 D 可以通过以下公式得到:文献综述
(2) 其中的 SUM()算法公式如下:
(3) 其中 ii()是一个积分图像,算法公式如下:
(4) 这里的 i()是一个原始图像的积分。它可以通过公式(1)得到。
因此每一个选择的矩形都是对应着一个参考区域,而不是一对多的关系。这样,我们就 将参考区域与眼睛区域都量化好了,都根据我们定义的原点进行量化。
参考区域与眼睛会有三种不同的位置关系:第一种,眼睛不再参考区域内,这显然不是 我们想要的;第二种,眼镜的一部分在参考区域内,这种也是不理想的;第三种,眼睛包含 在了参考区域内,这是我们想要的结果。这样,经过筛选,我们就能得到我们想要的矩形和 参考区域。因此在不断的扩大训练集的情况下,这种方法是具有可行性的。
2。3。2 半监督 boosting 算法实现
眼睛检测在选择好参考区域后,我们通过人眼与参考区域之间的稳定性来检测人眼。对 于 Boosting 算法的实现,实际上是把弱分类器强化为一个强分类器的过程。弱学习算法是指 训练得到的分类器的分类效果稍好于随机分类效果,而强学习算法是指分类器的检测率较高 而且能在多项式时间内完成检测[7]。 Boosting算法android手机的眼镜虚拟试戴系统设计(4):http://www.youerw.com/jisuanji/lunwen_90497.html