Detection-friendly dehazing: object detection in real-world hazy scenes

Detection-friendly dehazing: object detection in real-world hazy scenes

摘要

提出了一种联合架构BAD-Net,将去雾模块和检测模块连接成一个端到端的方法。另外,设计了了两个分支结构,用注意力融合模块来充分结合有雾和去雾特征,这减少了在检测模块不好的影响,当去雾模块表现不好时。此外,引入了一种自监督雾度鲁棒损失,使检测模块能够处理不同程度的雾度。更重要的是,提出了一种区间迭代数据细化训练策略,用于指导弱监督下的去雾模块学习。在RTTS和VOC数据集上进行实验。

Introduction

现有恢复模型基于神经网络,它们生成的图片也许包含对于人类研究不可见的噪声,但是对于检测模块有害。
本文主要贡献如下:
1、探索了在没用清晰图像标签的情况下,如何建立去雾和检测之间的正相关性
2、提出了一种双线性结构BAD-Net和一种区间迭代训练策略,
3、在实验中,我们首先从训练损失和策略的角度对联合方法进行了划分和比较。比较结果表明,BAD-Net在RTTS和VOChaze数据集上的性能优于最先进的方法。

Method

在这里插入图片描述

Dehazing module
在这里插入图片描述
Detection module
在这里插入图片描述
采用FRCNN作为检测模块。使用MobilenetV3-large作为轻量化backbone提取特征,在ImageNet上预训练。然后,特征图被当做候选区域网络的输入来自动生成候选区域。采用了和FRCNN意义结构和损失函数

Attention Fusion Module

设计了一个模糊感知注意力模块用来将有雾特征和去雾特征进行融合。当去雾模块表现不好时,去雾特征也许会导致更坏的影响。因此,该融合模块旨在解决去雾特征和有雾特征语义不一致的情况。许多注意力值取决于特征通道,它们也许会丢失特征图的空间信息,这对生成辨别性和选择性注意力图至关重要。因此分别对高度和宽度进行平均池化以保留空间上下文。
在这里插入图片描述
在这里插入图片描述
Loss function
IA-YOLO证明添加恢复图像损失会造成较慢的收敛和更差的检测效果。原因是恢复损失专注恢复图像的质量。同时检测损失集中在感兴趣区域的提取而不是背景。检测目的在于提取对高度抽象不敏感的特征,而去雾目的在于提取对细节敏感和低抽象程度的特征。因此,两种损失之间存在冲突,模型可能会收敛到局部最优点,而不是全局最优点。基于此,引入了一种自监督损失来指导去雾模块的方向,称为Haze Robust Loss(HR loss)。
HR loss由KL散度计算,KL散度用来测量两种分布之间的差异。受此启发,我们使用它作为软约束用来使去雾特征与原始特征相似。我们的目标是学习一种检测模型,使它对于不同雾度都是稳定的。这可以通过约束雾度特征和检测主干提取的去雾特征的相似性来实现。恢复损失学习包括背景信息的图像质量恢复。这可能会引入噪声,对检测造成危害。我们将去雾约束向前移动到检测提取部分。这使去雾模块更加关注目标区域特征的学习。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
Ldet为FRCNN的原始特征,α用来平衡Ldet和Lhr的重要性。

Interval Iterative Training Strategy
看不懂…

experiments

在这里插入图片描述
三种训练策略:
1、在检测模型上直接训练有雾图片
2、首先在去雾模型上训练有雾图片,然后输入到在VOCn-tv数据集预训练的检测基线上。
3、在去雾和检测模型上同时训练有雾图片

在这里插入图片描述

在这里插入图片描述

4点观察总结:
1、使用分离策略方法的性能很大一部分取决于去雾模型。去雾网络也许会引入随机噪声危害计策网络,这是因为他们的损失约束和评价标准不同。
2、CascadeNet收敛慢,性能差。具有两个损失的模型很难跳出局部最优点。
3、DSNet表现更好,是因为它在MSCOCO数据集上预训练过。在整个训练阶段,DSNet表现逐渐下滑,并没有起到正相关的联合优化效果
4、IAYOLO有着更高的准确率因为它只使用了检测损失。但是当我们把它的去雾网络改成AOD-Net时,它的训练损失很难收敛并且它的表现下降严重。这是因为IAYOLO中的暗通道去雾算法和许多传统的数字图像处理方法有利于检测,但这并不是一个对于检测表现提升鲁棒的框架。
考虑到去雾模块给检测模块带来有害噪声,BAD-Net采用双分支方法来减少有害特征的影响。它是一个用于连接去雾和检测的健壮框架,即低级别图像处理和高级模式识别。BAD-Net检测结果的一些样本如图所示。我们的模型可以准确识别附近的目标,即使它们被雾霾遮挡。对于“困难”样本,我们的模型在遥远的小而严重遮挡的物体上表现不佳。在接下来的消融研究中,我们将分析每个模块的影响。
在这里插入图片描述

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

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

相关文章

【python】11.文件和异常

文件和异常 实际开发中常常会遇到对数据进行持久化操作的场景,而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词,可能需要先科普一下关于文件系统的知识,但是这里我们并不浪费笔墨介绍这个概念,请大…

Python展示 RGB立方体的二维切面视图

代码实现 import numpy as np import matplotlib.pyplot as plt# 生成 24-bit 全彩 RGB 立方体 def generate_rgb_cube():# 初始化一个 256x256x256 的三维数组rgb_cube np.zeros((256, 256, 256, 3), dtypenp.uint8)# 填充立方体for r in range(256):for g in range(256):fo…

kubectl与 jq的另外一些用法

背景: 在日常运维工作中,我们需要管理和操作大量的配置文件,这在使用 Kubernetes 集群管理应用时尤为常见。Kubernetes 提供了一个名为 ConfigMap 的资源对象,它用于存储应用的配置信息。有时,我们需要查找哪些 Confi…

【WPF.NET开发】OpenType字体

本文内容 OpenType 字体格式变量大写字母连字花体备用项数字样式版式类 本主题概述了 Windows Presentation Foundation (WPF) 中 OpenType 字体技术的一些主要功能。 1、OpenType 字体格式 OpenType 字体格式是 TrueType 字体格式的扩展,增加了对 PostScript 字…

Linux-ARM裸机(十一)-UART串口通信

无论单片机开发还是嵌入式 Linux 开发,串口都是最常用到的外设。可通过串口将开发板与电脑相连,然后在电脑上通过串口调试助手来调试程序。还有很多的模块,比如蓝牙、GPS、 GPRS 等都使用的串口来与主控进行通信的,在嵌入式 Linux…

java如何修改windows计算机本地日期和时间?

本文教程,主要介绍,在java中如何修改windows计算机本地日期和时间。 目录 一、程序代码 二、运行结果 一、程序代码 package com;import java.io.IOException;/**** Roc-xb*/ public class ChangeSystemDate {public static void main(String[] args)…

compose 实验

cd /opt mkdir compose_nginx cd compose_nginx mkdir nginx cd nginx/ 此时顺便将nginx安装包拖进来 vim Dockerfile mkdir /opt/compose_nginx/wwwroot echo "<h1>this is test web</h1>" > /opt/compose_nginx/wwwroot/index.html docker netw…

【Kotlin】协程的字节码原理

前言 协程是Koltin语言最重要的特性之一&#xff0c;也是最难理解的特性。网上关于kotlin协程的描述也是五花八门&#xff0c;有人说它是轻量级线程&#xff0c;有人说它是无阻塞式挂起&#xff0c;有人说它是一个异步框架等等&#xff0c;众说纷芸。甚至还有人出了书籍专门介…

HTML--CSS--浮动布局及定位布局

正常文档布局 块元素独占一行 行内元素在有多个的时候&#xff0c;就是从左到右排在一行 块元素包括&#xff1a;div,p,hr 行内元素&#xff1a;span,i,img 浮动布局 float 属性&#xff1a; left 向左 right 向右 作用我目前看起来就是浮动元素的宽度是由内容决定的&#x…

MySQL面试题 | 10.精选MySQL面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

LLM之幻觉(二):大语言模型LLM幻觉缓减技术综述

LLM幻觉缓减技术分为两大主流&#xff0c;梯度方法和非梯度方法。梯度方法是指对基本LLM进行微调&#xff1b;而非梯度方法主要是在推理时使用Prompt工程技术。LLM幻觉缓减技术&#xff0c;如下图所示&#xff1a; LLM幻觉缓减技术值得注意的是&#xff1a; 检索增强生成&…

pytorch集智-5手写数字识别器-卷积神经网络

1 简介 简称&#xff1a;CNN&#xff0c;convolutional neural network 应用场景&#xff1a;图像识别与分类&#xff08;CNN&#xff09;&#xff0c;看图说话&#xff08;CNNRNN&#xff09;等 优越性&#xff1a;和多层感知机相比&#xff0c;cnn可以识别独特的模式&…

如何做用户分层和标签体系

“活动作了一场接一场&#xff0c;简直要累死了&#xff0c;拉进来的客户也没有多少&#xff0c;投入产出完全不成比例&#xff0c;怎么办&#xff1f;“ “有那么多注册用户&#xff0c;但是GMV怎么才这么点&#xff0c;他们怎么不买啊&#xff0c;难道都是羊毛党&#xff1f;…

使用 TiUP 部署 TiDB 集群

TIDB优点 支持分布式且支持事务的关系型数据库&#xff0c;不用考虑分库分表 同时满足了可伸缩&#xff0c;高可用&#xff0c;关系型&#xff0c;支持事务。 基本上按官网的文档来就行了。 在线部署 以普通用户身份登录中控机。以 tidb 用户为例&#xff0c;后续安装 TiUP …

常用界面设计组件 —— 窗体(QT)

二、常用界面设计组件2.1 窗体2.1.1 设置窗体位置、大小及背景颜色2.1.2 设置窗体标题2.1.3 多窗体调用 二、常用界面设计组件 组件是GUI的基本元素&#xff0c;也称为UI控件。它接受来自底层平台的不同用户事件&#xff0c;如鼠标和键盘事件&#xff08;以及其它事件&#xf…

漏洞复现-Yearning front 任意文件读取漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

7_1 tesseract 安装及使用

1、 安装tesseract   OCR&#xff0c;即Optical Character Recognition&#xff0c;光学字符识别&#xff0c;是指通过扫描字符&#xff0c;然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说&#xff0c;它们都是一些不规则的字符&#xff0c;这些字符确实是由字…

助力工业焊缝质量检测,YOLOv7【tiny/l/x】不同系列参数模型开发构建工业焊接场景下钢材管道焊缝质量检测识别分析系统

焊接是一个不陌生但是对于开发来说相对小众的场景&#xff0c;在我们前面的博文开发实践中也有一些相关的实践&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a;《轻量级模型YOLOv5-Lite基于自己的数据集【焊接质量检测】从零构建模型超详细教程》 《基于DeepLabV3Plus…

Android 仿快手视频列表,RecyclerView与Banner联动效果

这是看到群里讨论过快手APP的一个观看他人视频列表的一个联动效果&#xff0c;但是并不是完全按照这个软件的效果来做的&#xff0c;只是参考&#xff0c;并不是完全仿照这个软件来做的&#xff0c;没时间去优化排版问题了&#xff0c;请见谅&#xff0c;如图&#xff1a; 实现…

[链路层] 点对点协议 PPP

目录 1、PPP协议的特点 2、PPP协议的组成和帧格式 3、PPP协议的工作状态 目前使用得最广泛的数据链路层协议是点对点协议PPP(Point-to-Point Protocol)。 1、PPP协议的特点 我们知道&#xff0c;互联网用户通常都要连接到某个 ISP 才能接入到互联网。PPP 协议就是用户计算机…