中科大提出PE-YOLO | 让YOLO家族算法直击黑夜目标检测

简介: 中科大提出PE-YOLO | 让YOLO家族算法直击黑夜目标检测

当前的目标检测模型在许多基准数据集上取得了良好的结果,但在暗光条件下检测目标仍然是一个巨大的挑战。为了解决这个问题,作者提出了金字塔增强网络(PENet)并将其与YOLOv3结合,构建了一个名为PE-YOLO的暗光目标检测框架。

首先,PENet使用拉普拉斯金字塔将图像分解为4个具有不同分辨率的组件。具体来说,作者提出了一个细节处理模块(DPM)来增强图像的细节,其中包括上下文分支和边缘分支。此外,作者提出了一个低频增强滤波器(LEF)来捕获低频语义并防止高频噪声。

PE-YOLO采用端到端的联合训练方法,并且只使用普通的检测损失来简化训练过程。作者在暗光条件下的目标检测数据集ExDark上进行实验,以展示作者方法的有效性。结果表明,与其他暗光检测器和暗光增强模型相比,PE-YOLO取得了先进的结果,分别达到了78.0%的mAP和53.6的FPS,可以适应不同的暗光条件下的目标检测。

代码:https://github.com/XiangchenYin/PE-YOLO

1、简介

近年来,卷积神经网络(CNN)的出现推动了目标检测领域的发展。大量的检测器被提出,针对基准数据集的性能也取得了令人满意的结果。然而,大多数现有的检测器都是在高质量图像和正常条件下进行研究的。而在实际环境中,往往存在许多恶劣的光照条件,如夜晚、暗光和曝光不足,导致图像质量下降,从而影响了检测器的性能。视觉感知模型使得自动系统能够理解环境并为后续任务(如轨迹规划)奠定基础,这需要一个稳健的目标检测或语义分割模型。

图1是一个暗光目标检测的示例。可以发现,如果能够适当地增强图像,并根据环境条件恢复原始模糊目标的更多潜在信息,那么目标检测模型就能够适应不同的暗光条件,这也是模型在实际应用中面临的重大挑战。

目前,已经提出了许多方法来解决暗场景中的鲁棒性问题。许多暗光增强模型被提出来恢复图像细节,减少恶劣光照条件的影响。然而,暗光增强模型的结构较为复杂,这不利于图像增强后检测器的实时性能。这些方法大多数不能与检测器进行端到端的训练,需要有配对的暗光图像和正常图像进行监督学习。

在暗光条件下的目标检测也可以看作是域自适应问题。一些研究者采用对抗学习将模型从正常光到暗光进行转换。但是他们关注的是数据分布的匹配,忽略了暗光图像中所包含的潜在信息。近几年,一些研究者提出了使用可微分图像处理(DIP)模块来增强图像,并以端到端的方式训练检测器。然而,DIP是传统的方法,如白平衡,对图像的增强效果有限。

为了解决以上问题,本文作者提出了一种金字塔增强网络(PENet),用于增强暗光图像并捕获有关目标的潜在信息。作者将PENet与YOLOv3结合,构建了一个名为PE-YOLO的端到端的暗目标检测框架。在PENet中,作者首先使用拉普拉斯金字塔将图像分解为多个不同分辨率的组成部分。在金字塔的每个尺度上,作者提出了细节处理模块(DPM)和低频增强滤波器(LEF)来增强这些组成部分。

DPM由上下文分支和边缘分支组成,上下文分支通过捕获远距离依赖关系全局增强组成部分,而边缘分支增强组成部分的纹理。LEF使用动态低通滤波器来获取低频语义信息,防止高频噪声以丰富特征信息。作者在模型训练过程中只使用正常的检测损失来简化训练过程,无需对图像进行清晰的标注。

作者在暗光目标检测数据集ExDark上验证了作者方法的有效性,结果显示与其他暗目标检测器和暗光增强模型相比,PE-YOLO取得了先进的结果,分别达到78.0%的mAP和53.6的FPS,适用于暗场景中的目标检测。

作者的贡献可以总结如下:

  • 作者构建了一个金字塔增强网络(PENet),用于增强不同的暗光图像。作者提出了详细处理模块(DPM)和低频增强滤波器(LEF)来增强图像组成部分。
  • 通过将PENet与YOLOv3结合,作者提出了一个端到端训练的暗目标检测框架PE-YOLO,以适应暗光条件。在训练过程中,作者只使用正常的检测损失。
  • 与其他暗目标检测器和暗光增强模型相比,作者的PE-YOLO在ExDark数据集上取得了先进的结果,实现了令人满意的准确性和速度。

2、相关方法

2.1、目标检测

目标检测模型可以分为3类:

  • 一阶段模型、
  • 两阶段模型
  • 基于Anchor-Free的模型。

Faster RCNN 不再通过选择性搜索获得区域建议,而是通过区域提议网络(RPN)来实现。它使得候选区域提议、特征提取、分类和回归在同一个网络中端到端地进行训练。Cai等人提出了Cascade RCNN,它将多个检测头级联起来,当前级别将对前一级别的回归和分类结果进行改进。YOLOv3 提出了新的特征提取网络DarkNet-53。借鉴了特征金字塔网络(FPN)的思想,YOLOv3采用了多尺度特征融合。此外,最近出现了基于Anchor-Free的检测器,它们放弃了Anchor,并将其改变为基于关键点的检测。

2.2、暗光增强

暗光增强任务的目标是通过恢复图像细节和校正颜色失真来改善人类的视觉感知,并为目标检测等高级视觉任务提供高质量的图像。Zhang等人提出了Kind,它可以通过不同亮度级别的成对图像进行训练,而无需真实的GT。Guo等人提出了Zero DCE,它将暗光增强任务转化为图像特定曲线估计问题。Lv等人提出了多分支暗光增强网络MBLLEN,它在不同级别提取特征,并通过多分支融合生成输出图像。Cui等人提出了自适应照明Transformer(IAT),通过动态查询学习构建端到端的Transformer。暗光增强模型恢复图像细节后,会提高检测器的效果。然而,大多数暗光增强模型较为复杂,对检测器的实时性能有很大影响。

2.3、恶劣条件下的目标检测

在恶劣条件下的目标检测对于机器人的鲁棒感知至关重要,因此出现了一些针对恶劣条件的鲁棒目标检测模型。有些研究人员通过无监督领域自适应将检测器从源域迁移到目标域,以适应恶劣环境。刘等人提出了IA-YOLO,它通过自适应地增强每个图像来提高检测性能。他们使用了一个可微分图像处理(DIP)模块来适应恶劣天气,并使用一个小型卷积神经网络(CNN-PP)来调整DIP的参数。在IA-YOLO的基础上,Kalwar等人提出了GDIP-YOLO。GDIP提出了一个门控机制,允许多个DIP并行操作。Qin等人提出了检测驱动的增强网络(DENet),用于恶劣天气条件下的目标检测。Cui等人提出了用于暗光条件下的多任务自动编码转换(MAET),探索了光照转换背后的潜在空间。

3、本文方法

暗图像由于暗光干扰导致能见度较差,这影响了检测器的性能。为了解决这个问题,作者提出了金字塔增强网络(PENet)并联合YOLOv3构建了一个暗物体检测框架PE-YOLO。PE-YOLO框架的概览如图2所示。

3.1、PE-YOLO概述

PENet通过拉普拉斯金字塔将图像分解成不同分辨率的组件。在PENet中,作者通过提出的细节处理模块(DPM)和低频增强滤波器(LEF)来增强每个尺度的组件。

假设图像作为输入,作者使用高斯金字塔获取不同分辨率的子图像。

其中,表示下采样,表示高斯滤波器,高斯核的大小为5×5。在每个高斯金字塔操作后,图像的宽度和高度减半,这意味着分辨率是原始图像的1/4。显然,高斯金字塔的下采样操作是不可逆的。为了在上采样后恢复原始的高分辨率图像,需要恢复丢失的信息,这些丢失的信息构成了拉普拉斯金字塔的组件。拉普拉斯金字塔的定义如下:

其中,表示拉普拉斯金字塔的第层,表示高斯金字塔的第层,表示双线性上采样操作。在重建图像时,作者只需要执行公式(2)的逆操作,即可恢复高分辨率图像。

作者通过拉普拉斯金字塔获得了不同尺度的4个组件,如图3所示。作者发现拉普拉斯金字塔从底部到顶部更关注全局信息,而从顶部到底部更关注局部细节。它们都是在图像下采样过程中丢失的信息,也是作者PENet增强的目标。作者通过细节处理模块(DPM)和低频增强滤波器(LEF)来增强这些组件,DPM和LEF的操作是并行的。

作者将在下一节中介绍DPM和LEF。通过分解和重建拉普拉斯金字塔,PENet可以变得轻量且有效,这有助于提高PE-YOLO的性能。

3.2、细节信息增强

作者提出了一个细节处理模块(DPM)来增强拉普拉斯金字塔中的组件,它由上下文分支和边缘分支组成。

DPM的详细信息如图4所示。上下文分支通过捕捉远程依赖性来获取上下文信息,并全局增强组件。边缘分支使用两个不同方向的Sobel算子来计算图像梯度,获取边缘并增强组件的纹理。

1、上下文分支

作者使用残差块来在获取远程依赖性之前和之后处理特征,并且残差学习允许丰富的低频信息通过跳过连接进行传递。第一个残差块将特征的通道从3变为32,第二个残差块将特征的通道从32变为3。捕捉场景中的全局信息已被证明对于低级别的视觉任务(如暗光增强)是有益的。

上下文分支的结构如图4所示,其定义如下:

在上述公式中,表示上下文分支的输出,是带有3×3卷积核的卷积层,γ是Leaky ReLU激活函数,σ是函数。

2、Edge branch

算子是一种离散算子,它同时使用了高斯滤波和差分求导。它通过计算梯度近似来找到边缘。作者在水平和垂直方向上都使用算子来通过卷积滤波器重新提取边缘信息,并使用残差来增强信息的流动。该过程表示为:

在上述公式中,和分别代表垂直和水平方向上的操作。这两个操作分别应用于输入特征,以计算垂直和水平方向上的梯度近似,从而提取图像中的边缘信息。在DPM中,作者使用这两个Sobel操作来获取边缘信息,并将其与原始输入特征相加,以增强特征表示。

3.3、低频增强滤波器

在每个尺度的分量中,低频分量包含了图像中的大部分语义信息,它们是检测器预测的关键信息。为了丰富重建图像的语义信息,作者提出了低频增强滤波器(LEF)来捕捉组成部分中的低频信息。LEF的细节如图5所示。

假设组成部分,作者首先通过一个卷积层将其转换为。作者使用动态低通滤波器来捕捉低频信息,并且使用平均池化进行特征滤波,只允许低于截止频率的信息通过。

不同语义的低频阈值是不同的。考虑到Inception的多尺度结构,作者使用大小为、、、的自适应平均池化,并在每个尺度末尾使用上采样来恢复特征的原始大小。不同卷积核大小的平均池化形成了低通滤波器。作者通过通道分离将f划分为4个部分,即。每个部分使用不同大小的池化进行处理,具体描述如下:

其中是在通道上划分的部分,是双线性插值采样,β是不同大小的自适应平均池化。最后,在张量拼接每个后,作者将它们恢复为。

4、实验

4.1、实验结果

为了验证PE-YOLO的有效性,作者在ExDark数据集上进行了许多实验。首先,作者将PE-YOLO与其他暗光增强模型进行比较。由于暗光增强模型缺乏检测能力,作者将使用与PE-YOLO相同的检测器对所有增强后的图像进行实验。

作者将mAP的IoU阈值设置为0.5,并且性能比较结果如表1所示。作者发现直接在YOLOv3之前使用暗光增强模型并没有显著提高检测性能。作者的PE-YOLO在mAP上比MBLLEN和Zero-DCE分别高出1.2%和1.1%,取得了最佳结果。

作者将不同暗光增强模型的检测结果进行了可视化,如图6所示。作者发现虽然MBLLEN和Zero DCE可以显著提高图像的亮度,但它们也会放大图像中的噪声。PE-YOLO主要捕捉暗光图像中目标的潜在信息,同时抑制高频组件中的噪声,因此PE-YOLO具有更好的检测性能。

作者将PE-YOLO与其他暗光检测器进行了性能比较,如表2所示。此外,作者还可视化了暗光检测器和PE-YOLO的检测结果,如图7所示,清楚地展示了PE-YOLO在目标检测方面更准确。与使用LOL数据集进行预训练的DENet和IAT-YOLO相比,PE-YOLO在mAP上高出0.7%和0.2%,而且作者的PE-YOLO在FPS上几乎是最高的。以上数据表明,PE-YOLO更适用于在暗光条件下检测物体。

4.2、消融实验

为了分析PE-YOLO中每个组件的有效性,作者进行了消融研究,结果如表3所示。在采用上下文分支后,PE-YOLO的mAP从76.4%增加到77.0%,表明捕捉远程依赖关系对于增强有效。在采用边缘分支后,mAP从77.0%增加到77.6%,表明边缘分支可以增强组件的纹理,并增强增强图像的细节。在采用LEF后,mAP从77.6%增加到78.0%,表明捕捉低频分量有助于获得图像中的潜在信息。

最后,作者的模型在mAP上从76.4%提高到78.0%,仅降低了0.4个FPS。

5、参考

[1]. PE-YOLO: Pyramid Enhancement Network for Dark Object Detection.

相关文章
|
2月前
|
机器学习/深度学习 算法 测试技术
低照度增强算法(图像增强+目标检测+代码)
低照度增强算法(图像增强+目标检测+代码)
93 1
|
2月前
|
机器学习/深度学习 监控 算法
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
129 1
|
1月前
|
机器学习/深度学习 算法 计算机视觉
|
6月前
|
机器学习/深度学习 监控 算法
目标检测算法的优缺点及适用场景
目标检测算法的优缺点及适用场景
185 0
|
2月前
|
机器学习/深度学习 传感器 编解码
Hy-Tracker来啦 | 带有YOLO的跟踪算法家族再添新成员,尺度变化和遮挡都不是问题!
Hy-Tracker来啦 | 带有YOLO的跟踪算法家族再添新成员,尺度变化和遮挡都不是问题!
76 1
|
4月前
|
编解码 人工智能 算法
极智AI | 目标检测实现分享二:听说克莱今天复出了?详解YOLOv2算法与克莱检测
大家好,我是极智视界,本文详细介绍一下 YOLOv2 算法的设计与实现,包括训练。
209 1
|
4月前
|
机器学习/深度学习 算法 固态存储
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
121 0
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
1月前
|
算法
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
23 2