⑴ fpn是什么意思
FPN的意思是多尺度特征金字塔网络。它是一种在计算机视觉领域,特别是在目标检测任务中广泛应用的深度学习网络结构。
FPN的核心思想在于构建一种特征金字塔,通过融合不同尺度的特征信息来提高目标检测的准确性。在网络结构中,FPN通过自上而下的路径和自下而上的路径相结合,实现了多尺度特征的融合。具体来说,自上而下的路径将高层特征传递给低层特征,增强了对小目标的检测能力;而自下而上的路径则注重保留原始的空间细节信息,有助于大目标的检测。通过这种方式,FPN能够综合利用不同尺度的特征信息,提高目标检测的精度和速度。此外,FPN还具有结构简洁、计算效率高等优点。它不仅可单独应用于各种目标检测算法中,也可与其他网络结构相结合以进一步提升性能。在现代计算机视觉应用中,FPN已成为了一种重要的技术手段。它不仅有助于提高目标检测的精度和速度,也在图像分类、图像分割等领域中展现出良好的应用前景。因此,深入理解FPN的原理和应用对于掌握计算机视觉技术具有重要意义。
总的来说,FPN作为一种重要的深度学习网络结构,在目标检测等计算机视觉任务中发挥着重要作用。它通过融合不同尺度的特征信息,提高了目标检测的准确性和速度,已成为该领域中的一种重要技术手段。同时,FPN也在图像分类、图像分割等领域中展现出良好的应用前景。
⑵ 多尺度分割
与传统的基于像元的分类方法不同,面向对象的遥感影像分类方法处理的基本单元是影像对象,而不是单个的像元。其采用一种基于遥感影像的多尺度分割方法,可以生成任意尺度的、属性信息相似的影像多边形 ( 对象) ,运用模糊数学方法获得每个对象的属性信息,以影像对象为信息提取的基本单元,实现分类和信息提取。面向对象的遥感影像分类有两个独立的模块: 对象生成 ( 影像分割) 与信息提取 ( 影像分类) ( Blaschket et al. ,2000; Metzler et al. ,2002) 。对象生成即采用多尺度分割技术生成同质对象,其是进行分类识别和信息提取的必要前提。信息提取是基于模糊逻辑分类的思想,建立特征属性的判别规则体系,计算出每个对象属于某一类别的概率,达到分类识别和信息提取的目的。
地表信息在不同的尺度 ( 时间或空间跨度) 上有着不同的表现,例如从图 5 -1 中分辨出的就是两个圆形的物体,当把观察距离拉远时,我们看到了图5 -2,这时我们根据其与相邻物体之间的关系能立刻分辨出左边的圆形物体是盘子,右边的圆形物体是车轮。这是空间尺度上的一个简单例子。时间尺度就更加简单,例如一片耕地,在夏季的时候是绿色的,到了秋季变成黄色的。上述的例子说明,当我们要正确识别目标地物的时候,必须要选择一个合适的尺度,达到最佳的分辨效果。传统的基于像元的信息提取方法均是在同一个尺度上进行,该尺度即影像的空间分辨率,由于它无法兼顾地物的宏观和微观特征,导致在影像信息十分丰富的时候 ( 高分辨率影像) ,往往达不到很好的提取效果,出现许多破碎的区域,这也就是常说的高分辨率影像分类的 “胡椒盐效应”。针对这一问题,面向对象的分类方法引进了多尺度分割的概念。
图 5 -1 两个圆形物体
图 5 -2 盘子和车轮
( 一) 多尺度分割的概念
多尺度分割是指在影像信息损失最小的前提下,以任意尺度生成异质性最小、同质性最大的有意义影像多边形对象的过程,其是一种影像抽象 ( 压缩) 的手段,即把高分辨率像元的信息保留到低分辨率的对象上,不同的地物类型可以在相应尺度的对象上得到反映( 黄慧萍,2003) 。影像的多尺度分割从任意一个像元开始,采用自下而上的区域合并方法形成对象。小的对象可以经过若干步骤合并成大的对象,每一对象大小的调整都必须确保合并后对象的异质性小于给定的阈值 ( 王岩等,2009) 。因此,多尺度分割可以理解为一个局部优化过程,而对象的同质性标准则是由对象的颜色 ( color) 因子和形状 ( shape)因子确定,分别代表了影像分割时 “颜色”和 “形状”各自所占的权重,两者之和为 1。而 “形状因子”又由光滑度 ( smoothness) 和紧致度 ( compactness) 两部分组成,两者权重之和为 1,这四个参数共同决定分割效果 ( 图 5 -3) 。
图 5 -3 多尺度分割的参数构成
( 二) 多尺度分割参数的选择
同质性标准包括光谱 ( 颜色) 和形状两个因子,其中形状因子又包括光滑度和紧致度。大多数情况下,颜色因子对生成对象最重要,形状因子有效控制着影像对象的破碎程度,可以避免 “同物异谱”和 “同谱异物”现象与 “胡椒盐效应”,以此提高分类精度( 田新光,2007) 。传统的基于像元的方法不考虑形状因子,而将光谱因子设置为 1,即完全依靠像元的光谱值进行信息提取。光滑度是通过边界平滑来优化影像对象的,其描述的是对象边界与一个正方形的相似度; 紧致度是通过聚集度来优化影像对象的,其作用是利用较小的差别把紧凑和不紧凑的目标对象区分开。光滑度和紧致度两个形状因子相互作用、相互影响,但并不完全对立,即通过光滑度优化的对象也可能会有好的紧致度,反之,通过紧致度优化过的对象也可能会有光滑的边界。
在参数设置时,首先应当明确光谱信息的重要性,应充分利用光谱 ( 颜色) 信息,形状因子权重太高会导致对象同质性的破坏,出现一个对象包含若干地类的情况,不利于信息提取。因此,在进行多尺度分割时要遵循两条基本原则: ① 尽可能使用较大的颜色因子; ② 如果遇到边界不很光滑但是聚集度较高的影像对象,可尝试使用较大的形状因子来加以控制。
( 三) 分割尺度的选择
多尺度分割的一个突出贡献是同一空间分辨率的遥感影像信息不再只由一种尺度来表示,而是在同一遥感影像中可以由多种适宜的尺度来描述 ( 黄慧萍,2003) 。多尺度分割不仅生成了有意义的影像对象,并且将原分辨率的影像信息扩展到不同尺度上,实现了信息的多尺度表达与描述。多尺度分割表示在影像分割过程中采用不同的分割尺度值,所生成的对象大小取决于分割前确定的分割尺度值,其值越大,所生成对象的多边形面积就越大而数目越少,反之多边形面积越小,数目越多。因此,影像分割时尺度的选择很重要,其直接决定了分类和信息提取的精度。
最优尺度的确定一直是面向对象分类方法的一个研究重点,但是最优尺度是相对的,是相对于某一特定目标或要求的,某一特定变量的最优分割尺度值不一定适用于其他变量,所以最优尺度只能是一个数值范围。但是分割尺度的选择应当遵守以下规则: 对于某一特定地物类别,最适合的尺度是指分割后的对象边界清晰,能用一个或者多个对象来表达这种地物类别,既不能太破碎也不能出现混合类别对象,单个对象能够很好地表达这种地物类别特有的属性特征,使其能很好地与其他地物类别区分开来 ( 黄慧萍,2003) 。一般来看,分割尺度越小,产生的对象就越 “纯”,不同地物类别被划分到单个对象的概率就越小,这样信息提取的精度就越高; 但是分割尺度越小会导致同一地物类别对象之间差异性增加,不同地物类别对象之间的异质性反而降低,并不利于分类和识别,而且分割对象数目过多,过于破碎,反而增加了计算机的运算量,降低了提取的精度,并不可取,所以,必须在分割尺度和分类精度之间寻找到平衡点。
( 四) 多尺度分割的网络层次关系
不同的分割尺度生成相应的对象层,从而构建影像对象之间的层次等级网络,它以不同的空间尺度表达了影像所包含的信息,每一个对象都有它的邻域 ( 左右) 对象、上层父对象和下层子对象 ( 图 5 -4) 。对象网络层次结构按照从大到小、从上到下的方式安排:原始层 ( 像元层) 放在最底层,尺度最大的放在最高层。分割尺度较小的层中包含的对象数量较多,每个对象包含的像元数较少; 而分割尺度较大的层中,单个对象包含的像元数目比较多,而包含的对象数量比较少。在这个对象网络层次结构中,每一个对象都包含了邻域对象、下层子对象和上层父对象之间复杂的属性关系,在处理这些关系的时候,上、下层次对象间的关系显得尤为重要,因为通常可以根据父对象的属性确定子对象类别、根据子对象的平均属性对父对象的纹理属性进行分类以及根据已确定类别的子对象组成对父对象进行分类等。此外,相邻对象也十分重要,因为如果有些对象的光谱、纹理和形状信息都十分相似,若以它们的对象作为分类判定的一个标准,则信息提取就容易得多。
图 5 -4 多尺度分割的网络层次结构图
( 五) 基于异质性最小原则的区域合并算法
多尺度分割采用的是基于异质性最小原则的区域合并算法,其基本思想是把具有相同或相似性质的相邻像元集合起来组成区域多边形 ( 对象) 。首先在每个需要分割的区域中找一个种子像元作为生长起点,然后将种子像元邻域中与种子像元有相同或相似性质的像元合并到种子像元所在的区域中,将这些新的像元当作新的种子像元继续进行上面的过程,直到再没有满足条件的像元,由此生成一个区域 ( 对象) ( 章毓晋,2000) 。区域合并算法的目的是实现分割后影像对象的权重异质性最小,如果仅考虑光谱异质性最小会导致分割后的对象边界比较破碎,因此,需要把光谱异质性的标准和空间异质性的标准配合使用。在分割前,需要首先确定影响异质性大小的光谱因子和形状因子,因为只有同时满足光谱异质性、光滑度异质性和紧致度异质性最小,才能使整幅影像中所有对象的平均异质性最小 ( 戴昌达等,2004) 。
( 六) 模糊分类方法
面向对象的遥感影像分类方法采用的是基于模糊逻辑分类系统的模糊数学分析方法。模糊理论是由美国加州伯克莱分校 Zadeh 教授于 1965 年提出的,主要用来处理模糊不清、不严密和不明确的问题。模糊性是客观世界存在的普遍现象 ( 陈文凯,2007) ,遥感影像中的模糊性主要表现在一个对象 ( 像元) 内可能出现多个地物类别在这种情况下如何确定其归属。
模糊分类系统一般由模糊化、模糊推理和去模糊三个部分组成。模糊化就是把特征值向模糊值转化的过程,实质上是一个特征标准化的过程,成员函数是一个模糊表达式,能把任意特征值范围转换为 [0,1] 这个统一的范围。模糊推理是指对模糊集合建立相关的模糊判断规则并进行最终推理。去模糊实际上是通过模糊推理以及综合评价方法最终确定结果的过程。
遥感影像经过分割后得到的对象不再是硬性地属于某个特定的地物类别,而是在不同程度上与该类别相关,它们之间的关系不再是 “是”与 “非”的硬性关系,而是不确定的。模糊分类方法是一种量化不确定状态的数学分析方法。采用模糊分类方法有以下三点优势:① 特征值向模糊值转化,这实际上是一个特征标准化的过程; ② 允许特征之间的相互组合,甚至是范围和大小迥异的特征也可以组合起来作为分类的规则; ③ 提供了灵活的、可调整的特征描述,通过模糊运算和层次分析,能够进行复杂的分类和信息提取 ( 张永生等,2004) 。
本研究面向对象的地物分类方法技术流程如图 5 -5 所示。
图 5 -5 面向对象的地物分类方法技术流程图
⑶ “多尺度”目标检测问题
在目标检测任务中,被检测目标的大小经常是不固定的,例如,自动驾驶相关检测任务可能要同时检测大卡车与小狗;工业质检相关检测任务可能要同时检测布料的大面积撕裂与小穿孔;医疗病灶检测任务可能要同时检测大小不一的病灶。当被测物体尺度相差极大时,模型通常难以对极大和极小的目标同时进行检测。
首先,我们需要明白为什么被测物体尺度相差过大会导致模型精度降低。在物体检测领域中,各个模型的骨干网络,无外乎不是使用多层卷积逐步提取图像深层信息,生成多层特征图,并基于深层特征图做定位、分类等进一步处理。
在这“由浅至深”的特征提取过程中,浅层特征具有较高的分辨率,可以携带丰富的几何细节信息,但感受野很小且缺乏语义信息,与之相反的是,深层特征具备较大的感受野以及丰富的语义信息,但分辨率不高,难以携带几何细节信息。此时假设我们将模型继续加深,超深层特征中将具有极大的感受野,被测物体的语义信息也会因被周遭环境信息所稀释而降低。
如果训练数据中同时包含尺度极大和极小的被测物体,那么会发生什么呢?
如上图所示,假设模型一共有100层,大小目标的细节信息都随着模型层数的加深而衰退。对于语义信息而言,由于小目标尺度小,随着模型层数的增多(下采样次数的增多),语义信息可能在25层即提取完毕,之后随着层数的继续增加,小目标的语义信息也会快速被环境信息所稀释;而大目标尺度大,可能要在50层才能提取到足够的语义信息,但此时小目标的语义信息已经丢失的差不多了。
那么这个网络的深度应定为25层,还是50层,亦或是37层呢?定25层则对小目标的检测效果好而大目标检测能力差;定50层则反之;定37层则两类目标的检测能力较为均衡但都不在最好的检测状态。而这就是“多尺度”目标检测问题的根源所在。
以下是面对尺度变化范围过大导致精度降低的几种常见策略。
由同一图像生成的多张不同分辨率图像的集合,由大到小摞在一起,就是图像金字塔。图像金字塔可以通过对图像不断地进行梯次向下采样,直至达到某个终止条件而获得,这个过程看似十分简单,但是它可以十分有效的从多分辨率的角度来解释图像。图像金字塔的底部是待处理图像的高分辨率表示,而顶部是图像的低分辨率近似。
使用图像金字塔来解决“被测物体尺度变化幅度大导致模型精度降低“问题的过程可以看做是:将一张图片处理成图片金字塔后,随着金字塔层级的变化,单个被测物体也会生成由大到小的多种尺度。在将这些不同尺度的图片传入模型之后,即使模型只擅长对某一尺度范围内的物体进行识别,不论被测物大或小,总能在金字塔的某一层中被缩放至模型擅长处理的尺度范围内。请你思考一下,“图像金字塔”方法有哪些优缺点?
这种处理方法虽然通过多尺度的特征提取,解决了被测物体尺度变化范围过大的问题,但是会大幅增加内存占用量,导致复杂的网络难以进行训练;会大幅增加模型运算量,导致模型推理时间变长。
金字塔特征层级可以看做是一个特征图化的图像金字塔。模型一般浅层的特征图较大,后面会逐渐采用stride=2的卷积或者池化来降低特征图大小,可将前面较大的特征图和后面较小的特征图都用来做检测。
单次检测器模型(SSD)就尝试使用了金字塔特征层级的结构,SSD的“附加特征层(Extra Feature Layers)”中的特征图经由多次下采样,形成了不同尺度的4层特征图,而后在正向传播过程中重复使用这四层特征图分别进行预测,因此“金字塔特征层级”不会增加模型运算量,可看作是零计算成本的。但是与此同时,SSD没有重复使用VGG-Base中的特征图,而是再网络中的最高层之后添加几个新层,以此构建金字塔,因此它错过了重复使用特征层级中更高分辨率特征图的机会,但这些更高分辨率的特征图对于检测小目标很重要。
FPN的全称是Feature Pyramid Networks,即“特征金字塔网络”,总体结构如上图所示。FPN是一个利用深度卷积神经网络中固有的多尺度特征图,通过加入侧向连接和上采样,来以极小的附加计算量构建不同尺度的具有高级语义信息的特征金字塔的网络结构。
对于物体检测模型而言,FPN结构并不是模型中独立的一个模块,而是作为原始Backbone的附加项,融合在卷积神经网络之中。FPN结构可分为Bottom-up pathway和Top-down pathway and lateral connections两条主线,下面将以ResNet作为原始Backbone,为大家讲解FPN结构是如何运作的。
Bottom-up pathway即为由下至上的通路,也就是FPN结构图左侧的结构,它等价于标准ResNet骨干网络。首先回顾一下ResNet网络结构:
ResNet18网络的原始输入大小是(224x224),随后经由stride=2的卷积层或池化层,将特征图大小逐步缩放至(112x112)、(56x56)、(28x28)、(14x14)、(7x7)(忽略最后的Average pool、Fc、Softmax层),此时的特征图根据分辨率由大到小一次排开,就形成了一个特征金字塔的结构。此时可将这每个block的输出按顺序标记为{C1,C2,C3,C4,C5}。
Top-down pathway and lateral connections又可分为“由上至下的通路”以及“侧向连接”两部分,也就是FPN结构图右侧的结构。这部分的运算规则可表示为:
运算规则1:通过侧向连接取左侧Bottom-up pathway的顶层输出C5(size=7x7),经由1x1的卷积调整通道数(论文中将此通道数调整为256以便Faster RCNN后续计算)后,所得的结果即为Top-down pathway and lateral connections结构的顶层,可标记为M5(size=7x7)。
运算规则2:通过侧向连接取左侧的输出C4(size=14x14),并将所得的M5通过最近邻值插值法进行2倍上采样(size=14x14),再将C4与上采样的结果进行加和,所得结果可标记为M4(size=14x14)。
以此类推,后续还可运算求得M3(size=28x28)、M2(size=56x56)(M1理论上可求,但是由于C1仅由原图经一次卷积所得,几乎不具备任何语义信息,因此一般不做计算)。运算完成后,结构图可表示为:
上述步骤所获得的结果可按顺序标记为{M2,M3,M4,M5}。但这还不是最终的输出结果,因为上采样过程中产生的混叠效应会对后续预测造成影响,所以还需对所有经由上采样得到的特征图进行一次3x3的卷积,来消除混叠效应造成的影响并获得最终的输出结果,输出结果可标记为{P2,P3,P4,P5}。由于M5并不是由上采样所得,故只需对{M2,M3,M4}做卷积即可。
上图展示的即为FPN结构的全部计算流程。
数据增强是一种提升小目标检测性能的最简单和有效的方法,通过不同的数据增强策略可以扩充训练数据集的规模,丰富数据集的多样性,从而增强检测模型的鲁棒性和泛化能力。常见的数据增强方法如下图所示:
数据增强这一策略虽然在一定程度上解决了小目标信息量少、缺乏外貌特征和纹理等问题,有效提高了网络的泛化能力,在最终检测性能上获得了较好的效果,但同时带来了计算成本的增加。而且在实际应用中,往往需要针对目标特性做出优化,设计不当的数据增强策略可能会引入新的噪声,损害特征提取的性能,这也给算法的设计带来了挑战。
生成对抗学习的方法旨在通过将低分辨率小目标的特征映射成与高分辨率目标等价的特征,从而达到与尺寸较大目标同等的检测性能。前文所提到的数据增强、特征融合和上下文学习等方法虽然可以有效地提升小目标检测性能,但是这些方法带来的性能增益往往受限于计算成本。例如Noh等人提出了新的特征级别的超分辨率方法,该方法通过空洞卷积的方式使生成的高分辨率目标特征与特征提取器生成的低分辨率特征保持相同的感受野大小,从而避免了因感受野不匹配而生成错误超分特征的问题。
“FPN是一个利用深度卷积神经网络中固有的多尺度特征图,通过加入侧向连接和上采样,来以极小的附加计算量构建不同尺度的具有高级语义信息的特征金字塔的网络结构。”
1.FPN结构与标准的单特征图输出的卷积神经网络进行比较:单特征图输出的卷积神经网络只输出最后一次特征图,容易丢失小目标的细节信息。
2.