基于运动向量方差的眨眼检测方法
1. 基于序列的眨眼检测
在某些研究中,利用眼睑运动来检测眨眼。具体做法是每5帧进行一次眼睛检测,使用FAST算法检测特征,并通过KLT跟踪器进行特征跟踪。特征会根据其位置分为面部、左眼和右眼。基于这些特征来跟踪眼睛和面部区域,同时计算区域在强度梯度方向上的法向流。由于眼睑运动可能包含头部运动,所以需要根据已提取的头部运动进行补偿。通过方向直方图提取各个类别的局部运动向量的主导方向,从而实现对眼睛方向的部分不变性。为了过滤眼睑运动,只考虑与两眼之间线段垂直方向的流,计算该线段与水平线的夹角并相应地变换流向量,最后使用校正和归一化后的流来计算眼睛区域的平均流大小。主导流方向通过一个有36个区间(每个区间代表10度)的直方图来识别,法向流的方向和大小作为状态机的输入参数。
2. 基于运动向量方差的眨眼检测方法
该方法假设已经定位了面部和眼睛区域。在实验中,使用OpenCV实现的Viola - Jones类型算法(使用正面人脸和眼睛对的级联文件)来检测眼睛区域。将检测到的眼睛区域(双眼)在高度上放大1.5倍,大约为两眼间距的一半,以覆盖更大的区域,补偿眼睛区域检测的不准确性。如果未检测到眼睛,则跳过该帧。将区域分成两半以分离出单个眼睛区域,该方法分别对每只眼睛运行。在规则网格上放置一群KLT跟踪器(网格间距为区域尺寸的1/15,总共约225个跟踪器,具体数量取决于区域大小)。然后提取局部运动向量并根据其位置进行平均,上6个运动向量垂直分量的平均方差作为状态机的输入,用于检测眨眼。
2.1 眼睛区域
被跟踪的人可能会前后移动,导致眼睛的大小和位置发生变化。首先获取初始眼睛区域,并在其上规则地放置跟踪器。在下次重新初始化之前,
基于运动向量方差的眨眼检测方法
超级会员免费看
订阅专栏 解锁全文
3万+

被折叠的 条评论
为什么被折叠?



