【表情识别阅读笔记】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.mzph.cn/news/642396.shtml

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

相关文章

Python 自动化办公:一键批量生成 PPT

Stata and Python 数据分析 一、导读 在实际工作中,经常需要批量处理Office文件,比如需要制作一个几十页的PPT进行产品介绍时,一页一页地制作不仅麻烦而且格式可能不统一。那么有什么办法可以一键生成PPT呢?Python提供的pptx 包…

05章【面向对象(下)】

文章目录 继承继承的基本概念继承的限制继承小结子类的实例化过程方法的重写super关键字继承的应用示例final关键字 抽象类接口多态性instanceof关键字抽象类和接口的应用抽象类应用—模板方法模式接口应用—策略模式 Object类模式简单工厂模式静态代理模式适配器模式 内部类数…

策略模式【结合Spring框架实践】

Hello!~大家好啊,很高兴我们又见面了,今天我们一起学习设计模式–【策略模式】 初次对此模式不懂的,或者想偷懒的,我强烈建议大家跟着我的一起把概念和代码一起敲一遍!~为啥子??因为我就是这样学会的,哈哈哈! 1.首先我们看下此模式的整体UML图 selector:选择器又叫做上下文co…

Netty篇章(1)—— 核心原理介绍

终于进入到Netty框架的环节了,前面介绍了大量的Java-NIO的内容,核心的内容Selector、Channel、Buffer、Reactor掌握了,那么学起来Netty也是水到渠成的事情。如果没有掌握前面的内容那么学Netty会非常吃力,下面讲解Netty核心原理与…

关于 LLM,你了解多少?

LLM定义 大语言模型(LLM)是一种基于大量文本数据训练的深度学习模型。它的主要功能是生成自然语言文本或理解语言文本的含义。这些模型可以处理多种自然语言任务,如文本分类、问答、对话等,是通向人工智能的一条重要途径。 LLM发…

美创荣登“2023大数据产业年度最具投资价值”榜单

近日,由上海市经济和信息化委员会、上海市科学技术委员会指导,数据猿和上海大数据联盟主办的“第六届金猿季&魔方论坛——大数据产业发展论坛”在沪隆重召开,并重磅揭晓《2023大数据产业年度最具投资价值》榜单。 美创科技凭借在数据安全…

k8s-kubectl常用命令

一、基础命令 1.1 get 查询集群所有资源的详细信息,resource包括集群节点、运行的Pod、Deployment、Service等。 1.1.1 查询Pod kubectl get po -o wid 1.1.2 查询所有NameSpace kubectl get namespace 1.1.3 查询NameSpace下Pod kubectl get po --all-namespaces…

JAVA 学习 面试(二)多线程篇

Java多线程 线程池 线程池原理 创建方式:newFixedThreadPool (固定数目线程的线程池)、newCachedThreadPool(可缓存线程的线程池)、newSingleThreadExecutor(单线程的线程池)、newScheduledThreadPool(定时及周期执行的线程池)、new ThreadPoolExecutor() &#x…

Elasticsearch 常用信息

简述 本文针对 Elasticsearch(简称ES)集群6.x版本出现故障时,可通过提供的命令进行排查。 1、集群健康状态 集群健康状态状态说明red不是所有的主要分片都可用。表示该集群中存在不可用的主分片。可以理解为某个或者某几个索引存在主分片丢失…

AI破局之路:一名猎头高管的AI自学之旅——公众号

AI破局之路:一名猎头高管的AI自学之旅——公众号。 我是周知,有8年猎头行业经验深耕各类顶级科技企业。 2023年,应该有很多同行离开这个行业吧. 毕竟我们面临着前所未有的挑战。猎头行业的每一个参与者,无论是初入职场的猎头新人、…

2024最新科普:文件加密软件功能大盘点

随着信息化时代的到来,数据安全问题越来越受到人们的关注。 文件加密作为一种重要的数据保护手段,被广泛应用于企业和个人用户中。 本文将对文件加密软件的功能进行大盘点,帮助大家了解这一安全领域的知识。 一、文件加密软件的定义 文件加…

【STM32】USB程序烧录需要重新上电 软件复位方法

文章目录 一、问题二、解决思路2.1 直接插拔USB2.2 给芯片复位 三、解决方法3.1 别人的解决方法3.2 在下载界面进行设置 一、问题 最近学习STM32的USB功能,主要是想要使用虚拟串口功能(VCP),发现每次烧录之后都需要重新上电才可以…

FRRouting学习(一) 配置日志文件

以配置isis event事件日志为例 1、在配置之前,/var/log/frr路径下是没有文件的: 2、在vtysh config之下输入:log file /var/log/frr/isisd.log debugging 后面的debugging表示日志级别,可以根据自己修改 3、配置好了之后&#xf…

Operation

contents 服务器一、相关概念1.1 云服务器与实例1.2 关于域名解析延时与80端口1.3 关于备案1.4 关于SSL证书1.5 关于SSL证书的签发1.6 关于SSL证书的部署1.7 关于LNMP和LAMP1.8 关于bt面板 二、单服务器单一级域名多网站2.1 创建多个二级域名2.2 解析二级域名绑定到服务器上2.3…

基于SpringBoot Vue求职招聘系统

大家好✌!我是Dwzun。很高兴你能来阅读我,我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结,还为大家分享优质的实战项目,本人在Java项目开发领域有多年的经验,陆续会更新更多优质的Java实战项目&#x…

工业设备管理系统:助力企业实现数字化转型

随着工业4.0和智能制造的快速发展,数字化转型已成为企业提升竞争力、适应市场变化的必然选择。工业设备管理系统作为数字化转型的关键组成部分,能够为企业提供实时监控、数据分析、预警和远程控制等功能,助力企业实现数字化转型的目标。 一、…

debian12.4配置

文章目录 debian12.4配置概述笔记将非root用户添加到sudo组更换国内源配置ssh的客户端访问关闭屏保END debian12.4配置 概述 在虚拟机中装了一个debian12.4, 想配置ssh客户端连接, 出了问题. 配置乱了, 还好长了个心眼, 做了快照. 发现2个问题: debian12.4默认安装完, 有ss…

mysql生成最近24小时整点时间临时表

文章目录 生成最近24小时整点生成最近30天生成最近12个月 生成最近24小时整点 SELECT-- 每向下推1行, i比上次减去1b.*, i.*,DATE_FORMAT( DATE_SUB( NOW(), INTERVAL ( -( i : i - 1 ) ) HOUR ), %Y-%m-%d %H:00 ) AS time FROM-- 目的是生成12行数据( SELECTa FROM( SELECT…

LINUX服务之YUM仓库

1. YUM概述 YUM基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件包由集中的YUM软件仓库提供 YUM支持软件源 搭建yum支持的的软件源主要有以下三种: 本地yum:file://… 网络yum,又分为HTTP服务器:http…

UE5.2、CesiumForUnreal实现加载GeoJson绘制单面

文章目录 前言一、实现目标二、实现过程1.实现原理2.数据读取3.三角剖分3.具体代码 4.蓝图测试 前言 UE5、CesiumForUnreal实现加载GeoJson绘制单面(Polygon)功能(StaticMesh方式) 一、实现目标 通过读取本地的Geojson数据&…