TensorFlow实现人脸识别(5)-------利用训练好的模型实时进行人脸检测
2018-03-05 16:34
2561 查看
经过前面复杂的操作,训练出来对于某一个人的识别模型。本文将利用该模型对于打开的视频或者摄像头实时的识别该人。
读取视频 ==> 识别人脸 ==> 绘制标志
代码如下:
通过加载opencv自带的分类器 classifier.detectMultiScale 来识别出人脸
通过model.face_predict(image)来判断该人脸是否是我们寻找的目标
效果如图所示:
整个完整工程的源码下载地址:
http://download.csdn.net/download/yunge812/10270064
读取视频 ==> 识别人脸 ==> 绘制标志
代码如下:
#-*- coding:UTF-8 -*- import tensorflow as tf import numpy as np import sys import gc from face_train import Model import cv2 def IdentifyFace(window_name): cv2.namedWindow(window_name) model = Model() model.load_model(file_path = 'face.model.h5') cap = cv2.VideoCapture("test.wmv") #获取视频数据 classifier=cv2.CascadeClassifier('/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt2.xml') color=(0,255,0) num = 0 while cap.isOpened(): ok,frame = cap.read() #ok表示返回的状态 frame存储着图像数据矩阵 mat类型的 if not ok: break #图像灰度化 grey=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) #加载分类器 opencv自带 faceRects = classifier.detectMultiScale(grey, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32)) if len(faceRects) > 0 : for faceRect in faceRects: x,y,w,h = faceRect image = frame[y-10:y+h+10,x-10:x+w+10] faceID = model.face_predict(image) #如果是“我” if faceID == 0: cv2.rectangle(frame, (x - 10, y - 10 4000 ), (x + w + 10, y + h + 10), color, thickness = 2) #文字提示是谁 cv2.putText(frame,'ME', (x + 30, y + 30), #坐标 cv2.FONT_HERSHEY_SIMPLEX, #字体 1, #字号 (255,0,255), #颜色 2) #字的线宽 else: cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, thickness = 2) #文字提示是谁 cv2.putText(frame,'others', (x + 30, y + 30), #坐标 cv2.FONT_HERSHEY_SIMPLEX, #字体 1, #字号 (255,0,255), #颜色 2) cv2.imshow(window_name,frame) #将捕获的数据显示出来 c = cv2.waitKey(30) if c & 0xff == ord('q'): #按q退出 break cap.release() cv2.destroyWindow(window_name) #主程序调用方法运行 if __name__ == '__main__': IdentifyFace('IdentifyFace')
通过加载opencv自带的分类器 classifier.detectMultiScale 来识别出人脸
通过model.face_predict(image)来判断该人脸是否是我们寻找的目标
效果如图所示:
整个完整工程的源码下载地址:
http://download.csdn.net/download/yunge812/10270064
相关文章推荐
- TensorFlow实现人脸识别(4)--------对人脸样本进行训练,保存人脸识别模型
- 人脸检测及识别python实现系列(5)——利用keras库训练人脸识别模型
- 深度学习与人脸识别系列(5)__利用训练好的vgg模型进行人脸识别(利用摄像头)
- 深度学习与人脸识别系列(6)__利用训练好的vgg模型进行人脸识别(利用摄像头)
- 人脸检测及识别python实现系列(3)——为模型训练准备人脸数据
- Tensorflow利用训练好的Inception模型进行图像识别分类
- TensorFlow实现人脸识别(3)------将得到的训练图片以及测试图片进行处理
- 利用Oxford训练好的人脸模型进行微调训练;识别3个人脸
- 人脸检测及识别python实现系列(3)——为模型训练准备人脸数据
- Tensorflow训练自己的Object Detection模型并进行目标检测
- Python 3 利用 Dlib 实现摄像头实时人脸识别
- 人脸检测及识别python实现系列(6)——终篇:从实时视频流识别出“我”
- 利用OpenCV的Haar特征目标检测方法进行人脸识别的尝试(一)
- AdaBoost中利用Haar特征进行人脸识别算法分析与总结2——级联分类器与检测过程
- AdaBoost中利用Haar特征进行人脸识别算法分析与总结2——级联分类器与检测过程 .
- AdaBoost中利用Haar特征进行人脸识别算法分析与总结2——级联分类器与检测过程
- Linux系统下利用OpenCV实现人脸检测和基于LBPH算法的人脸识别
- Tensorflow学习教程------利用卷积神经网络对mnist数据集进行分类_利用训练好的模型进行分类
- 人脸检测及识别python实现系列(1)——配置、获取实时视频流