写点什么

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:0648050
用户头像

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

关注

评论 1 条评论

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

除了Sora,还有哪些AI软件工具值得推荐?这30个一定要知道!

彭宏豪95

AI软件 AIGC AI工具

教你如何拿Merlin Chain空投,附视频教程

石头财经

Qualcomm’s “core”QCN9274 leads WiFi 7 to break through the boundaries of wireless connections

wallysSK

低代码开发:学校低成本数字化转型的新引擎

不在线第一只蜗牛

低代码 数字化

Java并发编程基础(下)

FunTester

.NET 9 首个预览版发布:瞄准云原生和智能应用开发

EquatorCoco

.net 架构 云原生

比特币原生 L2 解决方案 Merlin Chain梅林链科普(bitget wallet)

股市老人

一座“超级工厂”:让中国没有流不通的数据

脑极体

数据

数字化,网络化和未来的AI

agnostic

人工智能 信息化

细粒度的代码权限怎么做?极狐GitLab 代码所有者来帮忙

极狐GitLab

AWS安全组是什么?有什么用?

行云管家

云计算 AWS 安全组 亚马逊云

平台+低代码:中小企业数字化转型普惠之路

EquatorCoco

低代码 数字化

程序员必会的6个数据可视化库

伤感汤姆布利柏

鸿蒙Next怎么升级更便捷

FinFish

纯血鸿蒙 鸿蒙化改造 鸿蒙app 鸿蒙app升级 混合app开发

监管人工智能——未来之路

孤傲小二~阿沐

比特币原生 L2 解决方案 Merlin Chain梅林链科普(bitget wallet)

股市老人

如何保障服务的高可用:提升可观测性

SFLYQ

高可用 后端 可观测性

一文搞懂设计模式—模板方法模式

Java随想录

Java 设计模式

软件测试学习笔记丨ES(Elasticsearch)介绍

测试人

软件测试 自动化测试 测试开发

ETL、ELT区别以及如何正确运用

RestCloud

ETL 数据集成 ELT

管理者请注意,要珍惜有愤怒情绪的员工

芃篙君

管理

适用于预算少企业的网络组网方案

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

NGINX Agent 的可观测性和远程配置

NGINX开源社区

深入解析 Java 面向对象编程与类属性应用

小万哥

Java 程序人生 编程语言 软件工程 后端开发

教你如何拿Merlin Chain空投,附视频教程

BlockChain先知

可扩展性是什么意思?为什么企业采购软件时候需要考虑可扩展性?

行云管家

软件 可扩展性 采购

微帧为央视大年初二《2024春节戏曲晚会》提供AI画质增强服务

微帧Visionular

画质增强 超高清处理

浅析软件开发技术的发展历程与展望:从过去到现在,探索未来趋势

快乐非自愿限量之名

软件开发 项目开发

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