ArcFace: Additive Angular Margin Loss for Deep Face Recognition(CVPR2019)

一元@炼丹笔记

利用深度卷积神经网络(DCNNs)进行大规模人脸识别特征学习的一大挑战是设计合适的损失函数以提高识别能力。

  • 在欧氏空间中,中心损失是对深层特征与其对应的类中心之间的距离进行惩罚,以实现类内紧性;
  • SphereFace假设最后一个全连接层中的线性变换矩阵可用作角度空间中类中心的表示,并以乘法的方式惩罚深度特征与其相应权重之间的角度。

最近,一个流行的研究路线是将margins纳入已建立的损失函数,以最大限度地提高人脸类别可分性。

在本文中,我们提出了一个附加的角Margin损失(ArcFace)来获得高分辨的人脸识别特征。由于与超球面上的测地距离精确对应,所提出的弧面具有清晰的几何解释。通过大量的实验,我们证明了ArcFace的效果始终优于目前最好的模型,并且可以轻松实现,计算开销可以忽略不计。

目前训练人脸识别的DCNN方案主要有两种:

  • 训练一个多分类器,它可以将训练集合中的不同实体分开;
  • 训练embeddings,例如triplet loss。

但是softmax的loss和triplet loss都存在一些缺点,

对于softmax来说

对于triplet loss来说

  • 特别是对于大规模数据集,人脸三元组的数量会出现组合爆炸,导致迭代步骤的数量显著增加;
  • semi-hard样本挖掘对于有效的模型训练是一个相当困难的问题;

softmax loss:

我们从8个不同身份的人脸图像中选取足够的样本(约1500张/类)分别训练具有softmax和ArcFace损失的二维特征嵌入网络。如图3所示,softmax损失提供了大致可分离的特征嵌入,但在决策边界中产生了明显的模糊性,

如上图所示,softmax损失提供了大致可分离的特征embedding,但在决策边界中产生了明显的模糊性,ArcFace损失显然可以在最近的类之间得到更明显的间隙。

2.与SphereFace和CosFace的比较

1.数值相似度

在SphereFace和CosFace和ArcFace中,我们都加入来margin的惩罚,我们用m1,m2,m3分别表示乘法角度margin,增加的角度margin和增加的cosine margin。从数值的角度来看,不同的margin惩罚都是希望相同类之间更为紧密,类之间分的更开。

通过将所有的margin惩罚放在一个框架中,我们有:

通过组合,我们往往可以获得更好的结果。

2. 几何区别

除了数值相似度之外,ArcFace拥有更好的几何属性,如下图所示:

3. 和其它Loss比较

其他损失函数可以基于特征和权重向量的角度来设计。例如,我们可以设计一个loss来增强超球面上的类内紧性和类间差异性。

Intra-Loss

Triplet Loss

想加大三元组样本的角度margin, 此处我们采用triplet-loss作为特征的角表示,

  • ArcFace在所有三个测试集上都达到了最高的验证精度;
  • 组合margin框架比单独的SphereFace和CosFace有更好的效果,但都不如ArcFace效果好;
  • Triplet Loss优于标准Softmax Loss,说明了margin对提高效果的重要性;
  • 在三元样本中使用margin惩罚比在样本和中心之间插入margin效果要差,就像在ArcFace中一样。最后,我们将累呢、类间丢失和Triplet Loss合并到ArcFace中,但是没有观察到任何改进,这让我们相信ArcFace已经加强了类内更紧、类间差异性和分类margin。

ArcFace相较于Triplet-Loss有更好的margin;

本文提出了一种Additive Angular Margin Loss ,该函数能有效地提高DCNNs学习的特征嵌入在人脸识别中的判别能力。在文献报道的最全面的实验中,我们证明了我们的方法始终优于目前最好的方法。

  1. ArcFace: Additive Angular Margin Loss for Deep Face Recognition,CVPR2019
更多干货,请关注公众号:炼丹笔记

ArcFace 同款商品识别的克星相关推荐

  1. 【深度学习】同款商品识别的克星--ArcFace!

    作者:杰少,一品炼丹师 ArcFace: Additive Angular Margin Loss for Deep Face Recognition(CVPR2019) 简 介 利用深度卷积神经网络 ...

  2. tx2无法识别网络_织点智能算法大牛刘思伟:商品识别在收银结算场景的应用与落地...

    线下门店消费越快捷.过程越便利,就越能吸引顾客的二次购物.相较于传统的人工收银方式,使用自助收银设备不仅可以减少顾客排队等候的时间,提升收银效率,同时对经营者来说,可以有效降低人工成本.目前,市面上的 ...

  3. 码隆科技在 CVPR 2019 主办商品识别大赛,等你来战!

    码隆科技在 CVPR 2019 主办商品识别大赛,等你来战! 对着心仪的物品拍张照,购物网站就能根据它提供同款商品的购买链接,不用再苦思冥想猜测文字搜索的关键词:在路边街角的智能货柜买瓶饮料,只需要扫 ...

  4. 淘宝直播商品识别大赛开幕,助力视频多模态商品检索技术再升级

    阿里巴巴淘系技术与浙江大学深度合作,在多媒体领域顶会ACM Multimedia 2021举办直播中多模态商品识别workshop暨第二届淘宝直播商品识别大赛,共同推动电商直播场景中多模态商品检索识别 ...

  5. 如何才能从淘宝中找到同款商品?

    以淘宝.京东和拼多多为典型的用户+商品消费场景,是国内用户量最多的业务场景,也是产生利润最多的业务场景.在这其中,客户拥有最大的自主权,如何有效地加以利用或辨别客户在行为之下产生的大量数据,成为了电商 ...

  6. 码隆科技获软银中国2.2亿元B轮融资,要做垂直行业标准化的商品识别

    关注52AI,做AI的行业领先者.QQ人工智能行业交流群:626784247. 01 11月10日消息,码隆科技已于近期完成2.2亿元B轮融资,融资方为软银中国.本轮融资将用于技术和商业落地两方面,继 ...

  7. python 智能识别 商品_阿里云货架商品识别与管理Python SDK使用示例-阿里云开发者社区...

    概述 货架商品识别与管理(Retail Image Recognition)是基于深度学习.图像检测.图像识别等技术,为新零售品牌商/经销商提供AI商品识别能力的阿里云产品:适用于货架商品识别.陈列识 ...

  8. 百度商品识别心得笔记

    目录 商品分类数据集 RP2K 百度商品检测分类 PP-ShiTu图像识别系统效果展示 旷世PRC商品检测数据集 旷视科技发布最大商品识别数据集,推动新零售自动收银场景落地 | 机器之心 下载链接:

  9. 弱监督学习下商品识别:CVPR 2018细粒度识别挑战赛获胜方案简介

    弱监督学习下商品识别:CVPR 2018细粒度识别挑战赛获胜方案简介 细粒度视觉分类(FGCV,Fine-Grained Visual Categorization)即识别细分类别的任务,一般它需要同 ...

最新文章

  1. 错误: 编码 GBK 的不可映射字符 (0x80)
  2. matlab fsolve()函数的使用
  3. 2016年 CodePen 最热门的前端代码 Top 100
  4. The pc Register(程序计数器)
  5. java visitor_java11教程--接口FileVisitor用法
  6. 第四篇:整合Thymeleaf模板
  7. 提示illegal reference to data member'CPMAgentManageDlg::m_matrixMatrixSt'in a static member function
  8. 五、stdout,stdoin和stderr
  9. 公安信息通信网边界接入平台安全规范_【市场动态】3.56 亿元,阿里云中标青岛智慧公安项目...
  10. AD笔记4-元件封装库绘制
  11. 制作一个简单HTML静态网页(HTML+CSS)
  12. Cobar介绍及配置
  13. Ray Dalio:经济机器是怎样运行的 (时长30分钟) 薛兆丰经济学讲义
  14. 代理ip网速慢的原因
  15. 【Linux】特别篇--GTK界面设计
  16. Ubuntu迅雷下载工具安装使用
  17. Low-shot Visual Recognition by Shrinking and Hallucinating Features
  18. NOIP2017酱油记
  19. 击退加拿大鹅,波司登成年轻人冬季新欢?
  20. 第一章 编程基础_ASCII 编码和GBK编码

热门文章

  1. UI层调用WCF服务实例(源码)
  2. 中文版示例代码浏览器for Windows 8
  3. spring核心:bean工厂的装配 1
  4. s3c2410开发环境建立
  5. file control
  6. 流式细胞凋亡检测实验常见问题解析
  7. 自己快速提升SCI论文质量的简单方法:分清研究类型,遵从指南修改
  8. 问题小结(一)——servlet生命周期、get和post请求、内置对象、单例模式等
  9. C++通过hiredis连接到redis
  10. 技术人的未来在哪里?