阅读笔记-PRECISE ADJACENT MARGIN LOSS FOR DEEP FACE RECOGNITION

PRECISE ADJACENT MARGIN LOSS FOR DEEP FACE RECOGNITION

深度人脸识别的精确相邻边缘损失

1、这篇论文要解决什么问题?要验证一个什么科学假设?

问题:首先,在以往的损失函数中提到的“边际”是Softmax 决策边界之间的边际,它不代表训练集中不同类别之间的真实的边际;其次,以往的损失函数对所有可能的类对组合施加了边界,这是不必要的。

验证PAM损失(精确邻接边际损失)比现有的基于边际的损失具有更好的几何解释。

2、这篇论文有哪些相关研究,这些研究是怎么分类的?有哪些研究员值得关注?

这篇论文对softmax、L- Softmax loss、A-Softmaxloss、AM-Softmax loss 和Arc- Face loss进行了研究。

3、论文中提到的解决方案是什么,关键点在哪儿?

在论文中提出了精确相邻边距损失(PAM loss),它赋予“边距”一种含义,表示训练集中不同类之间的真实边距。与上面的损失不同,PAM损失只对有限数量的类对优化边际。

关键点如下:

  1. 提出了PAM算法来提高深度特征的识别能力。PAM损失是第一个使用训练集中不同类之间的实际差值的损失。
  2. 为了实现PAM,提出了一种学习算法来获取每个类的范围( 即类中心与类边缘之间的余弦相似度) 。

4、论文中的实验是如何设计的?各个实验分别得到了什么结论?

实验一:提供了在两个类别的情况下上述损失函数的2D可视化。

实验二:用Tensorflow实现了四种方案,通过结合使用不同的损失函数 :ResNet + Softmax, ResNet + AM-Softmax, ResNet + AM-Softmax + PAM loss v1,ResNet + AM-Softmax + PAM loss v2。为了方便,在实验结果中分别使用 “ Softmax” 、 “ AM-Softmax”、“PAM loss v1”和“PAM loss v2”来表示这四种方案。

所有实验都使用 VGGFace2作为训练集。为了保证实验结果的可靠性,删除了 VGGFace2中可能与基准测试集重叠的人脸图像。最终的训练集包含了来自 8000 多个身份的 305 万张面部图像。

对于实验中使用的所有人脸数据集,都使用MTCNN进行人脸检测。如果对一个训练图像检测MTCNN失败,就将该图像从训练集中去除。如果MTCNN在测试图像上失败,使用由官方提供的标记或边界框。由于学习率在早期不稳定,超参数 λ 在前 275 个时期被设置为0。之后,手动优化 λ,因为它对性能不是很敏感,所以只是在每个测试集中尝试多个不同的值,并选择导致最佳结果的值。

表 2显示了本文方法和最新研究方法在 LFW和YTF数据集上的结果,可以看出:在LFW上,PAM loss 的两个版本均优于相关方法Softmax、L-Softmax、A-Softmax 和 AM-Softmax。FaceNet具有与 PAM loss v1 相同的准确性。然而,FaceNet使用了2亿张图像进行训练,而PAM loss 只使用了305万张图像进行训练。与其他先进的方法相比,PAM损耗具有最高的验证精度。在 YTF 数据集上,PAM loss v1 的准确率为96.14%,高于其他所有方法。PAM loss v2 在准确性上与Marginal loss 相似,但Marginal loss 使用了更大的训练集,在 LFW上性能较差。在 LFW和YTF 数据集上的结果证明了该方法的有效性和最先进的性能。

实验三:对MegaFace 数据集和FaceScrub数据集进行实验。遵循 MegaFace Challenge 1 的实验协议,其中MegaFace设置为干扰集,FaceScrub设置为测试集。评估代码由MegaFace团队提供。

图 2 和图 3 分别为MegaFace Set 1上 100万干扰物时的CMC曲线和ROC 曲线。基准测试方法(包括Barebones FR、SIATMMLAB、Vocord 和 Faceall)的结果是由MegaFace 团队提供

的功能生成的。从图 2 和图 3 可以看出,PAM loss v1 和PAM loss v2 比Softmax、AM-Softmax 等基准方法具有更好的识别和验证性能。两幅图中 PAM损失 v2 都优于 PAM损失v1,说明 PAM损失 v2 在干扰量为 100 万的情况下具有更强的能力。MegaFace 和 FaceScrub 数据集的结果证实了所提方法的有效性。

5.用于定量评估的数据集是什么?代码开源的话找到链接

实验一:LFW、YTF

实验二:VGGFace2

实验三:MegaFace 和 FaceScrub 数据集

6、这篇论文到底有什么贡献?(三句话内说明)新在什么地方?

这篇论文提出了 PAM损失,它赋予了“边际”一种含义,表示训练集中不同类之间的真实边际。为了实现 PAM,还提出了一种学习算法来获取每个类的范围。在LFW、YTF、MegaFace和 FaceScrub数据集上进行了大量的实验。结果证明了所提方法的有效性,并证实了PAM性能的先进性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JDBC 知识点总结篇

JDBC 知识点总结篇 JDBC 接口 Java DataBase Connectivity Java数据库连接,由官方定义的一套操作所有关系型数据库的规则,即接口,各个数据库厂商实现该套接口 代码 // 本代码只提供一个样例,请根据自己实际情况修改代码 // 1.…

如何使用 NFTScan NFT API 在 Base 网络上开发 Web3 应用

Base 是 Coinbase 使用 OP Stack 开发的最新以太坊第 2 层(L2)网络,用于解决以太坊等主要区块链面临的可扩展性和成本挑战。Coinbase 将其描述为“安全、低成本、对开发人员友好的以太坊 L2,旨在将下一个 10 亿用户带入 Web3”。B…

一个简化版的IPD产品开发各阶段的流程

IPD好不好?当然好!IPD适不适合我们行业?当然适合,可以说,任何一个行业都可以借鉴IPD的理念和实践提高产品开发的效率,提升客户满意度。IPD复不复杂?当然复杂! 关于IPD的框架和体系&…

【Linux基础开发工具】gcc/g++使用make/Makefile

目录 前言 gcc/g的使用 1. 语言的发展 1.1 语言和编译器自举的过程 1.2 程序翻译的过程: 2. 动静态库的理解 Linux项目自动化构建工具-make/makefile 1. 快速上手使用 2. makefile/make执行顺序的理解 前言 了解完vim编辑器的使用,接下来就可以尝…

Java程序员-你真的了解死锁吗

Java程序员-你真的了解死锁吗 ​ 💕"i need your breath"💕 作者:Mylvzi 文章主要内容:死锁的成因和必要条件 ​​ ​​​​​ 一.什么是死锁 死锁:就是多个线程/进程因为相互等待而使得各自持有的资源无法继续执行&am…

❀My学习Linux小记录之UID和GID(用户ID和组ID)❀

❀My学习Linux小记录之UID和GID(用户ID和组ID)❀ 目录 ❀My学习Linux小记录之UID和GID(用户ID和组ID)❀ 用户ID(UID) 组ID(GID) 登陆 Linux 系统时,虽然输入的是自己…

Iceberg:ZOrder的实现及执行流程分析

ZOrder简介 使用Z-Order索引,可以按任意维度对数据进行排序,以获得更加高效且均衡地范围查询。它即可以作为一级索引,直接影响底层数据组织形式,甚至可以取代二索引(更加节省内存,吞吐量也理更高&#xff…

调度工具之dolphinscheduler篇

前言 随着开发程序的增多,任务调度以及任务之间的依赖关系管理就成为一个比较头疼的问题,随时少量的任务可以用linux系统自带的crontab加以定时进行,但缺点也很明细,不够直观,以及修改起来比较麻烦,容易出…

【MybatisPlus快速入门】(3)SpringBoot整合MybatisPlus 之 Lombok插件安装及MybatisPlus分页代码示例

目录 1.Lombok1.1 步骤1:添加lombok依赖 2.2 步骤2:安装Lombok的插件1.3 步骤3:模型类上添加注解2 分页功能2.1 步骤1:调用方法传入参数获取返回值2.2步骤2:设置分页拦截器2.3 步骤3:运行测试程序 之前我们已学习MyBatisPlus在代码示例与MyBatisPlus的简介,在这一节…

07-JVM调优工具详解及调优实战

文章目录 前置启动程序Jmap堆信息堆内存dump Jstack远程连接jvisualvm启动普通的jar程序JMX端口配置tomcat的JMX配置 jstack找出占用cpu最高的线程堆栈信息 JinfoJstat垃圾回收统计堆内存统计新生代垃圾回收统计新生代内存统计老年代垃圾回收统计老年代内存统计元数据空间统计J…

【MySQL】MySQL的数据类型

MySQL的数据类型 一、数据类型分类二、数值类型1、整数类型2、bit类型3、小数类型 三、字符串类型四、时间日期类型五、enum和set类型enum和set查找 数据类型的作用: 决定了存储数据时应该开辟的空间大小和数据的取值范围。决定了如何识别一个特定的二进制序列。 …

MySQL子查询、WITH AS、LAG查询统计数据实战

需求 给出一个比较常见的统计类业务需求:统计App(包括iOS和Android两大类)每日新注册用户数、以及累计注册用户数。 数据库采用MySQL,根据上面的需求,不难设计表如下: create table os_day_count(stat_d…

原型链污染[JavaScript]

一、原型链污染 此类型一般存在以nodejs编写的后端程序当中,其中Express是一个流行的Node.js Web应用程序框架 1.JavaScript 1.1 原理 引入 解释:直接先读代码来理解原型链污染 // let jack {b:2} console.log(typeof jack) // 它的类型是obejct con…

一文掌握分布式锁:Mysql/Redis/Zookeeper实现

目录 一、项目准备spring项目数据库 二、传统锁演示超卖现象使用JVM锁解决超卖解决方案JVM失效场景 使用一个SQL解决超卖使用mysql悲观锁解决超卖使用mysql乐观锁解决超卖四种锁比较Redis乐观锁集成Redis超卖现象redis乐观锁解决超卖 三、分布式锁概述四、Redis分布式锁实现方案…

React 中的 ref 和 refs:解锁更多可能性(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

安卓13上手势导航失效、手机卡死问题

问题描述&#xff1a;打开我们开发的app后&#xff0c;手势导航无法退回、无法回到桌面、无法切换应用。 使用设备&#xff1a;小米手机、MI14,、安卓13 未适配安卓13安卓x的情况下&#xff0c;检查自己的 AndroidManifest 文件&#xff0c;过滤器是否设置了 <category a…

信息安全等级保护的定义与意义

目录 前言 信息安全等级保护定义 广义上 狭义上 技术和管理 信息安全的基本要素 信息安全等级保护的意义 当前形式 形式严峻 国家安全 三个基本一个根本 预期目标 最终效果 实际意义 前言 信息安全等级保护是对信息和信息载体按照重要性等级分级进行保护的一种…

HTML5+CSS3+Vue小实例:彩带圣诞树

实例:彩带圣诞树 技术栈:HTML+CSS+Vue 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><…

【水文专业词汇】气象水文、水利工程等

水文专业词汇&#xff1a;气象水文、水利工程等 气象水文类水循环过程地区分类 水利工程类跨流域调水工程 参考 气象水文类 水循环过程 中文英文降水/降雨precipitation/rainfall径流runoff/streamflow产汇流runoff generation 地区分类 中文英文雨养作物区rain-fed agricu…

git入门指南:新手快速上手git(Linux环境如何使用git)

目录 前言 1. 什么是git&#xff1f; 2. git版本控制器 3. git在Linux中的使用 安装git 4. git三板斧 第一招&#xff1a;add 第二招&#xff1a;commit 第三招&#xff1a;push 5. 执行状态 6. 删除 总结 前言 Linux的基本开发工具介绍完毕&#xff0c;接下来介绍一…