Adapting Grad-CAM for Embedding Networks

TL;DR

  • 基于 grad-cam 修改得到一种适配embedding网络的可视化方法,可以用于人脸识别、reid等任务
  • 基于度量学习中常用的 triplet loss 代替分类任务中的类别激活值来进行反向求导
  • 对训练集提前提取特征与反传梯度,在测试阶段采取复用训练集中的梯度来避免在测试阶段的反向求导过程

Introduction

  • 传统的 grad-cam 基于对某类别的得分( ycy^{c}yc ),求取对某层特征( AkA^{k}Ak )的梯度后得到该层特征的权重值

  • 直接在 embedding 网络中使用 grad-cam 有以下挑战:

    • 对于 embedding 网络,不管在训练还是测试阶段网络的输出并不是类别得分
    • 测试阶段,对于单张输入图片难以计算对于某层特征的梯度,因为一张图片既没有配对图片也没有标签
  • 所以作者修改 grad-cam 用于对 embedding 网络可视化


Dataset/Algorithm/Model/Experiment Detail

实现方式

  • 使用 triplet loss 来计算对某层特征的梯度,根据梯度计算特征的加权权重

  • 作者尝试了距离损失和配对损失的效果都不如 triplet loss,怀疑是与训练阶段对齐的 loss 会效果更好

  • 取多个 triplet 对的平均能提升效果,取梯度最大(平均)的50个channel也能提升效果

  • weight transfer 用于使测试阶段无需计算单张图片的反传梯度也能进行可视化

    • 首先需要提前提取训练阶段的样本的 embedding feature 和对选定特征层的反传梯度
    • 测试阶段基于最近邻方式找到测试图片的 embedding feature 在训练集中最匹配的样本,基于该样本的反传梯度作为测试样本的反梯度,作者解释是相同 id 的样本送进网络后激活的卷积核应该比较类似

实验结果

  • CUB200 中因为有bounding box 和 segmentation 标注,可以采用激活区域位于bounding box 或 segmentation 的比例来判断预测精度,可以看出 gradcam++ 在不加作者提出的trick时也有不错的效果了(gradcam++消除了负梯度的影响)

  • 只使用 top1 的 channel 能取得超过使用所有 channel 的结果,可能是 top1 的 channel 中保存了鸟类的特定信息

Thoughts

  • 对于 embedding 网络的可视化对于理解度量学习等过程还是有一定意义的,这里的激活区域也许也能类似grad-cam++那样作为蒸馏的标签
  • 因为需要离线提处理特征和梯度库,实际使用上会有很多不便的地方,比如难以直接整合到工具链中对客户模型进行可视化

Adapting Grad-CAM for Embedding Networks - 度量学习网络可视化方法(reid、人脸识别)相关推荐

  1. 基于双阶段度量学习的跨模态行人再识别

    基于双阶段度量学习的跨模态行人再识别 摘要: 由于从可见光和热成像摄像头采集而来的图像风格迥异,跨模态行人再识别面临着巨大挑战.目前的深度学习方法,大都利用度量学习来获取区分性特征.然而,现有的度量学 ...

  2. 深度学习笔记(42) 人脸识别

    深度学习笔记(42) 人脸识别 1. 人脸识别 2. One-Shot学习 3. Similarity函数 1. 人脸识别 现在可以看到很多产品在运用人脸识别,如手机解锁.车站身份识别认证.刷脸支付等 ...

  3. 【安卓学习之第三方库】 人脸识别SDK

    █ [安卓学习之第三方库] 人脸识别 █ 相关文章: - ● [安卓学习之第三方库]库的使用2-jar类库的使用(以dom4j为例)和升级(以极光推送为例) ● [安卓学习之第三方库] 消息推送之极光 ...

  4. 吴恩达Coursera深度学习课程 deeplearning.ai (4-4) 人脸识别和神经风格转换--编程作业

    Part 1:Happy House 的人脸识别 本周的第一个作业我们将完成一个人脸识别系统. 人脸识别问题可以分为两类: 人脸验证: 输入图片,验证是不是A 1:1 识别 举例:人脸解锁手机,人脸刷 ...

  5. 一种基于深度学习(卷积神经网络CNN)的人脸识别算法-含Matlab代码

    目录 一.引言 二.算法的基本思想 三.算法数学原理 3.1 权值共享 3.2 CNN结构 四.基于卷积神经网络的人脸识别算法-Matlab代码 五.Matlab源代码获取 一.引言 在工程应用中经常 ...

  6. 学习感悟(局部模式的人脸识别研究)

    基于局部模式的人脸识别研究 1.关键算法 2.人脸识别局部研究的创新点 3.感悟 1.关键算法 2.人脸识别局部研究的创新点 3.感悟 1.人脸识别的研究现状及面临的挑战 人脸识别的发展过程大概分为三 ...

  7. 吴恩达老师深度学习视频课笔记:人脸识别

            什么是人脸识别:人脸验证和人脸识别的区别,如下图:         One-shot learning:人脸识别所面临的挑战就是需要解决一次学习(one-shot learning)问 ...

  8. 基于深度学习的端到端人脸识别技术:全面调研

    44页,共计371篇参考文献.本文全面介绍了端到端深度学习人脸识别技术,包括人脸检测,人脸预处理和人脸表征等方向,详细介绍了最新的算法设计,评估指标,数据集,性能比较等. The Elements o ...

  9. 满分学习解决摄像头不定时人脸识别的办法

    接上一篇内容(解决交通违法满分学习网页视频离开暂停的问题),下面解决人脸识别问题. 满分教育系统在客户端浏览器使用falsh获取摄像头视频,截取图片作为识别数据,因此可以使用虚拟摄像头播放录好的视频作 ...

最新文章

  1. Java处理excel根据某列的值查询,并将结果显示在其他列中
  2. 面向对象概述(课堂笔记)
  3. Android 下载进度条, 自定义加载进度条,loading动画
  4. 小程序运行时相关信息
  5. sqlalchemy create engine
  6. MongoDB(两)mongoDB基本介绍
  7. 京东发布全球物流无人机研报:美国领先、非洲政策最开放,中国产业链全景最复杂...
  8. 批量执行newman
  9. SQL JDBC下载
  10. APP 接口拦截与参数破解
  11. MFC 鼠标画线总结
  12. Numpy 用 npy/npz 文件保存与载入数据
  13. Kaldi 使用,egs下通用样例及功能小结
  14. JAVA-MYSQL-SSH酒店民宿客房管理系统
  15. (demo)springboot接口suger_整合_hbase+phoenix
  16. 高通核心板,高通骁龙410系列 MSM8916
  17. 也谈SAP系统优缺点
  18. 港科资讯 | 香港科大与瑞士百达资产管理联合调查:香港个人投资者ESG意识及相关投资经验较低 惟投资意欲强劲...
  19. 哈工大计算机系名单,哈工大计算机学部公布拟录取名单,计算机科学与技术仅录29人!...
  20. python实现qq登录腾讯视频_QQ腾讯视频爬取和qv_rmt限速算法python版

热门文章

  1. vscode设置全英文的方法
  2. 区块链项目【拼爹爹电商app】开源
  3. 安装 ARM-MDK的方法,以及nRF52的学习资料,Beacon,Nordic NCS
  4. 三十岁程序员月薪60K?人工智能将是未来的风口
  5. Espressif IDF for VSCode 爬坑之路二:ESP32 的 JTAG 调试(OpenOCD GDB)
  6. cloudmersive OCR识别聊天记录图片转文字
  7. 地图插件-百度地图使用教程
  8. Visual Studio 2005 简体中文版SP1了
  9. 互联网+创新创业大赛五大主题
  10. linux模拟POD并通过主机上外网