动态活体检测需要用户高度配合,仅需单目RGB摄像头配合特定动作即可完成,安全性比纯图片识别要高一些,主要包含4个动作:
(1)眨眼动作
通过人脸关键点检测确定上眼皮和下眼皮的位置坐标
由于没有中心点,我采用38-42的距离,39-41的距离,这两个值中的最大值作为左眼正常睁眼幅度L0,右眼同理R0。
将视频的第一帧检测到的距离作为标尺,后面判断闭眼的时候就和这个值比对。
将整个视频均匀抽为15-25帧,对于这个序列的每一帧,把38-42的距离和39-41的距离做平均,作为左眼的当前帧检测距离Lc,右眼同理Rc,通过多次实验发现,只要当前帧的Lc小于L0*0.5即可出现很明显的眨眼动作,右眼同理。一个3秒的视频能够出现两次明显的左右眼同时眨眼动作即可认为判定成功。
(2)张嘴检测
通过人脸关键点确定上下嘴唇内测的位置坐标
上嘴唇是62、63、64,下嘴唇是68、67、66。同样以第一帧作为距离标尺,取62-68,63-66,64-66三段距离的最小值M0。
将整个视频均匀抽为