当前位置: 首页 > news >正文

【论文阅读笔记】用于恶劣天气条件下的目标检测的IA-YOLO(Image-Adaptive YOLO) | 适合雾天和低光照场景

目录

摘要

1 方法

■ DIP模块

▲像素级滤波器

▲锐化滤波器

▲去雾滤波器

■ CNN-PP Module

■ 检测网络模块

■ 混合数据训练

2 实验

■ 实现细节

■ 有雾图像上的实验

■ 低照度图像上的实验

■ 消融研究

■ 有效分析

结论



论文题目:Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions(用于恶劣天气条件下的目标检测的图像自适应Yolo)

论文地址:https://arxiv.org/pdf/2112.08088

论文代码:https://github.com/wenyyu/ImageAdaptive-YOLO

发表时间:2022/7/4

作者单位:浙江大学计算机科学与技术学院、阿里巴巴-浙江大学联合前沿技术研究院、达摩书院、阿里巴巴集团、香港科技大学、香港理工大学

摘要

尽管基于深度学习的目标检测方法在传统数据集上取得了很好的效果,但从恶劣天气条件下拍摄的低质量图像中定位目标仍然具有挑战性。现有方法要么在平衡图像增强和目标检测任务上存在困难,要么往往忽略了对检测有利的潜在信息。为了缓解这个问题,提出了一种新颖的图像自适应YOLO(IA-YOLO)框架,其中每张图像都可以进行自适应增强以获得更好的检测性能。具体来说,针对YOLO探测器的恶劣气象条件,提出了一种可微图像处理(DIP)模块,其参数由一个小型卷积神经网络(CNN-PP)预测以端到端的方式联合学习CNN-PP和YOLOv3,保证了CNN-PP能够以弱监督的方式学习到合适的DIP来增强待检测图像。我们提出的IA-YOLO方法可以自适应地处理正常和恶劣天气条件下的图像。实验结果非常令人鼓舞,证明了我们提出的IA-YOLO方法在雾天和低光照场景下的有效性

图1:在真实世界的有雾环境中,我们的方法可以自适应地输出更清晰的图像,并且物体边界周围的边缘更清晰,从而以更少的缺失实例产生更高的置信度检测结果。

本文工作的亮点在于:

1)提出了一种图像自适应的检测框架,在正常和恶劣天气条件下都取得了良好的性能;

2)提出了一种白盒可微图像处理模块,其超参数由弱监督参数预测网络预测

3)在合成数据集( VOC_Foggy和VOC_Dark)和真实数据集(RTTS和ExDark)上,与之前的方法相比,取得了令人鼓舞的实验结果。

1 方法

在恶劣天气条件下拍摄的图像,由于天气特有信息的干扰,能见度较差,造成目标检测困难。为了应对这一挑战,提出了一种图像自适应的检测框架,通过去除天气特有的信息,揭示更多的潜在信息。如图2所示,整个管道由基于卷积神经网络的参数预测器( CNNPP )、可微图像处理模块(DIP)和检测网络组成

首先,将输入图像调整为256×256大小,并将其输入到CNN-PP中预测DIP的参数。

然后,将DIP模块滤波后的图像作为YOLOv3检测器的输入。

提出了一种带有检测损失的端到端混合数据训练方案,使得CNN-PP能够以弱监督的方式学习一个合适的DIP来增强用于目标检测的图像。

■ DIP模块

对于基于梯度优化的CNNPP,滤波器应该是可微的,以便通过反向传播来训练网络。由于CNN在处理高分辨率图像(例如4000×3000)时会消耗大量的计算资源,本文从尺寸为256×256的下采样低分辨率图像中学习滤波器参数,然后将相同的滤波器应用到原始分辨率的图像中。因此,这些滤波器需要独立于图像分辨率。

提出的DIP模块由六个可调超参数的可微滤波器组成,包括Defog、White Balance ( WB )、Gamma、Contrast、Tone和Sharpen。与( Hu等2018)一样,标准的颜色和色调算子,如WB,Gamma,对比度和色调,可以表示为像素级滤波器。因此,设计的滤波器可以分为Defog滤波器、像素级滤波器和Sharpen滤波器。在这些滤波器中,Defog滤波器是专门为雾天场景设计的。

像素级滤波器

逐像素滤波器将输入像素值Pi=(ri , gi , bi)映射为输出像素值Po=(ro , go , bo),其中(r , g , b)分别表示红、绿、蓝3个颜色通道的值。四个像素级滤波器的映射函数列于表1中,其中,第二列列出了方法中需要优化的参数。WB和Gamma是简单的乘法和幂变换。显然,它们的映射函数关于输入图像和参数都是可微的。

表1:像素级滤波器的映射函数。

通过一个输入参数设计可微对比度滤波器来设置原始图像和完全增强图像之间的线性插值。如表1所示,映射函数中En(Pi)的定义如下,见公式1、2、3:

 将tone滤波器设计为单调和分段线性函数。学习具有L个参数的色调滤波器,表示为{t0,t1,..,tL-1}。色调曲线上的点记为( k/L , Tk/TL),其中,。此外,映射函数由可微参数表示,这使得函数关于输入图像和参数{ t0,t1,..,tL-1 }均可微,见公式4:

锐化滤波

图像锐化可以突出图像细节。与反锐化掩模技术一样,锐化过程可以描述如下,见公式5:

其中,I(x)是输入图像,Gau(I(x))是高斯滤波器,λ是一个正尺度因子。这种锐化操作对x和λ都是可微的。需要注意的是,可以通过优化λ来调整锐化程度,以获得更好的目标检测性能。

去雾滤波器

受暗通道先验方法的启发,设计了一个具有可学习参数的去雾滤波器。基于大气散射模型,雾天图像的形成可以表述如下,见公式6:

其中,I(x)表示有雾图像,J(x)表示场景辐射亮度(干净图像)。A为全球大气光,t(x)为介质透射图,定义见公式7:

其中,β表示大气的散射系数,d(x)为场景深度。

为了恢复干净的图像J(x),关键是获取大气光A和透射图t(x)。为此,首先计算雾天图像I(x)的暗通道图,并挑选前1000个最亮的像素。然后,通过对雾天图像I(x)的对应位置的1000个像素取平均来估计A。可以得到t(x)的一个近似解,见公式8:

进一步引入一个参数ω来控制去雾的程度,见公式9:

由于上述操作是可微的,可以通过反向传播来优化ω,使去雾滤波器更有利于雾天图像检测。

图8:学习到的DIP模块及其滤波输出示例。图像自适应处理模块可以根据每幅输入图像的亮度、颜色、色调和天气信息输出相应的滤波器参数,从而获得更好的检测性能。

■ CNN-PP Module

在相机图像信号处理(ISP)管道中,通常使用一些可调滤波器进行图像增强,其超参数由经验丰富的工程师通过视觉检查手动调节以找到适合广泛的场景参数。一般来说,这样的调优过程是非常笨拙和昂贵的。为了解决这个限制,建议使用一个小的CNN作为参数预测器来估计超参数,这是非常有效的。

以雾天场景为例,CNN-PP的目的通过理解图像的全局内容,如亮度、颜色和色调,以及雾的程度来预测DIP的参数。因此,降采样后的图像足以估计这些信息,可以大大节省计算成本。给定一幅任意分辨率的输入图像,简单地使用双线性插值将其下采样到256×256分辨率。如图2CNN-PP网络由5个卷积块和2个全连接层组成。每个卷积块包括一个步长为2的3×3卷积层和一个leaky Relu。最后的全连接层为DIP模块输出超参数。这五个卷积层的输出通道分别为16、32、32、32和32。当参数总数为15时,CNN-PP模型仅包含165K个参数。

■ 检测网络模块

本文选择在实际应用中广泛使用的单级检测器YOLOv3作为检测网络,包括图像编辑、安防监控、人群检测和自动驾驶。与之前版本相比,YOLOv3基于Resnet的思想设计了由连续3×3和1×1卷积层组成的darknet-53。它通过对多尺度特征图进行预测来实现多尺度训练,从而进一步提高检测精度,特别是对小目标的检测。我们采用与原始YOLOv3相同的网络架构和损失函数

■ 混合数据训练

为了在正常和恶劣天气条件下都能达到理想的效果,采用了一种针对IA-YOLO的混合数据训练方案。算法1总结了提出的方法的训练过程。

每幅图像有2/3的概率被随机添加某种雾气或转化为低照度图像后输入到网络中进行训练。利用正常和合成的低质量训练数据,使用YOLOv3检测损失对整个流水线进行端到端的训练,保证了IA-YOLO中各个模块能够相互适应。因此,CNN-PP模块在没有人工标注真值图像的情况下,受到检测损失的弱监督。混合数据训练模式保证了IA-YOLO能够根据每幅图像的内容自适应地处理图像,从而达到较高的检测性能。

2 实验

我们评估了我们的方法在雾天和低光照场景下的有效性。滤波器组合为[去雾,白平衡( WB ) , Gamma ,对比度,色调,锐化],而Defog滤波器只在雾天条件下使用。

■ 实现细节

在提出的IA-YOLO方法中,所有实验的骨干网为Darknet-53。在训练过程中,我们随机调整图像大小为(32N×32N),其中N∈[9、19]。此外,采用图像翻转、裁剪和变换等数据增强方法扩充训练数据集。我们的IA-YOLO模型由Adam优化器以80个epochs进行训练。起始学习率为0.0001,批次大小为6。IA-YOLO在三个不同尺度下预测边界框,每个尺度下预测三个锚点。使用Tensorflow进行实验,并在Tesla V100 GPU上运行。

■ 有雾图像上的实验

图3:YOLOv3 II (第1、3、5列)和IA-YOLO (第2、4和6列)在合成VOC_Foggy_test图像(上排)和真实RTTS有雾图像(下排)上的检测结果。所提方法通过学习减少雾霾和锐化图像边缘,具有更好的检测性能,漏检和误检较少。

图7:不同方法在真实RTTS雾天图像上的检测结果。从左到右依次为:YOLOv3 II、Gird Dehaze+YOLOv3 I、MSBDN+YOLOv3 I和IA-YOLO。所提方法学习减少雾霾,增强图像对比度,从而以更少的漏检和误检获得更好的检测性能。

■ 低照度图像上的实验

图4给出了IA-YOLO与基准YOLOv3Ⅱ的定性比较。可以看出,我们提出的DIP模块能够自适应地增加输入图像的对比度,并揭示图像细节,这对于目标检测至关重要。

■ 消融研究

表5:DIP模块中滤波器的消融分析。

■ 有效分析

表7:不同方法的有效分析。

在IA-YOLO框架中,在YOLOv3中引入了一个具有165K可训练参数的小型CNNPP学习模块。IA-YOLO在单个Tesla V100 GPU上检测一幅544×544×3分辨率图像耗时44 ms。与YOLOv3基线相比,它仅增加了13 ms,比GridDehaze-YOLOv3和MSBDNYOLOv3分别快7 ms和50 ms。综上所述,IA-YOLO只增加了165K的可训练参数,同时在运行时间相当的所有测试数据集上取得了更好的性能。

结论

提出了一种新颖的IA-YOLO方法来改善恶劣天气条件下的目标检测,其中每个输入图像都进行了自适应增强,以获得更好的检测性能。开发了一个完全可微的图像处理模块,通过去除YOLO探测器的天气特异性信息来恢复潜在内容,其超参数由小型卷积神经网络预测。此外,整个框架以端到端的方式进行训练,其中参数预测网络通过检测损失进行弱监督学习一个合适的DIP模块。通过利用混合训练和参数预测网络的优势,提出的方法能够自适应地处理正常和不良天气条件。实验结果表明,我们的方法在雾天和低光照场景下的表现都比以前的方法要好得多。

至此,本文的内容就结束了。

相关文章:

【论文阅读笔记】用于恶劣天气条件下的目标检测的IA-YOLO(Image-Adaptive YOLO) | 适合雾天和低光照场景

目录 摘要 1 方法 ■ DIP模块 ▲像素级滤波器 ▲锐化滤波器 ▲去雾滤波器 ■ CNN-PP Module ■ 检测网络模块 ■ 混合数据训练 2 实验 ■ 实现细节 ■ 有雾图像上的实验 ■ 低照度图像上的实验 ■ 消融研究 ■ 有效分析 结论 论文题目:Image-Adapti…...

【Elasticsearch】Set up a data stream 创建data stream

在 Elasticsearch 中,数据流(Data Stream)是一种用于管理时间序列数据的高级功能,它通过自动管理索引的生命周期和版本控制,简化了大规模时间序列数据的存储和查询。以下是结合上述翻译内容,对 Elasticsear…...

redhat无网利用iso搭建本地yum源

redhat8 挂载iso镜像到本地目录 第一种方法: 上传rhel8的iso文件到服务器。 mkdir /mnt/cdrom mount -t iso9660 -o loop rhel-8.10-x86_64-dvd.iso /mnt/cdrom 第二种方法: 如果是vmware等自己安装的虚拟机,可以直接挂载iso镜像到cd/dvd…...

我的ChatGPT怎么登不上?

近期,不少用户反馈在使用ChatGPT时遇到登录困难、连接超时等问题。本文将从技术角度分析常见原因,并提供合规、安全的解决方案,同时结合开发者实际需求推荐实用工具,助您高效应对登录障碍。 ChatGPT登录失败的常见原因 网络环境限…...

飞机大战lua迷你世界脚本

-- 迷你世界飞机大战 v1.2 -- 星空露珠工作室制作 -- 最后更新:2024年1月 ----------------------------- -- 迷你世界API适配配置 ----------------------------- local UI { BASE_ID 7477478487091949474-22856, -- UI界面ID ELEMENTS { BG 1, -- 背景 BTN_LE…...

链表常用技巧和操作总结

链表是我们数据结构很重要的一点,也是常考的点 接下来我会先进行技巧总结,然后再通过具体的题来进行详解 总结 1.常用技巧 画图: 用笔是肯定比只用脑子强的,画图会更加清晰 引入虚拟头节点: 便于处理边界: 如果没有头节点,也就是第一个节点就有有效数据,就需要考虑边界问题…...

CSS的列表属性

列表相关属性,可以用在ul,ol,li元素上. CSS属性名功能属性值 list-style-type 设置列表符号 常用值如下: none:不显示前面的标识(很常用!) square:实心方块 disc:圆形 decimal:数字 lower-roma:小写罗马字 upper-roman:大写罗马字 lower-alph:小写字母 upper-alpha:大写字母 …...

Django 5实用指南(十三)安全性与防护

随着Web应用的普及,安全性问题越来越成为开发者关注的重点。Django5为Web开发者提供了强大的安全防护功能,可以帮助开发者防范常见的Web攻击,如SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)…...

cesium+vue3自定义HTML实体弹窗、加高德路网、防实体漂浮、让用户画圆、鹰眼

一、基础使用:Cesium.js基础使用(vue)-CSDN博客 1、基础路径 为 Cesium 库设置一个全局变量 CESIUM_BASE_URL,用于指定 Cesium 的资源文件(如 WebGL shaders、纹理、字体等)的 示例场景:假设你…...

Go红队开发—编解码工具

文章目录 开启一个项目编解码工具开发Dongle包Base64编解码摩斯密码URL加解密AES加解密 MD5碰撞工具开发 开启一个项目 这作为补充内容,可忽略直接看下面的编解码: 一开始用就按照下面的步骤即可 1.创建一个文件夹,你自己定义名字(建议只用…...

计算机毕业设计SpringBoot+Vue.js常规应急物资管理系统(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

thinkphp5对接阿里云ocr试卷切题

thinkphp5对接阿里云ocr试卷切题 提示:切题使用的是api:RecognizeEduPaperCut 以下是基于 ThinkPHP5.14 框架调用阿里云 RecognizeEduPaperCut 接口的详细实现步骤和代码示例。 文章目录 thinkphp5对接阿里云ocr试卷切题前言1、前置准备2、 配置文件3、控制器直接引…...

AI数据分析:用DeepSeek做数据清洗

在当今数据驱动的时代,数据分析已成为企业和个人决策的重要工具。随着人工智能技术的快速发展,AI 驱动的数据分析工具正在改变我们处理和分析数据的方式。本文将着重介绍如何使用 DeepSeek 进行数据清洗。 数据清洗是数据分析的基础,其目的是…...

免费轻巧多功能 PDF 处理工具:转换、压缩、提取一应俱全

软件技术 今天要给大家分享一款超实用的 PDF 处理工具,它免费又轻巧,如同随时待命的得力小帮手,功能之强大超乎想象,真的值得大家收藏。 这款工具是绿色版软件,解压后开启,满满的 PDF 处理功能便映入眼帘…...

基于JavaWeb开发的Java+SpringBoot+vue+element实现物流管理系统

基于JavaWeb开发的JavaSpringBootvueelement实现物流管理系统 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定…...

计算机毕业设计SpringBoot+Vue.js华强北商城二手手机管理系统 (源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

实验:k8s+keepalived+nginx+iptables

1、创建两个nginx的pod,app都是nginx nginx1 nginx2 2、创建两个的pod的service 3、配置两台keepalived的调度器和nginx七层反向代理,VIP设置192.168.254.110 keepalived调度器master keepalived调度器backup 两台调度器都配置nginx七层反向代理&#…...

DeepSeek入门学习

参考文档:DeepSeek(人工智能企业)_百度百科 DeepSeek-R1 凭借创新的强化学习技术实现重大突破。在极少量标注数据的基础上,通过深度优化的后训练阶段,显著提升了模型的推理能力。在数学运算、代码生成、自然语言推理等…...

几道考研数学题求解

函数性质问题 【题目】 已知函数 f ( x , y ) x 3 y 3 − ( x y ) 2 3 f(x, y) x^3 y^3 - (xy)^2 3 f(x,y)x3y3−(xy)23。设 T T T 为曲面 z f ( x , y ) z f(x, y) zf(x,y) 在点 ( 1 , 1 , 1 ) (1,1,1) (1,1,1) 处的切平面, D D D 为 T T T 与坐标…...

Highcharts 配置语法详解

Highcharts 配置语法详解 引言 Highcharts 是一个功能强大的图表库,广泛应用于数据可视化领域。本文将详细介绍 Highcharts 的配置语法,帮助您快速上手并制作出精美、实用的图表。 高级配置结构 Highcharts 的配置对象通常包含以下几部分&#xff1a…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

条件运算符

C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

2023赣州旅游投资集团

单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...