import math
import cv2
import time
import numpy as np
import os
import keras
from keras.layers import *
import tensorflow as tf
from mtcnn import MTCNN
from keras.models import load_model
model = load_model("../model/fas.h5")
def load_mtcnn_model(model_path):
mtcnn = MTCNN(model_path)
return mtcnn
def test_one(X):
TEMP = X.copy()
X = (cv2.resize(X,(224,224))-127.5)/127.5
t = model.predict(np.array([X]))[0]
time_end=time.time()
return t
def test_camera(mtcnn,index = 0):
cam=cv2.VideoCapture(0)
while(1):
success, frame = cam.read()
if success:
image = frame
img_size = np.asarray(image.shape)[0:2]
bounding_boxes, scores, landmarks = mtcnn.detect(image)
nrof_faces = bounding_boxes.shape[0]
if nrof_faces > 0:
for det, pts in zip(bounding_boxes, landmarks):
det = det.astype('int32')
#print("face confidence: %2.3f" % confidence)
det = np.squeeze(det)
y1 = int(np.maximum(det[0], 0))
x1 = int(np.maximum(det[1], 0))
y2 = int(np.minimum(det[2], img_size[1]-1))
x2 = int(np.minimum(det[3], img_size[0]-1))
w = x2-x1
h = y2-y1
_r = int(max(w,h)*0.6)
cx,cy = (x1+x2)//2, (y1+y2)//2
x1 = cx - _r
y1 = cy - _r
x1 = int(max(x1,0))
y1 = int(max(y1,0))
x2 = cx + _r
y2 = cy + _r
h,w,c =frame.shape
x2 = int(min(x2 ,w-2))
y2 = int(min(y2, h-2))
_frame = frame[y1:y2 , x1:x2]
score = test_one(_frame)
print(score)
if score > 0.95:
cv2.rectangle(frame, (x1,y1) ,(x2,y2) , (0,255,0) ,2)
else:
cv2.rectangle(frame, (x1,y1) ,(x2,y2) , (255,0,0) ,2)
cv2.imshow("image", image)
if cv2.waitKey(1) & 0XFF == ord('q'):
cv2.destroyAllWindows()
cam.release()
break
else:
cv2.destroyAllWindows()
cam.release()
break
if __name__ == '__main__':
mtcnn = load_mtcnn_model("../model/mtcnn.pb")
test_camera(mtcnn)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 基于深度学习人脸静默活体人脸识别检测算法python源码+模型+操作说明.zip 人脸活体验证是人脸识别过程中重要的一环,主要用以区分真实人脸与假脸图像,能够识别利用纸张打印、屏幕翻拍、3D模型等方式的欺骗行为。我们在算法设计阶段,尝试了不同的方法,包括:SVM、LBP、深度学习等。针对单一场景或者摄像头,能够得到不错的效果,但是没有得到一个能够适配多种摄像头的活体算法,这里我们将其中一个较好模型开放出来,但是在逆光等情况下效果依然不是很好,大家可以作为参考。 这个模型大约采用了36w张图像,其中假脸18w张,真脸18w万张,包括纸张、屏幕,也采用了大部分公开的假脸数据集。 ### 依赖 + 基于mobilenet-0.5 + OpenCV 3.4.3+ + MTCNN人脸检测 + Keras,TF + Python3 ### 运行 + python src/demo.py 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于深度学习人脸静默活体人脸识别检测算法python源码+模型+操作说明.zip (8个子文件)
项目说明.md 1KB
src
mtcnn.py 1KB
demo.py 2KB
data
fake_screen.png 250KB
blink_detection_demo.mp4 4.99MB
res
fake_screen_res.png 833KB
model
mtcnn.pb 2MB
fas.h5 3.53MB
共 8 条
- 1
资源评论
- hhhhhjitanglailo2024-04-21内容与描述一致,超赞的资源,值得借鉴的内容很多,支持!
Make程序设计
- 粉丝: 5622
- 资源: 3567
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功