【论文阅读|基于 YOLO 的红外小目标检测的逆向范例】

在这里插入图片描述

基于 YOLO 的红外小目标检测的逆向范例

  • 摘要
  • 1 引言
  • 2 相关工作
    • 2.1 逆向推理
    • 2.2 物体检测方法
  • 3 方法
    • 3.1 总体架构
    • 3.2 逆向标准的可微分积分
  • 4 实验
    • 4.1 数据集和指标
    • 4.2 实验环境
    • 4.4 OL-NFA 为少样本环境带来稳健性
  • 5 结论

论文题目: A Contrario Paradigm for YOLO-based Infrared Small Target Detection(基于 YOLO 的红外小目标检测的逆向范例)

论文下载链接: https://arxiv.org/pdf/2402.02288.pdf

摘要

检测红外图像中的微小目标是计算机视觉领域的一项具有挑战性的任务,尤其是在将这些目标从嘈杂或纹理背景中区分出来时。与分割神经网络相比,传统的物体检测方法(如 YOLO)在检测微小物体时非常吃力,因此在检测小目标时性能较弱。为了在保持高检测率的同时减少误报,在 YOLO 检测器的训练中引入了反向决策标准。后者利用小目标的不可预测性,将它们与复杂背景区分开来。在 YOLOv7-tiny 中加入这一统计标准,缩小了红外小目标检测和物体检测网络中最先进的分割方法之间的性能差距。它还大大提高了 YOLO 对少样本环境的鲁棒性。

关键词: 小目标检测、逆向推理、YOLO、少样本检测

1 引言

在包括医疗或安全领域在内的各种应用中,准确检测红外(infrared, IR)图像中的小目标至关重要。红外小目标检测(Infrared small target detection, IRSTD)是计算机视觉领域的一项巨大挑战,其困难主要在于:(1) 目标的大小(面积低于 20 像素);(2) 复杂且纹理丰富的背景,从而导致许多误报;(3) 学习条件,即从小型、多样化程度低且高度类不平衡的数据集中学习,因为与背景类像素相比,目标类像素的数量非常少。过去几十年来,深度学习方法的兴起在物体检测领域取得了令人瞩目的进步,这主要归功于它们能够从大量标注数据中学习,提取出非常适合最终任务的非线性特征。在 IRSTD 中,语义分割神经网络的应用最为广泛[1]。其中包括 ACM[2]、LSPM[3]和最近最先进的(SOTA)方法之一,即 DNANet[4],它由多个嵌套的 UNets 和一个多尺度融合模块组成,能够分割不同大小的小物体。然而,依靠分割神经网络进行物体检测的一个主要问题是,在调整用于二值化分割图的阈值时,可能会出现物体破碎的情况。这会导致许多不希望出现的误报,并扭曲计数指标。Faster-RCNN [5] 或 YOLO [6] 等物体检测算法通过边界框回归明确定位物体,从而降低了这种风险。然而,这些算法往往难以检测到微小物体。很少有研究关注将此类检测器用于 IRSTD [7],也没有与 SOTA IRSTD 方法进行严格比较。

在本文中,提出了一种新颖的 YOLO 检测头,称为 OL-NFA(for Object-Level Number of False Alarms, OL-NFA对象级误报数量),专门用于小物体检测。该模块集成了一个逆向决策标准,用于引导特征提取,从而使不可预测的物体在背景中脱颖而出并被检测到。它用于重新估算由 YOLO 骨干计算出的对象性分数,并经过精心实施,以便在训练过程中进行反向传播。使用逆向范式的一个好处是,因为有大量的背景样本,它侧重于对背景建模,而不是对物体本身建模。这样,通过拒绝背景分布的假设来进行检测,就可以绕过类不平衡和训练数据少的问题。主要贡献如下:

1.设计了一种新颖的 YOLO 检测头,它整合了一种用于估算对象性分数的逆向标准。通过重点对背景而非物体本身进行建模,放宽了对大量训练样本的限制。

2.在著名的 IRSTD 基准上比较了 SOTA 分割神经网络和物体检测方法,结果表明在 YOLOv7-tiny 骨干中添加 OL-NFA 可以缩小 IRSTD 中物体检测器和 SOTA 分割神经网络 之间的性能差距。

3.此外,还在少样本环境中大幅提高了 YOLOv7-tiny 的性能(15-shot 的 AP 为 39.2%),证明了逆向范式在弱训练条件下的鲁棒性。

2 相关工作

2.1 逆向推理

逆向决策方法可以自动推导出与假设检验相关的决策标准。这些方法从感知理论,尤其是Gestalt理论中汲取灵感[8]。这些方法包括通过使用可解释的检测阈值来拒绝表征非结构化背景的原始模型。后者允许控制误报数量(NFA),通常定义为被测物体总数与所选原始的模型所遵循的规律的尾部分布之间的乘积。由于计算出的尾值取决于对象的特征,因此 NFA 值可以与任何给定对象相关联。文献中提出了几种逆向的公式。它们取决于考虑的是灰度图像还是二值图像。在第一种情况下,最常用的原始模型是像素灰度值的高斯分布 [9、10、11]。后者已被 [12] 整合到深度学习框架中,并在小目标分割中表现出了很好的性能。在第二种情况下,最广泛使用的原始模型是图像网格中 "真实 "像素的均匀空间分布。这就导致了参数 p p p 的二项分布,即 "真实 "像素 κ κ κ在任何给定参数形状的区域 ν ν ν内的数量[13, 14]:
NFA ( κ , ν , p ) = η ∑ i = κ ν ( ν i ) p i ( 1 − p ) ν − i , \text{NFA}\left(\kappa,\nu,p\right)=\eta\sum_{i=\kappa}^{\nu}\begin{pmatrix}\nu\\i\end{pmatrix}p^{i}\left(1-p\right)^{\nu-i}, NFA(κ,ν,p)=ηi=κν(νi)pi(1p)νi,
其中, η η η 是测试对象的数量。根据公式 (1),可能代表物体的像素子集更加重要,因为与图像整体密度相比,它包含许多空间上接近的点。工作重点是将这一原始的模型整合到物体检测器的训练循环中,以引导特征提取,而这在之前的研究中并没有考虑到。与 [12] 不同的是,[12] 的原始模型适用于像素级分类(即分割),而作者考虑的是另一种直接适用于对象级的模型,因此更适用于有边界框建议的神经网络。

2.2 物体检测方法

物体检测是在图像中检测感兴趣的物体,并通过边界框确定其位置的任务。针对此类任务,已经提出了几种深度学习方法 [15, 6]。YOLO 框架是应用最广泛的一种,因为它在各种应用中都有很好的性能,而且执行时间短。它是一种单阶段算法,使用单个卷积神经网络来预测边界框坐标、对象性和分类分数。具体来说,它将图像划分为一个个网格,并预测任何给定网格单元包含物体的概率(表示为物体度分数),如果存在物体,则预测物体的边界框坐标。YOLO 早期版本的一个问题是,它们在检测小物体时很吃力。事实上,如果要检测的物体太小,它可能只占据网格单元的一小部分,这使得 YOLO 难以准确地检测到它。为了解决这个问题,YOLOv3 [16] 引入了一个特征金字塔网络(feature pyramid network,FPN),将在多个尺度上检测到的特征结合起来。YOLO 的一些最新版本,如 YOLOR [17] 或 YOLOv7 [18],在一些著名的计算机视觉基准测试中取得了具有竞争力的检测性能,同时还提高了执行速度。还有人提出了卷积层数更少的 YOLO 微型版本。

3 方法

3.1 总体架构

在这里插入图片描述

作者提出了一种新颖的 YOLO 检测头,称为 OL-NFA(对象级 NFA 检测头),它集成了一种逆向标准,用于检测具有意外偏离背景分布特征的物体。OL-NFA 将根据 NFA 标准(式 (1))计算对象性得分,并应用于网络生成的特征图。

图 1 展示了方法的整体架构。红外输入图像首先经过 YOLO 主干网络,提取不同尺度的特征图。然后,通过颈部将三个较低层次的特征组合在一起,从而得到最终的特征图 F i F_i Fi,用于执行三个层次的检测: i ∈ 1 , 2 , 3 i∈{1, 2, 3} i1,2,3。为了实现检测,首先要通过密集层预测边界框坐标。然后,引入 OL-NFA 模块,利用 NFA 准则重新估算每个边界框的对象度得分。为此,使用 Faster R-CNN [15] 中的 ROI Align 提取出 η 个感兴趣区域(ROI),用 f r o i f_{roi} froi表示,并通过第 3.2 节所述的重要性层计算出每个 ROI 的重要性得分。最后,通过第 3.2 节中定义的函数 f a c t f_{act} fact,这些分数的范围为 [0,1],这样就可以应用 YOLO 中使用的二元交叉熵损失。

3.2 逆向标准的可微分积分

图 1 中的重要性层整合了公式 (1) 中给出的逆向标准。然而,由于该公式 (i) 是为二值图像而非灰度特征图而设计的,而且 (ii) 不可微,因此需要进行一些近似处理,以便将其整合到 YOLO 训练循环中。公式 (1) 带来的第一个困难是计算 f r o i ∈ R 2 f_{roi}∈\mathbb{R}^2 froiR2 中 "True "像素 κ 的数量。如果要对 f r o i f_{roi} froi进行二值化处理,就会破坏反向传播循环。因此,建议考虑实数成员系数(以模糊聚类或分类的精神为指导),即对每个像素处理一个系数,表示它属于包含二进制情况下的值为 1像素的集合的程度。为此,在像素值上使用了 sigmoid 函数 σ,这样就可以通过这些模糊归属系数的总和,近似地计算出 f r o i f_{roi} froi 中包含的像素数量,从而估算出局部密度。在计算 F i F_i Fi中的总点数时,也采用了同样的近似方法,以估算公式 (1) 中二项式定律的参数 p p p(代表 F i F_i Fi 的全局密度)。第二个问题是,NFA 函数是不连续的、不可微的,而且由于处理的是面积很小的物体 ν ν ν,它只取极少数不同的值。这些因素使得很难将公式 (1) "原封不动 "地集成到训练环路中,并进行有效的反向传播。因此,定义了 S ( κ , ν , p ) = − l n ( N F A ( κ , ν , p ) ) S (κ, ν, p) = - ln(NFA(κ, ν, p)) S(κ,ν,p)=ln(NFA(κ,ν,p)) 的意义,并在 k v > p \frac{k}{v} > p vk>p 时使用霍夫丁近似,从而得出
S ( κ , ν , p ) ≈ ν [ κ ν ln ⁡ ( κ ν p ) + ( 1 − κ ν ) ln ⁡ ( 1 − κ ν 1 − p ) ] − ln ⁡ η . S\left(\kappa,\nu,p\right)\approx\nu\left[\frac{\kappa}{\nu}\ln\left(\frac{\frac{\kappa}{\nu}}{p}\right)+\left(1-\frac{\kappa}{\nu}\right)\ln\left(\frac{1-\frac{\kappa}{\nu}}{1-p}\right)\right]-\ln\eta. S(κ,ν,p)ν[νκln(pνκ)+(1νκ)ln(1p1νκ)]lnη.
这样,就可以将函数 S ( κ , ν , p ) S (κ, ν, p) S(κ,ν,p) 的域扩展到 R 3 \mathbb{R}^3 R3,并输出更多的中间值。在 κ ν ≤ p \frac{\kappa}{\nu}≤ p νκp 的情况下,只需指定 ( κ , ν , p ) = − l n   η (κ, ν, p) = - ln~η (κ,ν,p)=ln η,因为它对应于明显的背景值。最后,由于显著性值的范围为 [ − l n ( N t e s t ) , + ∞ ] [- ln(N_{test}), +∞] [ln(Ntest),+],其中大值对应于可能的目标,为了获得范围为[0, 1]的对象性得分,应用了非对称激活函数 f a c t ( x , η ) = 2 σ ( x + l n η ) − 1 f_{act}(x, η) = 2σ(x + ln η) - 1 fact(x,η)=2σ(x+lnη)1,其中 x ∈ R x∈ \mathbb{R} xR η ∈ N ∗ η∈ \mathbb{N}^∗ ηN

4 实验

4.1 数据集和指标

在 NUAA-SIRST 数据集[2]上对提出的方法进行了评估,该数据集是为数不多的可公开获取并在文献中广泛使用的红外小目标数据集之一。该数据集由 427 幅红外图像组成,波长范围为 950 到 1200 nm。来自 NUAA-SIRST 的目标的空间范围从 2 - 3 像素到最大目标的 100 像素以上不等,这使得该数据集适合在各种目标尺寸上评估提出的方法。如图 2 第一行所示,目标被淹没在纹理云等具有挑战性的场景中。按照 60 : 20 : 20 的比例将数据集分为训练集、验证集和测试集。还通过仅在 15 幅和 25 幅图像上训练 神经网络 来评估提出的方法在少样本环境中的优势。在定量评估方面,侧重于传统的检测指标:F1 分数(F1)和平均精度(AP,精度-召回曲线下的面积)。还依赖精度(Prec.)和召回率(Rec.)来了解 F1 分数的实现值。表格中的结果是三次不同训练的平均值,上标为 F1 和 AP 的标准偏差。
在这里插入图片描述

4.2 实验环境

在 YOLOv7tiny 的基础上添加了 OL-NFA 检测头,因为与其他 YOLO 主干线相比,该基线在 NUAA-SIRST 数据集上表现出色。将其与几种基线进行比较:1) 专门为 IRSTD 设计的分割网络,即 ACM [2]、LSPM [3] 和 DNANet [4];2) YOLO 基线,如 YOLOv3 [16]、YOLOR [17]、YOLOv7 和 YOLOv7-tiny [18]。对于 IRSTD 分割神经网络,使用原始论文中推荐的训练设置。所有物体检测神经网络都在 Nvidia RTX6000 GPU 上进行了 600 epochs从头开始的训练,使用 Adam 优化器 [19],批量大小等于 16,学习率等于 0.001。少量训练也采用了相同的设置。

表 1 显示了每种比较方法在 NUAA-SIRST 上取得的性能。可以看到,用OLNFA 代替传统的 YOLO 检测头不仅提高了微小物体检测的 YOLO 性能,还缩小了 SOTA IRSTD 分割神经网络与传统物体检测神经网络之间的性能差距。具体来说,提出的方法比最佳 YOLO 基线的 F1 分数高出 0.7%。AP 标准也提高了 0.4%。此外,提出的方法在 F1 和 AP 方面的表现略好于 DNANet,后者是 IRSTD 的 SOTA 方法。提出的方法的推理时间也比 DNANet 的推理时间短得多,因此可以进行实时目标检测。提出的 OL-NFA 模块之所以性能卓越,主要是因为精度更高,但召回率损失有限,这可以用 NFA 控制误报数量的特性来解释。事实上,增加一个逆向的判定标准有助于增强小物体的特征,从而将它们与复杂背景区分开来。这一点可以从图 2 中看出,最佳 YOLO 基线会导致输入 3 和输入 4 出现多个误报,而提出的方法则能提供正确的检测,没有任何误报。

在这里插入图片描述

4.4 OL-NFA 为少样本环境带来稳健性

将逆向推理纳入神经网络的一个重要动机是网络能够通过学习背景元素的表示而不是目标本身学习判别小目标。因此,它应该能使神经网络对薄弱的训练条件具有鲁棒性。为了证实猜想,在 NUAASIRST 数据集上定量评估了所提出的方法在少样本环境中的优势。为此,分别在 15 幅和 25 幅图像上对网络进行了训练。对于每种少样本设置,都在三个明显的褶皱上训练检测器,它们之间没有重叠。在第 4.1 节定义的测试集上获得的结果是这三个褶皱的平均值,计算出的平均值见表 2。可以看出,提出的方法在节俭设置中的表现明显优于基线方法。事实上,在这些情况下,F1 分数和平均精度都至少提高了 20%。因此,得出结论,在基线方法中添加对象级 NFA 能显著提高其在节俭环境下的鲁棒性:当训练样本数量除以 10 以上时,F1 分数仅降低 15%,而平均精度则保持在 90% 以上。
在这里插入图片描述

5 结论

在本文中,提出了一种名为 OL-NFA 的新型 YOLO 检测头,它在 YOLO 网络的训练循环中集成了一个逆向的决策标准。它迫使网络对背景分布而不是要检测的物体进行建模。广泛的实验表明,提出的方法不仅显著提高了 YOLO 网络在节俭型和少样本环境下的小目标检测性能,而且在小目标检测方面与 SOTA 分割网络的性能相当。这一令人鼓舞的性能促使考虑进一步研究如何使用逆向范式来检测微小目标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/399279.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

用CSS3画一个三角形

<style> .up{width:0;height:0;border: 100px solid transparent;border-top: 100px solid red;/*红色*/ } .down{width:0;height:0;border: 100px solid transparent;border-bottom: 100px solid blue;/*蓝色*/ } .left{width:0;height:0;border: 100px solid transpare…

python coding with ChatGPT 打卡第21天| 二叉树:最近公共祖先

相关推荐 python coding with ChatGPT 打卡第12天| 二叉树&#xff1a;理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 python coding with ChatGPT 打卡第15天| 二叉树&#xff1a;翻转…

【经验分享】分类算法与聚类算法有什么区别?白话讲解

经常有人会提到这个问题&#xff0c;从我个人的观点和经验来说2者最明显的特征是&#xff1a;分类是有具体分类的数量&#xff0c;而聚类是没有固定的分类数量。 你可以想象一下&#xff0c;分类算法就像是给你一堆水果&#xff0c;然后告诉你苹果、香蕉、橙子分别应该放在哪里…

BUUCTF crypto做题记录(7)新手向

一、Dangerous RSA 得到的密文如下 首先&#xff0c;我们对n进行大数分解看行不行。 其次&#xff0c;我们可看一下数的特征&#xff08;除了一些基础题&#xff0c;一般情况下n都是分解不了的&#xff0c;应该首先观察一下数据特征&#xff0c;我很久没做RSA了&#xff0c;有…

vue3前端项目开发,具备纯天然的防止爬虫采集的特征

vue3前端项目开发,具备纯天然的防止爬虫采集的特征&#xff01;众所周知&#xff0c;网络爬虫可以在网上爬取到一些数据&#xff0c;很多公司&#xff0c;为了自己公司的数据安全&#xff0c; 尤其是web端项目&#xff0c;不希望被爬虫采集。那么&#xff0c;您可以使用vue技术…

设计模式: 策略模式

文章目录 一、什么是策略模式二、策略模式结构三、使用场景案例分析1、使用场景2、案例分析&#xff08;1&#xff09;消除条件分支 一、什么是策略模式 策略模式是一种行为型设计模式&#xff0c;它允许定义一组算法&#xff0c;并将每个算法封装在独立的类中&#xff0c;使它…

学习鸿蒙基础(4)

1.条件渲染 ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态&#xff0c;使用if、else和else if渲染对应状态下的UI内容。 当if、else if后跟随的状态判断中使用的状态变量值变化时&#xff0c;条件渲染语句会进行更新。。 Entry Component struct PageIfElse {Stat…

LeetCode Python - 29.两数相除

目录 题目答案运行结果 题目 给你两个整数&#xff0c;被除数 dividend 和除数 divisor。将两数相除&#xff0c;要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断&#xff0c;也就是截去&#xff08;truncate&#xff09;其小数部分。例如&#xff0c;8.345 将被截…

vscode更改代码背景

安装插件&#xff1a;background-cover 安装成功后vscode的右下角出现一个标&#xff1a; 点击后选择图片就行了

【面试题】谈谈MySQL的索引

索引是啥 可以把Mysql的索引看做是一本书的目录&#xff0c;当你需要快速查找某个章节在哪的时候&#xff0c;就可以利用目录&#xff0c;快速的得到某个章节的具体的页码。Mysql的索引就是为了提高查询的速度&#xff0c;但是降低了增删改的操作效率&#xff0c;也提高了空间…

数据结构-邻接链表

介绍 邻接矩阵是运用较多的一种储存图的方法&#xff0c;但如果一张网图边数较少&#xff0c;就会出现二维矩阵中大部分数据为0的情况&#xff0c;浪费储存空间 为了避免空间浪费&#xff0c;也可以采用数组与链表结合的方式来存储图 假设有这样一张图 我们可以先用一个数组…

unity学习(33)——角色选取界面(原版)

10ARPG网络游戏编程实践&#xff08;十&#xff09;&#xff1a;角色选择UI及创建面板制作&#xff08;一&#xff09;&#xff08;流畅&#xff09;_哔哩哔哩_bilibili 角色选择界面教程中是这样的&#xff01;&#xff08;这个美工肯定是不能拿出去卖的&#xff0c;但是是有…

Spring Boot与Feign:微服务架构下的优雅通信

1. 前言 本文将详细介绍在Spring Boot框架中如何使用Feign进行微服务之间的优雅通信。我们将从Feign的基本原理讲起&#xff0c;然后逐步展开使用Feign的完整流程和步骤&#xff0c;包括代码示例和详细注释。通过本文&#xff0c;读者将能够轻松掌握Feign在Spring Boot微服务架…

芯课堂 | 一种用于振荡器的修调电路

​ 高精度时钟产生器是数模混合集成电路及数字集成电路的主要模块。晶体振荡器供与工艺、电源电压和温度无关的稳定时钟&#xff0c;但它与集成电路工艺不兼容&#xff0c;同时有相对较高的成本&#xff0c;这样它的应用就受到了一些限制。随着CMOS集成电路工艺和SOC技术的…

[游戏开发][虚幻5]新建项目注意事项

鼠标右键点击Client.uproject文件&#xff0c;可以看到三个比较关键的选项&#xff0c; 启动游戏&#xff0c;生成sln解决方案&#xff0c;切换引擎版本 断点调试 C代码重要步骤 如果你想断点调试C代码&#xff0c;则必须使用使用代码编译启动引擎&#xff0c;你需要做几个操作…

D4580——具有两个独立的、高增益、低噪声,输出电流大,低失真的运算放大器,应用于音响系统,工业测量产品上

D4580内部包括有两个独立的、高增益、低噪声&#xff0c;输出电流大&#xff0c;低失真的运算放大器&#xff0c;适合于音频前置放大部分和有源滤波器&#xff0c;大电流输出的耳机放大器&#xff0c;也能用于工业测量单元。 主要特点&#xff1a; ● 工作电压范围宽 (2V ~18V…

spring Boot快速入门

快速入门为主主要届介绍java web接口API的编写 java编辑器首选IntelliJ IDEA 官方链接&#xff1a;https://www.jetbrains.com/idea/ IEDA 前言 实例项目主要是web端API接口的使用&#xff0c;项目使用mysql数据库&#xff0c;把从数据库中的数据的查询出来后通过接口json数…

【计算机考研】408系统学习法

计算机专业课基本上都是数据结构&#xff0c;计算机组成原理&#xff0c;计算机网络和操作系统中的内容 如果你考的学校是自命题&#xff0c;那么考察的专业课一般比较少&#xff0c;只有1-3门&#xff0c;比较顶尖的学校自命题考的比408还要难。如果考的是408&#xff0c;那么…

脚本项目一

第一题 1、判断当前磁盘剩余空间是否有20G&#xff0c;如果小于20G&#xff0c;则将报警邮件发送给管理员&#xff0c;每天检查一次磁盘剩余空间。 第一步安装邮件服务 [rootserver ~]# yum install mailx -y [rootserver ~]# vim /etc/mail.rc set from2282475145qq.com se…

管理类联考--复试--简历

文章目录 整体细节个人信息报考信息教育背景校园经历/实践经历/工作经历校园经历实践经历工作经历 个人特长/奖项证书个人特长奖项证书 自我评价 整体 第一&#xff1a;肯定是个人信息&#xff0c;要让面试官第一时间了解你的基础信息&#xff1b; 第二&#xff1a;报考信息&a…