本文主要是介绍论文阅读 Perceptual Generative Adversarial Networks for Small Object Detection,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- Perceptual Generative Adversarial Networks for Small Object Detection
- Abstract
- 1. Introduction
- 2. Related Work
- 3. Perceptual GANs
- 3.1. Overview
- 3.2. Conditional Generator Network Architecture
- 3.3. Discriminator Network Architecture
- 4. Experiments
- 4.1. Datasets and Evaluation Metrics
- 4.2. Implementation Details
- 4.3. Performance Comparison&&4.4. Ablation Studies
- 4.5. Discussion on General Small Object Detection
- 5. Conclusion
Perceptual Generative Adversarial Networks for Small Object Detection
Abstract
因其低分辨率和噪声,检测小物体具有很大的挑战。现有的物体检测流程通常通过学习多个尺度上所有物体的representations来检测小物体。然而,这种临时架构的性能提升通常受限于计算成本。在这项工作中,我们通过开发一种单一架构来解决小物体检测问题,将小物体的representations提升到"super-resolved",实现与大物体类似的特征,从而更有利于检测。为此,我们提出了一种新的感知生成对抗网络(Perceptual GAN)模型,通过缩小小物体与大物体之间的representation difference来改进小物体检测。具体而言,其 generator 学习将小物体的 poor representations表示转换为足够接近真实大物体的超分辨率表示,以欺骗一个discriminator。同时,其discriminator与generator 竞争,识别generated representation,并对generator 施加额外的感知要求 - 小物体的生成表示必须有助于检测。
1. Introduction
近年来,目标检测领域取得了显著的进展,主要得益于深度学习的应用。这些pipelines从(RoI)学习 deep representations,并基于这些学到的representations进行分类,比如Fast R-CNN 和Faster R-CNN 。这些pipelines在大尺寸、高分辨率、清晰外观和结构明显的目标上表现出色,因为可以从这些目标中学习到有区分度的特征。然而,它们通常无法有效检测非常小的目标,因为这些小目标的外观和结构质量较差,如图1所示,从这些目标中学习丰富的representations非常困难。然而,小目标在许多实际应用中非常常见,比如交通标志检测、自动驾驶中的行人检测等。与普通目标检测相比,小目标检测更具有挑战性,迄今为止,解决方案仍然较少。
已经有一些工作专注于解决小目标检测问题。其中一种常见的方法是增加输入图像的尺寸,以增强小目标的分辨率并生成高分辨率的特征图。另一些方法则专注于开发网络变体,生成multi-scale representation,通过多个较低层次的特征层来增强高级小尺度特征。然而,所有这些方法都试图通过数据增强或简单地增加特征维度来提高小目标检测的性能。仅仅增加输入图像的尺寸通常会导致训练和测试的时间开销较大。此外,由低级特征构建的多尺度表示就像一个黑盒子,不能保证所构建的特征对于目标检测来说具有足够的可解释性和区分性。在这项工作中,我们认为,有效地表示小目标的一种更好的方法是发现每个类别的小尺度和大尺度目标之间的内在结构关联,然后以更加智能的方式使用转换后的表示来提升网络的能力。
因此,我们提出了一种感知生成对抗网络(Perceptual GAN),用于生成 super-resolved representations,以实现更好的小目标检测。Perceptual GAN 的目标是通过充分利用网络学习过程中不同尺度对象之间的结构相关性,增强小目标的representations 。它由两个子网络组成,即generator network和perceptual discriminator network。
具体而言,生成器是一个基于深度残差结构的feature生成模型,通过从较低层次引入 fine-grained details ,将原始的质量较差的小目标特征转换为有区分度的特征,实现intermediate representations的“超分辨率”。判别器网络作为监督器,对生成的 fine-grained details 的质量和优势提供判断。与传统的 GAN 不同,传统 GAN 的判别器仅被训练用于区分真实和伪造的representations,我们提出的 Perceptual GAN 包含一种专为检测量身定制的perceptual
loss。换句话说,判别器网络的训练不仅用于区分生成的针对小目标的超分辨率representations和来自真实大目标的原始representations,还用perceptual loss来证明由于生成的超分辨率特征而带来的检测准确性的提升。
我们采用 alternative manner来解决生成器和判别器网络的min-max problem。具体来说,生成器网络的训练目标是通过从小目标生成最类似大目标的representations来欺骗判别器,并同时提高检测准确性。另一方面,判别器被训练以提高其区分能力,正确地将生成的超分辨率representations与来自真实大目标的representations区分开,并向生成器提供有关定位精度的反馈。通过这两个网络之间的竞争,生成器有效地训练出了能够提供高检测准确性的小目标超分辨率representations。
总结起来,这项工作具有以下贡献:(1) 我们是第一个成功地将类似GAN的模型应用于解决小尺度目标检测问题。(2) 我们引入了一种新的conditional generator模型,学习大目标和小目标之间的additive residual representation,而不是像以前一样生成完整的representation。(3) 我们引入了一种新的感知判别器,为detections提供更全面的监督,而不仅仅是区分伪造和真实的representation。(4) 我们在交通标志检测和行人检测方面取得了成功的应用,并达到了最先进的性能水平。
2. Related Work
略过
3. Perceptual GANs
我们提出了一种新的Perceptual GAN网络,以解决小目标检测问题。我们在generator model上引入了新的设计,使其能够为小目标生成super-resolved representations,同时还设计了一个新的discriminator,考虑adversarial loss和perceptual loss来"监督"生成过程。在本节中,我们首先从整体上介绍Perceptual GAN的交替优化过程。然后,我们详细说明用于生成超分辨率特征的生成器和用于对抗性学习的判别器的细节。
3.1. Overview
传统的GAN模型的学习目标可以看作是一个极小极大的二人博弈,表示为
其中G表示一个生成器,它学习将来自噪声分布pz(z)的数据z映射到数据分布pdata(x)上,而D则表示一个判别器,用于估计样本来自数据分布pdata(x)而不是G的概率。G的训练过程是最大化D犯错误的概率。
在我们的情况下,x和z分别表示大目标和小目标的representations,即Fl和Fs。我们的目标是学习一个生成器函数G,将小目标Fs的representations转换为类似于大目标Fl原始representations的超分辨率表示G(Fs)。由于Fs中包含的信息有限,学习小目标的representations G(Fs)与大目标特征Fl的分布相匹配可能会很困难。因此,我们引入了一种新的条件生成模型,该模型以额外的辅助信息为条件,即小目标的低级特征f,通过残差学习的方式学习生成大目标和小目标之间的residual representation。
在这种情况下,生成器的训练可以大大简化,而不是直接学习小目标的 super-resolved representations 。例如,如果输入representation来自大目标,生成器只需要学习一个零映射(即保持原始表示不变)。此外,我们引入了perceptual loss discriminator,以利于检测任务,具体细节如下。
如图2所示,生成器网络的目标是为小目标生成super-resolved representation。判别器包括两个分支,即 adversarial branch 用于区分生成的超分辨率表示和大目标的原始表示,以及 perception branch 用于验证由 generated representation所带来的检测准确性的提升。我们通过交替优化生成器和判别器网络中嵌入的参数来解决adversarial min-max problem。
我们用GΘg表示参数为Θg的生成器网络。通过优化损失函数Ldis,我们得到Θg:
其中Ldis是由判别器网络产生的对抗损失Ldis_a和感知损失Ldis_p的加权组合(详见第3.3节)。判别器网络的对抗分支被训练成最大化概率,即对于生成的小目标的超分辨率表示GΘg(Fs)和大目标特征Fl,都分配正确的标签。
判别器网络的对抗分支,参数化为Θa,通过特定的损失函数La进行训练:
其中损失La定义为:
这鼓励判别器区分当前生成的小目标超分辨率表示和来自真实大目标的原始表示。
为了验证从生成的 super-resolved representation中受益的检测准确性,感知分支应首先在大目标的特征上进行充分训练,以达到高检测准确性。用DΘp表示参数为Θp的感知分支。我们通过优化特定的损失函数Ldis_p与大目标的representation进行训练:
其中Ldis_p是一个考虑了分类和边界框回归的多任务损失(详见第3.3节)。
训练过程涉及两个子集,一个包含小目标,另一个包含大目标。最初,我们首先在包含大目标的子集上学习底层卷积层和判别器网络的感知分支。在感知分支的指导下,我们进一步在包含小目标的子集上训练生成器网络和判别器网络的对抗分支。我们交替执行生成器和判别器网络的训练过程,直到最终达到一个平衡点,即为小目标生成类似于大目标的super-resolved features,并实现高检测准确性。
3.2. Conditional Generator Network Architecture
生成器网络的目标是为小目标生成super-resolved representations,以提高检测准确性。为了实现这一目的,我们将生成器设计为一个深度残差学习网络,通过残差学习引入更多fine-grained details,将小目标的representations增强为超分辨率representations。
如图3所示,生成器以来自底层卷积层的特征作为输入,这些特征保留了许多low-level details。生成器首先将得到的特征通过3×3卷积滤波器,然后再经过1×1卷积滤波器,将特征维度增加到与“Conv5”相同。接着,引入B个残差块,每个残差块由两个3×3卷积滤波器、 batch-normalization层和ReLU激活层组成,用于学习大目标和小目标之间的residual representation,作为生成模型。学习得到的residual representation随后用于通过RoI池化对来自“Conv5”的小目标候选区域进行特征增强,通过 element-wise的求和操作产生超分辨率representation。
3.3. Discriminator Network Architecture
如图3所示,discriminator network被训练用于区分生成的小目标超分辨率特征和来自真实大目标的原始特征,并验证由生成的超分辨率特征所带来的检测准确性。判别器将生成的超分辨率representation作为输入,将其分别传入两个分支:对抗分支和感知分支。对抗分支由两个全连接层和一个带有sigmoid激活函数的输出层组成,产生 adversarial loss。感知分支由两个全连接层和两个带有激活函数的输出层组成,产生 perceptual loss,以验证对检测性能的贡献。
对于两个分支的前两个全连接层的输出单元数,我们设定为4096和1024。给定对抗损失Ldis_a 和感知损失Ldis_p ,可以通过加权求和产生最终的损失函数Ldis 。给定权重参数w1和w2,我们定义Ldis = w1 × Ldis_a + w2 × Ldis_p,以鼓励生成器网络生成具有高检测准确性的超分辨率representation。在这里,我们将w1和w2都设为1。
Adversarial Loss 将DΘa表示为判别器网络的对抗分支,其参数为Θa。将每个object proposal的生成representation GΘg(Fs)作为输入,该分支输出the estimated probability of the input representation belonging to a real large object,表示为DΘa(GΘg(Fs))。通过generated representation尝试欺骗判别器网络 ,引入对抗性损失来鼓励生成器网络产生与大目标相似的超分辨率representation。对抗性损失Ldis_a定义为:
Perceptual Loss 将每个候选区域的超分辨率representation 作为输入,感知分支输出K+1个category-level的置信度p=(p0, …, pk)和每个K个对象类别的边界框回归偏移rk=(rkx, rky, rkw, rkh)。rk指定了相对于对象候选区域的尺度不变平移和对数空间高度/宽度偏移。每个训练候选区域都带有一个ground-truth类别g和一个ground-truth边界框回归目标r∗。针对每个对象候选区域,计算以下多任务损失Ldis_p,以验证从生成的超分辨率特征中受益的检测准确性:
其中Lcls和Lloc分别是分类和边界框回归的损失。特别地,Lcls(p, g) = - log pg 是用于ground-truth类别g的对数损失,Lloc是smooth L1 loss。对于背景候选区域(i.e g = 0),Lloc被忽略。
4. Experiments
4.1. Datasets and Evaluation Metrics
略过
4.2. Implementation Details
为了进行交通标志检测,我们使用预训练的VGGCNN-M-1024模型,来初始化我们的网络。对于行人检测,我们使用预训练的VGG-16模型。对于生成器和判别器网络,新增的卷积层和全连接层的参数使用“Xavier”初始化方法。我们将图像缩放为1600像素和960像素,分别作为交通标志检测和行人检测的输入图像的最短边。我们通过步幅为2的卷积层直接进行下采样。基于公开可用的Fast R-CNN框架实现,该框架构建在Caffe平台上。
整个网络使用随机梯度下降(SGD)进行训练,momentum为0.9,权重衰减为0.0005,使用一块带有12GB内存的NVIDIA GeForce GTX TITAN X GPU。对于生成器网络的训练,每个SGD mini-batch包含每个训练图像中的128个选定的对象候选区域。在每个mini-batch中,有25%的对象候选区域是前景,与至少0.5 IoU的ground truth边界框重叠,其余的是背景。对于判别器网络的训练,每个SGD mini-batch包含来自四个训练图像的32个选定的前景对象候选区域。生成器网络中残差块的数量B设置为6。对于Tsinghua-Tencent 100K数据集,我们训练一个Region Proposal Network (RPN),用于在训练和测试图像上生成对象候选区域。对于Caltech数据集,我们使用在Caltech训练集上训练的ACF行人检测器来生成对象候选区域。在测试阶段,平均每个图像的Perceptual GAN处理时间不超过0.6秒(不包括对象候选区域生成时间)。
4.3. Performance Comparison&&4.4. Ablation Studies
略过
4.5. Discussion on General Small Object Detection
为了评估所提出的生成器在更一般和多样化的目标类别上的泛化能力,我们将所提出的检测流程与生成器网络端对端地在PASCAL VOC 2007和VOC 2012的trainval数据集上进行训练,并在VOC 2007的测试集上评估。我们选择其中最具挑战性的类别(如boat,bottle,chair和plant),这些类别的中小实例最为普遍。我们的方法在boat,bottle,chair和plant四个类别上的平均精度(AP)分别达到了69.4%,60.2%,57.9%和41.8%。它明显优于Fast R-CNN 的基线结果,即59.4%,38.3%,42.8%和31.8%,充分证明了所提出的生成器在普通小目标检测中的泛化能力。
5. Conclusion
In this paper, we proposed a novel generative adversarial network to address the challenging problem of small object detection. Perceptual GAN generates super-resolved representations for small objects to boost detection performance by leveraging the repeatedly updated generator network and the discriminator network. The generator learns a residual representation from the fine-grained details from lowerlevel layers, and enhances the representations for small objects to approach those for large objects by trying to fool the discriminator which is trained to well differentiate between both representations. Competition in the alternative optimization of both networks encourages the Perceptual GAN to generate super-resolved large-object like representations for small objects, thus improving detection performance. Extensive experiments have demonstrated the superiority of the proposed Perceptual GAN in detecting small objects.
这篇关于论文阅读 Perceptual Generative Adversarial Networks for Small Object Detection的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!