• Task-Driven Super Resolution: Object Detection in Low-resolution Images


    参考   Task-Driven Super Resolution: Object Detection in Low-resolution Images - 云+社区 - 腾讯云

    目录

    摘要

    1、简介

    2、相关工作

    3、任务驱动的超分

    3.1、组成网络

    3.2、任务驱动的训练

    3.3、训练步骤

    4、实验结果

    4.1、实现细节

    4.2、训练计划比较

    4.3、在比较困难的情况下,与不同的SR方法进行比较

    4.4、定向分析

    5、结论


    摘要

    研究了图像超分辨率(SR)对低分辨率图像中目标检测任务的影响。直观上,SR对目标检测任务产生了积极的影响。虽然之前的一些工作证明了这种直觉是正确的,但是在这些工作中,SR和检测器是独立优化的。摘要提出了一种新的深度神经网络训练框架,在此框架中,SR子网络通过对传统检测损耗的权衡,明确地将检测损失纳入到训练目标中。这种端到端训练程序允许我们对任何可微检测器的SR预处理进行训练。我们证明,我们的任务驱动的SR在各种条件和缩放因子下,一致且显著地提高了目标检测器在低分辨率图像上的准确性。

    1、简介

    图像超分辨率(SR)属于图像恢复和增强(如去噪和去模糊)算法,在计算机视觉和图形学中得到了广泛的研究。在这两个研究领域中,目标都是尽可能准确地重建退化版本的图像。重建图像的质量通过基于像素的定量指标如峰值信噪比(PSNR)和结构相似度(SSIM)来评估。最近提出的感知质量[2,3,4]也可用于评价和优化重建模型。文献[5,6]研究了基于像素的质量度量与感知质量度量之间的关系,以协调这两种度量。最终,SR的目标仍然是根据人类视觉感知的标准,尽可能地恢复图像。

    SR和其他图像恢复工具与视觉识别之间的一个联系是,尽管视觉识别技术不断进步,但它仍然容易受到广泛的图像退化,包括低分辨率和模糊。像SR这样的图像恢复可以作为一个输入增强步骤来缓解这个漏洞。例如,许多识别任务的准确性可以通过去模糊或去噪来提高。SR也被证明对一些识别任务的预处理是有效的。

    通常,在这样的应用中,SR与下游任务是隔离的,只有通过选择图像来训练或微调SR方法的连接(例如,对于字符识别,SR是在字符图像上训练的)。

    我们建议消除这种差异,并明确地将下游任务的目标(如对象检测)合并到SR模块的培训中。图1展示了我们提出的任务驱动方法对低分辨率(LR)图像(b)生成的SR图像(c)、(d)和(e)的效果,它可以成功地使识别精度接近原始高分辨率(HR)图像(a)的评分。

    我们的方法是基于两个观察:

    SR是不适定的

    许多HR图像向下采样时会产生相同的LR图像。我们希望下游任务目标(如检测)给出的额外提示可以帮助指导SR解决方案。

    人类感知和机器感知是不同的

    众所周知,人类和机器感知之间存在很大的差异,特别是在高度复杂的深层网络中。这可能是最好的例证,对抗性的图像,可以“愚弄”机器感知,但不是人类。因此,如果我们的目标是超级解析机器消费的图像,我们认为在学习SR时明确地“迎合”机器感知是谨慎的。

    图1 (d)和(e)中的两幅SR图像说明了这一点。两者看起来都与人眼相似,但网络检测结果却有显著差异。此外,传统的重建质量度量(PSNR)未能捕捉到这种差异,将较大的值赋给(d),从而导致更糟糕的检测结果。

    本文的主要贡献有:

    -超分辨率方法,利用深度学习端到端训练的力量,将低级和高级视觉目标结合起来,形成我们所说的任务驱动的超分辨率(TDSR)。作为一种增强对低分辨率输入的目标检测的鲁棒性的方法,这种方法提供的结果比其他SR方法要好得多,并且可能适用于广泛的低级别图像处理工具和高级任务。

    -超分辨率的新观点,明确承认在高尺度因素中SR的生成或语义方面,我们希望这将鼓励在社区中进行更多的工作,以帮助进一步减少低水平和高水平视觉之间的差距。

    2、相关工作

    虽然在超分辨率和评价和改进图像感知质量的一些措施方面做了大量的工作,但在优化用于机器感知的图像恢复工具方面的工作相对较少。

    图像质量评价

    图像的恢复和增强需要适当的质量评估指标,用于评估和(当使用机器学习时)作为训练目标。如第1节所述,PSNR和SSIM是广泛使用的这类度量,主要用于比较重建/估计图像和其ground truth图像。现有的质量评估方法不需要参考ground truth图像,包括一些使用深度神经网络来学习指标的方法。

    几个质量评估指标已经针对SR进行了评估,包括无参考指标。然而,所有这些指标都是(假设的或近似的)人类判断感知质量的代理,并不考虑高级视觉任务,如识别。

    针对特定的任务,提出了一些任务相关的质量评估指标,包括生物识别、人脸识别和目标识别,与任务无关的指标相比,这些指标有了改进。然而,它们都没有被用于与底层图像增强(如SR)的联合学习框架中。

    图像超分辨率

    图像超分辨技术已被广泛应用;详见调查报告。虽然自包含的SR是有吸引力的(例如,基于自相似的SR),但是大多数最新的SR算法利用外部训练图像来获得更高的性能;例如,基于范例的,基于回归的,以及基于web检索的。使用自我和外部图像的有效性在中进行了探讨。

    和其他视觉问题一样,SR也受益于深度卷积神经网络(DCNNs)的最新进展。SRCNN通过手工制作的上采样滤波器提高了输入LR图像的空间分辨率。放大后的图像由DCNN进行改进。更先进的架构带来了进一步的改进,引入了剩余连接和递归层,然而手工制作的上采样滤波器的使用仍然是一个障碍。这可以通过在DCNN中嵌入上采样层来缓解。逐步向上采样对于利用来自不同规模的信息也很有效。DBPN-SR通过迭代的正向和反向投影,在不同尺度上共享SR特征,使得网络能够通过学习各种上采样和下采样操作符来保存HR组件,同时生成更深层次的特征。

    虽然DCNNs提供的深层特性使我们能够保留清晰的高频真实感纹理,但很难完全消除模糊。这个问题已经通过引入新的目标解决了,比如感知相似性和对抗性损失。最后,在SRGAN中,这两个想法可以结合起来,将感知相似性合并到生成对抗网络(GANs)中。与以前的工作相比,我们明确地将定义良好的、有区别的任务(如检测)的目标合并到SR框架中。

    目标检测

    最先进的目标检测算法提取或评估一个查询图像内的目标建议(例如,边界框),并使用每个框上计算或合并的DCNN特性来评估每个边界框的“客观性”,以进行目标检测。在许多最近的模型中,产生候选机器的机制被整合到网络架构中。

    与使用目标建议的方法不同,SSD和YOLO9000使用预先设置的默认框(也称为锚框)来覆盖查询图像。在优化空间参数(如位置、比例和长宽比)的同时,计算所有框中每个目标类别的客观分值。这简化了测试时的计算,并产生非常快速、准确的检测框架。

    连接到生成模型

    我们的方法与基于梯度的对抗图像以及流行的“神经艺术”技术DeepDream之间也存在有趣的联系。在这两种方法中,使用梯度下降对输入图像(全分辨率)进行修改,目的是为图像分类网络实现一定的输出。对抗性图像的目标是让网络预测一个不正确的类,而在DeepDream中,目标是美学的。

    3、任务驱动的超分

    我们的方法依赖于两个构建块:超分辨率(SR)网络和任务网络D。SR网络地图低分辨率图像x^l高分辨率图像x^h=S(x^l,\theta_{SR}),其中\theta_{SR}表示网络的所有参数。任务网络需要一个图像x和输出(可能是结构化的)预测\hat{y}=D(x;\theta_D)。我们称这些预测为“网络”,因为它们目前可能是深度神经网络。然而,我们的方法并没有假定SD是可微的。

    我们假设任务网络训练和其参数\theta_D保持固定在(并将,为简便起见,省略了从符号)。因此,我们的方法适用于任何任务网络,并可用于使对低分辨率输入失败的现成网络对此类输入更健壮。它可以用于各种任务,例如深度估计或语义分割。但是,在本文中,我们只关注目标检测任务,其中\hat{y}由一组给定对象类的得分边界框组成。

    3.1、组成网络

    我们使用最近提出的深度反向投影网络(DBPN)作为SR分量。当使用MSE重构损失进行训练时,DBPN在标准SR基准上达到了最先进的或有竞争力的结果:

                                                     

    其中i为HR图像xN个像素索引的范围。

    作为检测器,我们使用单阶段检测器(SSD)。SSD探测器使用一组默认的边界框,覆盖位置、比例和长宽比的范围;每个方框根据每个类中目标的存在程度进行评分。给定图像x的ground truth,B个默认框的子集被匹配到ground truth框,这匹配形成预测探测\hat{y}(x)。SSD的任务(检测)丢失由置信损失和定位损失两部分组成:

    置信损失L_{conf}弥补了匹配框的不正确的类预测。局部化损失L_{loc}利用平滑的L_1距离来惩罚盒子相对于地面的真实位移。(2)中的两个损失相对于它们的输入是可微的。

    重要的是,SSD中的每个默认边界框都与卷积神经网络计算的特征图(激活层)中的一组单元相关。因此,由于(2)中的损失是通过盒来分解的,所以它是网络激活的可微分函数,因此是输入图像像素的函数,这使得我们可以将此任务损失合并到下面描述的TDSR目标中。

    我们所选择的两个组件网络都有代码,它们的作者可以公开使用,并且可以端到端地进行训练,这为我们的方法提供了一个方便的测试平台;还有许多其他的选择是可能的,特别是对于检测器组件,但是我们在本文中不讨论它们。

    3.2、任务驱动的训练

    通常情况下,基于SR的学习系统使用一些种类的重建损失L_{rec},例如x和x通过S超分下采样的版本之间的均方误差(MSE)。相反,检测器使用代理丢失L_{task}进行训练,目的是改进其准确性的度量,通常用一个类的平均精度(AP)和整个数据集/任务的类的平均AP (mAP)来度量。

    x为检测数据集中的图像,检测ground truth值标记为y,设↓(·)表示图像按一定比例缩小。我们提出复合损失,在例子中(x, y)由:

         

    α和β保真项权重确定的相对强度(重建损失)和语义(检测损失)。假设S和D都是可微的,我们可以用链式法则,并计算LD的梯度对其输入,该super-resolved↓(x)。这单像素梯度结合的逐像素梯度重建损失L_{rec}: SR参数\theta_{SR}然后更新使用标准的反向传播从这个结合梯度:

                

    解释

    正如第1节所述,SR是一个不适定问题。在足够高的上标因子下,它更像是(有条件的)图像生成,而不是图像恢复,因为大量在下标过程中被破坏的信息必须有效地“产生幻觉”。大多数当前的图像生成方法,例如基于GANs或自动编码器,要么不显式地考虑生成图像的语义内容,要么仅通过训练特定类的图像将其“硬编码”到生成器中。我们的目标(3)鼓励图像在人看来是好的(与原始图像相似),在机器看来是正确的(产生相同的识别结果)。α和β的值控制这种权衡。α,β,我们有效地忽视下游任务,和传统,MSE-driven老学习,下游检测第2部分中讨论的局限性,并演示了在第四节。与,MSE驱动的SR学习,在第2节讨论了下游检测的局限性,并在第4节演示。

    我们有效地忽略原始高分辨率图像,目标是纯粹的语义。在这种情况下,直观地说,如果“SR”方法只是简单地将正确类的一个固定的规范对象粘贴到图像中适当的位置和比例,并且检测器正确地拾取这些对象,那么我们就得到了任务丢失的完美值。然而,在这种假设的情况下,我们实际上应该用LR探测器来代替SR。当然,这又回到了LR检测的最初挑战。我们也不会得到额外的好处,即创建与原始LR输入相连接的可人工解释的中间HR图像。

    我们期望最优的折衷是介于这些场景之间,包含来自重建和检测目标的有意义的贡献。两者的精确“混合”取决于算法设计,具体如下。

    3.3、训练步骤

    (3)损失的定义取决于α和β的值,我们可以考虑设置,静态(固定权重)和动态(重量改变通过培训)。我们在这里描述这些,并在第4节中评估它们。

    Fine tune

    一般来说,我们假设年代已经训练了超分辨率图像从一个域,对于一个给定的因素可能不同于老域d,我们可以调整新的域,没有将任务损失:α= 1,β= 0。

    平衡

    我们可以开始一个阶段的微调SR重建只有(α= 1,β= 0),然后增加β一个非零值,引入该组件。注意,适当的相对大小对αβ将不仅取决于所需的目标之间的权衡,还两个损失函数的相对规模。

    任务只

    或者,我们可以放弃重建驱动阶段,与任务损失和微调年代,α= 0,β= 1。

    渐进

    最后,我们可以逐步提高β,从零到一个高值,训练和每个值的迭代次数。我们可以期望这个时间表提供一个更温和的任务目标介绍,逐步细化最初纯粹的重构驱动SR。

    4、实验结果

    4.1、实现细节

    基本网络DBPN:DBPN结构上采样层和下采样层分别代表不同类型的图像退化和高分辨率组件。向上和向下投影单元的叠加创建了一种有效的方法来迭代地最小化重建误差,重建各种各样的超分辨率特征,并支持大尺度因子,如8×放大。我们使用了作者推荐的设置:“一个8×8的卷积层,4个横线和2个填充”,和“一个12×12的卷积层,8个横线和2个填充”分别用于4×和8×SRs,以构建一个投影单元。对于目标检测,我们使用SSD300,其中输入尺寸为300×300像素。该网络使用VGG16通过conv5_3层,然后使用conv4_3、conv7 (fc7)、conv8_2、conv9_2、conv10_2、conv11_2作为特征映射来预测每个被检测对象的位置和置信度。这两个网络的代码都可以在internet上公开访问。

    数据集:我们使用在DIV2K数据集上预先训练的DBPN模型初始化所有实验,该数据集由的作者提供。我们使用SSD网络在PASCAL VOC0712培训平台上进行预训练,并提供公众使用。在我们的实验中,不管有没有任务驱动的目标,在微调DBPN时,我们重用了PASCAL VOC0712 trainval,并增加了数据。增加包括光度失真,缩放,翻转,随机裁剪,建议训练SSD。所有实验均使用VOC2007上的测试图像进行测试。DBPN的输入是一个LR图像,它是由具有特定比例因子(即, 1/4或1/8在我们的实验中,对应于4×和8×SR)。

    训练设置:我们用的是6个批量。初始化所有层的学习速率为,在总共次迭代中,每105次迭代,学习速率降低10倍。为了优化,我们使用动量设置为0.9的Adam。所有实验均在NVIDIA TITAN X gpu上使用PyTorch进行。

    4.2、训练计划比较

    我们调查不同的设置和安排的α和β值控制在(3)reconstruction-detection权衡。表1显示了PSNR和地图的计划描述左边格式,说明培训n迭代与相应的α值(体重重建)和β(体重在检测);表示继续训练。时间表是(a)、SR:基线使用预先训练的SR,而不是在Pascal上进行微调;(b)、SR-FT:针对100k次迭代进行微调;(c)、SR-FT+:针对300k迭代进行微调;(d) tdsr - 0.1:平衡计划的100 k的reconstruction-only训练后,我们引入检测损失恒重的β= 0.1;(e) tdsr - 0.01:相同但β= 0.01;(f)、TDSR-DET:α= 0只检测(AP)损失是用于调整SR 300 k迭代;最后(g)、TDSR-grad:逐渐增加的β1在300 k的迭代。

    表中的值为我们提供了多个观察值。首先,它有助于在新域上微调SR,因此SR- ft具有比SR更高的PSNR和mAP。切换到TDSR的变体,我们可以看到地图精度的显著提高。随着β的相对价值变得更大,我们得到了进一步的改进,但在PSNR值大幅下降的成本(我们看到在图2和4.4节中,在视觉质量)。然而,对于特定的状态,即TDSR-0.01,我们看到的mAP比无任务值要高得多,PSNR仅略有下降。因此,根据我们的实验,我们认为这个时间表是最好的。最后,表格中的数字进一步说明了更高的PSNR不一定对应更好的检测结果。

    表2显示了我们的TDSR方法与其他SR方法的详细结果,包括基线双三次SR,以及最近提出的最新的SR方法(SRGAN)。与SRGAN的比较特别有趣,因为它使用了一种不同的客观(对抗性/感性),这可能被认为更适合于任务驱动的SR。我们还比较了直接从LR图像中获得的结果(用黑色填充以适应预先训练的SSD300检测器)。

    我们可以看到,分辨率的降低对探测器的地图产生了巨大的影响,从75.8降到41.7,4×和16.6,8×。这可能是由于实际损失的信息,以及检测器架构的局限性,可能错过小边界框。非任务驱动的SR方法并没有显著地提高性能,在某些情况下反而会进一步损害性能!然而,我们提出的TDSR方法在两个尺度因子上都获得了更好的结果,并且恢复了LR中丢失的相当一部分检测精度。   

    4.3、在比较困难的情况下,与不同的SR方法进行比较

    在现实环境中,图像会受到额外的腐败来源的影响,这可能会加剧分辨率降低所造成的本已严重的损害。在最后一组实验中,我们评估了我们的方法和其他在这种情况下的方法。在这里,图像(在训练和测试阶段)也被模糊或噪声退化,在缩小比例和SR和检测器处理之前。和其他实验一样,我们保留了原来训练过的SSD检测器。

    模糊图像

    每一个高分图像是由高斯模糊内核,σ= 1。在训练SR网络时,无论是纯SR微调还是TDSR联合优化,目标都是根据原始(干净的)HR图像定义的。

    实验结果如表3所示。与干净的图像一样,我们提出的方法在两个尺度因子上都优于所有其他方法,甚至与模糊的HR输入相比获得了一个小的(可能是微不足道的)改进!这种方法的应用可以看作是任务驱动的超分辨率去模糊。

    噪声图像

    同样,我们评估SR方法图像高斯噪声影响降尺度之前(σ= 0.1)。再次,Lrec惩罚错误w.r.t.干净的HR形象。噪声HR图像上的mAP为57.3,与干净HR图像相比下降了近20个点。结果如表4所示。与blur一样,我们提出的方法在两个尺度因子上都显著优于所有其他方法。

    4.4、定向分析

    图3、4和5显示了我们的结果与其他方法的结果进行比较的示例。SRGAN和SR-FT+的结果有时会混淆检测器并将其识别为不同的对象类,这再次表明优化L_{rec}和高PSNR不一定与精度相关。同时,我们所提出的优化方法所产生的独特模式有助于检测器更好地识别目标。请注意,在许多图像中,TDSR确实产生了与DeepDream类似的伪影,但这些伪影并不严重,而且被大幅提高的检测精度所抵消。

    5、结论

    我们提出了一个训练超分辨率的新目标:满足下游语义任务的复合损失,而不仅仅是传统的像素级图像重建任务。我们的结果在所有条件下都超过了替代的SR方法,这表明现代的端到端训练能够联合优化传统上分为低级视觉(超分辨率)和高级视觉(目标检测)的任务。这些结果也为今后的工作提供了一些途径。第一个是研究任务驱动的SR方法,用于额外的视觉任务,如语义分割、图像字幕等。一个补充方向是将任务驱动公式扩展到其他图像重建和增强工具。例如,我们已经在“通过SR消除模糊”方面取得了一些成功,当使用一个适当设计的与任务驱动目标相结合的去模糊网络时,我们可以期待进一步的改进。最后,继续寻求更好的图像质量指标,以替代或增加PSNR等过于简单的重建损失,可能会很好地服务于社区;在这方面,我们认为对抗性损失的作用是有希望的。

  • 相关阅读:
    ILSpy:Project file is incomplete. Expected imports are missing 错误解决方案
    win10 安装 oracle 19c 服务端 64 位和 PL/SQL Developer 连接工具
    ansible实操入门
    11. MySQL 备份、恢复
    独立咖啡店如何有效经营?看懂十三个生存逻辑就成功了
    Flutter 完美的验证码输入框 转载
    计算机毕业设计Java安全管理系统(源码+系统+mysql数据库+lw文档)
    C++11之线程库(Thread、Mutex、atomic、lock_guard、同步)
    Virtualbox中Ubuntu根目录空间不足
    什么是慢查询——Java全栈知识(26)
  • 原文地址:https://blog.csdn.net/weixin_36670529/article/details/102332434