使用k-means进行面部表情分类

     2023-03-13     243

关键词:

【中文标题】使用k-means进行面部表情分类【英文标题】:facial expression classification using k-means 【发布时间】:2013-09-08 12:06:03 【问题描述】:

我使用k-means对面部表情进行分类的方法是:

    使用opencv检测图片中的人脸 使用ASM和stasm获取面部特征点 计算面部特征之间的距离(如图所示)。会有5个距离。 计算每个面部表情的每个距离的质心(exp:在距离 D1 中,每个表情“快乐、愤怒...”有 7 个质心)。 使用 5 个 k-means,每个 k-means 表示一个距离,每个 k-means 将具有由最接近第一步计算的质心的距离显示的表达式。 最终表达式将是出现在 k-means 结果中最多的表达式

但是,使用这种方法我的结果是错误的? 我的方法是正确的还是某处有问题?

【问题讨论】:

考虑使用分类而不是聚类。 我也会进行分类,但如果你想尝试一下,你可以看看 k-means 是如何使用这 5 个特征并在 5 维空间中找到质心的。 您是否曾经绘制过数据以查看它是否可分离?由于很难绘制 5 维数据,我建议运行 PCA 并绘制不同表达式的前三个主成分,以便查看它们是否实际上是可分离的。如果它们重叠,您必须考虑一种新的方式来表示您的数据。真的很难说表达面部表情的最佳方式是什么,那么为什么不使用深度信念算法来找到这个问题的答案呢? 【参考方案1】:

K-means 不是分类算法。一旦运行,它会简单地找到 K 个元素的质心,因此它将数据拆分为 K 个部分,但在大多数情况下,它与所需的类没有任何关系。当您想要探索数据并找到一些可区分的对象时,应使用此算法(与所有聚类方法一样)。在任何意义上都可以区分。如果您的任务是构建一个能够识别某些 给定 类的系统,那么这是一个 classification 问题,而不是 clustering。 KNN(K-nearest neighbours)是最简单且易于实现和理解的方法之一,它大致完成了您想要完成的工作 - 检查哪些类的对象与某些预定义的对象最接近。

为了更好地了解差异,让我们考虑一下您的情况 - 您正在尝试根据面部特征检测情绪状态。对此类数据运行 k-means 可以将您的人脸照片分成许多组:

如果您使用不同人的照片,它可以将特定人的照片聚集在一起(因为他们与其他人的距离不同) 它可以将数据分为男性和女性,因为这些特征存在性别差异 它甚至可以根据与相机的距离拆分数据,因为视角会改变您的特征,从而创建“集群”。 等

如您所见,有几十种可能的“合理”(甚至更完全不可解释)分裂,而 K-means(和 any)其他聚类算法只会找到其中一个(在大多数情况下 - 不可解释的)。分类方法被用来克服这个问题,以“解释”你所期望的算法。

【讨论】:

视频中面部表情分类的最佳模型是啥?

...频,我希望算法检测其中的人脸并对与该人脸相关的情绪进行分类。我正在寻找的情绪是标准的6种情绪+1种中 查看详情

如何使用具有面部特征的 openCV 训练支持向量机(svm)分类器?

】如何使用具有面部特征的openCV训练支持向量机(svm)分类器?【英文标题】:HowtotrainaSupportVectorMachine(svm)classifierwithopenCVwithfacialfeatures?【发布时间】:2014-11-2105:45:28【问题描述】:我想使用svm分类器进行面部表情检测。我知道... 查看详情

使用分类器进行面部识别的迁移学习

】使用分类器进行面部识别的迁移学习【英文标题】:Transferlearningforfacialidentificationusingclassifiers【发布时间】:2020-03-0603:18:30【问题描述】:我想知道是否可以使用Inception或ResNet模型来识别人脸。我想知道迁移学习和培训对我... 查看详情

面部表情识别2:pytorch实现表情识别(含表情识别数据集和训练代码)(代码片段)

面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码)目录面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码)1.面部表情识别方法2.面部表情识别数据集 (1)表情识别数据集说明 ÿ... 查看详情

面部表情检测

...做自动表情识别。到目前为止我发现的最好的可能性:-使用LuxandFaceSDK,这将使我能够访问面部内的66个不同点,因此我仍然需要手动将它们映射到表情 查看详情

如何在 r 中使用 k-means 聚类算法对未标记的数据组进行分类?

】如何在r中使用k-means聚类算法对未标记的数据组进行分类?【英文标题】:Howcanyouusek-meansclusteringalgorithminrtoclassifyanunlabeledgroupofdata?【发布时间】:2016-12-1901:28:10【问题描述】:我是R语言的新手。我有两个数据集。一个被标记... 查看详情

来自网络摄像头的面部表情识别[关闭]

...动表情识别。到目前为止我发现的最好的可能性:我之前使用OpenCV进 查看详情

面由心生,由脸观心:基于ai的面部微表情分析技术解读

...而表达出来的。心理学家艾克曼教授团队对这种面部表情进行了编码,即人脸运动编码系统。这套系统把人脸面部表情运动的描述方式抽象成一些 查看详情

面部表情识别3:android实现表情识别(含源码,可实时检测)(代码片段)

面部表情识别3:Android实现表情识别(含源码,可实时检测)目录面部表情识别3:Android实现表情识别(含源码,可实时检测)1.面部表情识别方法2.人脸检测方法3.面部表情识别模型训练4.面部表情识别模型Android部署ÿ... 查看详情

面部表情识别1:表情识别数据集(含下载链接)

面部表情识别1:表情识别数据集(含下载链接)目录面部表情识别1:表情识别数据集(含下载链接)1.前言2.表情识别数据集介绍1.JAFFE数据集2.KDEF(KarolinskaDirectedEmotionalFaces)数据集3.GENKI数据集4.RaFD数据集5.Cohn-KanadeAU-C... 查看详情

使用ai软件提取不到人脸

人脸编辑技术的发展和广泛使用引起人们对隐私安全等的担忧,如DeepFakes可以实现视频换脸,且逼真程度很高,有时人类都无法分辨真伪。为此,本研究提出了一种检测人脸伪造图像的新方法以及包含来自1000个真实视频的510,207... 查看详情

ai加持实时互动|zegoavatar面部表情随动技术解析

...赛道布局,通过元宇宙为不同的应用场景的相关内容生态进行赋能。针对“身份”、“沉浸感”、“低延迟”、“随时随地”这四个元宇宙核心基础,ZEGO即构科技基于互动智能的业务逻辑,提出并落地了ZegoAvatar解决方案音视频... 查看详情

K-Means 按组分类

】K-Means按组分类【英文标题】:K-Meansclassificationbygroup【发布时间】:2021-09-1420:03:16【问题描述】:我正在尝试在这样的数据框中进行K-means分析:URBANAREAPROVINCEDENSITY01TRUJILLO0.3012TRUJILLO0.0323TRUJILLO0.8031LIMA1.2042LIMA0.0451LAMBAYEQUE0.9062LAMB... 查看详情

基于unity引擎利用opencv和mediapipe的面部表情和人体运动捕捉系统

...3D人体动作实时捕捉补充引用前言之前做的一个项目——使用Python利用OpenCV图像捕捉,配合强大的Mediapipe库来实现手势,人体动作检测与识别;将识别结果实时同步至Unity中,实现手部,人物 查看详情

解释 K-means 的结果

...ns【发布时间】:2013-04-2201:44:14【问题描述】:我在Weka中使用分类器和集群进行了一些预测。我知道如何分析分类器的结果,但我不知道像K-means这样的集群的某些结果的真正含义。我知道集群的工作方式不同。要成为更清楚我... 查看详情

如何对 emojione 库中的表情符号进行分类?

】如何对emojione库中的表情符号进行分类?【英文标题】:HowcanIcategorizeemojisinemojionelibrary?【发布时间】:2015-07-2114:38:42【问题描述】:我正在尝试显示emojione库中所有可用的表情符号,而无需手动操作,例如:<imgclass="emojione"s... 查看详情

关于k-means聚类算法的matlab实现

...个样本归入给出的特定的类.因为本文是对聚类算法中的k-means算法的实现,所以接下来主要进行一些聚类算法的介绍.聚类算法包含多种,可按 查看详情

使用面部标志进行面部裁剪

】使用面部标志进行面部裁剪【英文标题】:Facecroppingusingfaciallandmarks【发布时间】:2015-08-2507:32:14【问题描述】:我有面部地标坐标,我想尽可能精确地裁剪正面,而不会丢失面部信息,如图所示:我已经尝试过从鼻子中心画... 查看详情