检测脸部情绪有多难?10行代码就可以搞定!

引言

面部表情展示人类内心的情感。它们帮助我们识别一个人是愤怒、悲伤、快乐还是正常。医学研究人员也使用面部情绪来检测和了解一个人的心理健康。

人工智能在识别一个人的情绪方面可以发挥很大的作用。在卷积神经网络的帮助下,我们可以根据一个人的图像或实时视频来识别他的情绪。

Facial Expression Recognition 是一个 Python 库,可用于以更少的努力和更少的代码行检测一个人的情绪。它是使用 Python 中实现的 Tensorflow 和 Keras 库通过深度神经网络开发的。其中使用的数据集来自表示学习中的 Kaggle 竞赛挑战:面部表情识别挑战。

安装

我们可以使用 pip 在本地系统中安装库。只需运行下面的命令,就会看到您的库正在安装。

pip install per

依赖项:

1OpenCV 3.2+

2. Tensorflow 1.7+

3. Python 3.6+

预测图像上的情绪

from fer import FER
import matplotlib.pyplot as plt 
img = plt.imread("img.jpg")
detector = FER(mtcnn=True)
print(detector.detect_emotions(img))
plt.imshow(img)

使用 emotion.py 保存并简单地使用 python emotion.py 运行它。

输出:

[OrderedDict([(‘box’, (160, 36, 99, 89)), (’emotions’, {‘angry’: 0.0, ‘disgust’: 0.0, ‘fear’: 0.0, ‘happy’: 1.0, ‘sad’: 0.0, ‘surprise’: 0.0, ‘neutral’: 0.0})])]

31ac4ade386701eaaa2f2384c30b17e7.png

实时预测的 Web 应用程序代码

from fer import FER
import matplotlib.pyplot as plt
import streamlit as st
from PIL import Image, ImageOps
st.write('''
#  Emotion Detector
''')
st.write("A Image Classification Web App That Detects the Emotions Based On An Image")
file = st.file_uploader("Please Upload an image of Person With Face", type=['jpg','png'])
if file is None:
  st.text("Please upload an image file")
else:
  image = Image.open(file)
  detector = FER(mtcnn=True)
  result = detector.detect_emotions(image)
  st.write(result)
  st.image(image, use_column_width=True)

用 Emotion _ web.py 保存 Python 文件。

运行

streamlit run FILENAME.py

3f13cc62cd654a4a803ca729ad973738.png

复制 URL 并粘贴到你的浏览器中,就可以看到网页应用程序的运行情况。

·  END  ·

HAPPY LIFE

e33a1dcc1cefbf043b79f27aceda7f69.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值