python图像人类检测_Python 超简单实现人类面部情绪的识别
还记得我们之前写过一篇文章《手把手教你人脸识别自动开机》吗?里面用OpenCV对人脸进行简单的识别,让计算机训练认识到某个特定人物后识别对象。今天来做点高级的,识别出人脸的情绪。
本文分为两大部分:
1.面部检测:检测图像的脸部位置,输出边界框的坐标
2.情绪检测:将面部的情绪分为高兴、生气、悲伤、中性、惊讶、厌恶、恐惧。
一、面部检测
可以使用上次文章( 《手把手教你人脸识别自动开机》 )中讲到的方法—用openCV检测,也可以使用
这里我们尝试一下face_recognition项目, face_recognition 安装:
Face_recognition需要用到一个包叫dlib, 通过pip可能不一定装得上,因此这里推荐大家使用anaconda安装dlib:
conda install -c conda-forge dlib
然后再安装Face_recognition:
pip install face_recognition
用face_recognition三句代码就能识别图像中的脸部:
import face_recognition
image = face_recognition.load_image_file("1.png")
face_locations = face_recognition.face_locations(image)
二、情绪检测
人类习惯从面部表情中吸收非言语暗示,那么计算机可以吗?答案是肯定的,但是需要训练它学会识别情绪。今天我们不太可能讲收集数据、构建CNN模型等逻辑流程。我们直接用priya-dwivedi训练好的模型,他们用Kaggle开源数据集(人脸情感识别 FER)训练了一个六层卷积神经网络模型。
现在就调用模型识别一下孙哥在这张图里的情绪吧:
import face_recognition
import numpy as np
import cv2
from keras.models import load_model
emotion_dict= {'生气': 0, '悲伤': 5, '中性': 4, '厌恶': 1, '惊讶': 6, '恐惧': 2, '高兴': 3}
image = face_recognition.load_image_file("1.png")
# 载入图像
face_locations = face_recognition.face_locations(image)
# 寻找脸部
top, right, bottom, left = face_locations[0]
# 将脸部框起来
face_image = image[top:bottom, left:right]
face_image = cv2.resize(face_image, (48,48))
face_image = cv2.cvtColor(face_image, cv2.COLOR_BGR2GRAY)
face_image = np.reshape(face_image, [1, face_image.shape[0], face_image.shape[1], 1])
# 调整到可以进入该模型输入的大小
model = load_model("./model_v6_23.hdf5")
# 载入模型
predicted_class = np.argmax(model.predict(face_image))
# 分类情绪
label_map = dict((v,k) for k,v in emotion_dict.items())
predicted_label = label_map[predicted_class]
# 根据情绪映射表输出情绪
print(predicted_label)
结果:
$python emotion.py
高兴
从下面终端输出的结果我们可以看到孙哥现在是高兴的情绪,这个结果应该正确(毕竟孙哥还是表里如一的)。
虽然简单,但还是建议有兴趣的同学从头到尾做一遍试一下,过程中会遇到不少的坑,慢慢百度谷歌解决就好了。
文章到此就结束啦,如果你喜欢今天的Python 教程,请持续关注Python实用宝典,如果对你有帮助,麻烦在下面点一个赞/在看哦
有任何问题都可以在下方留言区留言,我们会耐心解答的!
Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典
原文来自Python实用宝典:Python 面部情绪识别
python图像人类检测_Python 超简单实现人类面部情绪的识别相关推荐
- python图像缺陷检测_python OpenCV 实现缺陷检测
机器视觉第七次实验 一.实验目的 通过OpenCV第七次进行实验,对图片进行缺陷检测. 二.实验内容 对图片进行缺陷测量. 三.实验过程 我使用的是python语言+openCV对图片进行缺陷检测的功 ...
- python爬去新浪微博_Python 超简单爬取新浪微博数据 (高级版)
新浪微博的数据可是非常有价值的,你可以拿来数据分析.拿来做网站.甚至是*.不过很多人由于技术限制,想要使用的时候只能使用复制粘贴这样的笨方法.没关系,现在就教大家如何批量爬取微博的数据,大大加快数据迁 ...
- 视觉显著性python_OpenCV—python 图像显著性检测算法—HC/RC/LC/FT
文章目录 一.显著性检测研究现状 二.基于谱残差法的显著性检测 三.基于全局对比度图像显著性检测(LC) 2.1 基于直方图对比度的显著性检测(HC) 2.2 基于区域的对比度方法(region-ba ...
- python视觉识别_视觉显著性python_OpenCV—python 图像显著性检测算法—HC/RC/LC/FT
文章目录 一.显著性检测研究现状 二.基于谱残差法的显著性检测 三.基于全局对比度图像显著性检测(LC) 2.1 基于直方图对比度的显著性检测(HC) 2.2 基于区域的对比度方法(region-ba ...
- 面试Python开发的这道题超简单,我却搞砸了!
题图 | Shutterstock / studiostoks 这道算法题明明超简单-- 上午10点,在T公司的会议室里,小R正在参加一场他准备了好几天的技术面试. 整体来说,他在这场面试中的表现还不 ...
- 用python实现视频换脸_超简单使用Python换脸实例
换脸! 这段时间,deepfakes搞得火热,比方说把<射雕英雄传>里的朱茵换成了杨幂,看下面的图!毫无违和感! 其实早在之前,基于AI换脸的技术就得到了应用,比方说<速度与激情7& ...
- python图像腐蚀处理_Python图像处理之膨胀与腐蚀的操作
引言 膨胀与腐蚀是图像处理中两种最基本的形态学操作,膨胀将目标点融合到背景中,向外部扩展,腐蚀与膨胀意义相反,消除连通的边界,使边界向内收缩.在本文中我们将了解使用内核的图像膨胀与腐蚀的基本原理. 让 ...
- python打造excel神器_超简单:用Python让Excel飞起来
前言 如何获取学习资源 章Python快速上手 1.1为什么要学习用Python控制Excel 1.2Python编程环境的搭建 1.2.1安装Python官方的编程环境IDLE 1.2.2安装与配置 ...
- python怎么编写在线excel_超简单:用Python让Excel飞起来(零基础学python,用python实现办公自动化)...
王秀文,有超过6年的后端开发.运维开发经验,擅长Python.Node.js.Java.Go等主流编程语言.曾参与翻译Elasticsearch官方技术文档.有IoT系统开发经验和CRM系统设计开发经 ...
最新文章
- router-link标签学习
- oracle临时表读,Oracle之临时表详细解读
- android 图片变颜色代码,Android -对图片Drawable进行变色
- 酒鬼随机漫步(一个矢量类)
- 【渝粤教育】国家开放大学2018年秋季 0505-22T护理学基础 参考试题
- android学习的一点点网站资料
- Linux系统的启动过程(转)
- java processrequest_java-如何在camera2 API中使用reprocessCaptureRequest
- 拓端tecdat|【视频】R语言中的隐马尔可夫HMM模型实例
- 2021年,某云盘最新版不限速下载工具教程,亲测有效!
- 二阶系统响应指标图_频率响应介绍_二阶系统的频率响应
- 在JSP中使用CELL插件
- Android反射系统截图Api
- 计算机使用鼠标的课件,鼠标的基本操作ppt课件.ppt
- 对Dilated Convolution理解
- 配上新的pip源再来安装pytorch有如神助
- 编写程序,输入本金、年利率和年份,计算复利(结果保留2位小数)
- github优秀项目源码汇总---Android
- 高性能MySQL之 Chapter13
- struct page
热门文章
- DSGE笔记系列:Dynare基本应用(1)
- 【51汇编示例】 51汇编实现冒泡法;
- 微信代驾小程序的一些思考-去年的一个项目
- 市场数据统计与数据分析
- 基于jsp+mysql+ssm水果蔬菜销售系统-计算机毕业设计
- 分布式预约挂号平台(八) | 郑医宝の数据字典管理 后端 前端
- 订单中心表结构设计_SAP 常用表 MM PP SD FICO PM PS QM WM 等
- JavaScript相关图书推荐
- ACdream1072——Kill The Monster
- 【Android -- 开源库】SmartRefreshLayout 的基本使用