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

发表于:2024-1-10 09:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小P    来源:小白玩转Python

  面部表情展示人类内心的情感。它们帮助我们识别一个人是愤怒、悲伤、快乐还是正常。医学研究人员也使用面部情绪来检测和了解一个人的心理健康。
  人工智能在识别一个人的情绪方面可以发挥很大的作用。在卷积神经网络的帮助下,我们可以根据一个人的图像或实时视频来识别他的情绪。
  Facial Expression Recognition 是一个 Python 库,可用于以更少的努力和更少的代码行检测一个人的情绪。它是使用 Python 中实现的 Tensorflow 和 Keras 库通过深度神经网络开发的。其中使用的数据集来自表示学习中的 Kaggle 竞赛挑战:面部表情识别挑战。
  安装
  我们可以使用 pip 在本地系统中安装库。只需运行下面的命令,就会看到您的库正在安装。
  pip install per
  依赖项:
  ·OpenCV 3.2+
  · Tensorflow 1.7+
  · 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})])]
图源网络
  实时预测的 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
  复制 URL 并粘贴到你的浏览器中,就可以看到网页应用程序的运行情况。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号