资源简介
基于keras的人脸表情识别。包含训练、图片识别、摄像头视频流识别的py文件,数据集和已经训练好的模型。下载即可运行使用。
代码片段和文件信息
#-*- coding: utf-8 -*-
import cv2
import sys
import gc
import json
import numpy as np
from keras.models import Sequential
from keras.models import model_from_json
from keras.models import load_model
model_path=‘./model‘
img_size=48
# emo_labels = [‘angry‘‘fear‘‘happy‘‘sad‘‘surprise‘‘neutral‘]
#load json and create model arch
emo_labels = [‘angry‘ ‘disgust:‘ ‘fear‘ ‘happy‘ ‘sad‘ ‘surprise‘ ‘neutral‘]
num_class = len(emo_labels)
#加载模型结构
json_file=open(model_path+‘/model_json.json‘) #加载模型结构文件
loaded_model_json = json_file.read()
json_file.close()
model = model_from_json(loaded_model_json) #结构文件转化为模型
#加载权重
model.load_weights(model_path+‘/model_weight.h5‘)#h5文件保存模型的权重数据
if __name__ == ‘__main__‘:
if len(sys.argv) != 1:
print(“Usage:%s camera_id\r\n“ % (sys.argv[0]))
sys.exit(0)
#框住人脸的矩形边框颜色
color = (0 0 2555)
#捕获指定摄像头的实时视频流
cap = cv2.VideoCapture(0)
#人脸识别分类器本地存储路径
cascade_path = “haarcascade_frontalface_alt.xml“
#循环检测识别人脸
while True:
_ frame = cap.read() #读取一帧视频
#图像灰化,降低计算复杂度(当然,用于训练的数据集也是灰的)
frame_gray = cv2.cvtColor(frame cv2.COLOR_BGR2GRAY)
#使用人脸识别分类器,读入分类器
cascade = cv2.CascadeClassifier(cascade_path)
#利用分类器识别出哪个区域为人脸,返回检测到的人脸序列(矩形框四个参数)
faceRects = cascade.detectMultiScale(frame_gray scaleFactor = 1.1
minNeighbors = 1 minSize = (120 120))
if len(faceRects) > 0:
for faceRect in faceRects:
x y w h = faceRect #人脸矩形框的左上角坐标、宽、高
images=[]
rs_sum=np.array([0.0]*num_class) #([0 0 0 0 0 0 0])
#截取脸部图像提交给模型识别这是谁
image = frame_gray[y: y + h x: x + w ] #注意这里x、y的先后顺序
image=cv2.resize(image(img_sizeimg_size)) #将人脸缩放成网络所对应的输入图片大小
image=image*(1./255) #归一化
images.append(image)
images.append(cv2.flip(image1)) #水平翻转
images.append(cv2.resize(image[2:45:](img_sizeimg_size))) #裁切
for img in images:
image=img.reshape(1img_sizeimg_size1)
#预测出每个类别的概率值
list_of_list = model.predict_proba(imagebatch_size=32verbose=1)
result = [prob for lst in list_of_list for prob in lst]
rs_sum+=np.array(result)
print(rs_sum)
label=np.argmax(rs_sum)
emo = emo_labels[label]
print (‘Emotion : ‘emo)
cv2.rectangle(frame (x - 10 y - 10) (x + w + 10 y + h + 10) color thickness = 2)
font = cv2.FONT_HERSHEY_SIMPLEX
#文字提示是谁
cv2.putText(frame‘%s‘ % emo(x + 30 y + 30) font 1 (2
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3845 2019-07-07 16:02 MyOwnRetro\emotion_classifier_camera.py
文件 3714 2019-07-07 17:11 MyOwnRetro\emotion_classifier_sample.py
文件 933 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00000.jpg
文件 947 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00005.jpg
文件 963 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00008.jpg
文件 802 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00014.jpg
文件 837 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00022.jpg
文件 658 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00033.jpg
文件 936 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00037.jpg
文件 962 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00038.jpg
文件 811 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00054.jpg
文件 990 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00064.jpg
文件 966 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00065.jpg
文件 869 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00069.jpg
文件 1040 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00075.jpg
文件 1175 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00077.jpg
文件 932 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00110.jpg
文件 827 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00112.jpg
文件 861 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00113.jpg
文件 965 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00119.jpg
文件 866 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00125.jpg
文件 979 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00133.jpg
文件 914 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00135.jpg
文件 862 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00139.jpg
文件 844 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00144.jpg
文件 784 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00156.jpg
文件 809 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00157.jpg
文件 1014 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00166.jpg
文件 930 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00167.jpg
文件 778 2019-07-06 13:42 MyOwnRetro\fer2013\test\0\00172.jpg
............此处省略35907个文件信息
相关资源
- 广联达6.0写锁包,2020年11月最新
- 机器学习个人笔记完整版v5.2-A4打印版
- 深度学习卷积神经网络可检测和分类
- GAN对抗式生成网络的应用:从图片上
- [en]深度学习[Deep Learning: Adaptive Compu
- 李宏毅-机器学习(视频2017完整)
- 吴恩达深度学习第一课第四周作业及
- 机器学习深度学习 PPT
- 麻省理工:深度学习介绍PPT-1
- Wikipedia机器学习迷你电子书之四《D
- 深度学习在遥感中的应用综述
- 深度学习数据集标注
- 深度学习算法实践源码-吴岸城
- 李宏毅深度学习ppt
- SSD目标检测算法论文-英文原版
- 台湾李宏毅教授深度学习讲义 pdf
- 基于深度学习实现人脸识别包含模型
- 深度学习与PyTorch-代码和PPT.zip
- 测试工程源码1(一种基于深度学习的
- 深度学习: MNIST的数据集
- 《深度学习》 高清版本中文PDFIan Go
- 今日头条38万条新闻数据标题
- 深度学习算法论文
- TensorFlow Machine Learning Cookbook+无码高清
- Hands-On Machine Learning with Scikit-Learn an
- Neural Networks:Tricks of the Trade+无码高清
- 基于深度学习的图像超分辨率算法论
- 人工智能初步学习总结
- 迁移学习简明手册
- 论文研究-人脸表情识别综述.pdf
评论
共有 条评论