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

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

引言


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


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


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


安装


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


pip install per

依赖项:


1. OpenCV 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})])]

实时预测的 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 并粘贴到你的浏览器中,就可以看到网页应用程序的运行情况。

    相关文章
    |
    机器学习/深度学习 固态存储 安全
    表情识别-情感分析-人脸识别(代码+教程)
    表情识别-情感分析-人脸识别(代码+教程)
    |
    开发工具 git
    最好的 Git 动画教程,没有之一
    介绍 Git 动画教程的学习方法。
    最好的 Git 动画教程,没有之一
    |
    安全 开发工具 Android开发
    几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
    几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
    4293 0
    |
    10月前
    |
    人工智能 资源调度 数据可视化
    StoryWeaver:故事可视化生成模型,快速生成故事绘本,支持处理单角色和多角色的故事可视化任务
    StoryWeaver 是厦门大学与网易伏羲联合推出的 AI 模型,通过知识图谱和角色定制技术,实现高质量的故事可视化。
    606 18
    StoryWeaver:故事可视化生成模型,快速生成故事绘本,支持处理单角色和多角色的故事可视化任务
    |
    10月前
    |
    人工智能
    TITAN:哈佛医学院推出多模态全切片病理基础模型,支持病理报告生成、跨模态检索
    TITAN 是哈佛医学院研究团队开发的多模态全切片病理基础模型,通过视觉自监督学习和视觉-语言对齐预训练,能够在无需微调或临床标签的情况下提取通用切片表示,生成病理报告。
    450 8
    TITAN:哈佛医学院推出多模态全切片病理基础模型,支持病理报告生成、跨模态检索
    |
    10月前
    |
    传感器 人工智能 自动驾驶
    OpenEMMA:德克萨斯开源端到端的自动驾驶多模态模型框架,基于预训练的 MLLMs,处理复杂的视觉数据,推理驾驶场景
    OpenEMMA 是德州农工大学、密歇根大学和多伦多大学共同开源的端到端自动驾驶多模态模型框架,基于预训练的多模态大型语言模型处理视觉数据和复杂驾驶场景的推理。
    520 13
    OpenEMMA:德克萨斯开源端到端的自动驾驶多模态模型框架,基于预训练的 MLLMs,处理复杂的视觉数据,推理驾驶场景
    |
    11月前
    |
    机器学习/深度学习 传感器 人工智能
    开源AI视频监控系统在监狱安全中的应用——实时情绪与行为分析、暴力预警技术详解
    针对监狱环境中囚犯情绪波动和复杂人际互动带来的监控挑战,传统CCTV系统难以有效预警暴力事件。AI视频监控系统基于深度学习与计算机视觉技术,实现对行为、情绪的实时分析,尤其在低光环境下表现优异。该系统通过多设备协同、数据同步及自适应训练,确保高精度识别(95%以上)、快速响应(<5秒),并具备24小时不间断运行能力,极大提升了监狱安全管理的效率与准确性。
    941 1
    |
    安全 异构计算
    为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
    为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
    1004 0
    为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
    |
    人工智能 自然语言处理 算法
    秒级开通,仅60元/月,即刻畅享私域知识库+LLM智能问答系统
    chatGPT等LLM发展如火如荼,但实际使用中,时常出现胡说八道的问题。究其原因,是因为LLM存在知识茧房短板:模型一旦训练完成,对于数据样本外的知识知之甚少,在涉及企业私域知识等场景的问答效果不佳。由此,业界通常使用知识库+LLM方式来解决。部署LLM需要GPU,成本高昂。鉴于此,阿里云Lindorm多模数据库推出了智能问答体验版,秒级开通,仅60元/月。支持用户直接上传知识库文件,便捷构建具备私域知识+LLM的智能问答系统。欢迎加入钉钉群:35977898。参与功能试用和讨论。
    1128 3
    秒级开通,仅60元/月,即刻畅享私域知识库+LLM智能问答系统
    |
    机器学习/深度学习 数据采集 编解码
    使用深度学习模型CNN进行实时情绪检测研究(Matlab代码实现)
    使用深度学习模型CNN进行实时情绪检测研究(Matlab代码实现)
    385 0
    下一篇
    oss云网关配置