效果展示
登录界面:

人脸图片识别登录:
人脸识别登录成功:


注册页面:

随机动作指令之眨眼两次检测:

人脸图片识别登录
虽然可以成功登录了,但是性能却不好;
首先是人脸图片识别登录,我们看下后台运行的时间跟踪:

现在人少些,图片登录花费时间还能接受,采用的dlib中的HOG+SVM方法的模型,使用的CPU进行计算,若人再多些,就得想其他技术手段进行解决了;还有,dlib实现的这种方法可以弱化一定的光照影响,但并非可以完全避免,因为它是依赖于像素强度的边缘检测(在进行眨眼检测的过程中,我发现它有时会把人眼关键点检测错误,导致闭眼的状态检测成了眨眼);当然,这种检测方法若不进行其他处理并不安全,一张手机照片也能登录。
随机动作指令之眨眼检测
我进行的第二项实现,是基于人脸关键点的面部动作检测,结合随机指令应用到人脸识别登录系统上
效果图在这里,它的问题在于执行时间和误检率较高:
时间高是因为,我将从用户获取的眨眼视频通过ffmpeg及opencv的处理分解成了大概50帧,这50帧中每一帧都进行了人脸眼部状态的检测,检测过程采取了人脸识别登录的方法,整个流程非常耗时;dlib中原有的基于HOG+SVM的方法对于人脸特征点检测存在一定的误差,所以由此得到的人脸状态存在一定的误差,若是换成其他方案,或许会有更好的效果(暂时还没细致测试)