HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

EmoPy:一个用于面部表情识别的开源工具包

  • 2018-11-26
  • 本文字数:1682 字

    阅读完需:约 6 分钟

EmoPy:一个用于面部表情识别的开源工具包

Angelica Perez 在最近的一篇 ThoughtWorks 博客中分享了一个新开源项目的相关信息,这个项目旨在提供交互式电影体验。该项目就是 EmoPy,专注于面部表情识别(FER)。利用所提供的工具包,开发者可以根据传递给服务的图像准确预测情绪。


Perez 将 FER 定义为“一个更广泛的计算机视觉领域的图像分类问题”。计算机视觉是一个热门话题,它吸引了许多大型云提供商的投资,从而实现通过公共 API 自主访问这些机器学习模型。但挑战在于,这些服务背后的模型和算法并没有公开提供,访问高质量数据集也很困难。Perez 解释了 EmoPy 的不同之处:


我们的目标是扩大公众对这一关键新兴技术的接触,因为目前的开发通常在商业上是对外封闭的。我们欢迎外界多提问题,也欢迎来自开源开发社区的源代码贡献,希望 EmoPy 能为开发者的项目提供帮助。


获得 FER 训练模型是非常重要的,常用的一套标准的情绪分类包括:


1、生气


2、厌恶


3、恐惧


4、快乐


5、悲伤


6、惊讶


7、中性(平静)



EmoPY 工具包是 ThoughtWorks Arts 项目的一部分,ThoughtWorks Arts 旨在孵化艺术家关于社会和技术的项目。ThoughtWorks 团队支持常驻艺术家 Karen Palmer 创作了一个叫 RIOT 的交互式电影体验。


RIOT 将观众放置在屏幕前,给他们看一个有争议的视频。这些视频是根据包括抢劫者和防暴警察在内的暴乱情况剪辑制作的。我们用网络摄像头记录和分析观众的面部表情,并将其加载到 EmoPy 中。



EmoPy 是受 Hongying Meng 博士的研究启发,从零开始创建的。EmoPy 的核心要求包括:


  • 神经网络结构包括依次向对方提供输出的层。这些结构的性能在很大程度上取决于组成神经网络结构的层的选择和排序。

  • 选择数据集非常重要,因为图像库越大,模型的准确性和可概括性就越高。如今,可用的公共数据集并不多。EmoPy 还可以利用微软 FER2013 和扩展的 Cohn-Kanade 数据集。FER2013 数据集包含了 35000 多种面部表情,涵盖了七种情绪类别,包括愤怒、厌恶、恐惧、快乐、悲伤、惊讶和平静。Cohn-Kanade 数据集包含的是面部表情序列,而不是静态图像,这些序列展现了面部表情之间的转换。Cohn-Kanade 数据集包含 327 个序列。



  • 训练过程是 ThoughtWorks 团队下一步要考虑的问题。该过程包括神经网络和选定数据集的训练。数据集分为两部分:训练集和验证集。这个过程包括:

  • 训练集中的图像被用来训练神经网络,在神经网络中,情绪预测是基于加权和参数进行评估的。

  • 然后神经网络将预测的情绪和真实的情绪进行比较,计算出损失值。

  • 这个损失值将被用于调整神经网络的权重。这个迭代过程可以使预测模型变得更加智能和准确。

  • 验证集用于测试经过训练的神经网络。对 Thoughtworks 团队来说,拥有两个不同的数据集是非常重要的。通过使用与训练集不同的图像集,他们能够更客观地评价模型。使用这种方法还可以防止“过度拟合”,即“当神经网络能够从训练样本中很好地学习模式时,反而会导致神经网络在给定新样本时无法推广学习”。当发生过度拟合时,训练集的准确率远高于验证集。

  • 测量性能是 EmoPy 的最终要求。ThoughtWorks 团队试图测试出,在基于训练集和验证集预测情绪时,结构的准确性如何?在获得的结果中,ConvolutionINN 模型性能最好。在厌恶、快乐和惊讶等情绪集中,神经网络能够从 10 张从未见过的图片中正确预测 9 张。虽然厌恶、快乐和惊讶的准确率很高,但其他情绪的准确率并没有那么高。分类错误是有可能出现的,尤其针对恐惧这一情绪,就很容易分类错误。处理这些错误分类的最佳方法是使用尽可能大的数据集。


EmoPy 项目正在积极寻找贡献者。无论你是想为项目做出贡献,还是只是使用它,我们的项目团队都无限制的许可,使它尽可能地提供给最广泛的受众。


项目地址:


https://www.thoughtworks.com/insights/blog/emopy-machine-learning-toolkit-emotional-expression


查看英文原文:


https://www.infoq.com/news/2018/10/EmoPy-Computer-Vision

活动推荐


12 月 7 日北京 ArchSummit 全球架构师峰会上,来自 Google、Netflix、BAT、滴滴、美团 等公司技术讲师齐聚一堂,共同分享“微服务、金融技术、前端黑科技、智能运维等相关经验与实践。详情点击 https://bj2018.archsummit.com/schedule


2018-11-26 16:0647932
用户头像

发布了 21 篇内容, 共 13.2 次阅读, 收获喜欢 13 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

【JSRC小课堂】Web安全专题(三)SRC漏洞挖掘技巧:三步走收集高质量信息

京东科技开发者

WEB安全

甲方日常 41

句子

工作 随笔杂谈 日常

DeFi流动性挖矿系统开发技术方案

薇電13242772558

区块链 defi

深度对比Apache CarbonData、Hudi和Open Delta三大开源数据湖方案

华为云开发者联盟

hadoop 开源 数据处理

技术实践丨PostgreSQL开启Huge Page场景分析

华为云开发者联盟

数据库 管理 内存

Java程序员必须人手一本的《码出高效:Java 开发手册》,免费分享PDF文档

Java架构之路

Java 程序员 架构 面试 编程语言

区块链是连接传统经济和数字经济的桥梁

CECBC

区块链 数字经济

会展云技术解读丨多重安全保障护航云上会展

京东科技开发者

云计算 云服务 云平台

天呐!价值2980元Java成神面试题竟在Github开源了

996小迁

Java 学习 架构 面试

解惑“高深”的Kafka时间轮原理,原来也就这么回事!

华为云开发者联盟

中间件 消息队列

JAVA稳定底层,快速开发首选,XJR智能化客户关系管理

Marilyn

敏捷开发 快速开发 软件架构 客户关系管理

架构师训练营 - 第二周课后练习

joshuamai

Netty源码解析 -- 内存对齐类SizeClasses

binecy

Netty 内存管理

面试官问我:看过sharding-jdbc的源码吗?我吧啦吧啦说了一通!!

冰河

分布式事务 微服务 分布式数据库 系统架构 中间件

【高并发】导致并发编程频繁出问题的“幕后黑手”

冰河

并发编程 多线程 高并发 高性能 异步

Vidyo独特的互联网适应性

dwqcmo

音视频 集成架构 解决方案 智能硬件

如何获取变量token的值

测试人生路

软件测试 接口测试

LeetCode题解:78. 子集,迭代+位运算,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

刚从蚂蚁金服Java研发岗面试回来(三轮游),我总结的面试经历(附面试题+答案)

Java架构追梦

Java 架构 面试 蚂蚁金服

《Linux学习笔记》从常用命令、常用操作到网络管理、性能优化,无论是Java开发或是运维都可以学习!

Java架构之路

Java 程序员 架构 面试 编程语言

区块链将构建数字社会高效的全球网络

CECBC

数字经济 数字时代

本文将大数据学习门槛降到了地平线

MySQL从删库到跑路

大数据 hadoop hdfs mapreduce

Mac/Windows 连接 Ubuntu 的 samba 服务器

jiangling500

ubuntu Mac windows Samba

问题篇:附源码询问Pageable实现分页无法使用原生sql

小Q

Java 学习 架构 面试 springboot

测试悄然扩围 千万元红包搅活数字货币江湖

CECBC

数字人民币

十八般武艺玩转GaussDB(DWS)性能调优:总体调优策略

华为云开发者联盟

数据库 性能 调试

架构师第一期作业(第 6 周)

Cheer

工作5年的阿里Java程序员分享从业心得总结与面试笔记分享

Java架构师迁哥

与其思考公司该为员工提供什么福利,不如思考有哪些 “福利” 不应该提供!

非著名程序员

个人成长 管理 福利

架构师训练营 - 第二周学习总结

joshuamai

架构师训练营 - 第 6 周课后作业(1 期)

阿甘

EmoPy:一个用于面部表情识别的开源工具包_AI&大模型_Kent Weare_InfoQ精选文章