改进YOLOv3!IA-YOLO:恶劣天气下的目标检测

恶劣天气条件下从低质量图像中定位目标还是极具挑战性的任务。现有的方法要么难以平衡图像增强和目标检测任务,要么往往忽略有利于检测的潜在信息。本文提出了一种新的图像自适应YOLO (IA-YOLO)框架,可以对每张图像进行自适应增强,以提高检测性能。实验结果证明了IAYOLO方法在雾天和弱光情况下的有效性。

Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions论文: https://arxiv.org/abs/2112.08088
代码: https://github.com/wenyyu/Image-Adaptive-YOLO

虽然基于深度学习的目标检测方法在传统数据集上取得了良好的效果,但在恶劣天气条件下从低质量图像中定位目标仍然具有挑战性。现有的方法要么难以平衡图像增强和目标检测任务,要么往往忽略有利于检测的潜在信息。

为了缓解这一问题,本文提出了一种新的图像自适应YOLO (IA-YOLO)框架,可以对每张图像进行自适应增强,以提高检测性能。针对YOLO探测器的恶劣天气条件,提出了一种可微分的图像处理(DIP)模块,并利用小型卷积神经网络(CNN-PP)对其参数进行预测。

IA-YOLO以端到端的方式学习CNN-PP和YOLOv3,这确保CNN-PP可以学习适当的DIP,以弱监督的方式增强图像进行检测。

本文提出的IA-YOLO方法可以在正常和恶劣天气条件下自适应处理图像。实验结果证明了IAYOLO方法在雾天和弱光情况下的有效性。

一、所提方法

在恶劣天气条件下拍摄的图像,由于特定天气信息的干扰,能见度较差,导致目标检测困难。为了解决这一挑战,本文提出了一种图像自适应检测框架,通过去除特定天气信息并揭示更多潜在信息。如图2所示,整个管道由一个基于cnn的参数预测器(CNNPP)、一个可微分图像处理模块(DIP)和一个检测网络组成。首先调整输入图像的大小为256x256,并将其输入到CNN-PP,以预测DIP的参数。然后,将经过DIP模块滤波后的图像作为YOLOv3检测器的输入。作者提出了一种端到端的混合数据训练方案,该方案具有检测损失,使CNN-PP能够学习适当的DIP,以弱监督方式增强图像的目标检测。

DIP Module

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

我们提出的DIP模块由六个可微滤波器组成,具有可调超参数,包括Defog、White Balance(WB)、Gamma、Contrast、Tone和Sharpen。标准的颜色和色调操作符,如WB、Gamma、Contrast和Tone,可以表示为像素级滤波器。因此,设计的滤波器可以分为雾化、像素化和锐化。在这些滤波器中,除雾滤波器是专门为大雾场景设计的。具体情况如下。

1、像素级滤波器

像素级滤波器映射一个输入像素值 ��=(��,��,��) 转换为输出像素值 ��=(��,��,��),其中 (�,�,�)分别表示红、绿、蓝三个颜色通道的值。表1列出了四个像素级过滤器的映射函数,其中第二列列出了在本文的方法中要优化的参数。WB和Gamma是简单的乘法和功率变换。显然,它们的映射函数对于输入图像和参数都是可微的。

设计了可微对比度滤波器,输入参数设置原始图像和完全增强图像之间的线性插值。所示表1,映射函数中 ��(��) 的定义如下:

这里将tone 滤波器设计为一个单调的分段线性函数。用 � 参数学习tone 滤波器,用 {�0,�1,...,��−1} 表示,tone 曲线的点记为 (�/�,��/��),其中 ��=∑�=0�−1��。此外,映射函数用可微参数表示,这使得函数对于输入图像和参数都是可微的,如下所示

2、锐化滤波器

图像锐化可以突出图像的细节。就像未锐化掩模技术(Polesel, Ramponi, and Mathews 2000),锐化过程可以描述如下:

其中 �(�) 为输入图像, ���(�(�)) 为高斯滤波器, � 为正缩放因子。这个锐化操作对于 � 和 � 都是可微的。注意,锐化程度可以通过优化 � 调优目标检测性能。

3、除雾滤波器

基于暗通道先验方法设计了一个具有可学习参数的除雾滤波器。基于大气散射模型,朦胧图像的形成可以表述为:

其中 �(�) 为雾天图像, �(�) 为场景亮度。A为全球大气光, �(�) 为介质透射图,定义为:

其中 � 为大气的散射系数, �(�) 为场景深度。

为了恢复干净图像 �(�) ,关键是获取大气光A和透射图 �(�) 。为此,首先计算暗通道图,并选择最亮的1000个像素。然后,对雾霾图像 �(�) 的1000个像素平均估计A。

根据上式,可以推导出 �(�) 的近似解如下:

进一步介绍一个参数 � 除雾程度控制方法如下:

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

CNN-PP Module

在相机图像信号处理(ISP)管道中,通常使用一些可调滤波器进行图像增强,其超参数由经验丰富的工程师通过视觉检查手动调整。

通常,这样的调优过程是非常笨拙和昂贵的,以找到合适的参数,广泛的场景。为了解决这一局限性,建议使用一个较小的CNN作为参数预测器来估计超参数,这是非常有效的。

以雾天场景为例,CNN-PP的目的是通过了解图像的全局内容,如亮度、颜色和色调以及雾的程度来预测DIP的参数。因此,下采样图像足以估计这些信息,可以大大节省计算成本。对于任意分辨率的输入图像,我们简单地使用双线性插值将其采样到256×256分辨率。如图2所示,CNN-PP网络由5个卷积块和2个全连接层组成。

每个卷积块包括一个带有stride=2的3 × 3卷积层和一个LeakyRelu。最后的全连接层输出DIP模块的超参数。这5个卷积层的输出通道分别为16、32、32、32和32。当参数总数为15时,CNN-PP模型只包含165K个参数。

Detection Network Module

在本文中,选择one-stage检测器YOLOv3作为检测网络。与之前的版本相比,YOLOv3基于ResNet的思想设计了darknet-53,由连续的3×3和1×1卷积层组成。通过对多尺度特征图进行预测,实现多尺度训练,从而进一步提高检测精度,特别是对小目标的检测精度。采用了与原来相同的网络结构和损失函数。

Hybrid Data Training

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

在输入到网络进行训练之前,每一幅图像都有2/3的概率被随机添加某种雾或被转换为微光图像。无论是普通的还是合成的低质量训练数据,整个过程都是端到端训练,使用YOLOv3检测损失,确保IA-YOLO中的所有模块都可以相互适应。

因此,CNN-PP模块在不手动标注GT真实图像的情况下,受到检测损失的弱监督。混合数据训练模式确保IA-YOLO可以根据每张图像的内容自适应处理图像,从而实现较高的检测性能。

二、实验

指标如下:

可视化结果:

参考文献

[1].Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions

Illustrastion by By Marina Mogulskaya from icons8

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电源控制系统架构(PCSA)之电源管理软件

下图显示了电源管理软件栈的简化表示。该图说明了OS电源管理框架、具有直接从SCP请求操作功能的组件以及它们与SCP固件之间的关系。 一个重要的方面是,所有硬件电源管理操作都是由SCP代表这些请求者执行的。 这种OS电源管理(OSPM)的简化表示可以分为两部分&#xff…

MySQL -- 表的增删查改

MySQL – 表的增删查改 文章目录 MySQL -- 表的增删查改一、Create创建1.插入数据2.插入否则更新3.替换 二、Retrieve查找1.select列1.1.全列查询1.2.指定列查询1.3.查询字段为表达式1.4.为查询结果指定别名1.5.结果去重 2.where条件2.1.英语不及格的同学&#xff08;英语<6…

数字孪生三剑客!云渲染及虚拟仿真服务器产品MapGIS Server for Unreal来了

10月18日&#xff0c;新一代全空间智能GIS平台的升级之作——MapGIS 10.6 Pro在深圳正式发布&#xff0c;整场发布会全空间GIS、智能GIS、信创GIS、全栈开发各维度创新一一揭晓&#xff0c;全空间一体化、深度融合云端的全系产品全面升级&#xff0c;科技盛宴、高潮迭起。其中尤…

STM智能小车——OLED实现测速小车

目录 1. 测速模块 2. 测试原理和单位换算 3. 定时器和中断实现测速开发和调试代码 4. 小车速度显示在OLED屏 1. 测速模块 用途&#xff1a;广泛用于电机转速检测&#xff0c;脉冲计数,位置限位等。有遮挡&#xff0c;输出高电平&#xff1b;无遮挡&#xff0c;输出低电平接线…

Ubuntu20.04操作系统安装及重中之重:系统分区

最近因为学习原因&#xff0c;需要将电脑设置为双系统&#xff0c;在windows10的系统下去安装Ubuntu操作系统。本来看网上相关的安装教程蛮多的&#xff0c;以为比较简单&#xff0c;结果一路过五关斩六将&#xff0c;坑的七零八落的&#xff0c;折腾了好久&#xff0c;才算安装…

知识图谱实战应用30-知识图谱在反欺诈情报分析项目中的应用实践

大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用30-知识图谱在反欺诈情报分析项目中的应用实践,现代商业环境中,各类欺诈行为日益猖獗,严重影响企业的运营和社会秩序。传统的欺诈检测方法难以满足实时性和有效性方面的要求。本文介绍了采用知识图谱技术构建反欺诈情报…

Go学习第十五章——Gin参数绑定bind与验证器

Go web框架——Gin&#xff08;参数绑定bind与验证器&#xff09; 1 bind参数绑定1.1 JSON参数1.2 Query参数1.3 Uri绑定动态参数1.4 ShouldBind自动绑定 2 验证器2.1 常用验证器2.2 gin内置验证器2.3 自定义验证的错误信息2.4 自定义验证器 1 bind参数绑定 在Gin框架中&#…

x3daudio1 7.dll丢失怎么修复?多种x3daudio1 7.dll修复方法对比

x3daudio1_7.dll是Windows操作系统中的一个动态链接库文件&#xff0c;它主要负责处理音频相关的功能。当这个文件缺失或损坏时&#xff0c;可能会导致一些音频播放问题&#xff0c;如无声、杂音等。那么&#xff0c;x3daudio1_7.dll缺失的原因是什么呢&#xff1f;又该如何修复…

chorme安装esay scholar及chrome 无法从该网站添加应用、扩展程序和用户脚本解决方案

问题描述 如题&#xff0c;博主想安装easy scholar用于查询论文的分区&#xff0c;结果安装了半天一直出现chrome 无法从该网站添加应用、扩展程序和用户脚本解决方案的问题。 解决方案 先从这个网址下载&#xff1a;https://www.easyscholar.cc/download 然后对下载好的文…

处理固定资产折旧报错 AFAB “根据记帐循环, 您必须接下来对期间 001记帐”

会计在运用进行固定资产折旧时&#xff0c;发现有个报错“根据记帐循环, 您必须接下来对期间 001记帐”&#xff0c; 根据记帐循环, 您必须接下来对期间 001记帐 消息编号 AA683 诊断 不可以在指定的期间过帐折旧&#xff0c;因为此操作会遗漏过帐期间。 系统响应 该期间不能进…

损坏的视频不能观看,还能修复吗?

3-1 在日常的生活或者工作中&#xff0c;特别是做摄像工作的人&#xff0c;有一定的概率会遇到损坏的视频文件&#xff0c;比如相机突然断电、无人机炸机等&#xff0c;都有可能导致保存的视频文件损坏。 如果遇到这种情况&#xff0c;该如何修复这种损坏的视频文件&#xff…

菜单管理中icon图标回显

<el-table-column prop"icon" label"图标" show-overflow-tooltip algin"center"><template v-slot"{ row }"><el-icon :class"row.icon"></el-icon></template></el-table-column>

NlogPrismWPF

文章目录 Nlog&Prism&WPF日志模块实现原理添加配置注入服务应用测试其他模块怎么调用&#xff1f; Nlog&Prism&WPF 日志模块 介绍了为WPF框架Prism注册Nlog日志服务的方法 实现原理 无论是在WPF或者ASP.NET Core当中, 都可以使用ServiceCollection来做到着…

c#方法中的参数

无参 //无参数直接调用即可MethodWithoutParameters();/// <summary>/// 没有参数的方法/// </summary>private void MethodWithoutParameters(){Debug.Log("没有参数的方法");}有参 //有一个参数MethodWithOneParameters("我是参数");/// <…

标签推荐Top-N列表优化算法_朱小兵

2算法模型 2&#xff0e;1 Top-N推荐列表重排序算法

LeetCode 2402.会议室III ----堆+模拟

5e5 的st与ed 容易看出来是用堆来写的一道题目&#xff0c;一开始我只用了一个堆&#xff0c;出现了问题 问题就是当我们当前这个会议有多个可以选择的会议室可以选择的时候不一定选择那个最先结束的会议室而是应该选择可以选择的那些里面编号最小的那一个&#xff0c;因此我们…

3.5 队列的表示和操作的实现

思维导图&#xff1a; 3.5.1 队列类型 3.5.1 队列的类型定义 1. 简介 队列是一种特殊的线性表&#xff0c;它的特性是只能在表的一端进行插入操作&#xff0c;而在另一端进行删除操作。通常将允许插入操作的一端称为队尾&#xff0c;允许删除操作的一端称为队头。 2. 抽象…

【案例实战】NodeJS+Vue3+MySQL实现列表查询功能

这篇文章&#xff0c;给大家带来一个列表查询的功能&#xff0c;从前端到后端的一个综合案例实战。 采用vue3作为前端开发&#xff0c;nodejs作为后端开发。 首先我们先来看一下完成的页面效果。点击分页&#xff0c;可以切换到上一页、下一页。搜索框可以进行模糊查询。 后端…

视频格式高效转换:MP4视频批量转MKV格式的方法

随着数字媒体技术的不断发展&#xff0c;视频格式转换已经成为了我们日常工作中不可或缺的一部分。不同的视频格式适用于不同的场景和设备&#xff0c;因此将视频从一种格式转换为另一种格式往往是我们必须完成的任务。在本文中&#xff0c;我们将重点介绍如何运用云炫AI智剪高…

C#中LINQtoSQL的设置与连接

目录 一、首次安装LinqToSql类 二、非首次安装LinqToSql类 1.接受原有数据库连接 2.建立新的数据库连接 3.建立本地数据库连接 LINQ&#xff08;Language-Integrated Query&#xff0c;语言集成查询&#xff09;是微软公司提供的一项新技术&#xff0c;它能够将查询功能直…