ACCV:DENet: Detection-driven Enhancement Network for Object Detection under Adverse Weather Conditio

Abstract

解决的问题:恶劣环境下的目标检测

贡献:

  • 提出了一个极其轻量级的增强模型(45k个参数),称为DENet。为了有效和高效地增强,在DENet中应用了基于Laplacian-pyramid的结构。GEM为增强LF分量设计和开发了DEM(细节增强模块)自适应增强细化HF分量
  • 通过级联DENet和yolov3,获得了一种称为DE-YOLO的端到端检测框架,只使用正常的检测损失,不需要高质量的GT图像
  • 与不同类型的SOTA方法相比,所提出的方法提供最可靠的检测结果,同时所需的运行时间非常有限

实验表明DENet避免了繁重的计算,忠实地保留了有利于检测的潜在特征,并且DE-YOLO对在正常条件和恶劣天气条件下拍摄的图像都是有效的

Introduction

存在的问题:

  • 现有的物体检测器都是高图像质量上训练,但是在实际应用中如自动驾驶,图片在极端天气情况下,如低光、有雾,由于训练图片和测试图片存在大范围的偏移,这些目标检测模型在极端天气环境下也许不能提供可靠的结果。
  • 为了提升在恶劣天气环境下检测性能,通常会在检测前使用先进的图像增强技术,但是为了建立从低质量图像到高质量图像复杂的非线性映射,许多增强模块会有很大的模型尺寸,太大的模型尺寸对实时检测是不利的。即使现在有一些很小的模型运行时间很短,但是对于人类视觉他们的提升十分有限
  • 许多增强模型都是通过使用增强损失来训练的,增强损失测量增强图像与真实情况之间的距离,一方面,无法在实际应用中获clean GT image,另一方面这种损失函数平等对待每一个像素,无法更多地关注有利于目标检测的特征

本文解决方案:

1、使用Laplacian pyramid将输入图像分解为低频和高频分量。通常,天气特定信息(对比度,光源)更多地与LF分量有关,因此,为了减轻恶劣天气对探测的影响,很好地捕捉和微调在LF分量中的多尺度信息是很重要的。

2、为LF分量设计了一个GEM(global enchancement module)由4个平行的不同尺寸卷积组成,由于天气特定信息与物体相互作用的原因,我们从LF分量中提取跨层制导信息,然后应用仿射变换将引导信息合并到每个HF分量的特征中,从而可以很好地描绘HF信息,例如边缘和纹理。

3、为了避免正常增强损失函数的缺点,我们假设clean GT不可用

Method

Laplacian-pyramid-based Enchancement

通过使用Laplacian pyramid decomposition 可以将输入图像I分解为LF分量和HF分量。

LF,HF在第i层分解层的计算如下:
在这里插入图片描述

  • N是分解的层数

  • B()代表通过2D高斯卷积核(尺寸5*5)模糊输入

  • 在这里插入图片描述代表上采样

  • 在这里插入图片描述

  • 在这里插入图片描述代表下采样

    很明显分解是完全可逆的

    L经过N-1次高斯模糊,有着最低的分辨率,L是LF分量,它可能包含全局照明和大规模结构

    Hi由HF残余细节组成,并具有更大的分辨率,从高分解级别到低分解级别,图像细节的粗滤级别到精细级别分别存储在Hi中

由于LF分量显示全局照明,在DENet中设计了GEM提高对比度并恢复LF分量中的可见性,LF分量低分辨率导致GEM中的计算负担较低,因此使用Laplacian pyramid分解和构建GEM对于LF分量是有利于DE-YOLO的检测速度。

注意到Laplacian pyramid中的HF分量包含从粗到细的局部细节,并且这些细节与LF分量高度相关。因此,在每个HF层部署了一个DEM通过合并从跨水平制导模块提取的制导来高效的增强局部细节

GEM
在这里插入图片描述
我们的DENet目标不是获得接近于人眼的clean GT.因此不需要建立从低质量图像到GT的复杂映射。这使得GEM足够简单。

前两个卷积用来从LF分量提取特征,由于GEM是为了增强图像中的全局结构和对比度/照明度构建的,因此使用不同大小的内核来很好地捕捉多尺度信息是合理的,接着使用了4个平行的卷积。因为LF分量的分辨率很小,7*7的卷积核足够覆盖原图的很大一篇区域。因此,可以很好地描述特定于环境的知识,例如照明条件或在整个图像上扩散的雾,为了进一步降低计算复杂度和参数量,每个平行输出的特征图被压缩到8个通道。

DEM
在这里插入图片描述
为了增强HF分量,DEM和CGM被建立。CGM用来从LF分量提取指导信息,为了嵌入未处理分量L和增强分量L’之间的差异,L和L‘都被送到CGM,因为LF分量在空间上关联HF分量,一个空间注意力机制被用来定位LF和HF高度相关的位置。最后,一个3*3卷积被用来进一步细化32个特征图

DEM在CGM提供的指导信息,被用来增强HF分量

由于LF和每个HF分辨率不同,在进入DEM之前,使用双线性插值对跨层指导信息进行上采样。注意HF的分辨率随着分解水平的降低而变大。因此,为每个HF分量构建复杂的增强模块可能会引起大量计算,从而显著降低检测速度。为了有效地增强HF分量,使用简单的残差块,并应用仿射变换将引导信息合并到提取的HF特征中。
仿射变换在这里插入图片描述

Fi代表提取HF特征,在这里插入图片描述代表元素级的乘法,αi和βi是缩放和第i层分解层的偏移参数,它们通过将上采样的指导信息G馈送到两个不同的3*3卷积层来学习的。

  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这段代码是一个Python函数,其作用是读取一个CSV文件并将其转换为一个Pandas DataFrame对象。下面我们对其中的各个部分进行逐一解释: ```python def reader(file): ``` 这是一个Python函数的定义,函数名为`reader`,它有一个参数`file`,用于指定要读取的CSV文件的路径。 ```python try: df = pd.read_csv(file, index_col='Time', usecols=['Time', 'AccV', 'AccML', 'AccAP', 'StartHesitation', 'Turn' , 'Walking']) ``` 这一部分使用`pd.read_csv()`函数读取CSV文件,并将其转换为一个Pandas DataFrame对象。其中,`index_col`参数指定了要用作索引的列名,`usecols`参数指定了要使用的列名列表。这里我们只选择了6列进行读取。 ```python path_split = file.split('/') df['Id'] = path_split[-1].split('.')[0] dataset = Path(file).parts[-2] df['Module'] = dataset ``` 这一部分将CSV文件的路径进行分割,并将文件名中的`.csv`后缀去掉作为`Id`列的值。同时,它还将CSV文件所在的目录名作为`Module`列的值。 ```python df['Time_frac']=(df.index/df.index.max()).values ``` 这一部分将`Time`列的值除以该列中最大值,将结果作为`Time_frac`列的值。 ```python df = pd.merge(df, tasks[['Id','t_group']], how='left', on='Id').fillna(-1) df = pd.merge(df, metadata_w_subjects[['Id','Subject', 'Visit','Test','Medication','s_group']], how='left', on='Id').fillna(-1) ``` 这一部分将两个其他的DataFrame对象(`tasks`和`metadata_w_subjects`)与当前的DataFrame对象进行合并。合并的方式是使用`Id`列作为连接键,并将结果填充到NaN值处。 ```python df_feats = fc.calculate(df, return_df=True, include_final_window=True, approve_sparsity=True, window_idx="begin").astype(np.float32) df = df.merge(df_feats, how="left", left_index=True, right_index=True) ``` 这一部分使用名为`fc.calculate()`的函数计算一些特征,并将其添加到DataFrame对象中。然后,它将计算出的特征与当前的DataFrame对象进行合并。 ```python df.fillna(method="ffill", inplace=True) return df except: pass ``` 最后,这一部分使用`fillna()`函数填充空值,并返回处理后的DataFrame对象。如果出现任何异常情况,则直接跳过。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值