CNN vs SVM 用于微笑强度检测训练?
Posted
技术标签:
【中文标题】CNN vs SVM 用于微笑强度检测训练?【英文标题】:CNN vs SVM for smile intensity detection training? 【发布时间】:2020-08-16 08:25:53 【问题描述】:我有一个由面部图像组成的数据集,以及构成嘴巴的相应地标。 这些地标是一组 2D 点(x,y 像素位置)。 每个图像-地标集数据对都被标记为微笑或中性。
我想做的是训练一个深度学习模型来返回一个新的图像-地标数据对的微笑强度。
我应该寻找什么来帮助我完成下一步? 这是我需要的 CNN 吗?在我有限的理解中,通常的训练输入只是一张图像,我将在其中传递地标集进行训练。或者 SVM 方法会更准确吗?
我正在寻找尽可能高的准确性。
我需要调用的方法是什么?
我很高兴使用 PyTorch、Dlib 或任何框架,我只是有点卡在搜索词上以帮助我前进。
谢谢。
【问题讨论】:
【参考方案1】:如果不查看数据集并进行实验,很难判断。但希望以下研究材料能够引导您朝着正确的方向前进。
基于机器学习的方法: https://www.researchgate.net/publication/266672947_Estimating_smile_intensity_A_better_way
深度学习 (CNN):https://arxiv.org/pdf/1602.00172.pdf
用于微笑和微笑强度检测的精彩论文列表: https://github.com/EvelynFan/AWESOME-FER/blob/master/README.md
SmileNet 项目:https://sites.google.com/view/sensingfeeling/
现在,我假设您没有任何实际微笑强度的标签。
在这种情况下,可以直接使用现有的微笑检测方法,您将使用最后的激活输出(sigmoid)作为微笑的置信度分数。如果置信度越高,强度应该越高。
现在,您可以将面部标志点用作单独的特征(通过 LSTM 块传递它们)并在早期/或稍后阶段连接到 CNN,以提高模型的性能。
如果你有微笑强度的标签,你可以将它作为一个回归问题来解决,CNN 将有一个输出,将尝试回归微笑强度(在这种情况下是使用 sigmoid 的标准化微笑强度)。
【讨论】:
谢谢!你是对的,我没有强度标签。所以我可以将图像和地标传递给 CNN?还是只是地标? 首先,只尝试图像,按照我提到的项目,你会找到一些代码,例如:github.com/meng1994412/Smile_Detection 并使用 sigmoid 输出作为强度,一旦你想改进你可以设计具有地标的复杂模型,设计此类模型需要了解不同的层。 这里还有一些项目:github.com/topics/smile-detection以上是关于CNN vs SVM 用于微笑强度检测训练?的主要内容,如果未能解决你的问题,请参考以下文章
用于对象检测和分割的 Mask R-CNN [训练自定义数据集]