精华内容
下载资源
问答
  • 2020-10-04 13:57:07

    前言

      在计算机视觉中,大家经常会提起图像的语义信息以及图像的高层特征和底层特征。那么到底什么是图像的语义呢,图像的高层特征和底层特征又包含哪些信息的呢?今天我们就来说一说。

    1.图像的语义信息:

      图像的语义分为视觉层、对象层和概念层,视觉层即通常所理解的底层,即颜色、纹理和形状等等,这些特征都被称为底层特征语义;对象层即中间层,通常包含了属性特征等,就是某一对象在某一时刻的状态;概念层是高层,是图像表达出的最接近人类理解的东西。通俗点说,比如一张图上有沙子,蓝天,海水等,视觉层是一块块的区分,对象层是沙子、蓝天和海水这些,概念层就是海滩,这是这张图表现出的语义。

    2.图像的底层、高层特征:

    2.1图像的低层特征:

    图像底层特征指的是:轮廓、边缘、颜色、纹理和形状特征。
    边缘和轮廓能反映图像内容;如果能对边缘和关键点进行可靠提取的话,很多视觉问题就基本上得到了解决。图像的低层的特征语义信息比较少,但是目标位置准确;

    2.2图像的高层特征:

    图像的高层语义特征值得是我们所能看的东西,比如对一张人脸提取低层特征我们可以提取到连的轮廓、鼻子、眼睛之类的,那么高层的特征就显示为一张人脸。高层的特征语义信息比较丰富,但是目标位置比较粗略。
    愈深层特征包含的高层语义性愈强、分辨能力也愈强。我们把图像的视觉特征称为视觉空间 (visual space),把种类的语义信息称为语义空间 (semantic space)

    更多相关内容
  • 通过对图像低层特征的分析,提取了颜色形状特征向量(221维),将它们作为支持向量机的输入向量,对图像类进行学习,建立图像低层特征高层语义的关联,并应用于鸟类、花卉、海洋以及建筑物等几个典型的语义类别检索...
  • 通过在低层视觉特征上提取图像的局部颜色和纹理特征,再利用模糊神经网络建立低层视觉特征和高层语义特征之间的映射,实现了图像属性信息的有效传递和可靠检索。最后,为了提高检索效率,把相关反馈引进到图像检索...
  • 深度特征融合---高低层特征融合

    万次阅读 2019-06-29 19:43:50
    低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。如何将两者高效融合,取其长处,弃之糟泊,是...

    很多工作通过融合多层来提升检测和分割的性能,按照融合与预测的先后顺序,分类为早融合(Early fusion)和晚融合(Late fusion)。

    早融合(Early fusion): 先融合多层的特征,然后在融合后的特征上训练预测器(只在完全融合之后,才统一进行检测)。这类方法也被称为skip connection,即采用concat、add操作。这一思路的代表是Inside-Outside Net(ION)和HyperNet。 两个经典的特征融合方法:
    (1)concat:系列特征融合,直接将两个特征进行连接。两个输入特征x和y的维数若为p和q,输出特征z的维数为p+q;
    (2)add:并行策略[36],将这两个特征向量组合成复向量,对于输入特征x和y,z = x + iy,其中i是虚数单位。

    晚融合(Late fusion):通过结合不同层的检测结果改进检测性能(尚未完成最终的融合之前,在部分融合的层上就开始进行检测,会有多层的检测,最终将多个检测结果进行融合)。这一类研究思路的代表有两种:
    (1)feature不融合,多尺度的feture分别进行预测,然后对预测结果进行综合,如Single Shot MultiBox Detector (SSD) , Multi-scale CNN(MS-CNN)
    (2)feature进行金字塔融合,融合后进行预测,如Feature Pyramid Network(FPN)等。

    DenseASPP for Semantic Segmentation in Street Scenes
    语义分割–(DenseASPP )DenseASPP for Semantic Segmentation in Street Scenes

    在本文中,我们介绍了多篇文章,但归纳起来共讨论了4类方法:
    (1)早融合:用经典的特征融合方法:在现有的网络(如VGG19)中,用concat或add融合 其中的某几层;

    • FCN、Hypercolumns—>add
    • Inside-Outside Net(ION)、 ParseNet 、HyperNet—>concat
    • 变种:用DCA特征融合方法代替concat和add操作;

    (2)晚融合:
    (2.1)采用类似特征金字塔网络(FPN)的思想,对特征融合后进行预测。 (FPN一般用于目标检测,提高小目标检测能力) 三个变种:

    • YOLO2的方法,只在金字塔的top-down路径的最后一层进行预测,此外还有 U-Net [31] and SharpMask for segmentation, Recombinator networks for face detection, and Stacked Hourglass networks for keypoint estimation.
    • YOLO3的方法,在金字塔的每一层都进行预测
    • FSSD的方法,对 FPN进行细微改造

    (2.2)feature不融合,多尺度的feture分别进行预测,然后对预测结果进行综合,如Single Shot MultiBox Detector (SSD) , Multi-scale CNN(MS-CNN)

    (3)用一个具有高低特征融合能力的网络替代普通的网络,如Densenet;
    (4)不进行高低层特征融合,而是在高层特征预测的基础上,再用底层特征进行预测结果的 调整

    ===========================================================================================

    Deep Feature Fusion for VHR(高分辨率图像) Remote Sensing Scene Classification(DCA特征融合方法)

    https://blog.csdn.net/snail_crawling/article/details/84568071
    特征融合的目的,是把从图像中提取的特征,合并成一个比输入特征更具有判别能力的特征。如何正确融合特征是一个难题。两个经典的特征融合方法

    (1)concat:系列特征融合[35],直接将两个特征进行连接。两个输入特征x和y的维数若为p和q,输出特征z的维数为p+q;
    (2)add:并行策略[36],[37],将这两个特征向量组合成复向量,对于输入特征x和y,z = x + iy,其中i是虚数单位。

    孙等人[38]引入典型相关分析canonical correlation analysis (CCA) 来融合特征。基于CCA的融合方法使用两个输入特征间的相关关系,计算两种变换,变换后的特征比输入的两个特征集有更高的相关性 。
    CCA的主要不足,在于忽略了数据集中类结构间的关系。我们想要最大化特征集之间的相关性,所以将每组特征中的类分开。
    最近,[44]解决了CCA的弱点,引入了DCA。DCA最大化两个特征集中对应特征的相关关系,同时最大化不同类之间的差异
    在这里插入图片描述

    基于神经网络的目标检测论文之目标检测方法:改进的SSD目标检测算法(DensNet)

    我们的改进是使用DenseNet代替原始SSD结构中的VGG,以提高目标检测准确性。图4-9显示了以DenseNet为基础网络的SSD。
    改进后的SSD网络对小物体比较敏感,能够对小物体产生很好的拟合。SSD中小物体检测的弱点可以通过所提出的模型来解决,并且对于具有独特上下文的类来说,性能更好。
    在这里插入图片描述
    在这里插入图片描述

    FPN(feature pyramid networks)

    https://blog.csdn.net/wangdongwei0/article/details/83140839
    https://blog.csdn.net/WZZ18191171661/article/details/79494534

    特征金字塔是识别不同尺度的目标时常用的结构,但是特征金字塔需要较大的计算量和显存,所以最近研发的一些探测器都不再使用这种结构。
    作者开发出的一种构建特征金字塔的新方法,可以减少额外的对计算量和显存的消耗
    使用FPN作为backbone,Faster RCNN的精度进一步提升(因为提取的特征更加丰富),速度为6fps on a GPU
    最近在coco和imagenet上取得靠前名次的网络都采用了多尺度的方法。

    在这里插入图片描述
    在这里插入图片描述

    YOLOv3——引入:FPN+多尺度检测 (目标检测)(one-stage)(深度学习)(CVPR 2018)

    https://blog.csdn.net/Gentleman_Qin/article/details/84350496
    在这里插入图片描述
    YOLOv2网络结构中有一个特殊的转换层(Passthrough Layer),假设最后提取的特征图的大小是1313,转换层的作用就是将前面的2626的特征图和本层的1313的特征图进行堆积(扩充特征维数据量),而后进行融合,再用融合后的特征图进行检测。这么做是为了加强算法对小目标检测的精确度。为达更好效果,YOLOv3将这一思想进行了加强和改进。
    **YOLO v3采用(类似FPN)上采样(Upsample)和融合做法,融合了3个尺度(13
    13、2626和5252),在多个尺度的融合特征图上分别独立做检测**,最终对于小目标的检测效果提升明显。(有些算法采用多尺度特征融合的方式,但是一般是采用融合后的单一特征图做预测,比如YOLOv2,FPN不一样的地方在于其预测是在不同特征层进行的。)
    在这里插入图片描述

    融合特征的SSD:对小目标的快速检测

    FSSD: Feature Fusion Single Shot Multibox Detector
    https://blog.csdn.net/wangxujin666/article/details/83065261
    https://blog.csdn.net/Dlyldxwl/article/details/79324944
    本文是以SSD为基底进行“改造”的一篇文章。SSD是从网络的不同层中抽取不同scale的feature直接做predict,所以没有充分融合不同scale的feature。后续有提出DSSD,RSSD等改进方法,但是因为模型的complexity导致速度变慢很多。**本文借鉴了FPN的思想,重构了一组pyramid feature map,**使得算法的精度有了明显的提升,速度也没有太降。先看一张图直观感受一下FSSD对比其它算法的效果。

    Approach
    对比下图中几种结构:
    在这里插入图片描述
    (a)中棕色的block之间没有联系,所以是使用不同scale的图片来生成不同scale的feature map进行predict,这是最不高效的一种方法;
    (b)代表faster rcnn之类的two-stage算法,利用某一个scale的feature map来生成多scale的anchors去检测multi-scale objects;
    ©是典型的Top-Down结构,FPN为代表网络。该结构在此不做赘述,有不清楚的移步这里。DSSD也是该网络结构的应用;
    (d)是SSD的结构代表图,从网络不同层抽取不同scale的feature做预测,这种方式不会增加额外的计算量,但是各个scale之间没有联系;
    (e)是FSSD的结构图,就是把网络中某些feature调整为同一szie再 contact,得到一个像素层,以此层为base layer来生成pyramid feature map,作者称之为Feature Fusion Module。

    Feature Fusion Module

    下面解释一下Feature Fusion Module。

    作者用一组公式表示整个过程:
    在这里插入图片描述
    对公式的字母含义进行说明:

    (1)Xi 是前置网络中希望融合的feature map,作者在文中说明了size小于10的feature map能合并的信息太少了,因此不做考虑,此外将conv6-2的stride设为1,这样conv7-2的size就是10了(给出FSSD的网络结构链接),所以选择 conv4-3 (38*38) ,fc7 , conv7-2输出的feature map来进行融合(为什么非用7-2,难道原始s=2的6-2用起来效果很差?作者没有说明)。至于为什么不用conv3-3的特征,可以对比Tab 2的2,3行看出;
    (2)Ti 表示对feature map进行降采样或者上采样方法的选择,目的让其scale一致。FSSD中均采用billnear将fc7 , conv7-2的scale统一为38;
    (3)φf 是选择对scale一致的feature map进行Contact还是Element-wise sum。目的是融合feature map生成一个scale的feature,FSSD应用了concact,可对比Tab 2的2,7两行看出;
    (4)**φp是如何利用得到的feature重构一组predict layer,也即Pyramid feature maps,**作者实验了Fig 3中的三种结构,其中棕色的block用来做predict,第一个结构使用fusion feature map作为第一层,**第二个是fusion feature map接了个33卷积后作为第一层,**最后一个结构是对于每一个predict层都先用11卷积来降低计算量,也就是bottleneck layer。从Tab 1可以看出中间的效果最好。
    在这里插入图片描述

    利用多层卷积神经网络(CNN)特征的互补优势 进行图像检索

    https://blog.csdn.net/qq_40716944/article/details/78506086
    高层特征用于度量语义相似度,低层特征用于度量细粒度相似度。给出一个简单易懂的例子,当查询图像是一个建筑物时,高层相似性捕捉到的图像包含一个建筑物,而低层相似性则捕获同一个从属同类实体的建筑物。显然,低层和高层特征的互补性可以提高查询图像与其他候选图像之间的相似性度量。一些现有的方法试图利用多尺度无序汇集来进行CNN激活。例如,CNN特征分别从不同层次提取和编码,然后将这些不同层次的聚合特征进行连接以测量图像。但直接拼接不能充分利用高层和低层特征的互补性。高层特征可以搜索具有相似语义的候选图像的集合作为查询图像,但是它不足以描述细粒度的细节。因此,高层相似性会削弱低层相似性的有效性,当最近邻居之间的细粒度差别被区分时,语义相似。
    在本文中,我们建议以一种简单而有效的方式利用不同层次的CNN特征的更多互补优势。我们的方法试图突出低层相似性的有效性,当查询图像和最近的邻居之间的细粒度的相似性与相似的语义。换句话说,低层特征用于细化高层特征的排序结果,而不是直接连接多个层。如图2所示,高层特征不足以描述细节信息,而低层特征则来自背景混乱和语义歧义。以直接拼接的方式,由于高层相似度的影响,低层相似度在区分细粒度差异方面不起重要作用。使用映射函数,我们的方法利用低层特征来测量查询图像与具有相同语义的最近邻居之间的细粒度相似性。在实验中,我们证明了我们的方法比单层功能,多层连接以及其他基于手工特征的方法更好。

    五种方法提升特征融合的效率

    参考文章:
    ExFuse: Enhancing Feature Fusion for Semantic Segmentation
    https://arxiv.org/abs/1804.03821
    https://blog.csdn.net/u010158659/article/details/80413719
    https://blog.csdn.net/weixin_41876817/article/details/83058437
    这篇文章着重研究语义分割网络中高低层特征融合的效率问题。本文发现,当前语义分割方法直接融合高、低特征并不奏效,继而提出新架构 ExFuse.

    本文工作主要聚焦于 U-Net 分割架构的特征融合问题,并选择当前最优的 U-Net 架构之一——全局卷积网络(Global Convolutional Network/GCN)——作为主要的 backbone 分割架构.

    这篇文章从两个大的方向上提出了改善思路,即
    (1).增加低层特征的语义
    (2).在高层特征中增加更多空间信息。

    其中包括5个改善的细节,在下面一一介绍。

    (1)Direction 1: Introducing More Semantic Information into Low-level Features
    这篇文章中,作者为了增加低层特征的语义信息做了三点改进:

    • 网络结构重排(layer rearrengement),构建更适合于分割的预训练模型;
    • 深度语义监督(semantic supervision);
    • 语义嵌入支路(semantic embedding branch),将高层特征融入低层特征。

    (2)Direction 2: Embedding More Spatial Resolution into High-level Features
    高层特征空间信息的损失只要是由于其自身的低分辨率(尺寸小)。这篇文章尝试将更多的空间特征融入到通道(channel)中去,包括:

    • 通道分辨率嵌入(explicit channel resolution embedding);
    • 稠密邻域预测(densely adjacent prediction)。

    上述每一方法都带来了显著提升,组合使用涨点高达 4%。

                    </div>
                    <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e44c3c0e64.css" rel="stylesheet">
                                    </div>
    

    欢迎使用Markdown编辑器

    你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

    新的改变

    我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

    1. 全新的界面设计 ,将会带来全新的写作体验;
    2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
    3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
    4. 全新的 KaTeX数学公式 语法;
    5. 增加了支持甘特图的mermaid语法1 功能;
    6. 增加了 多屏幕编辑 Markdown文章功能;
    7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
    8. 增加了 检查列表 功能。

    功能快捷键

    撤销:Ctrl/Command + Z
    重做:Ctrl/Command + Y
    加粗:Ctrl/Command + B
    斜体:Ctrl/Command + I
    标题:Ctrl/Command + Shift + H
    无序列表:Ctrl/Command + Shift + U
    有序列表:Ctrl/Command + Shift + O
    检查列表:Ctrl/Command + Shift + C
    插入代码:Ctrl/Command + Shift + K
    插入链接:Ctrl/Command + Shift + L
    插入图片:Ctrl/Command + Shift + G

    合理的创建标题,有助于目录的生成

    直接输入1次#,并按下space后,将生成1级标题。
    输入2次#,并按下space后,将生成2级标题。
    以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

    如何改变文本的样式

    强调文本 强调文本

    加粗文本 加粗文本

    标记文本

    删除文本

    引用文本

    H2O is是液体。

    210 运算结果是 1024.

    插入链接与图片

    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    居中的图片: Alt

    居中并且带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    var foo = 'bar';
    

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
    1. 项目1
    2. 项目2
    3. 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目Value
    电脑$1600
    手机$12
    导管$1

    设定内容居中、居左、居右

    使用:---------:居中
    使用:----------居左
    使用----------:居右

    第一列第二列第三列
    第一列文本居中第二列文本居右第三列文本居左

    SmartyPants

    SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

    TYPEASCIIHTML
    Single backticks'Isn't this fun?'‘Isn’t this fun?’
    Quotes"Isn't this fun?"“Isn’t this fun?”
    Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

    创建一个自定义列表

    Markdown
    Text-to- HTML conversion tool
    Authors
    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。2

    注释也是必不可少的

    Markdown将文本转换为 HTML

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

    Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t &ThinSpace; . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
    • 关于 甘特图 语法,参考 这儿,

    UML 图表

    可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

    张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

    这将产生一个流程图。:

    链接
    长方形
    圆角长方形
    菱形
    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart的流程图:

    Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    继续你的创作。


    1. mermaid语法说明 ↩︎

    2. 注脚的解释 ↩︎

    展开全文
  • 首先采用基于颜色聚类的方法将图像分割成区域,提取每个区域的Gabor小波纹理特征和灰度共生矩阵纹理特征,接着 采用信息熵对特征进行选择,使用选择后的特征对图像区域进行聚类,得到每幅图像的语义特征向量;然后...
  • 深度特征融合---高低(多尺度)特征融合

    万次阅读 多人点赞 2019-03-09 23:00:07
    低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。如何将两者高效融合,取其长处,弃之糟泊,是...

    概述

    基本概念

    在很多工作中,融合不同尺度的特征是提高分割性能的一个重要手段。低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。如何将两者高效融合,取其长处,弃之糟泊,是改善分割模型的关键。
    很多工作通过融合多层来提升检测和分割的性能,按照融合与预测的先后顺序,分类为早融合(Early fusion)和晚融合(Late fusion)。

    早融合(Early fusion): 先融合多层的特征,然后在融合后的特征上训练预测器(只在完全融合之后,才统一进行检测)。这类方法也被称为skip connection,即采用concat、add操作。这一思路的代表是Inside-Outside Net(ION)和HyperNet。 两个经典的特征融合方法:
    (1)concat:系列特征融合,直接将两个特征进行连接。两个输入特征x和y的维数若为p和q,输出特征z的维数为p+q;
    (2)add:并行策略[36],将这两个特征向量组合成复向量,对于输入特征x和y,z = x + iy,其中i是虚数单位。

    晚融合(Late fusion):通过结合不同层的检测结果改进检测性能(尚未完成最终的融合之前,在部分融合的层上就开始进行检测,会有多层的检测,最终将多个检测结果进行融合)。这一类研究思路的代表有两种:
    (1)feature不融合,多尺度的feture分别进行预测,然后对预测结果进行综合,如Single Shot MultiBox Detector (SSD) , Multi-scale CNN(MS-CNN)
    (2)feature进行金字塔融合,融合后进行预测,如Feature Pyramid Network(FPN)等。

    DenseASPP for Semantic Segmentation in Street Scenes
    语义分割–(DenseASPP )DenseASPP for Semantic Segmentation in Street Scenes

    典型方法概述

    在本文中,我们介绍了多篇文章,但归纳起来共讨论了4类方法:
    (1)早融合:用经典的特征融合方法:在现有的网络(如VGG19)中,用concat或add融合 其中的某几层;

    • FCN、Hypercolumns—>add
    • Inside-Outside Net(ION)、 ParseNet 、HyperNet—>concat
    • 变种:用DCA特征融合方法代替concat和add操作;

    (2)晚融合:
    (2.1)采用类似特征金字塔网络(FPN)的思想,对特征融合后进行预测。 (FPN一般用于目标检测,提高小目标检测能力) 三个变种:

    • YOLO2的方法,只在金字塔的top-down路径的最后一层进行预测,此外还有 U-Net [31] and SharpMask for segmentation, Recombinator networks for face detection, and Stacked Hourglass networks for keypoint estimation.
    • YOLO3的方法,在金字塔的每一层都进行预测
    • FSSD的方法,对 FPN进行细微改造

    (2.2)feature不融合,多尺度的feture分别进行预测,然后对预测结果进行综合,如Single Shot MultiBox Detector (SSD) , Multi-scale CNN(MS-CNN)

    (3)用一个具有高低特征融合能力的网络替代普通的网络,如Densenet;
    (4)不进行高低层特征融合,而是在高层特征预测的基础上,再用底层特征进行预测结果的 调整

    相关工作:多尺度模型设计

    【AI不惑境】深度学习中的多尺度模型设计

    ===========================================================================================

    Deep Feature Fusion for VHR(高分辨率图像) Remote Sensing Scene Classification(DCA特征融合方法)

    https://blog.csdn.net/snail_crawling/article/details/84568071
    特征融合的目的,是把从图像中提取的特征,合并成一个比输入特征更具有判别能力的特征。如何正确融合特征是一个难题。两个经典的特征融合方法

    (1)concat:系列特征融合[35],直接将两个特征进行连接。两个输入特征x和y的维数若为p和q,输出特征z的维数为p+q;
    (2)add:并行策略[36],[37],将这两个特征向量组合成复向量,对于输入特征x和y,z = x + iy,其中i是虚数单位。

    孙等人[38]引入典型相关分析canonical correlation analysis (CCA) 来融合特征。基于CCA的融合方法使用两个输入特征间的相关关系,计算两种变换,变换后的特征比输入的两个特征集有更高的相关性 。
    CCA的主要不足,在于忽略了数据集中类结构间的关系。我们想要最大化特征集之间的相关性,所以将每组特征中的类分开。
    最近,[44]解决了CCA的弱点,引入了DCA。DCA最大化两个特征集中对应特征的相关关系,同时最大化不同类之间的差异
    在这里插入图片描述

    基于神经网络的目标检测论文之目标检测方法:改进的SSD目标检测算法(DensNet)

    我们的改进是使用DenseNet代替原始SSD结构中的VGG,以提高目标检测准确性。图4-9显示了以DenseNet为基础网络的SSD。
    改进后的SSD网络对小物体比较敏感,能够对小物体产生很好的拟合。SSD中小物体检测的弱点可以通过所提出的模型来解决,并且对于具有独特上下文的类来说,性能更好。
    在这里插入图片描述
    在这里插入图片描述

    FPN(feature pyramid networks)

    https://blog.csdn.net/wangdongwei0/article/details/83140839
    https://blog.csdn.net/WZZ18191171661/article/details/79494534

    特征金字塔是识别不同尺度的目标时常用的结构,但是特征金字塔需要较大的计算量和显存,所以最近研发的一些探测器都不再使用这种结构。
    作者开发出的一种构建特征金字塔的新方法,可以减少额外的对计算量和显存的消耗
    使用FPN作为backbone,Faster RCNN的精度进一步提升(因为提取的特征更加丰富),速度为6fps on a GPU
    最近在coco和imagenet上取得靠前名次的网络都采用了多尺度的方法。

    在这里插入图片描述
    在这里插入图片描述

    YOLOv3——引入:FPN+多尺度检测 (目标检测)(one-stage)(深度学习)(CVPR 2018)

    https://blog.csdn.net/Gentleman_Qin/article/details/84350496
    在这里插入图片描述
    YOLOv2网络结构中有一个特殊的转换层(Passthrough Layer),假设最后提取的特征图的大小是1313,转换层的作用就是将前面的2626的特征图和本层的1313的特征图进行堆积(扩充特征维数据量),而后进行融合,再用融合后的特征图进行检测。这么做是为了加强算法对小目标检测的精确度。为达更好效果,YOLOv3将这一思想进行了加强和改进。
    **YOLO v3采用(类似FPN)上采样(Upsample)和融合做法,融合了3个尺度(13
    13、2626和5252),在多个尺度的融合特征图上分别独立做检测**,最终对于小目标的检测效果提升明显。(有些算法采用多尺度特征融合的方式,但是一般是采用融合后的单一特征图做预测,比如YOLOv2,FPN不一样的地方在于其预测是在不同特征层进行的。)
    在这里插入图片描述

    融合特征的SSD:对小目标的快速检测

    FSSD: Feature Fusion Single Shot Multibox Detector
    https://blog.csdn.net/wangxujin666/article/details/83065261
    https://blog.csdn.net/Dlyldxwl/article/details/79324944
    本文是以SSD为基底进行“改造”的一篇文章。SSD是从网络的不同层中抽取不同scale的feature直接做predict,所以没有充分融合不同scale的feature。后续有提出DSSD,RSSD等改进方法,但是因为模型的complexity导致速度变慢很多。**本文借鉴了FPN的思想,重构了一组pyramid feature map,**使得算法的精度有了明显的提升,速度也没有太降。先看一张图直观感受一下FSSD对比其它算法的效果。

    Approach
    对比下图中几种结构:
    在这里插入图片描述
    (a)中棕色的block之间没有联系,所以是使用不同scale的图片来生成不同scale的feature map进行predict,这是最不高效的一种方法;
    (b)代表faster rcnn之类的two-stage算法,利用某一个scale的feature map来生成多scale的anchors去检测multi-scale objects;
    ©是典型的Top-Down结构,FPN为代表网络。该结构在此不做赘述,有不清楚的移步这里。DSSD也是该网络结构的应用;
    (d)是SSD的结构代表图,从网络不同层抽取不同scale的feature做预测,这种方式不会增加额外的计算量,但是各个scale之间没有联系;
    (e)是FSSD的结构图,就是把网络中某些feature调整为同一szie再 contact,得到一个像素层,以此层为base layer来生成pyramid feature map,作者称之为Feature Fusion Module。

    Feature Fusion Module

    下面解释一下Feature Fusion Module。

    作者用一组公式表示整个过程:
    在这里插入图片描述
    对公式的字母含义进行说明:

    (1)Xi 是前置网络中希望融合的feature map,作者在文中说明了size小于10的feature map能合并的信息太少了,因此不做考虑,此外将conv6-2的stride设为1,这样conv7-2的size就是10了(给出FSSD的网络结构链接),所以选择 conv4-3 (38*38) ,fc7 , conv7-2输出的feature map来进行融合(为什么非用7-2,难道原始s=2的6-2用起来效果很差?作者没有说明)。至于为什么不用conv3-3的特征,可以对比Tab 2的2,3行看出;
    (2)Ti 表示对feature map进行降采样或者上采样方法的选择,目的让其scale一致。FSSD中均采用billnear将fc7 , conv7-2的scale统一为38;
    (3)φf 是选择对scale一致的feature map进行Contact还是Element-wise sum。目的是融合feature map生成一个scale的feature,FSSD应用了concact,可对比Tab 2的2,7两行看出;
    (4)**φp是如何利用得到的feature重构一组predict layer,也即Pyramid feature maps,**作者实验了Fig 3中的三种结构,其中棕色的block用来做predict,第一个结构使用fusion feature map作为第一层,**第二个是fusion feature map接了个33卷积后作为第一层,**最后一个结构是对于每一个predict层都先用11卷积来降低计算量,也就是bottleneck layer。从Tab 1可以看出中间的效果最好。
    在这里插入图片描述

    利用多层卷积神经网络(CNN)特征的互补优势 进行图像检索

    https://blog.csdn.net/qq_40716944/article/details/78506086
    高层特征用于度量语义相似度,低层特征用于度量细粒度相似度。给出一个简单易懂的例子,当查询图像是一个建筑物时,高层相似性捕捉到的图像包含一个建筑物,而低层相似性则捕获同一个从属同类实体的建筑物。显然,低层和高层特征的互补性可以提高查询图像与其他候选图像之间的相似性度量。一些现有的方法试图利用多尺度无序汇集来进行CNN激活。例如,CNN特征分别从不同层次提取和编码,然后将这些不同层次的聚合特征进行连接以测量图像。但直接拼接不能充分利用高层和低层特征的互补性。高层特征可以搜索具有相似语义的候选图像的集合作为查询图像,但是它不足以描述细粒度的细节。因此,高层相似性会削弱低层相似性的有效性,当最近邻居之间的细粒度差别被区分时,语义相似。
    在本文中,我们建议以一种简单而有效的方式利用不同层次的CNN特征的更多互补优势。我们的方法试图突出低层相似性的有效性,当查询图像和最近的邻居之间的细粒度的相似性与相似的语义。换句话说,低层特征用于细化高层特征的排序结果,而不是直接连接多个层。如图2所示,高层特征不足以描述细节信息,而低层特征则来自背景混乱和语义歧义。以直接拼接的方式,由于高层相似度的影响,低层相似度在区分细粒度差异方面不起重要作用。使用映射函数,我们的方法利用低层特征来测量查询图像与具有相同语义的最近邻居之间的细粒度相似性。在实验中,我们证明了我们的方法比单层功能,多层连接以及其他基于手工特征的方法更好。

    五种方法提升特征融合的效率

    参考文章:
    ExFuse: Enhancing Feature Fusion for Semantic Segmentation
    https://arxiv.org/abs/1804.03821
    https://blog.csdn.net/u010158659/article/details/80413719
    https://blog.csdn.net/weixin_41876817/article/details/83058437
    这篇文章着重研究语义分割网络中高低层特征融合的效率问题。本文发现,当前语义分割方法直接融合高、低特征并不奏效,继而提出新架构 ExFuse.

    本文工作主要聚焦于 U-Net 分割架构的特征融合问题,并选择当前最优的 U-Net 架构之一——全局卷积网络(Global Convolutional Network/GCN)——作为主要的 backbone 分割架构.

    这篇文章从两个大的方向上提出了改善思路,即
    (1).增加低层特征的语义
    (2).在高层特征中增加更多空间信息。

    其中包括5个改善的细节,在下面一一介绍。

    (1)Direction 1: Introducing More Semantic Information into Low-level Features
    这篇文章中,作者为了增加低层特征的语义信息做了三点改进:

    • 网络结构重排(layer rearrengement),构建更适合于分割的预训练模型;
    • 深度语义监督(semantic supervision);
    • 语义嵌入支路(semantic embedding branch),将高层特征融入低层特征。

    (2)Direction 2: Embedding More Spatial Resolution into High-level Features
    高层特征空间信息的损失只要是由于其自身的低分辨率(尺寸小)。这篇文章尝试将更多的空间特征融入到通道(channel)中去,包括:

    • 通道分辨率嵌入(explicit channel resolution embedding);
    • 稠密邻域预测(densely adjacent prediction)。

    上述每一方法都带来了显著提升,组合使用涨点高达 4%。

    展开全文
  • 除此之外,我们将处理过的低层特征和处理过的高层特征进行累加,这样做的目的是因为低层特征可以提供更加准确的位置信息,而多次的降采样和上采样操作使得深层网络的定位信息存在误差,因此我们将其结合其起来使用,...

    原始内容来源于:
    https://blog.csdn.net/cdknight_happy/article/details/100528127
    https://blog.csdn.net/WZZ18191171661/article/details/79494534
    包含理解!

    参考文献:https://arxiv.org/abs/1612.03144
    代码实现:http://www.yueye.org/2018/faster-rcnn-coupled-with-fpn-in-tensorflow.html
    https://github.com/DetectionTeamUCAS/FPN_Tensorflow

    FPN:Feature Pyramid Networks for Object Detection

    摘要

    特征金字塔是目标识别系统能够进行多尺度目标识别的关键组件。但由于特征金字塔的内存占用和计算量很大,因此很多算法都不想使用它。本文利用深度卷积网络本身固有的多尺度、层次化构建特征金字塔,只带来了很少的额外成本。本文开发了具有横向结构的从上到下的连接,用于在所有尺度上构建高层语义特征。本文提出的网络叫做FPN,在很多应用中可以作为一个通用的特征提取器。将FPN和Faster R-CNN结合,我们的模型在不使用任何技巧的情况下,基于单模型在coco目标检测任务中取得了非常优秀的成果。另外,在单GPU上可以以6FPS进行多尺度目标检测。

    1 引言

    1.1 图像金字塔

    图像金字塔广泛应用于SIFT、HOG等经典算法中,我们常用的是高斯金字塔,高斯金字塔是通过高斯平滑和亚采样获得一些下采样图像,也就是说第K层高斯金字塔通过平滑、亚采样操作就可以获得K+1层高斯图像,高斯金字塔包含了一系列低通滤波器,其截止频率从上一层到下一层是以因子2逐渐增加,所以高斯金字塔可以跨越很大的频率范围。总之,我们输入一张图片,我们可以获得多张不同尺度的图像,我们将这些不同尺度的图像的4个顶点连接起来,就可以构造出一个类似真实金字塔的一个图像金字塔。通过这个操作,我们可以为2维图像增加一个尺度维度(或者说是深度),这样我们可以从中获得更多的有用信息。整个过程类似于人眼看一个目标由远及近的过程(近大远小原理)。如图00所示,我们可以看到一个图像金字塔,中间是原始图像,最上边是下采样后的图像,最下边是上采样后的图像,你可以将其对应到图01中的不同层中。
    在这里插入图片描述
    图00 图像金字塔
    在这里插入图片描述
    图01 高斯金字塔效果

    1.2 为什么需要构造特征金字塔?

    前面已经提到了高斯金字塔,由于它可以在一定程度上面提高算法的性能,因此很多经典的算法中都包含它。但是这些都是在传统的算法中使用,当然也可以将这种方法直应用在深度神经网络上面,但是由于它需要大量的运算和大量的内存。但是我们的特征金字塔可以在速度和准确率之间进行权衡,可以通过它获得更加鲁棒的语义信息,这是其中的一个原因。

    如图02所示,我们可以看到我们的图像中存在不同尺寸的目标,而不同的目标具有不同的特征,利用浅层的特征就可以将简单的目标的区分开来;利用深层的特征可以将复杂的目标区分开来;这样我们就需要这样的一个特征金字塔来完成这件事。图中我们在第1层(请看绿色标注)输出较大目标的实例分割结果,在第2层输出次大目标的实例检测结果,在第3层输出较小目标的实例分割结果。检测也是一样,我们会在第1层输出简单的目标,第2层输出较复杂的目标,第3层输出复杂的目标(理解:低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。)。
    在这里插入图片描述
    图02 特征金字塔

    1.3 FPN算法

    在这里插入图片描述
    低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。

    识别不同大小的物体是计算机视觉中的一个基本挑战,我们常用的解决方案是构造多尺度金字塔。如图1a所示,这是一个特征图像金字塔,整个过程是先对原始图像构造图像金字塔,然后在图像金字塔的每一层提出不同的特征,然后进行相应的预测(BB的位置)。这种方法的缺点是计算量大,需要大量的内存;优点是可以获得较好的检测精度。它通常会成为整个算法的性能瓶颈,由于这些原因,当前很少使用这种算法。

    图1b是一种改进的思路,学者们发现我们可以利用卷积网络本身的特性,即对原始图像进行卷积和池化操作,通过这种操作我们可以获得不同尺寸的feature map,这样其实就类似于在图像的特征空间中构造金字塔。实验表明,浅层的网络更关注于细节信息,高层的网络更关注于语义信息,而高层的语义信息能够帮助我们准确的检测出目标,因此我们可以利用最后一个卷积层上的feature map来进行预测。这种方法存在于大多数深度网络中,比如VGG、ResNet、Inception,它们都是利用深度网络的最后一层特征来进行分类。这种方法的优点是速度快、需要内存少。它的缺点是我们仅仅关注深层网络中最后一层的特征,却忽略了其它层的特征,但是细节信息可以在一定程度上提升检测的精度。

    图1c的设计思想是同时利用低层特征和高层特征,分别在不同的层同时进行预测,这是因为我的一幅图像中可能具有多个不同大小的目标,区分不同的目标可能需要不同的特征,对于简单的目标我们仅仅需要浅层的特征就可以检测到它,对于复杂的目标我们就需要利用复杂的特征来检测它。整个过程就是首先在原始图像上面进行深度卷积,然后分别在不同的特征层上面进行预测。它的优点是在不同的层上面输出对应的目标,不需要经过所有的层才输出对应的目标(即对于有些目标来说,不需要进行多余的前向操作),这样可以在一定程度上对网络进行加速操作,同时可以提高算法的检测性能。它的缺点是获得的特征不鲁棒,都是一些弱特征(因为很多的特征都是从较浅的层获得的)。

    图1d是FPN,整个过程如下所示,首先我们在输入的图像上进行深度卷积,然后对Layer2上面的特征进行降维操作(即添加一层1x1的卷积层),对Layer4上面的特征就行上采样操作,使得它们具有相应的尺寸,然后对处理后的Layer2和处理后的Layer4执行加法操作(对应元素相加),将获得的结果输入到Layer5中去。其背后的思路是为了获得一个强语义信息,这样可以提高检测性能。我们使用了更深的层来构造特征金字塔,这样做是为了使用更加鲁棒的信息;除此之外,我们将处理过的低层特征和处理过的高层特征进行累加,这样做的目的是因为低层特征可以提供更加准确的位置信息,而多次的降采样和上采样操作使得深层网络的定位信息存在误差,因此我们将其结合其起来使用,这样我们就构建了一个更深的特征金字塔,融合了多层特征信息(理解:持续累加增加了低层特征的深度,也融合了多层特征信息),并在不同的特征进行输出。
    在这里插入图片描述
    近期的很多论文中也利用了上下和直连设计。他们的目的是产生一个高精度的特征映射图,然后在此上进行预测,简单讲就是经过多次上采样并融合特征到最后一步,拿最后一步生成的特征做预测,如图2上图。相反,我们的做法利用特征金字塔的各层进行单独预测(每一层都预测),如图2下图。

    我们的算法叫做FPN,适用于目标检测和分割任务。基于单模型的FPN+Faster R-CNN,在coco数据集上取得了领先的目标检测效果。在消融实验中,我们发现使用FPN进行目标建议,可以将平均召回率AR提升8个点。对于目标检测,相比于基于ResNet的Faster R-CNN,可以将coco数据集的mAP提升2.3个点,将voc数据集的mAP提升3.8个点。FPN还可以应用于实例分割和其他需要图像金字塔的任务。

    此外,我们的金字塔结构可以在所有尺度上进行端到端训练,并且在训练/测试时一致,这在使用图像金字塔时是不可行的。因此,FPN能够比所有现有的最先进方法获得更高的精度。此外,在不增加单一尺度基线的测试时间的情况下实现了这种改进。我们相信这些进步将有助于未来的研究和应用。

    2 相关工作

    手工设计的特征和早期神经网络:SIFT特征是在各尺度空间提取的极值点,可用于特征点匹配。HOG特征和SIFT特征都是在图像金字塔上进行密集计算得到的,它们广泛应用于图像分类、目标检测、行人姿态估计等任务。前面也有很多人在研究如果快速的构建特征金字塔。有的研究人员提出过构建一个稀疏的样本金字塔,然后通过插值得到其他尺度的特征。前面也有过在图像金字塔上提供浅层卷积网络实现跨尺度的人脸检测。

    深度卷积目标检测器:随着深度卷积网络的发展,像OverFeat和R-CNN都在目标检测的准确率上有了极大的进步。Overfeat是利用滑动窗的思想,在图像金字塔上使用卷积网络实现目标检测。R-CNN则是使用建议区域进行目标检测。SppNet则进一步显示了在单个尺度的输入图像上进行特征提取,然后高效进行多尺度目标检测。Fast和Faster R-CNN利用单尺度图像的特征进行多尺度的目标检测,实现了良好的检测效果。但是,多尺度检测的效果往往更好,尤其是对小目标而言更是如此。

    使用多层的方法:最近也有一些算法通过使用卷积网络中的多层特征改善检测和分割效果。FCN跨图像尺度为每类样本计算语义分割得分。很多算法是把多层的特征拼接到一起进行预测。SSD没有拼接特征,而是在多个层次化特征上进行预测。

    3 FPN算法

    我们的目标是利用ConvNet的金字塔特征的层次化结构,该层次结构具有从低级到高级的语义,并构建了一个具有高级语义的特征金字塔。本文中,我们将FPN用于了RPN和Fast R-CNN,也在第6部分将其用到了目标分割中。

    我们的方法使用单尺度的输入图像,通过全卷积网络的方式输出多层特征。处理方式和卷积网络的骨干网络无关,本文中我们使用ResNet作为骨干网络。构建金字塔的方式涉及到了自下到上、自上到下及横向的连接

    自下向上的连接:自下向上的路径是骨干ConvNet的前向计算,它计算一个由多个尺度的特征图组成的特征层次结构,其缩放步长为2。通常有许多层生成相同大小的输出特征,我们说这些层处于同一网络阶段(理解:只有尺度变化了才是另一阶段)。对于特征金字塔而言,每个阶段定义成一个金字塔层。我们选择每个阶段的最后一层的输出构建我们的特征映射集合,我们将丰富这些特征用于构建金字塔。这是一个很自然的选择,因为每个阶段的最深的层具有最强大的特征。

    特别是,对于ResNet,我们使用每一个阶段的最后一个残差块的输出特征。我们将这些残差块的特征输出标记成{C2,C3,C4,C5},分别对用于conv2,conv3,conv4,conv5的输出,它们相对于输入图像的尺寸缩减分别是4,8,16,32倍。因为conv1尺度太大,内存占用太大,我们没有使用它。

    自上向下的连接和横向连接:自上向下的连接通过对高层的特征(空间分辨率下,但语义更加强)进行上采样估计高分辨率的低层特征。这些特征通过自下而上的特征的横向连接进行加强。每一个横向连接都是把具有相同分辨率的自上而下和自下而上的特征进行组合。自下而上的特征具有较低的语义信息,但因为采样次数较少具有较强的定位信息。
    在这里插入图片描述
    图3显示了构建我们自上而下特征映射的构建块。使用分辨率较小的特征图,我们将空间分辨率上采样2倍(为简单起见,使用最近邻上采样,理解:代码中是上采样成与横向连接特征map相同的尺寸,就是上采样2倍)。上采样后的特征图和对应的自下而上的特征图进行逐通道相加(为了保证两个特征图的通道数一致,这里使用了1 * 1的卷积)。依次对各层特征进行如下操作。迭代开始时,我们对C5应用1 * 1卷积得到分辨率最小的特征映射。最后我们对每一个合并后的特征图应用3 * 3卷积得到最终的特征映射,应用3*3的卷积有助于减少上采样的带来的混叠。最终得到的特征图叫做{P2,P3,P4,P5},分别对应于具有相同空间尺寸的{C2,C3,C4,C5}。

    就像传统的从图像金字塔构建出的特征金字塔一样,FPN生成的特征金字塔的各层也使用共享的分类器/回归器(理解:不同的输出尺度,怎么接共享的分类器?答:以Fastre RCNN中RPN为例,各层特征map接1个3 * 3卷积和2个1 * 1卷积,后者用于判断有无目标和目标坐标修正值,因为是分成不同的格子求概率和位置,所以不需要特征map的shape相同)。我们固定整个特征映射中的特征维度(通道数,表示为d)。本文设置d=256,所以所有额外的卷积层的输出都是256个通道。在这些额外层中没有添加非线性映射,因为我们发现其作用很小。

    尽管简单,但我们发现我们设计非常鲁棒。我们尝试了更复杂的块(例如,使用多层残差块[16]作为连接)并观察到了略微更好的结果。设计更好的连接模块不是本文的重点,因此我们选择上述简单设计。

    4 FPN的应用

    本文的方法是在深度卷积网络中构建特征金字塔的通用解决方案。下面我们将FPN应用到region proposal生成的RPN网络和用于目标检测的Fast R-CNN。为了显示我们算法的有效性和简洁性,在应用FPN时,我们对原始的RPN和Fast R-CNN进行了很小的修改。

    4.1 将FPN应用于RPN

    RPN是一个滑动窗口式的、不区分类别的目标检测器。在原始的RPN中,在单尺寸的卷积特征图的密集3 * 3滑动窗口(分成一个一个的格子)上应用一个子网络实现目标/非目标的二分类和边界框回归。子网络包含一个3 * 3的卷积层和两个并列的1 * 1卷积层,分别用于分类和回归。按照和一系列预定义的anchor框的关系判断每个框是否包含目标及定位是否准确。anchor框预定义的多个尺度和长宽比的框用于覆盖不同的目标形状。

    我们通过用FPN替换单尺度特征图来调整RPN。我们将相同的设计(3×3卷积层和两个1×1卷积层)连接到我们的特征金字塔的每一层。因为头部在所有金字塔等级的所有位置上密集地滑动,所以不必在单个层级设置多尺度的anchor。我们对每个层级选取一个固定尺寸的anchor,即对{P2,P3,P4,P5,P6}(P6层通过P5层最大池化得到)分别选取大小为{ 32 ∗ 32 , 64 ∗ 64 , 128 ∗ 128 , 256 ∗ 256 , 512 ∗ 512 {32*32,64*64,128*128,256*256,512*512} 3232,6464,128128,256256,512512}的anchor,但每层仍然使用多个长宽比的anchor,分别是{1:2,1:1,2:1},这样整个金字塔一共有15个anchor(一个格子3个anchor box,一共有5层)。

    根据各anchor和真实目标框之间的IOU来设定各框的training label。如果一个anchor与任一真实框之间的IOU大于0.7,则将该anchor标记为正例样本。如果一个anchor与任一真实框之间的IOU都小于0.3,则将其标记为负例样本。真实框的尺寸没有决定将其关联到金字塔的哪一层,而是根据真实框的尺寸将其关联到了不同的anchor,anchor又和金字塔的层相关联。除此之外,我们没有在Faster R-CNN的基础上引入任何的其他修改。

    我们注意到两个1*1的卷积层在不同金字塔层之间共享参数,我们验证了如果不进行参数共享也可以得到相近的准确率。在我们的金字塔上进行参数共享可以取得良好的性能证明了我们的金字塔的不同层有相似的语义信息。该优点类似于使用特征化图像金字塔的优点,其中公共头部分类器可以应用于以任何图像比例计算的特征。

    通过上述调整,RPN可以通过我们的FPN自然地进行训练和测试,其方式与[29]中的相同。我们详细说明了实验中的实现细节。

    4.2 将FPN应用于Fast R-CNN

    Fast R-CNN [11]是一种基于区域的目标检测器,其中感兴趣区域(RoI)池化用于提取特征。Fast R-CNN最常在单尺度特征图上应用。要将它与我们的FPN一起使用,我们需要给不同的金字塔等级分配不同尺寸的RoI(理解:要判断每个ROI属于哪一层特征map,不然计算不了ROI pooling)。

    我们将特征金字塔假设为从图像金字塔中生成。因此,在图像金字塔上运行时,我们可以调整基于区域的检测器[15,11]的分配策略。我们将宽度为w和高度为h的RoI(Fast R-CNN网络的输入图像)分配到我们的特征金字塔的第Pk层上: k = ⌊ k 0 + l o g 2 ( w h / 224 ) ⌋ ( 1 ) k=⌊k0+log2(\sqrt{wh}/224)⌋(1) k=k0+log2(wh /224)(1)。这里的224是ImageNet的预训练尺寸, k 0 k0 k0
    是目标层,在其上一个大小为224 * 224的ROI对应该层。类似于基于ResNet的Faster R-CNN目标检测器,它使用 C 4 C_4 C4这一单层特征,这里设置 k 0 = 4 k_0=4 k0=4。直观上来看,如果一个ROI的尺寸较小,假如说 w h = 112 \sqrt{wh} = 112 wh =112 ,那么应该将其映射到分辨率更小的层(即k=3)。

    我们对所有层的所有ROI添加预测头,在Fast R-CNN中预测头是一系列全连接层+类别分类器(全连接)+边界框回归器(全连接)。同样,不同层之间的预测头也是参数共享的。在ResNet中,采用ResNet的conv5层(9层深子网)作为conv4特征顶部的头部,但是我们的方法已经利用了conv5来构造特征金字塔。因此与ResNet不同,我们简单地采用RoI池化来提取7×7特征,并在最终分类和边界框回归层之前附加两个隐藏的1,024-d的全连接(fc)层(每个层后跟ReLU)。这些层是随机初始化的,因为ResNets中没有预先训练的fc层。请注意,与标准的conv5头相比,我们的2-fc MLP头参数更少,速度更快。

    基于这些调整,我们可以在特征金字塔之上训练和测试Fast RCNN。实验细节在实验部分给出。

    理解:RPN是对{P2,P3,P4,P5,P6}(P6层通过P5层最大池化得到)5个层生成anchor box;Fast R-CNN是对所有的ROI映射到{P2,P3,P4,P5}4个层求ROI pooling。

    5 在目标检测上的实验

    我们对80类COCO检测数据集进行了实验[21]。我们使用80k训练图像和35k val图像子集(trainval35k [2])进行训练,并在5k大小的子图像集(迷你)上进行消融实验。我们还报告了标准测试集(test-std)[21]的最终结果,该测试集没有公开的标签。

    按照惯例[12],所有网络骨干都在ImageNet1k分类集[33]上进行预训练,然后在检测数据集上进行微调。我们使用公开可用的预先训练的ResNet-50和ResNet-101模型。我们的代码是使用Caffe2重新实现的py-faster-rcnn。

    5.1 RPN的实验结果

    我们按照[21]中的定义评估小型,中型和大型物体的ARARs,ARm和ARl)和COCO数据集的平均召回AR,我们报告每张图片100个和1000个提议区域的结果(AR100和AR1k)。

    实现细节:表1中的所有结构都是端到端训练的。调整输入图像的大小,使其较短边具有800个像素。我们在8个GPU上采用同步SGD训练。每个mini-batch包括每个GPU 2幅图像和每个图像256个锚框。我们使用0.0001的权重衰减和0.9的动量。前30k小批量的学习率为0.02,接下来的10k小批量为0.002。对于所有RPN实验(包括基线),我们包括处于训练图像外部的锚框,这与[29]不同,他们忽略这些锚框。其他实现细节如[29]中所述。使用FPN在8个GPU上训练COCO的RPN大约需要8个小时。
    在这里插入图片描述
    和基准进行比较:为了与原始RPN进行公平比较[29],我们使用C4的单尺度特征(与[16]相同)或C5运行两个基线(表1(a,b)),两者都使用和我们相同的超参数,包括使用5个尺度的锚框{ 3 2 2 , 6 4 2 , 12 8 2 , 25 6 2 , 51 2 2 {32^2,64^2,128^2,256^2,512^2} 322,642,1282,2562,5122}。表1(b)相对于表1(a)没有显示出优势,表明仅使用单个更高级别的特征图是不够的,因为在较小的分辨率和较强的语义之间存在折衷。

    将FPN放置在RPN中将AR1k提高到56.3(表1(c)),这比单一尺寸的RPN基线增加了8.0个点(表1(a))。此外,小物体( A R s 1 k ARs^{1k} ARs1k)的表现大幅提升了12.9点。表示我们的金字塔表示极大地提高了RPN对目标尺度变化的鲁棒性

    自上向下的连接有多重要: 表1(d)显示了没有自上而下路径的特征金字塔的结果。通过这种修改,1×1横向连接随后3×3卷积都应用到自下而上的金字塔。该体系结构模拟重用金字塔特征层次结构的效果(图1(b))。

    表1(d)中的结果与RPN基线相当,并且远远落后于我们的结果。我们猜想这是因为在自下而上的金字塔上不同层次之间存在很大的语义差距(图1(b)),特别是对于非常深的ResNets。我们还评估了表1(d)的变体而没有共享网络头的参数,但观察到类似的性能下降。这个问题不能简单地通过特定层的网络头来补救。

    横向连接有多重要: 表1(e)显示了没有1×1横向连接的自顶向下特征金字塔的消融结果。这个自上而下的金字塔具有强大的语义特征和精细的分辨率。但我们认为这些特征的位置并不精确,因为这些特征已经过多次下采样和上采样。更精确的特征位置可以直接从自下而上的特征可以通过横向连接从自低向上的特征传递到自上而下的特征。结果,FPN的AR1k得分比表1(e)高10个点。

    金字塔表示有多重要: 可以将网络头附加到P2层,其具有最高分辨率、强语义特征映射(即我们的金字塔中最精细的级别),而不是使用完整的金字塔表示。与单尺度基线类似,我们将所有锚框分配给P2特征图。这种变体(表1(f))优于基线但不如我们的方法。RPN是具有固定窗口大小的滑动窗口检测器,因此在金字塔不同层级上扫描可以增加其对比例变化的鲁棒性。

    此外,我们注意到由于其空间分辨率较大,单独使用P2会导致更多的锚框(750k,表1(f))。该结果表明,更多数量的锚框本身不足以提高准确性。

    5.2 Faste/Faster R-CNN的目标检测结果

    接下来,我们研究基于区域检测器的FPN。我们通过COCO式平均精度(AP)和PASCAL式AP(单个IoU阈值为0.5)评估目标检测。我们还按照[21]中的定义报告COCO AP对小,中,大尺寸物体(即APs,APm和APl)

    实现细节:调整输入图像的大小,使其较短边具有800个像素。同步SGD用于在8个GPU上训练模型。每个小批量涉及每个GPU 2个图像和每个图像512个RoI。我们使用0.0001的权重衰减和0.9的动量。前60k小批量的学习率为0.02,接下来的20k小批量为0.002。我们使用每个图像2000个RoI进行训练,使用1000个进行测试。在COCO数据集上训练结合FPN的Fast R-CNN大约需要10个小时。

    5.2.1 在固定的proposals上的Fast R-CNN

    为了更好地研究FPN对基于区域的检测器的影响,我们在一组固定的建议框上进行了Fast R-CNN的消融实验。我们固定结合FPN的RPN提取的建议框,因为它们可以更好的进行小目标的检测。为了简化实验,我们没有在RPN和Fast R-CNN之间共享特征。
    在这里插入图片描述
    作为基于ResNet的Fast R-CNN基线,按照[16]的做法,我们采用输出大小为14×14的RoI池化并将所有的conv5层作为附加的头部隐藏层。这使得表2(a)中的AP为31.9。表2(b)是利用具有2个隐藏fc层的MLP头的基线,类似于我们的架构中的头部。它得到28.8的AP,表明2-fc头在表2(a)中没有给我们任何正交优势。(???)

    表2(c)显示了我们的FPN在Fast R-CNN中的结果。与表2(a)中的基线相比,我们的方法将AP提高2.0点,小目标的AP提高了2.1点。与同样采用2 fc头的基线(表2(b))相比,我们的方法将AP提高了5.1个点。这些比较表明,基于我们的特征金字塔进行基于区域的目标检测,效果会好于基于单尺度特征进行基于区域的目标检测。

    表2(d)和2(e)表明移除自上向下连接和横向连接的效果较差,和RPN中的结论一致。值得注意的是,删除自上而下的连接(表2(d))会显着降低准确性,这表明Fast R-CNN在高分辨率特征中使用了低层特征。

    在表2(f)中,我们在P2的单个最精细尺度特征图上采用Fast R-CNN。其结果(33.4 AP)略微低于使用所有金字塔等级(33.9 AP,表2(c))。我们认为这是因为RoI池化是一种类似变换的操作,对该区域的尺度不太敏感。尽管该变体具有良好的准确性,但它基于结合FPN的RPN提议,因此已经从金字塔表示中受益。

    5.2.2 Faster R-CNN(使用一致的proposals)

    在上文中,我们使用一组固定的建议框来研究检测结果。但是在Faster R-CNN系统[29]中,RPN和Fast R-CNN必须使用相同的网络骨干才能实现特征共享。表3显示了我们的方法和两个基线之间的比较,所有这些都使用RPN和Fast R-CNN的一致骨干架构。表3(a)显示了我们对[16]中描述的基线Fast R-CNN系统的复现结果。在受控设置下,我们的FPN(表3(c))比这个强基线好2.3点AP和3.8点AP@0.5。
    在这里插入图片描述
    注意,表3(a)和(b)是比He等人(表3c)提供的基线强得多的基线。我们发现以下实现有助于缩小差距:(i)我们在[11,16]中使用800像素的图像尺寸而不是600;(ii)我们训练每个图像512个RoI,加速收敛,与[11,16]中的64个RoI相反;(iii)我们在[16]中使用5个比例锚而不是4个;(iv)在测试时,我们每个图像使用1000个提案,而不是[16]中的300个。因此,与表3(c)中的He et al的ResNet50 Faster R-CNN基线相比,我们的方法将AP提高了7.6个点,AP = 0.5提高了9.6个点。

    共享特征:在上文中,为简单起见,我们不共享RPN和快速R-CNN之间的特征。表5中,我们按照Faster R-CNN描述的四步交替训练进行特征共享。实验结果也证明了特征共享有助于提升准确率
    在这里插入图片描述
    运行时间:通过特征共享,我们的基于FPN的Faster R-CNN系统在ResNet-50的单个NVIDIA M40 GPU上的每个图像的推断时间为0.148秒,基于ResNet-101的推断时间为0.172秒。作为对比,单一尺度的ResNet-50表3(a)中的基线在0.32秒左右。我们的方法通过FPN中的额外层引入了额外的小额成本,但具有更少的参数。总体而言,我们的系统比基于ResNet的Faster R-CNN系统更快。我们相信,我们的方法的效率和简单性将有益于未来的研究和应用。

    5.2.3 和其他检测算法进行coco数据集结果对比

    在这里插入图片描述

    6 结论

    我们提出了一个简洁的框架,用于在ConvNets中构建特征金字塔。我们的方法对比了几个强大的基准和获胜者,都显示了有效改进。因此,它为特征金字塔的研究和应用提供了实用的解决方案,而无需计算图像金字塔。最后,我们的研究表明,尽管深度ConvNets具有强大的表征能力及其对尺寸变化的隐含鲁棒性,但使用金字塔表示对解决多尺度问题仍然至关重要。

    展开全文
  • 高低层特征融合【转载】

    千次阅读 2020-05-16 11:33:51
    文章目录1 高低层特征特点2 高低层特征融合方法3 案例3.1 Deep Feature Fusion for VHR(高分辨率图像) Remote Sensing Scene Classification (DCA特征融合方法)3.2 基于神经网络的目标检测论文之目标检测方法:改进...
  • 纹理特征增强模块能够通过融合低层的纹理信息提升高层语义的表达,从而加强对小尺寸人脸的检测能力;多阶段加权损失函数平衡网络的输出,充分发挥各个模块的增强作用。实验结果表明,该方法不仅在检测速度上可以达到...
  • 卷积神经网络的低层网络可以获取目标的一部分空间结构、形状等特征;高层网络可以获得相对比较抽象的部分语义信息。将VGG16神经网络中第2个卷积层Conv1-2、第4个卷积层Conv2-2最后一个卷积层Conv5-3提取的深度特征...
  • 深度学习之特征融合(高低层特征融合)

    万次阅读 多人点赞 2020-08-24 16:25:53
    如图2所示,高层特征不足以描述细节信息,而低层特征则来自背景混乱语义歧义。以直接拼接的方式,由于高层相似度的影响,低层相似度在区分细粒度差异方面不起重要作用。使用映射函数,我们的方法利用低层特征来...
  • 该方法通过提取音乐文件的低层音频特征参数,使用通俗易懂的关键词来描述音乐的高层语义特征,利用混合高斯模型(GMM)对每一个关键词进行训练来生成该类歌曲的模板,完成低层音频特征参数到高层语义特征的映射,...
  • 特征融合模块在特征金字塔中引入空间注意力机制,对含有丰富语义信息的高层特征含有丰富位置信息的低层特征图进行有效融合,弥补了高层特征图位置信息表达能力不足的缺点,提高了目标定位精度。将该模型部署在...
  • o年冬季,在赤道东太平洋的温度场、高度场纬向风场都有由大气低层的正距平转变为平流层负距平的特征;与之相反,在La Ni?a年冬季,赤道东太平洋大气低层的负距平到了高层变为正距平。同时,在纬向平均垂直剖面图中...
  • 语义分割,也称为像素级分类问题,其输出输入分辨率相同...卷积网络从输入到输出,会经过多个下采样(一般为5个,输出原图1/32的特征图),从而逐步扩大视野获取高层语义特征高层语义特征靠近输出端但分辨率...
  • unet模型及代码解析

    千次阅读 2021-11-26 16:11:32
    它是在FCN的基础上构建,它的U型结构解决了FCN无法上下文的信息位置信息的弊端。 Unet网络结构 主干结构解析 左边为特征提取网络(编码器),右边为特征融合网络(解码器) 高分辨率—编码—分辨率—...
  • 针对图像的底层特征与高层语义特征之间建立映射,使用基于支持向量机(SVM)的语义关联方法,将HSV颜色特征作为SVM的输入参数,对图像库学习和分类,建立图像底层特征与高层语义的关联,并结合图像底层特征和语义信息进行...
  • CNN语义分割系列总结

    千次阅读 2020-05-06 17:51:53
    该任务的基本挑战:结合全局局部信息的分割任务,在分割相应目标类的同时,如何确保每一个像素被准确分类,通常需要保证边界的精细度。 常用数据集:PASCAL VOC 2012,MS COCO,Cityscapes等。 ...
  • 语义分割融合跨特征层信息

    千次阅读 2021-11-10 11:13:46
    总的来说,编码器-解码器结构下的语义分割网络,高层次特征和低层次特征分布在网络两端,高层次特征具备语义性但丢失低层细节,低层次特征语义性差但细节丰富。此外,在常见的resnet作为基准网络下,不同stage关
  • Related Work 手工设计的特征和早期的神经网络。 SIFT 特征 [25] 最初是在尺度空间极值处提取的,用于特征点匹配。 HOG 特征 [5] 以及后来的 SIFT 特征也是在整个图像金字塔上密集计算的。这些 HOG 和 SIFT 金字塔...
  • 【语义分割】——多层特征的融合

    千次阅读 2020-11-18 15:11:10
    转载自:语义分割-多层特征融合 尊重原创,请读原文 语义分割,也称为像素级分类问题,其输出和输入分辨率相同(如题图中,左边为2048x1024分辨率的Cityscapes街景图像,输入模型,得到右边同样...高层特征和底层特征.
  • 场景分类的主要方法是基于底层特征的方法基于视觉词包模型的方法,前者缺乏语义描述能力并且时间复杂度大,后者识别率。借鉴两类方法的优势,提出了基于四树状语义模型的场景语义识别新方法。四语义模型包括...
  •      原来多数的目标检测算法仅仅根据最终的特征图输出做预测,而低层特征语义信息比较少但目标位置准确;高层特征语义信息丰富但目标位置粗略。识别不同尺寸的目标一直是目标检测的难点,尤其是小目标!   ...
  • FPN的预测是在不同特征层独立进行的,即:同时利用低层特征高分辨率和高层特征的高语义信息,通过融合这些不同层的特征达到预测的效果。作者认为足够低层高分辨的特征对于检测小物体是很有帮助的。
  • 利用常规观测资料、卫星云图多普勒天气...飑线前沿出现低层辐合、中层径向辐合和高层辐散的特征低层β中尺度辐合线随高度增加向飑线后部倾斜。飑线前沿存在前侧低层入流、中高层出流急流以及后侧低层入流急流。飑
  • FPN(Features Pyramid Networks)特征金字塔网络是从backbone CNN中提取特征用于后续目标检测语义分割等问题。一个top-down结构结合lateral连接来建立所有不同尺度特征的high-level语义特征。 背景 ...
  • 该方法利用全卷积神经网络将包含焊缝特征信息的像素预测出来, 通过融合低层高层特征信息来补充焊缝边缘的特征信息。研究结果表明:所提方法能在强烈弧光烟尘干扰下准确地提取出焊缝位置, 具有抗干扰能力强、识别...
  • 低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。 高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。 如何将两者高效融合,取其长处,弃之糟泊...
  • 首先,卷积神经网络从低层高层过程中,先是通过卷积层的卷积核提取低级特征(如垂直边缘特征,水平边缘特征,颜色等局部特征),随着层数加深,慢慢实现层边缘特征到局部特征的转换(在中间主要靠池化层扩大感受野...
  • 本文利用ECMWF再分析资料ERA40中国160站的降水资料,分析了我国华北地区1958年―2002年夏季...华北地区对流层低层以经向水汽输送通量为主,到了中高层则以纬向输送通量为主;与华北地区夏季旱涝密切相关的异常水汽输

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,274
精华内容 12,509
关键字:

低层特征和高层特征