首页 > 其他分享 >【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images

时间:2023-10-12 14:33:00浏览次数:38  
标签:MD segmentation 模型 object 生成器 分割 FA ISOS


Wang H, Zhou L, Wang L. Miss detection vs. false alarm: Adversarial learning for small object segmentation in infrared images[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 8509-8518.

论文试图解决什么问题?

解决红外小目标的目标检测问题。

这是否是一个新的问题?

并不是特别的新,但是目前提出的方法有限,并且针对这个特定任务的很少。

这篇文章要验证一个什么科学假设?

并没有验证,而是依据红外小目标检测的两个要解决的问题,即MD(漏检)和FA(虚警)这两方面所提出的策略。

论文中提到的解决方案之关键是什么?

应用了cGAN网络,将MD和FA作为两个子任务来单独进行模型搭建,作为生成器,再使用一个图像分类的鉴别器来辨别两个生成器的输出以及ground-truth这三类图像。

论文中的实验是如何设计的?

与已有的方法进行对比,并做了消融实验来验证两个生成器的有效性,以及对于生成器一致性损失中的参数的选择。

用于定量评估的数据集是什么?代码有没有开源?

有开源代码,目前并没有公共的benchmark数据集,自己收集并人工合成的数据集。

这篇论文到底有什么贡献?

针对ISOS任务,提出的新的基于cGAN的网络框架,将FA和MD的优化分开来做,让它们通过对抗学习达到平衡,既减小了以往网络的复杂度,也增加了子任务选择网络的灵活性,达到了优异的性能。

摘要

对于红外小目标分割(ISOS)问题一个关键是平衡漏检(MD)和虚警(FA)。他们需要相互对立的策略解决而且目前并没有比较好的方法。本文提出的条件生成对抗网络来同时解决这两个问题。与依靠单一目标共同减少MD和FA的传统不同,本文将任务分成两个子任务分别完成MD和FA,来进行模型的对抗训练。有以下三点优势:

  1. 每个模型都是解决相对简单的子任务,降低了整体ISOS模型的复杂度;
  2. 对于这两个模型的对抗学习可以最终达到一种纳什均衡,使得两个模型都有好的表现;
  3. MD和FA的分离允许使用不同的特定的模型来应用于这两个子任务。

本文提出的条件生成对抗网络包含两个生成器和一个判别器。更进一步,对于子任务,两个模型基于上下文聚合网络,利用不同大小的感受野,以此为分割提供局部和全局视图信息。

介绍

红外小目标分割有它独特的特点:

  1. 在红外图像中,目标点通常非常小,极端的甚至只有一个像素大小;
  2. 由于红外能量随着距离衰退很快,目标点通常比较暗淡;
  3. 目标点通常比较稀疏。

总的来说,目标点更容易被背景区域所干扰。

ISOS的错误最终都归结为MD和FA,通常来说,最小化这两种情况的策略是相互对立的。传统的基于信号处理的ISOS方法在对象的置信度图上应用自适应阈值来平衡MD和FA,在许多ISOS方法中使用的置信图上,前者倾向于低阈值,而后者倾向于高阈值,这两者很难平衡。一些深度学习相关方法也相继提出,然而所有这些深度学习方法都关键地依赖于单个目标来最小化整体分割误差。这些方法的性能都不是很好。

仅通过应用阈值或仅采用MD和FA加权线性组合形式的损失函数可能无法充分实现这种MD和FA的平衡。于是受对抗性学习的启发,本文提出让这两个相反的任务相互竞争,并期望达到稳定状态。于是就提出了本文的CGAN。提出的两个模型作为两个生成器分别单独聚焦于相应的任务,并输出相应的分割图像,再有一个判别器来辨别上述两个生成器的输出以及ground-truth三种分割图像。

这样的话,这两个生成器以有趣的“竞争与合作”方式工作。通过竞争,他们努力最大限度地将像素分别分割成物体或背景。通过合作,他们相互协商(即平衡),使双方都收敛到ground-truth分割,以愚弄鉴别器。

给定一个测试图像,任一生成器的输出(或其平均值)都可作为分割结果。

本文有如下贡献:

首先,应用对抗学习范式提出了新型的ISOS的框架。它消除了显式平衡MD和FA的负担,可以以一种隐式和自然的方式实现微妙的平衡;

其次,利用MD和FA最小化的可分性,将ISOS任务分解为两个独立且简单的子任务。与使用单一网络进行分割的现有方法相比,本文的方法可以降低模型和网络设计的总体难度。

第三,上述分离带来的一个直接优势是,开发最适合子任务的模型具有额外的灵活性,这已在本文的工作中得到证明。如下所示:在ISOS中,对象的分割更倾向于局部视觉信息,而虚假报警(FA)的抑制得益于全局视觉信息。通过上下文聚合网络,利用两个生成器中不同大小的感受野来实现要求。

最后,在多个红外图像数据集上与已有的方法进行了比较,证明了该方法的优越性。

相关工作

通用小目标分割

FCN在语义分割领域处于统治地位,但直接将其应用于ISOS并不有效因为任务的特殊性。比如,持续的最大池化会减小甚至消除目标点的特征,由于目标与背景的不均衡,模型很容易就复杂的背景所迷惑而失去目标。包括后来提出的新的方法都是在他们各自针对的特定类型图像中表现良好,并不适用于ISOS,更进一步,上述所有模型都试图通过依赖单一目标来最小化整体分割误差,与本文的所提出的差异很大。

ISOS

对于ISOS任务,常用的方法是应用图像滤波、对比度和显著性检测或低秩恢复来抑制背景并增强对象,以获得置信度图。然后,在此图上进行自适应阈值分割以分割出对象。这些方法对于简单背景的图像效果很好,但是不适用于复杂背景图像因为其并没有目标的特征学习。

模型

模型总览

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_生成器

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_生成器_02编辑

如图,不同于普通的cgan,这里的模型有两个生成器和一个判别器,每个生成器都将一个输入图像I映射到另一个图像S,表示分割结果用于最小化FA或MD,可以表示为G(I)→S1,G(I)→S2。而鉴别器用于区分三种分割结果,即:S1、S2和S0,其中S0表示ground-truth分割。

直观地说,我们可以分别训练两个生成网络,然后在训练好后融合它们的分割结果。然而,这种训练后融合策略阻碍了两个生成器之间的训练信息共享,这将导致较差的分割。而这个问题通过提出的cGAN模型就能避免。它利用鉴别器作为连接G1和G2的媒介,以便信息可以在它们之间流动。这种信息交换可以反过来提高G1(最初设计用于最小化MD)降低FA的能力,并提高G2(最初设计用于最小化FA)降低MD的能力。此外,两个生成器都接收来自D的强大监督信号,因为对抗机制迫使他们向ground-truth靠拢来欺骗鉴别器D。通过这个过程,这两个生成器最终将生成一致的分割,并变得与地面真相高度相似。如图一个样例:

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_生成器_03

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_目标检测_04编辑

在训练整个模型之后,任何一个生成器都可以应用于测试图像以产生分割结果,因为这两个生成器都经过训练,通过对抗性学习过程收敛。在实践中,为了鲁棒性,我们应用两个生成器,并使用其输出的平均值作为最终分割结果。

Loss设计

该模型的目标由三部分组成:对抗性损失、生成器一致性损失以及处理MD和FA的数据损失(不同于现有的主要针对一个单一的目标的方法,同时考虑MD和FA,这种data loss只在训练所提出的框架时起辅助作用)。

对抗性损失:与普通CGAN不同,由于有两个生成器这个损失由三项组成。

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_生成器_05

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_目标检测_06编辑

对于G1和G2的网络权重,最小化该目标会鼓励它们的输出(即之前定义的S1和S2)与地面真实度S0类似。根据D的网络权值最大化它可以增强它在三个分割结果中的分辨力。

生成器一致性损失:尽管上述损失可以使得S1,S2接近S0,但这是不够的,据观察他们会以自己的方式来逼近,当训练完成后他们还会有较大的差异,这并不能有效地迫使他们在每个像素上竞争,以在MD和FA之间取得平衡。为了解决这个问题,本文施加了额外的内容一致性损失,以便将两个生成器绑定得更紧密。该损失定义为鉴别器D中的卷积特征映射与输入对(I,S1)和(I,S2)之间差异的L2范式,如下所示:

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_生成器_07

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_生成器_08编辑

φ(·)表示对应的特征映射。

数据损失

在image-to-image的cGAN中,通常使用L1或者L2损失来表示预测值和ground-truth的差异。然而,简单使用L1或者L2损失只考虑了像素级别的差异,而忽略了MD或者FA的测量。于是本文定义了如下的损失,分别单独对两个生成器求损失:

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_目标检测_09

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_生成器_10编辑

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_目标检测_11

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_生成器_12编辑

其中MD1i和FA1i是由包含n张图像的训练集中第i张图像经过分割后(G1的输出)的图像所计算的MD和FA。λ1和λ2是衡量MD和FA的参数,因此G1关注MD,G2关注FA。最终损失如下:

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_生成器_13

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_生成器_14编辑

值得强调的是,在G1中使用小FA项对MD进行正则化(反之亦然,inG2)是为了实现良好的训练初始化。这有助于两个生成器快速进入各自的角色,并加快训练过程的收敛。并且,所提出的方法对于λ1和λ2的值并不敏感,经实验验证它们可以在较大范围内变换。

本文提出的模型的完整损失如下:

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_目标检测_15

【论文阅读】MD vs FA: Adversarial learning for small object segmentation in infrared images_生成器_16编辑

其中α1和α2是算法系数,设置在实验部分提供。

网络模型

在本文的模型中,由于MD和FA的减少是由不同的生成器执行的,因此它们可以享受更适合特定目标的不同网络架构或参数。正如所观察到的,对小物体的检测可能更倾向于局部感受野停止保留物体的踪迹,而对FA的抑制似乎需要更多全局感受野提供的上下文线索。因此,本文使用上下文聚合网络(CAN)构建生成器,并将不同的感受域分配给不同的生成器。

如图2所示,构建G1和G2的主干网络,连接背靠背连接两个CAN,第一个CAN具有指数增长的膨胀因子,从1增加大最大值MDF,第二个CAN具有指数减少的膨胀因子,从最大值减少到1。生成器G1更在意局部感受野以减少MD,从而设置MDF=8,而生成器G2P更在意全局感受野以抑制FA,从而设置MDF=64。相对G1而言,G2不但有更多的层,还使用skip connection来连接具有相同膨胀因子的层,以缓解模型深入时的梯度消失问题。

鉴别器是用于分类的CNN网络。

结论

在本文中,我们将ISOS问题分解为两个子任务,分别抑制MD和FA,并通过对抗学习联合解决这两个子任务。这种新的学习框架使我们能够理清MD和FA的抑制,设计更适合每个子任务的不同模型,并提供MD和FA的专用平衡,以降低两者的比率。它为ISOS研究提供了一个新的视角,并展示了它在这一领域的优势。此外,作者们希望所提出的方法能够启发其他需要在两个相互竞争的标准之间取得微妙平衡的计算机视觉研究工作。


标签:MD,segmentation,模型,object,生成器,分割,FA,ISOS
From: https://blog.51cto.com/u_16299263/7827268

相关文章

  • MetaObjectHandler:实体对象的属性自动赋值
    1.MetaObjectHandler接口方法Mybatis中的MetaObjectHandler是一个接口,用于为实体对象的属性自动赋值。它有以下几个方法:insertFill(MetaObjectmetaObject):在执行插入操作时自动填充实体对象的属性值。updateFill(MetaObjectmetaObject):在执行更新操作时自动填充实体对象......
  • TypeError: 'dict' object is not callable 错误
     做实例的时候报错TypeError:'dict'objectisnotcallable感觉应该是因为我将实例都放在了一个程序中,在4.py上面有太多book了,在上面已经调用了所以我放进另一个程序就可以实现了 ......
  • ObjectMapper和ObjectSerializer的使用方法及区别
    ObjectMapper和ObjectSerializerObjectMapper和ObjectSerializer是两个常用的Java序列化工具,它们的主要区别在于序列化和反序列化的方式以及支持的数据格式。ObjectMapper是Jackson库中的一个类,用于将Java对象序列化为JSON格式或将JSON格式反序列化为Java对象。它支持多种数据格......
  • MySQL使用cmd窗口命令导入数据库
    如下:setgloballog_bin_trust_function_creators=1;--导入数据库之前做准备SETGLOBALlog_bin_trust_function_creators=TRUE;cmd命令窗口执行如下导入命令命令行登录mysqlmysql-uroot-pxxx;mysql>usedatabasename;mysql>sourced:/xxx.sqlend......
  • threejs CSS2DObject点击事件触发不了
    原因:在three.js  0.13X版本后,上面dom的onclick不会触发,原因是控制器Controls,可以尝试一下去掉控制器,看看dom上的点击事件是否ok letobtControls=newOrbitControls(camera,container); // OrbitControls对页面的事件进行监听,并且阻止穿透 ......
  • ./a.out: error while loading shared libraries: libgsl.so.25: cannot open shared
     001、问题: ./a.out:errorwhileloadingsharedlibraries:libgsl.so.25:cannotopensharedobjectfile:Nosuchfileordirectory 002、解决方法[root@pc1test]#lsa.c[root@pc1test]#gcc-I/usr/local/include/gsl-lgsl-lgslcblasa.c[root@pc1test]#......
  • 231010.md
    2023/10/10模拟赛总结时间安排07:40-08:30看题,打四题暴力。08:30-09:20写C,写挂了。09:20-09:50写A。09:50-10:30回来调C。10:30-11:40想B,没想出来。体现真实水平了。总结反思交题前检查代码。记得对拍。水平有点菜。题解A.建出表达式树,每个节......
  • 【Azure Developer】示例: 在中国区调用MSGraph SDK通过User principal name获取到Use
    问题描述示例调用MSGraphSDK通过Userprincipalname获取到User信息,如ObjectID。 参考资料选择MicrosoftGraph身份验证提供程序: https://learn.microsoft.com/zh-cn/graph/sdks/choose-authentication-providers?tabs=java#using-a-client-secret-2MicrosoftGraphSDKfor......
  • SQLAlchemy学习-13.分页查询'Query' object has no attribute 'paginate'
    前言用过Flask-SQLAlchemy的应该知道,它提供了一个分页查询方法paginate(),方便我们实现在后端查询分页。但是单独使用SQLAlchemy却没有paginate方法,会报错:AttributeError:'Query'objecthasnoattribute'paginate'SQLAlchemy没有paginate方法Flask-SQLAlchemy分页查询参......
  • 若不经过MD组件进行接地,无法测试出漏电流数值
    因为漏电流测试仪自带接地保护,所以需要将产品仪器的地线单独拆出来,只接火零线,通过把地线连接到MD(hi)测试组件进行接地。注意:若不经过MD组件进行接地,无法测试出漏电流数值根据仪器技术需求,这里未接S10和S12的线路。需要在加权和无频率加权各测试一次正常状态和单一故障状态的漏电流......