前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Generative Modeling for Small-Data Object Detection

Generative Modeling for Small-Data Object Detection

作者头像
狼啸风云
发布2023-10-07 15:40:12
1600
发布2023-10-07 15:40:12
举报

摘要

 本文探讨了小数据模式下的目标检测,由于数据稀有和注释费用的原因,只有有限数量的注释边界框可用。这是当今的一个常见挑战,因为机器学习被应用于许多新任务,在这些任务中,获得训练数据更具挑战性,例如在医生一生中有时只看到一次罕见疾病的医学图像中。在这项工作中,我们从生成建模的角度探讨了这个问题,方法是学习生成具有相关边界框的新图像,并将其用于训练目标检测器。我们表明,简单地训练先前提出的生成模型并不能产生令人满意的性能,因为它们是为了图像真实性而不是目标检测精度而优化的。为此,我们开发了一种具有新型展开机制的新模型,该机制联合优化生成模型和检测器,以使生成的图像提高检测器的性能。 我们表明,该方法在疾病检测和小数据行人检测这两个具有挑战性的数据集上优于现有技术,将NIH胸部X射线的平均精度提高了20%,定位精度提高了50%。

1、介绍

 生成对抗性网络(GANs)最近取得了显著进展,最新的模型能够生成与真实图像几乎无法区分的高质量照片逼真图像。最近开始探索的一个自然问题是,这些生成的图像在其他方面是否有用;例如,它们能成为下游任务的有用训练数据吗?

 一个可以从生成的数据中受益的常见计算机视觉任务是物体检测,目前需要大量的训练数据才能获得良好的性能。但对于许多目标检测任务,由于目标稀少以及难以获得目标位置注释,因此很难获得大型数据集。一个常见的例子是医学图像——疾病检测几乎没有标记的目标边界框数据,因为天生的疾病很罕见,而且注释只能由专业人员完成,因此成本高昂。解决这种罕见的数据目标检测问题是有价值的:例如,对于疾病定位,一个好的疾病检测器可以帮助放射科医生加快分析过程,减少遗漏肿瘤的机会,甚至在放射科医生不可用的情况下直接提供医疗报告。

 在本文中,我们探索使用生成模型来提高小数据目标检测的性能。直接应用现有的生成模型是有问题的。首先,先前关于生成模型的目标插入的工作通常需要分割掩模,而分割掩模通常不可用,例如在疾病检测任务中。其次,GANs被设计用于生成逼真的图像(与真实图像无法区分),但逼真度并不能保证它可以帮助完成下游的目标检测任务。特别地,没有从检测器到发生器的直接反馈;这意味着不能明确地训练生成器来改进检测器。

为了解决这一问题,我们提出了一种新的检测器GAN模型(如图1所示),该模型将检测器和GAN连接在一起。该联合模型将检测器集成到生成器鉴别器管道中,并训练生成器以明确提高检测性能。

 检测器GAN在生成器之后有两个分支:一个带有鉴别器,以提高生成图像的真实性和可解释性,另一个带有检测器,以反馈生成图像对检测器的改进程度。我们共同优化对抗性损失和检测损失。为了生成对检测器有益的图像,损失公式是不平凡的。一个困难是,我们的目标是生成的图像提高真实图像的检测器性能,但生成器无法从真实图像的检测损失中接收梯度,因为没有生成真实图像。为了解决这一问题,所提出的方法通过展开检测器训练的一个前向-后向通道来桥接生成器和真实图像上的检测损失之间的这种联系。

 我们在疾病检测和行人检测的两个数据集中证明了使用DetectorGAN改进小数据对象检测的有效性。检测器集成的GAN模型在NIH胸部X射线疾病定位任务中实现了最先进的性能,得益于额外生成的训练数据。特别地,DetectorGAN通过添加1000个合成图像,将结节检测器的平均精度提高了相对20%,并且在定位精度方面优于现有技术相对50%。我们还表明,所提出的框架显著提高了生成图像的质量:在96%的情况下,放射科医生更喜欢DetectorGAN生成的图像,而不是替代方法。检测器模型可以集成到几乎任何现有的GAN模型中,以迫使它们生成既逼真又对下游任务有用的图像。 我们以行人检测任务和相关的PS-GAN为例,展示了生成图像在数量和质量上的显著改进。

我们的贡献是:

1.据我们所知,这项工作首先将检测器集成到GAN管道中,以便检测器向生成器提供直接反馈,以帮助生成有利于检测的图像。

2.我们提出了一种新的展开方法来弥合生成器和真实图像检测性能之间的差距。

3.所提出的模型在包括疾病检测和行人检测在内的两项具有挑战性的任务上优于GAN基线,并在NIH胸部X射线疾病定位方面达到了最先进的性能。

4.我们是第一批探索具有下游视觉任务(如小数据对象检测)的GANs的工作。

2、相关工作

图像到图像的翻译

基于生成对抗性网络的条件版本,Isola等人率先提出了通用的图像到图像翻译任务。之后,许多其他工作也利用像素级重建约束来在源域和目标域之间转移。这些图像到图像的翻译框架功能强大,但需要具有成对源/目标图像的训练数据,这通常很难获得。不成对的图像到图像翻译框架消除了成对图像监督的要求;在CycleGAN中,这是通过在源和目标之间执行双向预测来实现的。所提出的DetectorGAN属于不成对的图像到图像翻译框架的类别。它的新颖之处在于,它将检测器集成到GAN中,以生成图像作为目标检测的训练数据。

使用GANs插入目标

最近已经探索了通过GANs来操纵图像的想法。这些作品使用生成模型来编辑场景中的对象。相反,(1)我们的方法不需要任何分割信息;(2)我们的目标是在目标检测任务上获得定量的改进,而先前的工作侧重于定性的改进,如真实性。

GANs和分类器的集成

除了使用对抗性损失生成真实图像的基本思想之外,一些GAN模型将辅助分类器集成到生成模型管道中,例如辅助分类器GAN(ACGAN)和相关工作。乍一看,这些模型与我们与探测器的集成有一些相似之处。然而,我们在概念上和技术上都与它们不同。从概念上讲,这些方法只提高了生成图像的真实性,而无意提高集成分类器;相比之下,我们集成的目的是提高检测性能。从技术上讲,我们的损失公式是不同的:ACGAN仅在合成图像上最大限度地减少分类损失,并且不能保证提高真实图像的性能,而我们通过添加展开步骤来优化合成图像和真实图像的损失。 然而,我们构造了一个具有ACGAN样损失的基线,这只会使合成图像上的检测损失最小化,并表明我们提出的方法优于它。

目标检测的数据增强

 有一些工作使用数据增强来改进目标检测。A-Fast-RCNN使用对抗性学习生成硬数据增强转换,特别是用于遮挡和变形。它在两个主要方面与本文中的方法不同:(1)它不是GAN模型——它不生成图像,而是在检测器网络中添加对抗性数据增强。相比之下,我们的模型有一个鉴别器和检测器,它们可以一起生成合成图像。(2) 它的目标是学习一种对遮挡和变形不变的物体检测器。相比之下,本文侧重于为训练数据量有限的问题设置生成合成数据。

感知GAN生成合成图像以改进检测。然而,它是专门为小尺寸物体检测而设计的,通过将小尺寸物体超分辨为更好的表示。他们的方法不能推广到一般的物体检测。同时未发表的工作PS-GAN与此密切相关:生成合成图像是为了改进行人检测。他们使用传统的生成器-鉴别器架构生成合成图像。相反,我们在发生器鉴别器回路中添加了一个检测器,并从检测器直接反馈到发生器。

3、DetectorGAN

 我们的DetectorGAN方法生成合成训练图像,直接提高检测性能。它有三个组件:一个生成器、(多个)鉴别器和一个检测器。检测器向生成器提供关于生成的图像是否正在提高检测性能的反馈。鉴别器提高了生成图像的真实性和可解释性;也就是说,鉴别器有助于产生逼真和可理解的合成图像。

3.1、模型结构

 我们基于CycleGAN实现了我们的体系结构。DetectorGAN中的生成器生成合成标记(插入目标)图像,这些图像随后被馈送到两个分支:鉴别器分支和检测器分支。我们认为没有目标的干净图像属于域X,而有目标的标记图像属于域Y。

生成器

 我们使用具有9个块的ResNet生成器作为我们的生成器GX和GY。正向生成器GX接受两个输入:一个是真实的干净图像,用作插入对象的背景图像。另一个是掩码,其中要插入的对象的边界框内的像素填充为1,而其余像素为0。生成器的输出是具有输入背景和插入在标记位置的对象的合成图像。相反,反向生成器GY获取真实标记图像和显示对象位置的掩模,并输出去除了指示对象的图像。

 很难获得物体的合理插入位置。在本文中,对于NIH疾病任务,我们通过预处理和随机抽样获得这些位置。理论上,位置可以在肺区域的任何位置,但由于在实践中我们没有肺区域的分割掩模,我们首先将每个干净的图像与带有边界框的最相似的标记图像进行匹配,然后随机移动位置,以获得采样的地面实况框位置。对于行人检测任务,我们遵循先前工作[24]中的设置。值得注意的是,掩模位置的选择并没有改变我们的方法——作为一种替代方法,我们可以使用可训练的方法来预测合理的位置。

鉴别器

我们的方法包含两个全局鉴别器

,如CycleGAN中所述,以及一个用于局部区域真实性的局部鉴别器

。全局鉴别器

和局部鉴别器

在真实标记图像和合成标记图像(由

G_X
G_X

生成)之间、在整个图像上全局地或在边界框裁剪上局部地进行区分。

区分

G_Y
G_Y

生成的图像(通过从真实标记图像中移除对象来合成干净图像)和真实干净图像。不需要

,因为从概念上讲,我们不太关心移除对象后的局部真实性。我们在[11,10,31]之后对所有鉴别器使用70×70 PatchGAN。

检测器

DET以物体作为输入和输出边界框来获取真实的和合成的标记图像。在我们的实现中,我们使用RetinaNet检测器。但我们不仅限于RetinaNet:只要检测器是可训练的,我们就可以将其集成到循环中。

3.2、用检测损失训练生成器

 生成器

G_X
G_X

的目标是生成插入对象的图像,这些图像既逼真又有益,以提高对象检测性能。我们的主要贡献之一是,我们提出了一种将从检测损失中获得的梯度反向传播回生成器的方法,以帮助生成器生成可以更好地帮助改进检测器的图像。换言之,检测损失给发生器反馈,以生成用于检测器的有用图像。我们注意到检测损失(回归和分类损失)为

,其中·是标记图像,无论是真实图像还是合成图像。真实图像和合成图像的检测损失为:

 推出以优化真实图像上的检测损失。直观地说,给定真实图像

y
y

G_X
G_X

的目标是使用生成的图像来帮助最大限度地减少真实图像上的检测损失。也就是说,

G_X
G_X

应该被训练以最小化等式1中的损失

。然而,乍一看不涉及

G_X
G_X

——损失

不取决于

G_X
G_X

的重量,因此

G_X
G_X

无法训练。但我们观察到,尽管在从

G_X
G_X

到真实图像的一个前向-后向循环中没有直接链接,但检测器是由

G_X
G_X

在前一步中生成的合成图像训练的。我们建议通过展开检测器的单个前向-后向通路来桥接

G_X
G_X

和真实图像检测损失

之间的链路,如等式所示。3.该展开过程的可视化如图2所示。这使我们能够针对损失

训练

G_X
G_X

。 

具体而言,我们用合成图像和真实图像训练权重DET进行一次迭代,并获得DET上的梯度。这些梯度与生成的合成图像相关联,从而与生成器

G_X
G_X

中的权重相关联。然后我们使用更新的DET来获得

损失和梯度。通过这种方式,我们获得了从

G_X
G_X

到DET,然后到

的链接。直观地说,这个方程。可以被视为

G_X
G_X

的变化将如何改变方程中的真实图像上的检测性能的简单估计。

合成图像的检测损失

生成器的目的是使合成图像对检测器有帮助。它最大化了合成图像上的检测损失(等式2),以生成检测器以前没有看到过并且不能很好地预测的图像。在这种情况下,生成的图像可以帮助提高性能。人们可能认为生成器应该将合成图像上的检测损失降到最低。这与ACGAN类损失有一些相似的想法,其中合成图像上的辅助分类损失被最小化,以提高真实感。但对于我们提高真实图像检测性能的目标来说,最大限度地减少合成图像的检测损失可能于事无补,甚至可能损害真实图像的检测性能。这背后的直觉是,合成物体可能会分散对探测器优化目标的注意力。在我们的实验中,我们表明,像ACGAN这样的合成图像损失最小化会损害真实图像的检测性能。

3.3、总体上的损失和训练

整体损失 生成器

G_X
G_X

的目的是生成具有插入在背景图像中的指示位置处的对象的图像。生成的图像应该既逼真又有益,以提高物体检测性能。换句话说,DetectorGAN模型应该生成以下图像:(1)可以帮助训练更好的检测器;(2) 插入一个目标;以及(3)在全局和局部上与真实图像不可区分。我们引入了损耗来帮助上述检测器。对于插入目标,我们使用

L_1
L_1

损失来最小化合成对象裁剪和真实目标裁剪之间的损失(称为BboxLoss):

为了生成逼真的图像,我们对全局鉴别器和局部鉴别器进行了对抗性损失。对于

,对抗性损失为

,如等式4所示。

相似。

 此外,我们使用循环一致性损失和身份损失来帮助保存整个图像中的信息。这里

G_X
G_X

G_Y
G_Y

的目的是欺骗鉴别器,而鉴别器的目的是区分假图像和真图像。生成器和鉴别器因此优化

 我们通过最小化真实图像和合成图像的检测损失来更新检测器DET的权重:它最小化式1和式2. 

训练

总之,在更新鉴别器时,目标是最大限度地增加生成图像上的鉴别器损失,并最大限度地减少真实结节图像上的损失。在更新探测器时,目标是最大限度地减少真实和生成的结节图像的检测损失。当更新生成器时,目标是:(1)最小化所生成图像上的鉴别器损失;(2) 最小化对真实对象图像的检测损失,(3)最大化对生成图像的检测损耗。我们使用合成图像的历史,为了更快地收敛,我们分别预训练鉴别器-生成器对和检测器,然后联合训练它们。当我们有一个没有边界框注释的标记图像时,我们仍然会更新鉴别器

以提高全局真实性。

4、实验

 在本节中,我们展示了DetectorGAN在两项任务上的有效性:使用NIH胸部X射线数据集的结节检测任务和使用Cityscapes数据集的行人检测任务。我们在结节检测任务上取得了比基线显著的改进,并取得了最先进的结果。

 4.1、病灶定位

 我们使用美国国立卫生研究院胸部X射线数据集[28],并专注于结节检测任务。美国国立卫生研究院胸部X射线数据集包含112120张X射线图像——60412张干净图像和51708张疾病图像,其中880张具有边界框。就结节类别而言,有6323张结节图像,其中78张具有边界框。

改进和扩展注释

然而,由于以下问题,该数据集的边界框注释并不令人满意:(1)在原始论文和先前的工作[28,19]中,没有标准的训练/测试/验证划分。(2) 边界框注释不完整;也就是说,对于每个图像,注释的每个类最多只有一个边界框,而实际上在图像中存在许多结节。(3) 即使采用标准的训练/测试/验证划分,测试和验证集也太小,无法获得稳定和有意义的结果。为了解决这些问题,我们做出了以下努力,使疾病检测任务更标准,更容易进行研究:(1)用0.7/0.2/0.1部分数据生成无患者重叠序列/测试/验证分割,生成57/13/9图像和57/13/9对象实例。(2) 要求放射科医生使用测试/验证集中标记图像的额外图像重新注释当前验证和测试图像。这些努力相应地在验证和测试集中产生了36个图像和80个图像,分别有159个和309个对象实例。这些拆分和扩展注释将在网上发布,以促进未来对该主题的研究。我们没有重新注释或扩展训练集,因为我们想证明所提出的方法在学习小数据目标检测任务中的有效性。

我们将9/13验证/测试设置称为“旧注释”,将36/80验证/测试设定称为“新注释”。我们获得了“新注释”的检测AP和“旧注释”的定位精度,以便与先前发表的结果进行公平比较。

 基线和以前的工时。基线是:仅使用真实图像进行训练,使用CycleGAN和BboxLoss生成的额外合成图像,以及使用ACGAN类损失生成的额外综合图像。类ACGAN损失是指除了鉴别器损失外,我们还将合成图像上的检测损失降至最低,类似于ACGAN对分类器的作用。我们在新的高质量注释上比较了这些方法。此外,我们使用它们的评估划分和注释(“旧注释”)与之前发表的两部表现最好的作品[28,19]进行了比较。

评估指标

我们使用标准的目标检测指标平均精度(AP)作为检测任务的评估指标。为了与之前的工作进行比较,我们还使用了他们的指标:定位精度,定义为获得正确预测的图像的百分比。如果预测区域(可以是非矩形)和标签框之间的并集交集(IOU)比高于阈值TIOU,则认为图像具有正确的预测。这些工作使用的另一个度量是用边界框IOBB上的交集来代替IOU。然而,我们鼓励研究人员在未来使用所提出的新注释和评估指标进行标准比较。

4.1.2、定量比较

具有平均精度的新注释。在表1中,我们比较了仅使用真实数据、使用所提出方法的合成数据以及其他基线GAN模型的结果。我们观察到DetectorGAN显著提高了平均精度。与仅根据真实数据进行训练相比,AP从0.124增加到0.236,几乎翻了一番,回忆从0.184增加到0.649,翻了三倍多。与ACGAN类损失和CycleGAN+BboxLoss相比,我们获得了相对50%和20%的改进。

我们注意到,类ACGAN损失比仅使用鉴别器损失表现更差,尽管它有额外的损失来提高合成图像的检测性能。一种解释是,生成器和检测器只学习检测合成物体,这与检测真实物体的目标不同,导致性能较差。

为了进一步证明使用展开步骤来弥合生成器和真实图像检测性能之间的差距的好处,我们还对“DetectorGAN-展开”网络进行了实验,而无需展开。我们观察到,添加展开步骤会显著提高,从0.203 AP提高到0.236 AP。

具有定位精度的旧注释。

为了与之前的工作进行比较,我们使用具有不同IOU和IOBB阈值的定位精度度量来评估检测结果。结果如表2和表3所示。我们显著优于竞争方法,分别提高了50%和22%。

4.1.3、定性分析

生成的图像质量

我们在图3中显示了DetectorGAN生成的图像以及CycleGAN生成图像。我们观察到,图像在真实感和融合性方面要好得多。

检测到结节

我们在图5中展示了探测器有助于检测无法检测到的结节。我们观察到,基线(仅在真实图像上训练)捕获的每个结节也由使用合成图像训练的模型捕获。同时,添加合成图像有助于捕获更多基线无法捕获的结节。此外,盒子的位置通常更准确。

4.1.4、用户研究

我们还与放射科医生一起进行用户研究,以评估生成图像的质量。我们要求放射科医生在Likert量表(1-5级,5级表示最高质量)上对插入结节和全局图像的真实性进行评分。如表4所示,DetectorGAN的图像在96%的情况下优于CycleGAN+BboxLoss的图像,生成的物体(结节)在80%的情况下更好。此外,Likert的平均得分明显更高:物体的平均得分为2.69分,而整个图像的平均得分则为3.88分,而不是1.18分,这证明了我们方法的优点。

4.2、行人检测

为了证明DetectorGAN对其他数据集和问题的适用性,我们将其应用于具有不同基础架构的行人检测。我们遵循PSGAN[24]来合成插入行人的图像,并改进行人检测。我们通过将检测器添加到环路中,展示了生成图像的定量和定性改进。 数据集

我们使用Cityscapes数据集,该数据集包含5000幅具有高质量注释的城市场景图像。我们遵循PS-GAN论文中的说明,对行人较小或被遮挡的图像进行过滤,获得约2000张图像,其中约9000个标记实例。

基线和体系结构

我们使用PS-GAN作为主干架构,并将检测器添加到模型中。PS-GAN使用带有本地鉴别器的标准pix2pix框架。这也表明DetectorGAN的想法是通用的——它可以与不同的GAN模型集成。我们从预训练的PSGAN模型中调整模型。 定量结果 表5显示,我们还提高了行人检测的检测性能。我们观察到DetectorGAN比PS-GAN进一步提高了性能。这里的所有模型都使用相同的设置进行训练。仅真实图像的基线性能与PS-GAN论文中报道的略有不同,因为我们无法获得PS-GAN文章中使用的检测器设置的确切细节。

定性结果 定性结果如图4所示。我们观察到DetectorGAN可以用更少的伪影生成质量更好的图像。

5、结论

在这项工作中,我们通过学习生成具有相关边界框的新图像,从生成建模的角度探讨了小数据领域中的对象检测问题。我们已经表明,简单地训练现有的生成模型并不能产生令人满意的性能,因为它是为了图像真实性而不是目标检测精度而优化的。为此,我们开发了一种具有新展开步骤的新模型,该步骤联合优化生成模型和检测器,以使生成的图像提高检测器的性能。我们表明,这种方法在两个具有挑战性的数据集上显著优于现有技术。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 摘要
  • 1、介绍
  • 2、相关工作
  • 3、DetectorGAN
    • 3.1、模型结构
      • 3.2、用检测损失训练生成器
        • 3.3、总体上的损失和训练
        • 4、实验
          •  4.1、病灶定位
            • 4.1.2、定量比较
            • 4.1.3、定性分析
            • 4.1.4、用户研究
            • 4.2、行人检测
        • 5、结论
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档