CoReFace:深度人脸识别的样本引导对比正则化

news2024/11/24 19:53:07

CoReFace: Sample-Guided Contrastive Regularization for Deep Face Recognition

一、摘要

        人脸识别对比正则化(CoReFace)(损失函数),将图像级正则化应用于特征表示学习。 具体来说,采用样本引导对比学习直接利用图像-图像关系来规范训练。 为了将对比学习整合到人脸识别中,通过增加嵌入而不是图像,以避免图像质量下降。 然后,通过结合自适应边距和监督对比掩模,提出了一种新颖的表示分布对比损失,以生成稳定的损失值并避免与分类监督信号的冲突。 最后,通过探索新的配对耦合协议来发现并解决对比学习中的语义重复信号问题。

创新点:

        • 提出了一个对比损失函数来执行有效的正则化,其中包含一个自适应边距来增强对比监督信号,以及一个监督对比掩模来避免联合训练中的监督冲突。

        • 研究了有限负样本情况下对比学习中的语义重复信号SRS问题,并探索不同的配对耦合协议来缓解这个问题。

二、网络结构

应用正则化和样本引导对比学习来解决训练中忽略图像-图像关系以及评估中放弃分类器造成的不一致问题。

        首先,为了解决图像质量下降问题,采用特征增强来代替广泛使用的正对组合数据增强。我们通过具有不同掩码的两个 dropout 通道 σ1 和 σ2 在主干之后传递隐藏嵌入。 Dropout以一定的概率随机丢弃输入的某些部分。 它可以看作是两个相邻层之间的一种增强。 丢失掩码是在每个小批量中随机生成的,并对所有输入样本进行操作。通过特征增强,可以组合正对进行对比学习(对比学习旨在调整特征表示分布),同时避免图像质量下降问题。此外,与对输入样本进行数据增强并将增强的样本两次传递到整个模型相比,此次特征增强对特征进行操作,并节省了近一半的计算量。

        其次,通过整合自适应边缘和监督对比掩模提出了一种新颖的对比损失。 自适应边距旨在保持正负相似度的大小接近,并在联合训练期间产生稳定的损失值。 监督对比掩模(SCM)采用类别标签生成掩模,该掩模将同一类别的样本从负比较池中排除。 这样就避免了与分类方法的冲突。

        第三,研究语义重复信号(SRS)问题,即对比学习中的一些关键对是重复的。 这会扭曲特征分布并干扰即将进行的相似度计算,设计了新的配对策略来缓解这个问题。

        最后,通过与 CoReFace 损失函数联合训练分类方法,将图像-图像正则化应用于 FR。

三、损失函数

        FR中的样本引导对比损失函数和分类损失函数都是基于交叉熵损失函数。 这两类损失的常见形式如下:

        自适应边距。由于最相似的负对和正对对决策边界的影响最大,我们的对比损失用它们相似度之间的差异来更新边际 m。 裕度保证了softmax中分子和分母的指数大小接近,并保持损失值稳定。

        基于自适应边缘的对比损失可以表示为

        四种类型的配对耦合协议。 两个增强通道 σ1 和 σ2 的每个组合都代表小批量中图像的特征组合。 当存在多个增强通道组合时,重复特征组合。语义重复信号问题,即对比学习中的一些关键对是重复的。选择σ1-->σ2减少语义重复问题,并将其应用到损失函数中。

        对比损失用于通过提供图像级分布指导来约束特征的分布,以补偿基于身份的训练和基于样本的评估之间的不一致。CoReFace 损失可以生成稳定的损失值,并考虑分类标签以避免与分类损失发生冲突。

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

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

相关文章

base64算法

1 介绍 将二进制数据编码为文本字符串的算法 理解:把一个能看懂的明文变成一个看不懂的密文数据统称为加密 2 使用 A 在浏览器控制台使用 加密 window.btoa(加密的数据) 解密 window.atob(MTIzNDQ) B 在VSconde中使用 加密 解密

【算法基础实验】图论-UnionFind连通性检测之quick-union

Union-Find连通性检测之quick-union 理论基础 在图论和计算机科学中,Union-Find 或并查集是一种用于处理一组元素分成的多个不相交集合(即连通分量)的情况,并能快速回答这组元素中任意两个元素是否在同一集合中的问题。Union-Fi…

基于Springboot的点餐平台

基于SpringbootVue的点餐平台的设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 首页展示 菜品信息 菜品资讯 购物车 后台登录 用户管理 菜品分类管理 菜品信息管理 …

怎么把图片转换为二维码?3个步骤轻松制作图片二维码

图片的二维码是怎么做成的呢?现在很多场景下的二维码,用手机扫码可以展现出对应的图片信息。通过这种方式来传递图片对于用户体验与很好的效果,而且也方便制作者通过这种方式来快速完成图片信息的传递,与传统方式相比成本更低&…

【前端】4. CSS综合案例

1. 模拟新闻界面 <!-- 1.模拟实现新闻界面 --><!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>…

茴香豆:搭建你的RAG智能助理-作业三

本次课程由书生浦语社区贡献者【北辰】老师讲解【茴香豆&#xff1a;搭建你的 RAG 智能助理】课程。分别是&#xff1a; RAG 基础介绍茴香豆产品简介使用茴香豆搭建RAG知识库实战 课程视频&#xff1a;https://www.bilibili.com/video/BV1QA4m1F7t4/ 课程文档&#xff1a;ht…

【鸟叔的Linux私房菜】计算机概论

文章目录 电脑CPU架构单位 电脑架构与设备组件CPUCPU和GPU区别 内存显卡硬盘与存储设备主板 软件程序运行操作系统内核的功能 总结 电脑 五个部分&#xff1a;输入单元、输出单元、CPU的运算单元和逻辑控制单元、内存。 主机机箱的设备大多通过主板连接线在一起&#xff0c;主…

STM32、GD32驱动SHT30温湿度传感器源码分享

一、SHT30介绍 1、简介 SHT30是一种数字湿度和温度传感器&#xff0c;由Sensirion公司生产。它是基于物理蒸发原理的湿度传感器&#xff0c;具有高精度和长期稳定性。SHT30采用I2C数字接口&#xff0c;可以直接与微控制器或其他设备连接。该传感器具有低功耗和快速响应的特点…

Unity入门实践小项目

必备知识点 必备知识点——场景切换和游戏退出 必备知识点——鼠标隐藏锁定相关 必备知识点——随机数和Unity自带委托 必备知识点——模型资源的导入 实践项目 需求分析 UML类图 代码和资源导入 开始场景 场景装饰 拖入模型和添加脚本让场景动起来 开始界面 先用自己写的GUI…

Feign功能详解、使用步骤、代码案例

简介&#xff1a;Feign是Netflix开发的声明式&#xff0c;模板化的HTTP客户端&#xff0c;简化了HTTP的远程服务的开发。Feign是在RestTemplate和Ribbon的基础上进一步封装&#xff0c;使用RestTemplate实现Http调用&#xff0c;使用Ribbon实现负载均衡。我们可以看成 Feign R…

Linux CentOS调用打印机

文章目录 一、lpstat及cups安装二、配置打印机1.启动cups2.配置cups3.配置打印机1.打开浏览器&#xff0c;输入CUPS服务器地址访问web界面&#xff0c;地址一般是&#xff1a;http://localhost:631。这里的"localhost"代表当前机器&#xff0c;如果你的CUPS服务器在别…

【网络安全】安全事件管理处置 — windows应急响应

专栏文章索引&#xff1a;网络安全 有问题可私聊&#xff1a;QQ&#xff1a;3375119339 目录 一、账户排查 二、windows网络排查 三、进程排查 四、windows注册表排查 五、内存分析 总结 一、账户排查 账户排查主要包含以下几个维度 登录服务器的途径弱口令可疑账号 新增…

C语言入门课程学习记录5

C语言入门课程学习记录5 第23课 - C 语言中的常量第24课 - 初探程序中的数组第25课 - 数组特性深入剖析第26课 - 多维数组的概念与示例 本文学习自狄泰软件学院 唐佐林老师的 C语言入门课程&#xff0c;图片全部来源于课程PPT&#xff0c;仅用于个人学习记录 第23课 - C 语言中…

C++解方程组的库

解决多元多次方程组的问题&#xff0c;你可以考虑以下几个C库&#xff1a; Eigen: Eigen库是一个高性能的C模板库&#xff0c;用于线性代数运算。它提供了强大的矩阵运算功能&#xff0c;可以用来解多元一次方程组。对于多次方程组&#xff0c;你可能需要结合Eigen和一些数值优…

关于conda占C盘内存的问题

文章目录 前言一、C盘中.conda文件中的envs二、C盘中.conda文件中的pkgs 前言 最近发现C盘空间越来越少&#xff0c;于是就去清理了一下conda在C盘的存储&#xff0c;不看不知道&#xff0c;一看吓一跳&#xff0c;足足十几G&#xff01;于是去网上搜索了相关的包能不能删除&a…

解决问题:TypeError:unsupported operand type(s) for -: ‘float‘ and ‘decimal.Decimal‘

文章目录 一、现象二、解决方案 一、现象 用Pandas 处理数据的时候&#xff0c;想得到增长率&#xff0c;没想到翻车了&#xff1f; import pandas as pddf pd.read_csv(data.csv)df[增长率] ((df[今年] - df[去年]) / (df[今年]))执行一下语句发现报错 TypeError&#xf…

揭秘快手互动神器:自动评论助力转化!

在这个信息爆炸的时代&#xff0c;每个内容创作者和企业都在寻找提升用户互动和转化的有效途径。无论是短视频、直播还是文章&#xff0c;如何让自己的内容脱颖而出&#xff0c;成为大家关注的焦点呢&#xff1f;今天&#xff0c;我们就要揭秘一款神奇的工具——快手自动评论软…

Python-100-Days: Day01

Day01 Python简介 1.1989年Guido von Rossum在圣诞节之夜开始着手python语言编译器的编写。 2.1991年2月 Python v1 编译器诞生&#xff0c;使用C实现的&#xff0c;此时可以调用C的库函数。 3.1994年1月&#xff0c;Python v1.0 正式版发布。 4.2000年10月16日&#xff0…

JAVA12

JAVA12 1 概述2 语法层次的变化1_swich表达式(预览) 3 API层次的变化1_支持数字压缩格式化2_String新方法3_Files新增mismatch方法 4 关于GC方面的新特性1_Shenandoah GC&#xff1a;低停顿时间的GC&#xff08;预览&#xff09;2_可中断的 G1 Mixed GC3_ 增强G1 5 其他新特性简…

【数据结构】合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 Definition for singly-linked list.struct ListNode {int val;struct ListNode *next;};typedef struct ListNode ListNode; struct ListNode* mergeTwoLists(struct Lis…