ECCV:A Discriminative Feature Learning Approach for Deep Face Recognition

1 Abstract

卷积神经网络(CNNs)已广泛应用于计算机视觉领域,显著提高了计算机视觉领域的技术水平。在大多数可用的cnn中,使用软tmax损失函数作为监督信号来训练深度模型。为了增强深度学习特征的识别能力,本文提出了一种新的监督信号,用于人脸识别任务。具体来说,中心损失同时学习每个类的深度特征的一个中心,并惩罚深度特征与其对应的类中心之间的距离。更重要的是,我们证明了所提出的中心损失函数在cnn中是可训练的和易于优化的。在软最大损失和中心损失的联合监督下,我们可以训练一个鲁棒的神经网络,尽可能地获得具有类间缺失和类内紧凑性两个关键学习目标的深度特征,这对人脸识别非常重要。令人鼓舞的是,我们的cnn(通过这样的联合监督)在几个重要的人脸识别基准上达到了最先进的准确性,野外标记人脸(LFW),

2 Algorithm

在这里插入图片描述

3 Optimization Strategy

在这里插入图片描述

3 Performance

在这里插入图片描述

在这里插入图片描述

3 code

import torch
import torch.nn as nnclass CenterLoss(nn.Module):"""Center loss.Reference:Wen et al. A Discriminative Feature Learning Approach for Deep Face Recognition. ECCV 2016.Args:num_classes (int): number of classes.feat_dim (int): feature dimension."""def __init__(self, num_classes=10, feat_dim=2, use_gpu=True):super(CenterLoss, self).__init__()self.num_classes = num_classesself.feat_dim = feat_dimself.use_gpu = use_gpuif self.use_gpu:self.centers = nn.Parameter(torch.randn(self.num_classes, self.feat_dim).cuda())else:self.centers = nn.Parameter(torch.randn(self.num_classes, self.feat_dim))def forward(self, x, labels):"""Args:x: feature matrix with shape (batch_size, feat_dim).labels: ground truth labels with shape (batch_size)."""batch_size = x.size(0)a = torch.pow(x, 2).sum(dim=1, keepdim=True).expand(batch_size, self.num_classes)b = torch.pow(self.centers, 2).sum(dim=1, keepdim=True).expand(self.num_classes, batch_size).t()# 这里相当于求x的平方与centers平方的和distmat = torch.pow(x, 2).sum(dim=1, keepdim=True).expand(batch_size, self.num_classes) + \torch.pow(self.centers, 2).sum(dim=1, keepdim=True).expand(self.num_classes, batch_size).t()distmat.addmm_(1, -2, x, self.centers.t())# 这里相当于求-2*(x + centers),与上一步相加即(x - centers)**2classes = torch.arange(self.num_classes).long()if self.use_gpu: classes = classes.cuda()labels = labels.unsqueeze(1).expand(batch_size, self.num_classes)mask = labels.eq(classes.expand(batch_size, self.num_classes))dist = distmat * mask.float()loss = dist.clamp(min=1e-12, max=1e+12).sum() / batch_sizereturn loss

视觉与控制前沿公众号,第一时间获取最有价值的前沿视觉与控制文章。

在这里插入图片描述

公众号链接视觉与控制公众号

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

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

相关文章

C++11中重要的新特性之 lambda表达式 Part two

序言 在上一篇文章中,我们主要介绍了 C11 中的新增的关键词,以及 范围for循环 这类语法糖的使用和背后的逻辑。在这篇文章中我们会继续介绍一个特别重要的新特性分别是 lambda表达式 。 1. lambda表达式 1.1 lambda的定义 C11 中的 lambda表达式 是一种…

bug - while parsing file included at

bug 如下 找到这个对应文件tb_top.sv的对应行,发现是一个 include "inc_tb_tests_xxx.sv" 问题点:头文件,重复定义,那么 解决方法- 在被include的文件首尾加入 ifndef MY_TRANSACTION__SV define MY_TRANSACTION__SV …

数据库管理 常用函数,处理查询,管理表记录

常用函数 MySQL服务内置命令 语法:函数名(表头名) 可以单独用,也可以镶嵌 select day(now()) select格式: SELECT 函数(表头名) FROM 库名.表名;SELECT 函数(表头名) FROM 库名.表名 WHERE 条件; departments 部门…

hf-mirror (huggingface 的国内镜像)

官网: https://hf-mirror.com/ 网站域名 hf-mirror.com,用于镜像 huggingface.co 域名。作为一个公益项目,致力于帮助国内AI开发者快速、稳定的下载模型、数据集。 如何使用HF-Mirror 方法一:网页下载 在https://hf-mirror.com/…

Linux下常见压缩文件tar.xz、tar.bz2、tar.gz的区别

文章目录 tar.xz tar.bz2 tar.gz 的区别三种文件的解压方式tar.xz的解压 tar.xz tar.bz2 tar.gz 的区别 这三个文件扩展名都表示压缩后的档案文件,但它们使用不同的压缩算法。 tar.xz: tar 代表 Tape Archive,它是一种将多个文件打包成一个文件的工具。…

最新的数据防泄密方案来袭!

沙箱技术作为一种先进的数据安全解决方案,在数据防泄密领域发挥着日益重要的作用。它通过构建一个隔离的虚拟环境,使得应用程序在该环境中运行,从而隔离了应用程序对系统资源的直接访问,有效防止了数据泄露的风险。 一、沙箱技术在…

AI知识库:以AI之力,引领企业知识管理新纪元

在当今这个信息爆炸的时代,企业面临着前所未有的知识管理挑战。随着数据量的激增,如何高效地整理、存储并快速检索海量信息,成为了每个企业亟需解决的核心问题。 在过去,企业的知识库常常被视为一种必要的负担。它们充满了冗长复…

研讨会预告:NVIDIA 携手西门子共创工业元宇宙未来

研讨会预告:NVIDIA 携手西门子共创工业元宇宙未来 来自 NVIDIA 与西门子的专家将在 7 月 16 日举办的研讨会“NVIDIA 携手西门子共创工业元宇宙未来”上共同探讨如何利用 OpenUSD 和生成式 AI 赋能新质生产力,与大家共同走进工业元宇宙的世界&#xff0…

AMEYA360:国民技术推出多款高能专用MCU产品

2024年7月8日,国民技术推出多款高能专用MCU产品。N32H482(通用控制)、N32H487(高性能互联)、N32GH473(电机控制)、N32H474(数字电源控制)四大系列高性能MCU新品,以及基于Arm Cortex M0内核实现的N32G052系列高性价比通用MCU新品。 全新一代高性能MCU新品…

抖音工具箱功能菜单解析分享

一 支持视频链接 采集/点赞/评论/收藏 二 支持导入 用户id私信 内容自定义 可 关注后私信对方 私信间隔自定义 三 支持多直播间 发言 内容-间隔自定义 五 支持 监听指定用户作品 新发作品 自动 点赞/评论/收藏 六 支持 视频评论实时监控 新发评论自动采集获取 七 智能 暂停…

SpringBoot应用配置桥接Prometheus入门

SpringBoot应用配置Prometheus步骤 SpringBoot应用依赖要求PrometheusGrafanaGrafana监控界面模板 SpringBoot应用依赖要求 <!-- 监控系统健康情况的工具 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot…

私域运营从0到1冷启动

私域社群的冷启动是一个从无到有的过程&#xff0c;需要策略和耐心来吸引并维护用户。以下是一些步骤和策略&#xff0c;可以帮助你的私域社群实现从0到1的冷启动&#xff1a; 1. **明确目标和定位**&#xff1a; - 确定社群的目标用户和他们的需求。 - 明确社群的主题和…

3、视图和模板

续上一篇&#xff0c;这一篇 着重于创建公共接口——“视图” 第三部分——3、视图和模板 1、概述2、编写更多视图原理——django依次访问了什么文件 3、写一个真正有用的视图一个快捷函数 render() render——渲染 4、抛出404错误一个快捷函数 get_object_or_404() 5、使用模…

PHP酒店宾馆民宿多商户版系统小程序源码

解锁酒店新境界&#xff01;揭秘多商户版系统的无限可能&#x1f3e8;✨ &#x1f680; 开篇&#xff1a;酒店业的新革命&#xff0c;多商户版系统来袭&#xff01; 你是否梦想过将你的酒店打造成一个集餐饮、娱乐、购物于一体的综合型休闲空间&#xff1f;现在&#xff0c;这…

mysql8多值索引

MySQL8新出了一个多值索引&#xff0c;我还没体验过呢&#xff0c;今天试一试。 建表 我先建个表试一试多值索引的效果。我粗略地看了下多值索引的介绍&#xff0c;发现是只适用于数组类型的。所以我建一个含有数组字段的表试一试。语法还是挺麻烦的&#xff1a; create tabl…

系统架构设计师教程 第二章 计算机系统基础知识-2.4嵌入式系统及软件

系统架构设计师教程 第二章 计算机系统基础知识-2.4嵌入式系统及软件 2.4 嵌入式系统及软件2.4.1 嵌入式系统的组成及特点2.4.1.1 嵌入式系统的组成2.4.1.2 嵌入式系统的特点2.4.2 嵌入式系统的分类2.4.3 嵌入式软件的组成及特点2.4.3.1 嵌入式软件的组成2.4.3.2 嵌入式软件的主…

密态计算,大模型“用数”的必由之路

文&#xff5c;白 鸽 编&#xff5c;王一粟 今年世界人工智能大会上&#xff0c;大模型如何走向深度应用成为重要议题。 但在大模型迈向深度应用的过程中&#xff0c;相比于算力的稀缺&#xff0c;“真正的问题是缺数据&#xff0c;无论是在通用技术领域&#xff0c;还是在专…

最优化方法_高等教育出版社

contents 前言第一章 基本概念1.1 最优化问题简介1.2 凸集和凸函数1.2.1 凸集1.2.2 凸函数1.2.3 凸规划&#xff08;个人补充&#xff09; 1.3 最优性条件1.3.1 下降方向1.3.2 充分必要条件1.3.3 拉格朗日乘子法 1.4 最优化方法概述1.4.1 初始点的选取1.4.2 迭代点好坏的判定1.…

软航文档控件VUE示例运行及控件替换方法记录

目录 示例运行 步骤一、npm install 步骤二、npm run dev 软航文档控件替换 附 vue小白记录一下软航文档控件VUE示例的运行方法以及示例中控件的替换过程。 示例运行 在已经安装好VUE环境的电脑上&#xff0c;VUE环境部署可以参考另一篇&#xff1a;配置VUE环境过程中 …

外卖霸王餐怎么做才能盈利赚钱的呢?

在当前的餐饮市场中&#xff0c;外卖行业已成为不可忽视的一部分&#xff0c;而“外卖霸王餐”作为一种促销策略&#xff0c;更是在外卖市场中引起了广泛的关注。那么&#xff0c;如何通过外卖霸王餐实现盈利赚钱呢&#xff1f;以下将从多个方面进行深入探讨。 一、明确外卖霸王…