【表情识别阅读笔记】Towards Semi-Supervised Deep FER with An Adaptive Confidence Margin

论文名: Towards Semi-Supervised Deep Facial Expression Recognition with An Adaptive Confidence Margin
论文来源: CVPR
发表时间: 2022-04
研究背景:
对大量图片或视频进行手工标注表情是一件极其繁琐的事情,因此现存的数据集并不够丰富。近年来,也有了一些大规模数据集的出现,并促进了深度面部表情识别FER的发展。然而,收集大规模带标签的数据是相当昂贵且困难的。同时,现有的许多数据标签往往无法满足实际细粒度的需求,若需要重新标记数据,还需要聘请相关领域的专家。因此,当下迫切需要开发一种可以在大量未标记数据上进行训练的方法,即半监督深度FER。
目前绝大部分使用到半监督学习方法的FER模型只选择部分未标记的数据来训练,即只选择那些置信度分数高于预定值的数据。这不但对部分数据造成了浪费,并且对所有表情类别设置同样的阈值是不科学的。有些面部表情,例如快乐,通常比某些面部表情具有更高的置信度分数,更容易识别。本文认为,应该对于不同类别的面部表情按其不同程度的学习难度进行分类,自适应地更新其置信度分数。从而使用所有未标记的数据来进一步提高识别性能。
论文的主要工作以及创新点:
本文的主要工作有,第一,提出了一种具有自适应置信区间Ada-CM的半监督DFER算法;第二,利用置信度分数较低的样本增强特征级的相似性,动态学习模型训练的所有未标记数据;第三在四个主流数据集上的大量实验表明,本方法的有效性超过当前完全监督的基线。
本文提出了一种端到端的具有自适应置信区间Ada-CM的半监督DFER算法,是目前第一个探索半监督深度面部表情识别中使用到动态置信度的解决方案。本文先将所有的数据分成两类(具体的分类方法将在下一段单独介绍)。子集I包括置信度分数高的样本,即置信度分数不低于界限阈值;子集II包括置信度分数低的样本,即置信度分数低于界限阈值。对于子集 I 中的样本,Ada-CM利用其用其伪标签对强增广SA的图片进行交叉熵训练;对于子集 II中的样本,用对比学习对弱增广的特征进行约束。
通过上一段的描述不难看出,将数据分成两个子集的依据是其置信度分数是否超过界限阈值。本文中,对于每个表情类别,阈值初始值为0.8。而且随着模型的提升,这个阈值界限会逐步升高,每个表情类别的阈值界限提升度也会有所不同。那么每个图片的置信度分数又是怎么得来的呢?首先,模型先对有表情的数据进行训练,用正确的预测得到阈值。然后,对于无标签的数据,对其进行弱增广 Week Augmentation,送入网络求出两个预测的均值。均值就是我们上文中提到的置信度分数。当均值大于阈值界限时,数据被分到第一个类别中,用其伪标签对强增广SA的图片进行交叉熵训练;当均值小于阈值界限时,数据被分到第二个类别中,用对比学习对弱增广的特征进行约束。
自适应置信区间Ada-CM管道图上图是Ada-CM的管道图,分为三个部分,部分a是总体流程设计图,部分b是自适应置信度构造原理图,部分c是对比目标图。在部分a中,最上面的一行是对于有标签数据的学习。每个前向传递都将弱增强WA标记样本输入到模型中以学习自适应置信度。具体来说,当模型的预测等于真实值时,将相应的置信度分数放入置信度中,然后将平均值用作学习的界限。接下来,将两个 WA 未标记样本分别输入到模型中,得到概率分布 pa 和 pb。然后,Ada-CM 根据置信度分数,即平均概率分布中的最大值,和置信界限Tt c 之间的关系将所有未标记的数据划分为两个子集。最后,通过熵最小化和对比目标分别探讨了具有伪标签的子集I中的样本和子集II中样本的特征相似度。

TodoList:

  1. 阈值固定的缺点
  2. 高/低置信度数据的使用情况,具体拿来做什么了
  3. 调查视频领域有没有半监督的
  4. 无标签的数据从哪来
  5. 一个表情的确认要多少帧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/243648.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TCP高并发服务器简介(select、poll、epoll实现与区别)

select、poll、epoll三者的实现: select实现TCP高并发服务器的流程: 一、创建套接字(socket函数):二、填充服务器的网络信息结构体:三、套接字和服务器的网络信息结构体进行绑定(bind函数&…

2024 前端高频面试题之 HTML/CSS 篇

【前言】随着市场的逐渐恶劣,通过总结面试题的方式来帮助更多的coder,也是记录自己的学习过程,温故而知新。欢迎各位同胞大大点评补充~ 前端面试题之 HTML/CSS 篇 1、HTML 语义化?2、块级元素&内联样式3、盒子模型的理解&…

qml 2.8 布局练习

GreenSquare.qml import QtQuickRectangle {width: 100height: 100color: greenborder.color: Qt.lighter(color) } BlueSquare.qml import QtQuickRectangle {color: bluewidth: 50height: 50border.color: Qt.lighter(color)property alias text: label.text //将text开…

linux C语言socket函数send

在Linux中,使用C语言进行网络编程时,send函数是用于发送数据到已连接的套接字的重要函数之一。它通常用于TCP连接,但也可以用于UDP(尽管对于UDP,通常更推荐使用sendto,因为它允许你指定目标地址和端口&…

Git学习笔记(第8章):IEAD实现GitHub操作(VSCode)

目录 8.1 VSCode登录GitHub账号 8.2 创建远程库 8.3 本地库推送到远程库(push) 8.4 远程库拉取到本地库(pull) 8.5 远程库克隆到本地库(clone) 8.1 VSCode登录GitHub账号 Step1:安装“GitHub Pull Requests and Issues”插件 Step2:登录GitHub账号 …

Yolov8不废话!参考手册!

Yolov8使用 yolo taskdetect modetrain modelyolov8n.pt args...classify predict yolov8n-cls.yaml args...segment val yolov8n-seg.yaml args...export yolov8n.pt formatonnx args...使用Ultralytics YOLO进行模型训练 …

pygame入门学习(四)位图的使用

大家好!我是码银🥰 欢迎关注🥰: CSDN:码银 公众号:码银学编程 载入图片 pygame.image.load( ),Pygame 可以通过pygame.image.load( )函数处理位图文件。 大致可以支持以下文件:JPG…

一.Winform使用Webview2(Edge浏览器核心) 创建demo(Demo1)实现回车导航到指定地址

Winform使用Webview2创建demo1实现回车导航到指定地址 往期目录参考文档实现1.安装visual studio2.创建单窗口应用3.修改项目中的窗体名称MainForm4.添加按钮5.添加窗口Demo16.在Demo1中添加WebView2 SDK7.在Demo1窗体中选择添加textbox和webview28.在MainForm.cs窗体中添加but…

PyTorch 添加 C++ 拓展

参考内容:pytorch添加C拓展简单实战编写及基本功能测试 文章目录 第一步:编写 C 模块test.htest.cpp 第二步:编写 setup.py第三步:安装 C 模块第四步:验证安装第五步:C 模块使用test_cpp1.pytest_cpp2.py 运…

yolov8的目标检测、实例分割、关节点估计的原理解析

1 YOLO时间线 这里简单列下yolo的发展时间线,对每个版本的提出有个时间概念。 2 yolov8 的简介 工程链接:https://github.com/ultralytics/ultralytics 2.1 yolov8的特点 采用了anchor free方式,去除了先验设置可能不佳带来的影响借鉴General…

跑步运动耳机哪个牌子好?2024年国产运动耳机推荐

​无论春夏秋冬,无论室内还是户外,运动都能带给我们无尽的乐趣。而一副好的运动耳机,更能为我们的运动体验增色不少。今天,就让我为大家推荐几款值得一试的运动耳机吧。 1.南卡开放式耳机(00压) 一句话评价…

VUE项目目录与运行流程(VScode)

各目录对应名称含义 main.js(导入App.vue,基于App.vue创建结构渲染index.html) //核心作用:导入App.vue,基于App.vue创建结构渲染index.html//1.导入Vue核心包 import Vue from vue//2.导入App.vue根组件 import App f…

如何在 Ubuntu 22.04 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 如何在 Ubuntu 22.04 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈 介绍 “LAMP”堆栈是一组开源软件&#…

基于ssm框架的网上购物系统-计算机毕业设计源码12503

摘 要 近年来,随着移动互联网的快速发展,电子商务越来越受到网民们的欢迎,电子商务对国家经济的发展也起着越来越重要的作用。简单的流程、便捷可靠的支付方式、快捷畅通的物流快递、安全的信息保护都使得电子商务越来越赢得网民们的青睐。现…

控制项目进展

优质博文 IT-BLOG-CN 假如一个项目准备工作做的非常周详,现在要做的就是监督项目的进展情况,理想状况下事情应当进展的很顺利,但实际上我们会发现项目永远不会完全按照经计划执行,我们必须进行项目控制。也就是我们需要不断进行调…

创建SERVLET

创建SERVLET 要创建servlet,需要执行以下任务: 编写servlet。编译并封装servlet。将servlet部署为Java EE应用程序。通过浏览器访问servlet。编写servlet 要编写servlet,需要扩展HttpServlet接口的类。编写servlet是,需要合并读取客户机请求和返回响应的功能。 读取和处…

安全审查常见要求

一、是否有密码复杂度策略、是否有密码有效期 1)密码长度至少8位; 2)要求用户密码必须包含大小写字母、数字、特殊字符 3)避免常见密码 123456,qwerty, password; 4) 强制用户定期修改密码; 5&#x…

分布式深度学习中的数据并行和模型并行

🎀个人主页: https://zhangxiaoshu.blog.csdn.net 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️,如有错误敬请指正! 💕未来很长,值得我们全力奔赴更美好的生活&…

云风网(www.niech.cn)个人网站搭建(二)服务器域名配置

这里直接采用宝塔服务器运维管理面板来进行配置,简单无脑 宝塔 Linux面板8.0.5安装脚本 //Centos安装脚本 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec //Ubuntu/Deepi…

使用双异步后,如何保证数据一致性?

目录 一、前情提要二、通过Future获取异步返回值1、FutureTask 是基于 AbstractQueuedSynchronizer实现的2、FutureTask执行流程3、get()方法执行流程 三、FutureTask源码具体分析1、FutureTask源码2、将异步方法的返回值改为Future<Integer>&#xff0c;将返回值放到new…