Dive into Ambiguity: Latent Distribution Mining and Pairwise Uncertainty Estimation for Facial Expression Recognition

大家好呀!
继续更新《菜鸡读论文》系列!
不知不觉已经到期中了,开始有点小恐慌,感觉也过了两个月了,但自己竟然还是啥也不会,每次组会都感觉没啥内容讲。而且,最恐怖的是,明明这样菜的我现在已经开始不慌不忙了,渐渐有了种我菜我骄傲的盲目自信。甚至今天要讲两篇论文,而我在昨天晚上十点才开始看,不知道该佩服自己还是怎么了。

言归正传,我觉得这篇论文的想法还是挺有意思的,真的是第一次接触到这种模型,觉得很新奇(OS:那可不,你看啥都新奇)。


这是CVPR2021的一篇文章,主要是为了解决现在表情数据集中标签模糊的问题,提出在训练的过程中可以利用模糊标签的一些特征,从而更好的进行训练学习。作者进行了一个实验,如下所示:
从AffectNet中随机选取了两张图片,请50个志愿者进行分类,可以看到上面这张Anger的图片最终probability最高的却是Neutral,而下面这张Neural表情虽然最终最高的是Neural但是Sad的probability也很高。
有两个可能的原因:
(1)标注者的主观性
(2)数据集中存在不确定性标签的样本
作者希望能从标签类别的潜在分布(一个标签为i类的样本在其他类别上的可能性)和两两不确定性(一个标签为i类的样本计算与其同一batch中其他图片的特征图的相似性来确定该样本的标签的置信度、即是否准确)来解决数据集标签模糊性的问题。


整个模型的结构如下图所示:
(我刚看到这个图的时候,真的有被吓到,这么多分支,这么多连接,还有这么多Loss,本菜鸡已经开始慌了,而且这个Classifier之后有一个Loss,为啥后面prediction之后还有Loss)
刷会儿手机压压惊,告诉自己死猪不怕开水烫,光脚的不怕穿鞋的,反正咱们就是硬着头皮看吧!

整个模型包括两个部分:
(1)C个挖掘潜在分布的辅助分支,一个具有相同结构的目标分支。
(2)两两不确定性估计,其中不确定性估计模型由两个FC层组成。每个辅助分支都充当C-1类的分类器去寻找样本x的潜在分布。
跟着作者的思路走,咱们分块一部分一部分的看:

Auxiliary Branches(辅助分支)

下图是一个Sad表情的图片但是被错误分类到Neutral,在AffectNet上训练的模型进行预测可以预测出正确的类别,当使用一个不使用Neural类别而是用其他类别的图像进行训练后的模型可以看到预测结果更加准确。因此,我们可以想到在模型训练过程中预测的类别分布可以帮助模型进行优化学习,在训练过程中模型可能会预测出正确的分类类别。

假设表情被分为C类,那么就需要C个分类器去预测每个类别的潜在分布,(第i个分类器用于预测类别为i的样本的潜在分布)。考虑到计算效率,共享低层特征(如上面完整模型架构图中的Low-level Layers),所有的分支都是相同的结构。

对于第j个辅助分支在训练计算时,使用除第i类的图像以外的其他C-1类图像来训练,辅助分支的损失为:


该损失用于训练辅助分支的分类准确率。
基于上述分析,此时将标签为i类的样本输入第j个分支得到的是其在其他类别上的潜在分布,作者进行了一个sharpen操作,来使得更加平滑,公式如下:

接下来,在潜在分布和目标分支的预测结果之间计算一个L2损失,该损失用来最小化目标分支的预测值域潜在分布之间的偏差,公式如下:


因为上述损失仅仅是利用标签空间做出约束,那么对于特征表示上的约束对于模型的训练也是有效的。例如,对于给定一对微小图像,除了告诉网络他们的标签相同都是happy之外,图像在不同分支上提取得到的语义特征应该也是相似的,因此引入一个不同分支特征的约束,即多分支相似性保持(MSP),公式为:


引入该约束是希望能够让目标分支提取特征的能力向7个辅助分支靠近。

Pairwise Uncertainty Estimation

诶嘿!看到这里!我们已经看完了一大半内容啦!看!你是不是超棒!给自己打打气!让我们接下来继续看这一部分,进度条已经不剩下多少了。

由于数据集中存在不确定模糊的样本,因此直接使用CELoss(交叉熵损失)来进行约束可能会导致模型下降(因为标签不一定准确),因此,在标准CELoss中加入一个权值,以此在样本空间中平衡潜在分布和样本标签。
具体来说,就是根据一个batch中样本之间的相似度来估计样本的置信度。如果该置信度偏低,则说明原有标签不够准确,需要更加着重于参考潜在分布的标签。

使用余弦距离来计算相似度,基于图片提取的语义特征,计算该图片与同一batch中其他图片(包括同类的图)的相似度,以此方法来找到这张图片真正属于哪一类(与哪一类图片更接近)。


进一步地,某个分类批次(batch)的模糊信息如下,其中batch size = N

不确定估计模块将SV作为输入,通过两个全连接层计算得到每个样本的置信度,置信度越大,代表这个样本的标签越正确。公式如下:

有了置信度以后,就可以利用置信度对目标分支进行加权训练。如下所示:

这样我们就得到了,整个模型的约束损失。
(1)在训练开始时,由辅助分支挖掘出的潜在分布不够稳定。因此,专注于对辅助分支的训练。
(2)在训练一定epoch数量之后,开始聚焦于训练目标分支上面。

【菜鸡读论文】Dive into Ambiguity: Latent Distribution Mining and Pairwise Uncertainty Estimation for Facia相关推荐

  1. 论文笔记:Dive into Ambiguity: Latent Distribution Mining and Pairwise Uncertainty Estimation for FER

    Dive into Ambiguity: Latent Distribution Mining and Pairwise Uncertainty Estimation for Facial Expre ...

  2. 【论文阅读】Dive into Ambiguity: Latent Distribution Mining and Pairwise UncertaintyEstimation for Facial

    在讲方法之前,作者提出了一个概念:给定一个样本,这个样本的标签是确定的,即,但是有的样本本身表达的情绪就很模糊,标签其实是不太确定的,就跟下面这张图里的两个样本一样.所以作者提出了一种标签潜在分布,这 ...

  3. 【菜鸡读论文】Face2Exp: Combating Data Biases for Facial Expression Recognition

    [菜鸡读论文]Face2Exp: Combating Data Biases for Facial Expression Recognition 最近上海开始降温了,而且常常下雨,天气开始变得好冷啊! ...

  4. 【菜鸡读论文】Research on Micro-Expression Spotting Method Based on Optical Flow Features

    Research on Micro-Expression Spotting Method Based on Optical Flow Features 哈喽,大家好,从今天开始更<菜鸡读论文&g ...

  5. 【菜鸡读论文】AU-assisted Graph Attention Convolutional Network for Micro-Expression Recognition

    [菜鸡读论文]AU-assisted Graph Attention Convolutional Network for Micro-Expression Recognition 芜湖!又到了每周分享 ...

  6. 【菜鸡读论文】Former-DFER: Dynamic Facial Expression Recognition Transformer

    Former-DFER: Dynamic Facial Expression Recognition Transformer 哈喽,大家好呀!本菜鸡又来读论文啦!先来个酷炫小叮当作为我们的开场! 粉红 ...

  7. 【菜鸡读论文】Learning-based Video Motion Magnification

    Learning-based Video Motion Magnification 哈喽,大家好呀! 这周有点开心,看到了一篇很有趣的论文.最近天气好热,明明已经十一月了,最近的温度却一直在25度以上 ...

  8. 2020年某计算机菜鸡的中九保研之旅(武大、华科、北理、西交、中山)

    2020年某计算机菜鸡的中九保研之旅(武大.华科.北理.西交.中山) 资料分享 2021年CS夏令营与预推免通知公告的汇总 https://github.com/hit-thusz-RookieCJ/ ...

  9. 转专业菜鸡的秋招总结

    基础不牢 地动山摇 重拾基础 春招再战 写在前面 阿宾的高中成绩并不理想 现实不像小说 现实往往比小说更加精彩 进入12月,秋招基本收官,在结束了11月末的最后一场面试后,回顾总结了秋招的坎坷经历,悔 ...

最新文章

  1. hostent结构体图解
  2. python 归一化_数据的标准化和归一化
  3. html 判断当前窗口是否是子窗口,JavaScript window.open 判断子窗口是否已经存在
  4. GitHub 日收 12,000 星,微软新命令行工具引爆程序员圈!
  5. sscanf_s函数用法
  6. 斯皮尔曼相关系数范围_斯皮尔曼相关系数
  7. 在windows 2003系统上安装诺基亚pc套件以及笔记本通过PC套件上网
  8. Flask 框架学习1
  9. could not find function 函数名
  10. 计算机的音量找不到了,win7旗舰版64位系统右下角音量小喇叭图标不见了怎么找回...
  11. 一行Python代码有多强,可让图形秒变「手绘风」
  12. python之股票数据分析
  13. ADS1278字符驱动
  14. sql server 2008 r2 忘记sa密码, 没有window账户登录, 解决办法
  15. Linux使用uinput实现虚拟鼠标
  16. 嵌入式ARM开发板11/20
  17. 教你轻松学会用PYTHON给对象画圣诞树
  18. 什么是智能双线机房和BGP智能双线机房的原理
  19. window下配置nginx 及虚拟主机
  20. 直播平台源码开发过程中关于Git上传的简单操作说明

热门文章

  1. 如何降低直线导轨的摩擦系数?
  2. 002数列极限的定义及数列的极限性质
  3. 海思nb-iot芯片 hi2115外围硬件调试记录
  4. 30行jsoup代码搞定新浪微博登录抓取爬虫
  5. Oracle EBS 导出EXCEL文件CSS样式应用
  6. C# word 拼写 语法
  7. 如何建立软件开发项目里程碑
  8. 我写了个类阿里云服务器订单购买页面,赚了700¥
  9. 双光子荧光成像_双光子荧光显微镜
  10. Java web 中的 三层架构 - 刘耀的文章