opencv-活体检测
Posted isadoraytwwt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv-活体检测相关的知识,希望对你有一定的参考价值。
▲项目目的:识别真实人脸和照片,实现“识真”而不止“识脸”。
▲使用工具:opencv,python,matlab
首先
1. 构建图像数据集
2. 实现一个能够进行活体检测的卷积神经网络(我们称之为「LivenessNet」)
3. 训练活体检测网络
4. 创建一个能够使用我们训练好的活体检测模型并将其应用于实时视频的 Python+OpenCV 的脚本
(效果图)
活体检测的方法有很多,包括:
- 纹理分析,包括在人脸区域上计算局部二值模式(LBP,)和使用支持向量机(SVM)将人脸分类为真实的或伪造的。
- 频率分析,如查看人脸图片的傅里叶域(对其进行傅里叶变换)。
- 变量聚焦分析,例如查看两个连续帧之间像素值的变化。
- 基于启发式的算法,包括眼球运动、嘴唇运动和眨眼检测。这类算法试图跟踪眼球运动和眨眼,以确保用户展示的并非另一个人的照片(因为照片不会眨眼或移动嘴唇)。
- 光流算法,即查看由三维物体和二维平面产生的光流的差异和特性。
- 三维人脸形状,类似于苹果 iPhone 所使用的人脸识别系统,使人脸识别系统能够区分真实的人脸和打印出来 / 照片中的 / 图像中的另一个人的人脸。
- 将上述方法结合起来,使人脸识别系统工程师能够选择适合其特定应用程序的活体检测模型。
活体检测最终的效果取决于训练样本的数量,如果训练样本是谁的脸,那监测出此人的脸准确率更高。
---未完待续---
以上是关于opencv-活体检测的主要内容,如果未能解决你的问题,请参考以下文章