对于《Self-Cure Net抑制大规模人脸情绪识别的不确定性》论文及代码阅读总结

  • 论文核心概括
  • 核心内容
    • 一、注意力机制
    • 二、对样本的重新排名机制
    • 三、ResNet18
  • 总结
  • 参考资料

论文核心概括

不确定的面部表情和低质量的图像质量和图片注释的不准确给面部识别的神经网络带来了巨大挑战,文章通过
1)注意力机制和
2)对样本的重新排名机制
使得该网络可以有效地抑制不确定性并防止深度网络过度拟合不确定的面部图像

核心内容

一、注意力机制

    def forward(self, x):x = self.features(x)if self.drop_rate > 0:x =  nn.Dropout(self.drop_rate)(x)x = x.view(x.size(0), -1)attention_weights = self.alpha(x)out = attention_weights * self.fc(x)return attention_weights, out

通过对样本全连接层加入注意力因子(attention_weights)来确定某一样本的真实准确性,数值高代表样本表现好,准确度高,在训练时“发挥的作用”大,反之则样本表现差(由上述不确定因素引起),准确度底,训练时不理想。通过该因子(attention_weights * self.fc(x)),神经网络将注意力集中在实际效果好更有效的样本上,以此提高训练的准确度。


加权交叉熵(WCE-Loss)作为损失函数(个人理解为用因为预测的是一个概率分布,所以要用加权交叉熵来作为评判标准)

二、对样本的重新排名机制

 # Relabel samplesif i >= args.relabel_epoch:sm = torch.softmax(outputs, dim = 1)Pmax, predicted_labels = torch.max(sm, 1) # predictions 最大可能性的概率+标签Pgt = torch.gather(sm, 1, targets.view(-1,1)).squeeze() # retrieve predicted probabilities of targetstrue_or_false = Pmax - Pgt > margin_2update_idx = true_or_false.nonzero().squeeze() # get samples' index in this mini-batch where (Pmax - Pgt > margin_2)label_idx = indexes[update_idx] # get samples' index in train_loaderrelabels = predicted_labels[update_idx] # predictions where (Pmax - Pgt > margin_2)train_loader.dataset.label[label_idx.cpu().numpy()] = relabels.cpu().numpy() # relabel samples in train_loader

样本的重新排名依赖训练时预测值和实际值的对比差值(Pmax - Pgt),当某一个样本的对比差值大于超参数margin_2时,则将样本的标签修改为实际值,并传入训练集中,进一步减少数据集人为的标注的失误,凸显有些样本的重要之处。

三、ResNet18

    def __init__(self, pretrained = True, num_classes = 7, drop_rate = 0):super(Res18Feature, self).__init__()self.drop_rate = drop_rateresnet  = models.resnet18(pretrained)# self.feature = nn.Sequential(*list(resnet.children())[:-2]) # before avgpoolself.features = nn.Sequential( *list(resnet.children())[:-1]) # after avgpool 512x1fc_in_dim = list(resnet.children())[-1].in_features # original fc layer's in dimention 512self.fc = nn.Linear(fc_in_dim, num_classes) # new fc layer 512x7self.alpha = nn.Sequential(nn.Linear(fc_in_dim, 1),nn.Sigmoid())

网络采用经典resnet18网络预训练,加深网络,提高训练速度。

总结

本文提出了一种自治愈网络(SCN),以抑制面部表情数据的不确定性,提高网络的鲁棒性和对结果的准确性。同时代码结构相对来说比较清晰,代码和论文同时对照,对于刚入门深度学习的人来说,能够加强对网络和参数,以及对样本的输入与处理的理解

参考资料

https://blog.csdn.net/acceptedday/article/details/104884235
参考代码 https://github.com/kaiwang960112/Self-Cure-Network
(数据集缺省)

对于《Self-Cure Net抑制大规模人脸情绪识别的不确定性》论文阅读总结相关推荐

  1. 人脸情绪识别系统第一次迭代总结

    设想和目标: 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 问题定义:目前有一种情感维度理论,我们要用机器学习的方式给出人脸的维度值. 典型场景1:用户通过 ...

  2. 人脸情绪识别挑战赛 图像分类 pytorch

    "这篇文章是对202 科大讯飞人脸情绪识别挑战赛的说明与总结." 比赛链接 http://challenge.xfyun.cn/topic/info?type=facial-emo ...

  3. python识别人脸多种属性_9种人脸情绪识别、22类人脸属性、 15类皮肤质量识别,竹间智能要让情感机器人更理解人...

    撰文 | 邱陆陆 编辑 | 藤子 「我们希望做情感机器人,希望透过机器更智能地理解一个人.」随着计算能力的提升.神经网络的步步深入,配以图像识别.语音识别的人工智能已经逐渐变得能够「听见」.「看见」. ...

  4. 人脸表情识别解干扰论文解读2:D3Net:Dual-Branch Disturbance Disentangling Networkfor Facial Exp

    D3Net:厦门大学 发表于ACM MM 2021 原论文链接:有道云笔记 本文的第一作者是信息学院计算机科学与技术系2019级硕士生莫榕云,通讯作者是信息学院计算机科学与技术系严副教授.论文提出了一 ...

  5. CVPR2020最佳新框架|大规模人脸表情识别(附源代码)

    点击蓝字关注我们 扫码关注我们 公众号 : 计算机视觉研究院 扫码回复:人脸表情,获取链接 今天我们推送一篇关于人脸识别的文献,目前被CVPR2020录为最佳人脸识别框架之一.这次"计算机视 ...

  6. 论文盘点:人脸表情识别解析

    ©PaperWeekly 原创 · 作者|孙裕道 学校|北京邮电大学博士生 研究方向|GAN图像生成.情绪对抗样本生成 引言 面部表情是人类表达情感状态和意图的最有力.最自然.最普遍的信号之一.由于其 ...

  7. 【百度大脑新品体验】人脸情绪实时识别

    [百度大脑新品体验]人脸情绪实时识别 作者:才能我浪费99 首先认证授权: 在开始调用任何API之前需要先进行认证授权,具体的说明请参考: http://ai.baidu.com/docs#/Auth ...

  8. 简单的机器学习程序_自闭症应用场景下利用机器学习和深度学习方法进行情绪识别,并在小程序中查询识别结果...

    注:实现本文Python代码需要的包:opencv.numpy.matplotlib.sklearn.os,Python版本为Python3.7 为了使每段代码效果更直观,本文将会以类似jupyter ...

  9. 【人脸表情识别】基于图片的人脸表情识别,基本概念和数据集

    大家好,欢迎来到我们人脸表情识别的专栏,这是专栏的第一篇文章,今天我们讨论的问题是关于表情识别的基本概念和数据集. 作者&编辑 | Menpinland 在较早之前,有三AI已经有一篇< ...

最新文章

  1. .Net开发中的多线程编程总结
  2. CVE-2019-0708(BlueKeep)漏洞分析与复现
  3. Python报错:UnicodeDecodeError:‘ascii‘ codec can‘t decode byte 0xe8 in position
  4. 新的Google Lyra音频编解码器对实时视频流意味着什么?
  5. JAVA程序运行原理分析
  6. 基于深度学习(端到端)的OCR文字识别
  7. python有趣的代码-盘点10个一行强大的、有趣的Python源代码
  8. OA系统中的HRM的发展和存在的误区,值得每一个HR学习
  9. 【Android】ListView控件总结
  10. 三相桥式全控整流电路simulink仿真_变频器为什么必须整流?整流单元原理图解
  11. 耳机是如何是发出声音的?
  12. linux系统怎么重启网卡?linux重启网卡的三种教程
  13. 计算机系统ARM64拆除炸弹
  14. 南京技师学院计算机系,江苏南京技师学院
  15. 计算机毕业设计SSM大众点评管理系统【附源码数据库】
  16. JQuery对DOM的操作【三】
  17. 实现摄像头在内网、外网、gb28181 实现 “视频监控/直播” 的常用几种方式
  18. 送你一朵小红花 python代码
  19. python 小孩学编程_让小孩学Python语言编程有意义吗?
  20. 钉钉对接金蝶云星空单据模板-日常费用报销

热门文章

  1. 十一长假前的“深度”思考
  2. SuperMap iDesktopX 擦除边界外瓦片
  3. C语言实现strstr
  4. ubuntu一键安装msf
  5. OPC DA的DCom配置
  6. 童话大王郑渊洁的现代私塾
  7. 利用 HBuilderX 设置新闻中心版式
  8. Apache 虚拟主机概念介绍
  9. 关于SetProcessWorkingSetSize减少内存占用 的错误理解
  10. Window10 系统点击点击第三方应用(QQ、微信)中的链接无法跳转设置的默认浏览器(Chrome)