在线刊号(2320-9801)印刷刊号(2320-9798)
Snehal Dongre1,萨钦帕蒂尔2 |
有关文章载于Pubmed,谷歌学者 |
更多相关文章请访问国际计算机与通信工程创新研究杂志
该项目用于一个应用程序,它能够交换鼠标与人脸与PC交互。面部结构(尖端、眼睛和鼻子)被跟踪,并使用它们的鼠标事件的运动进行跟踪。视频中鼻尖的坐标被解释为屏幕上鼠标的坐标。左右闪烁控制点击的左右事件。外部设备将为视频流摄像。
关键字 |
光标控制系统,眼球检测,眼球运动,人脸检测,人机交互,支持向量机。 |
介绍 |
在过去的几年里,知识进步了,成本降低了。随着高性能的处理器和经济的摄像头,人们正在使用实时应用程序使用图像处理。人工智能就是其中之一。我们的工作目标是使用与机器交互的人脸。我们的系统随着凸轮捕捉特征,并记录其行为,以解释与机器通信的事件。我们正在补偿那些手有残疾的人。我们的系统阻止他们使用鼠标。我们的系统通过面部表情与机器交互。选择鼻尖作为指向装置;这一决定背后的原因是鼻子的位置和形状; as it is located in the middle of the face it is more comfortable to use it as the feature that moves the mouse pointer and defines coordinates, it is placed on axis that the face take turns about. It is in convex shape which makes it easier to track as the face moves. Eyes were used to simulate clicks. User now fire events. He blinks their eyes while different devices were used in our system. (e.g. infrared cameras, sensors, microphones) we used an off-the-shelf cam that affords a moderate resolution and frame rate as the capturing device in order to make the ability of using the program affordable for all individuals. We will try to present an algorithm that distinguishes true eye blinks from involuntary ones, detects and tracks the desired facial features. |
2相关工作 |
随着人们对机器视觉的关注越来越多,对我们项目的兴趣也成比例地增加。正如我们之前提到的,我们使用不同的人体特征和监控设备来实现我们的项目,但在我们的研究过程中,我们只对涉及使用面部特征和网络摄像头的工作感兴趣。我们注意到选择的面部特征有很大的多样性,它们被检测和跟踪的方式,以及它们为项目提供的功能。研究人员选择了不同的面部特征:瞳孔、眉毛、鼻尖、嘴唇、眼睑角、嘴角,他们对每一个特征都给出了解释,然后选择了特定的一个。应用了不同的检测技术(例如,基于特征的,基于图像的),目标是用更少的处理时间获得更准确的结果。为了控制鼠标指针,跟踪从两眼之间的中间距离,眉毛之间的中间距离到鼻尖的各个点。模拟鼠标点击;眨眼,张嘴/闭嘴,有时还会动眉毛。我们读到的每个项目方法都有一些缺点,一些方法使用昂贵的设备,一些方法不够快,无法实现实时执行,还有一些方法不够健壮和精确,无法取代鼠标。我们试图从其他研究人员在项目领域获得的经验中获益,并加入我们自己的想法,以生成一个快速、健壮且可用的应用程序。 |
3算法 |
A.设计考虑: |
人脸检测算法概述: |
两大类: |
1.基于特征的方法 |
2.基于图像的方法。 |
基于特征的方法:首先涉及寻找面部特征(例如眉毛、嘴唇、瞳孔....) |
基于图像的方法:用一个窗口扫描感兴趣的图像,寻找所有尺度和位置的人脸。 |
B.算法说明: |
我们的系统认为不同种族的人有相同的肤色,但他们在该颜色的光照强度上有所不同(例如在HSB颜色模型中,根据这个想法,人们的H和S值接近,但B值不同)。 |
为了发现一个合适的肤色模型,根据前面提到的思想,我们将使用纯r和g值,即RGB颜色模型在没有亮度的情况下的r和g值,用以下公式计算: |
我们使用基于特征的人脸检测方法来减少我们寻找人脸的区域,因此我们可以减少执行时间。 |
为了发现人脸候选(SSR)六分割矩形滤波器,滤波器使用如下方式:最初我们计算积分图像。我们用这些方程[3]对视频帧进行一次遍历: |
S (x, y) = S (x, y-1) + i(x, y)........(7) |
Ii (x, y) = Ii (x-1, y) + s(x, y)......(8) |
这里(x, y)是累积行和,s(x,-1) = 0, ii(-1, y) = 0。图2显示了SSR滤波器的理想位置,其中其中心被认为是人脸候选。 |
(x, y)是过滤器的位置(左上角)。 |
加号是过滤器的中心,也就是候选人脸。 |
我们可以注意到,在这个理想的位置,眼睛落在S1和S3扇区,而鼻子落在S5扇区。 |
由于眼睛和眉毛比BTE和颧骨暗,我们推断: |
我们使用与当前使用的SSR过滤器大小相关的阈值来消除较小的集群。每一个足够大的簇的中心用下面的方程来设定: |
I是来自簇的像素,n是簇的面积。 |
寻找鼻尖: |
现在我们找到了眼睛,最后一步是发现鼻尖。 |
从图3中,我们可以看到蓝线定义了瞳孔的正方形。嘴角;鼻尖应该落在这个正方形内,所以这个正方形成为我们寻找鼻尖的兴趣区域(见图4)。第一步是提取投资回报率;如果脸部被旋转,我们需要将ROI旋转回眼睛的水平对齐。 |
使用之前的想法,我们试图定位鼻尖与强度剖面。在水平强度剖面中,我们将每条线在ROI中前面的线的值垂直添加到每条线上(见图5),因此由于鼻梁比周围的特征更亮,值应该在桥的位置更快地累积;换句话说,水平轮廓的最大值给出了鼻尖的x坐标。 |
四、伪代码 |
五、仿真结果 |
为了数字化(a, b)空间,我们将值四舍五入为0.01的倍数,因此我们得到101个值的' a '和88个值的' b '。最后,为了发现肤色模型,我们从采集自[6,7]的771张人脸图像中每一张提取735个皮肤像素样本,因此皮肤像素样本总数为566685个。对于每个样本,我们计算了“a”和“b”的值,并增加了该值的计数器(“a”有101个计数器,“b”有88个计数器)。最常见的值被认为是皮肤像素值,因此在绘制' a '和' b '结果之后(见图5和图6),我们推导出' a '和' b '的以下阈值,以将像素视为皮肤像素。 |
使用之前的想法,我们试图定位鼻尖与强度剖面。在水平强度剖面中,我们将每条线在ROI中前面的线的值垂直添加到每条线上(见图5),因此由于鼻梁比周围的特征更亮,值应该在桥的位置更快地累积;换句话说,水平轮廓的最大值给出了鼻尖的x坐标。 |
ROI:感兴趣的区域。 |
我们水平地将每一列在ROI中前面的列的值添加到每一列(见图7);与水平剖面相同,鼻尖位置的值积累得更快,因此最大值为鼻尖的“y”坐标。从水平剖面和垂直剖面,我们都能够定位鼻尖的位置(见图8),但不幸的是,这种方法不能给出准确的结果,因为在一个剖面中可能有几个最大值,它们彼此接近,选择正确的最大值,真正指出鼻尖的坐标是一项艰巨的任务。 |
每个NBP与其S2扇区将在水平剖面上的累计总和中增加一定数量,但鼻梁颤音处NBP的增量较小(鼻梁颤音处NBP的S2扇区比其他NBP的S2扇区暗),因此,如果我们计算NBPs的S2扇区的一阶导数(每条ROI线的水平轮廓的最大值的一阶导数),我们会注意到在鼻音位置有一个局部极小值(见图9);通过定位这个局部极小值,我们将它对应的NBP作为鼻音颤音位置,下一步是寻找鼻尖在鼻音颤音上方。由于鼻尖比其他特征更亮,它将与它的s2扇区比其他NBPs贡献更多的累积总和,这意味着在第一次导数中有一个局部最大值(见图9);所以鼻尖的位置就是NBP的位置它对应于第一次导数中局部极大值高于局部极小值的位置。 |
在跟踪模式下,当: |
1.帧率为20fps或更高;用户可以快速移动,而不会让程序失去他的面部特征。 |
2.眼镜会反射光线,并产生亮点,有时会迫使我们的程序失去对眼睛的跟踪。为了保证检测和跟踪的准确性和鲁棒性,必须设置光照条件,使光线正面均匀地分布在面部,因为侧光会导致虚假的面部检测,并最终影响跟踪过程。 |
六、结论及未来工作 |
我们很有希望;根据博览会期间进行的实验,得出以下结论:在检测模式下,当满足以下条件时,眼睛和鼻尖被准确定位: |
1.脸部围绕从鼻尖开始的轴旋转不超过5°(只要眼睛落在SSR滤波器的S1和S3扇区)。 |
2.脸部围绕颈部轴线旋转不超过30°(侧面视图)。 |
3.戴眼镜并不影响我们的检测过程。 |
4.至于不同的尺度,最好得到大约35厘米接近凸轮,因为当脸有点远离屏幕时,程序可能会检测到假阳性,特别是当背景被堵塞(拥挤)。 |
特征工作可能包括提高跟踪鲁棒性对照明条件;也许可以使用更复杂、更昂贵的捕捉设备,比如可以在没有光线的情况下工作的红外摄像机,并提供更准确的跟踪结果。添加双击左键(检测左眼的两次眨眼)和拖动模式(启用/禁用右眼的两次眨眼)功能。添加语音命令来启动程序,启动检测过程,以及启用/禁用用面部控制鼠标。 |
参考文献 |
|