论文阅读-《Learning Deep Features for Discriminative Localization》

本文主要是介绍论文阅读-《Learning Deep Features for Discriminative Localization》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自:http://blog.csdn.net/yaoqi_isee/article/details/62214648

收录于CVPR2016

  1. 关于全连接层不能保持spatial information的理解 
    相比全连接层,卷积层是一个spatial-operation,能够保持物体的空间信息(translation-variant)。比如一个物体原来在左上角,卷积之后的结果feature-map在左上角的激活值大。如果这个物体移动到右下角,那么卷积之后的feature-map同样会在右下角的激活值比较大。但是对于全连接层来说,它是将feature-map所有位置的信息综合之后输出,和物体的具体位置在哪里无关,比如一张图,人在左上角和右下角得到的fc层的输出应该是一致的(因为后面就接softmax分类了)

  2. 本文的contribution 
    Revisit the global average pooling,and sled light on how it explicitly enables the convolutional neural network to have remarkable localization ability despite being trained on image-level labels

  3. 行文思路 
    1 背景提出:卷积神经网络里面的每一个卷积单元其实都扮演着一个个object detector的角色,本身就带有能够定位物体的能力。但是这种能力在利用全连接层进行classification的时候就丢失了。因此,像那些全卷积的神经网络,比如googlenet,都在避免使用全连接层,转而使用global average pooling,这样的话不仅可以减少参数,防止过拟合,还可以建立feature map到category之间的关联。

    2 作者想法:global average pooling(gap)不仅仅是一个regularizer,还能够将卷积层的定位能力一直保持到最后一层。即使这个网络是训练来进行分类的,我们也可以在feature map上获取那些对于分类具有区分性(discriminative)的区域。比如对于一张分类成自行车的图片来说,feature map上面在车轮子,车把这样地方的激活值就会比较大。而且这种网络的训练是end-to-end的,只需要训练classification的网络,我们就可以在forward的时候获取localization的信息。

    3 技术方法:class activation map 
    CAM_1 
    上面这张图是作者实验中设计的网络结构,其实就是把原来的一个fc层替换成了GAP层,之后接一个fc层用来分类。首先可以训练一个分类的网络,然后利用训练得到的最后fc层的参数作为权重,对前面的conv层的feature map进行加权平均,最后就得到了class activation map。(w1,w2…,wn)是对gap之后的特征进行加权平均,其实也就是对gap之前的每一层feature map进行加权平均。比如说我们可以拿出负责预测澳大利亚犬的那组参数(w1,w2,,,wn),对前面的最后一个卷积层的n张feature map进行加权,就可以得到澳大利亚犬的class activation map,这张map上激活值越大的地方,表示这个地方又有可能是属于澳大利亚犬,对这张class activation map求平均,其实就是这张图属于澳大利亚犬的概率,也就是图上的灰色圆对应的值。我们去找class activation map上的热区,其实就是在对物体进行定位。

    CAM_2 
    CAM_3 
    上面这张图截取了top-5预测类别对应的CAM,可以看到,对于不同的类别,网络可以找到各自的具有区分性或者有信息量的区域,比如对于palace,更多的集中在正面的围墙建筑,对于dome的话,就集中在圆屋顶那个位置。同样,对于狗和鸡的分类,热区更多地集中在他们的头部。对于杠铃,则几种在两边的铁块上。

    • 实验:为了验证class activation map的定位能力,作者做了一系列的实验。主要就是把经典的AlexNet,VggNet,GoogleNet紧接着最后一个卷积层的全连接层替换成GAP。首先作者验证了这种修改不会明显损害网络的分类性能。 
      CAM_4 
      上面进行各个网络的对比可以看到,GAP组的classification error会有降低,但是幅度不大。然后作者验证了CAM具有不错的定位能力

    CAM_5 
    为了利用CAM进行定位,作者以CAM里面最大值的20%作为threshold对CAM进行分割,然后去最大的那个连通的component的外接框作为预测框。table2里面作者拿自己的方法和利用backpropogation的方法进行对比,整体更好。同时作者拿自己的方法和全监督的方法进行对比,就作者弱监督最好的结果和全监督里面AlexNet的结果比较接近。其中heuristic的选择bounding box的方法是,对于前两位概率高的分类类别,各选择一个tight和一个loose的预测框,对于第三名,选择一个loose的预测框,共5个。

    CAM_6

    CAM_7 
    上一行表示场景的图片以及这些场景中最经常出现的物体,对应的频率。下一行表示这些场景对应的CAM,以及热区属于各个物体的频率。可以看到对于餐厅,CAM在桌椅,吊灯以及盘子这些区域的激活值比较大,对于浴室,CAM在浴缸,水龙头这些地方的激活值比较高。

    4 总结 
    神经网络里面不同层的卷积单元都扮演者视觉特征检测器的角色,从底层的视觉特征,比如边缘,角点;到高层的视觉模型,比如物体或者是场景。最后把这些东西综合起来进行分类。我们可以把最后一个卷积层看成是一个词典。每一张feature map对应检测输入中的一个单词,如果有,就在对应位置有高的激活值。后面的fc层其实就是利用这个词典进行分类。比如对于自行车分类器,他对于车轮,车把,车座这三个单词会赋予高的权值,对其他的单词权值很低,那么当他检测到输入图片的词向量在车轮,车把,车座这三个单词的置信度很高的时候,就会把这张图判断成自行车。

这篇关于论文阅读-《Learning Deep Features for Discriminative Localization》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/346993

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

软件架构模式:5 分钟阅读

原文: https://orkhanscience.medium.com/software-architecture-patterns-5-mins-read-e9e3c8eb47d2 软件架构模式:5 分钟阅读 当有人潜入软件工程世界时,有一天他需要学习软件架构模式的基础知识。当我刚接触编码时,我不知道从哪里获得简要介绍现有架构模式的资源,这样它就不会太详细和混乱,而是非常抽象和易

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

【阅读文献】一个使用大语言模型的端到端语音概要

摘要 ssum框架(Speech Summarization)为了 从说话人的语音提出对应的文本二题出。 ssum面临的挑战: 控制长语音的输入捕捉 the intricate cross-mdoel mapping 在长语音输入和短文本之间。 ssum端到端模型框架 使用 Q-Former 作为 语音和文本的中介连接 ,并且使用LLMs去从语音特征正确地产生文本。 采取 multi-st