前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YOLO再战大雾天气 | IA-YOLO数据增强+感知损失,做到大雾天气无痛即可完成YOLO检测器的场景升级

YOLO再战大雾天气 | IA-YOLO数据增强+感知损失,做到大雾天气无痛即可完成YOLO检测器的场景升级

作者头像
集智书童公众号
发布2024-03-29 14:09:24
4450
发布2024-03-29 14:09:24
举报
文章被收录于专栏:集智书童集智书童

在本文中,作者提出了一种新型的雾感知目标检测网络,名为FogGuard,旨在解决雾天条件下所提出的挑战。自动驾驶系统严重依赖于精确的目标检测算法,但恶劣的天气条件可以显著影响深度神经网络(DNNs)的可靠性。 现有的方法主要分为两类

  1. 图像增强,例如IA-YOLO;
  2. 基于领域适应的方法。

基于图像增强的技术试图生成无雾图像。然而,从有雾图像中恢复无雾图像比在雾天图像中检测物体要困难得多。另一方面,基于领域适应的方法并不使用目标领域中的标记数据集。这两类方法都在尝试解决一个更难的问题版本。 FogGuard特别设计用来补偿场景中存在的雾天条件,确保即使在雾天也能保持稳健的性能。作者采用YOLOv3作为基准目标检测算法,并引入了一种新颖的“教师-学生”感知损失,以提高雾天图像中的目标检测准确度。 在如PASCAL VOC和RTTS等常见数据集上的广泛评估中,作者展示了作者网络性能的提升。作者证明,FogGuard在RTTS数据集上达到了69.43%的mAP,而YOLOv3为57.78%。 此外,作者表明,尽管作者的训练方法增加了时间复杂度,但在推理过程中与常规的YOLO网络相比,它并没有引入任何额外的开销。

I Introduction

不利天气条件,如雨、雪和雾,对驾驶构成风险。其中之一就是能见度降低,这在自动驾驶中会损害目标检测。这非常危险;未被发现的物体无法避免,而定位或分类不准确的物体可能导致车辆通过急转弯或“幻影刹车”来响应。在这项工作中,作者专注于在雾天改善目标检测。

作者专注于仅使用摄像头来提高目标检测的准确性。并非所有自动驾驶车辆都具有多种传感器类型,但几乎所有的车辆上都装有摄像头。这使得作者的研究具有广泛的应用性,包括那些具有其他传感器类型的车辆;基于摄像头的目标检测总能与其他系统结合,通过多传感器融合来提高整体准确性。其他研究已经探讨了使用特定于雾天的补充传感器,例如新型的毫米波雷达。

图像处理界在深度学习方法取得成功之前,就已经探索了去雾、除雾和图像增强的问题。将基于图像处理的方法引入学习领域,IA-YOLO 将一个图像处理模块与学习流程结合,以推理去雾后的图像,然后再将其输入到像YOLO这样的常规目标检测器中。作者认为,推理去雾图像的问题比在雾天图像中检测物体要困难得多。显然,在雾天图像中将一个边界框检测并分类为某个目标类别(例如汽车)的问题,比重建那辆汽车的每一个像素要简单得多。此外,基于去雾的方法通常为了获得更好的图像质量而承受相当大的计算开销。

为了提高雾天图像中目标检测的效果,作者修改了YOLO-v3网络的训练过程,使其能够适应雾天图像。作者改进的训练过程提出了两个新想法:

  1. 将感知损失泛化到教师-学生感知损失(第IV-A节)
  2. 采用深度感知的真实雾进行数据增强(第IV-B节)

作者使用感知损失基于这样的直觉:雾天图像中的语义信息与清晰图像是相同的。因此,作者力求最小化清晰图像与其雾化版本之间的感知损失。数据增强是必要的,因为像RTTS(大约3K张图像)这样的雾天目标检测数据集比像PASCAL VOC(大约16K张图像)和MS-COCO(大约116K张图像)这样的清晰图像数据集小得多。作者的消融研究表明,在雾天情况下,作者的每项贡献都有助于提高目标检测的准确性。

作者评估并比较了作者在RTTS数据集上提出的方法与最先进的方法,如IA-YOLO,DE-YOLO和SSD-Entropy的性能。作者发现,FogGuard比IA-YOLO准确度高11.64%,比[4]高14.27%,同时运行速度提高了5倍。

II Related Work

传统的目标检测算法在恶劣天气条件下,如雾、雨、雪和低光照场景中通常是不够有效的。为了解决这些问题,相关文献可以分为四个主要类别:

  1. 分析图像处理技术,
  2. 基于学习的方法,
  3. 领域适应,
  4. 基于学习的图像增强技术。
Iii-A1 Analytical image processing techniques

分析图像处理技术已被用于通过提高图像质量来改进目标检测。例如,Yu等[20]引入了一种自适应方法,用于调整医学图像中的对比度,这也可以应用于在低光照条件下改善目标检测。张等[21]提出了一种有效操纵边缘斜率以增强清晰度和降低噪声的方法,这可以在雾天或雪天环境中带来好处。同样,用于图像去雾的暗通道先验[22]也被陈等[23]用于恢复图像以进行目标检测。

然而,这些技术虽然在增强图像的特定方面是有效的,但仍然无法处理浓雾场景。此外,它们在很大程度上依赖于需要精确场景信息(如大气光和散射系数)的物理模型,这使得它们依赖于超参数调整或估计,这已经让位于基于学习的方法。

Iii-A2 Learning based image-enhancement approaches

随着学习算法的成功,已经提出了几种基于学习的图像增强方法。基于学习的方法已被用于找到正确的图像处理滤波器以及进行超参数估计,用于去雾,改善照明条件以及提升图像的色彩和色调。这些方法通过使用多尺度卷积神经网络(CNN),残差块或多尺度U-Net进行去雾而得到了进一步改进。

在这项研究路线中,两种被高度引用且近期的方法是IA-YOLO和DE-YOLO。IA-YOLO使用一个5层卷积神经网络(CNN)来估计一个可微图像处理(DIP)模块的超参数,该模块将去雾后的图像输入到目标检测算法中,具体是YOLO-v3。这个DIP模块包括去雾滤波器、白平衡、伽马、色调和锐化滤波。

同样,DE-YOLO使用“拉普拉斯金字塔将输入图像分解为一个低频(LF)分量和几个高频(HF)分量”。低频分量(被认为是与雾无关的)用于通过残差块增强高频分量。这些不同频率的分量被组合成一个重构的增强图像。这个增强图像被输入到像YOLOv3这样的目标检测算法中,以改进目标检测。

图像增强方法,无论是基于物理的还是基于学习的,都在努力解决一个更困难的问题,尤其是在浓雾条件下。例如,设想一辆汽车在雾中,仅能看到汽车的的两个雾灯。要重建一辆在雾中的汽车的图像,比仅仅检测到汽车的存在要困难得多。要重建汽车,你需要知道汽车的颜色、品牌和形状。而要检测汽车,仅凭预期高度的雾灯位置可能就足够了。因此,这些算法常常会产生噪声图像,其结果也不够可靠。

Iii-A3 Domain Adaptation

由[30]开发的通过反向传播进行无监督领域适应的思想已经被应用于雾天图像中的目标检测。领域适应问题如下:考虑一个源领域(例如,在清晰图像中进行目标检测)和一个目标领域(在雾天图像中进行目标检测)。假设作者有源领域的 GT 标签,但目标领域没有。领域适应旨在寻找一种方法,通过利用与源领域的相似性来训练目标领域的模型。Ganin等人[30]将领域适应表述为两个竞争网络之间的最小最大问题,一个特征提取器和领域分类器。领域分类器试图将源领域和目标领域的输入分开,而特征提取器则试图使它们无法区分。特征提取器产生的特征也用于估计源领域标签。

有几项工作将领域适应技术应用于雾天图像中的目标检测。Hnewa等人[31]研究了源数据分布之间的领域偏移,并提出了在不同尺度上由领域分类器引入的多个适应路径。Zhou等人[32]提出了一种半监督领域适应的解决方案,用于目标检测,其中他们采用知识蒸馏方法来获得 未标注 目标领域的特征。FogGuard与领域适应密切相关,但又有所不同。在领域适应中,不提供目标标签。

对于雾天图像中的目标检测,作者有像RTTS这样的标记数据集可用。尽管像领域适应这样的方法也需要对RTTS图像进行标签,标注每张图像中的雾量,但这在RTTS数据集中并不提供。尽管像RTTS这样的数据集比MS-COCO和Pascal VOC小得多,作者仍然可以利用这些数据集进行微调。

总之,与领域适应方法不同,作者确实利用了目标领域的标签。但与领域适应类似,作者通过合成雾生成和教师-学生感知损失函数,来加强源领域与目标领域之间的特征相似性。

III Problem formulation and Notation

作者得到了两个用于目标检测的标记数据集,一个是清晰图像数据集,

\mathcal{D}_{c}=\{(\mathbf{x}_{1}^{c},\mathbf{y}_{1}^{c}),(\mathbf{x}_{2}^{c},\mathbf{y}_{2}^{c}),\ldots,(\mathbf{x}_{n}^{c},\mathbf{y}_{n}^{c})\}

,另一个是雾天图像数据集

\mathcal{D}_{f}=\{(\mathbf{x}_{1}^{f},\mathbf{y}_{1}^{f}),\ldots,(\mathbf{x}_{m}^{f},\mathbf{y}_{m}^{f})\}

。这两个数据集分别独立同分布地从两个不同且未知的分布

\mathbb{P}_{c}

\mathbb{P}_{f}

中抽取,雾天图像数据集远小于清晰图像数据集

|\mathcal{D}_{f}|\ll|\mathcal{D}_{c}|

。作者还假设可以访问一个(近似)合成雾生成器

g()

,它将清晰图像转换为雾天图像,

\hat{\mathbf{x}}_{i}^{cf}=g(\mathbf{x}_{i}^{c};\beta)

,其中

\hat{\mathbf{x}}_{i}^{cf}

是从给定的清晰图像

\mathbf{x}_{i}^{c}

和一个雾密度参数

\beta

合成的雾天图像。

问题的其余部分与Liu等[19]所提出的目标检测问题相同,输入是一个彩色图像

\mathbf{x}\in\mathbb{R}^{h\times w\times 3}

。标签是

\mathbf{y}\in\mathbb{R}^{S^{2}B(S+C)}

,其中作者在图像上形成的

S\times S

网格的每个单元格上有

B

个边界框标签。每个边界框标签是

5+C

维的,其中

C

是类别数。边界框标签向量包括边界框的2D位置和2D尺寸

\mathbf{y}_{b}\in\mathbb{R}^{S^{2}B4}

,类别概率的独热向量

\mathbf{y}_{c}\in\{0,1\}^{S^{2}BC}

,以及每个边界框存在与否的指示变量

\mathbf{y}_{o}\in\{0,1\}^{S^{2}B}

目标检测的目标是高精度地估计给定测试图像的边界框。目标检测问题是要找到一个尽可能正确估计图像所有边界框的函数。给定一个参数化目标检测模型

\hat{\mathbf{y}}=F(\mathbf{x};\Theta)

,作者寻求找到当输入图像为雾天图像时,最小化预期目标检测损失的参数

\Theta

\Theta^{*}=\arg\min_{\Theta}\mathbb{E}_{(\mathbf{x}^{f},\mathbf{y}^{f})\sim \mathbb{P}_{f}}\Big{[}\underbrace{l_{\text{loc}}(\mathbf{y}_{b}^{f},\mathbf{y }_{b}^{f})+\lambda_{1}l_{\text{conf}}(\mathbf{y}_{c}^{f},\mathbf{y}_{c}^{f})}_{ l_{\text{objst}}}\Big{]}

其中定位损失

l_{\text{loc}}

和置信度损失

l_{\text{conf}}

定义为,

l_{\text{loc}}(\mathbf{y}_{b}^{f},\mathbf{\hat{y}}_{b}^{f}) =\frac{1}{b}\|(\mathbf{y}_{b}^{f}-(P\otimes\mathbf{I}_{4})\hat{ \mathbf{y}}_{b}^{f})^{\top}(\mathbf{y}_{o}^{f}\otimes\mathbf{1}_{4})\|_{\text{ Huber}}
l_{\text{conf}}(\mathbf{y}_{c}^{f},\mathbf{\hat{y}}_{c}^{f}) =-(\mathbf{y}_{c}^{f}\odot(\mathbf{y}_{o}^{f}\otimes\mathbf{1}_{c }))^{\top}\log((P\otimes\mathbf{I}_{c})\mathbf{\hat{y}}_{c}^{f})
\quad-2\mathbf{y}_{o}^{f}\,{}^{\top}\,{}^{\text{log}}(P\mathbf{ \hat{y}}_{o}^{f})+\log(P\mathbf{\hat{y}}_{o}^{f}).

在这里,

P\in\{0,1\}^{S^{2}B\times S^{2}B}

是一个贪心匹配预测边界框到预测边界框的排列矩阵;

b=|\mathbf{y}_{d}^{f}|_{0}

是图像中真实边界框的数量;

\mathbf{I}_{c}

是大小为

c

的单位矩阵;

\mathbf{1}_{c}

是一个由

c

个1组成的列向量;

\otimes

是克罗内克积;

\odot

是逐元素乘积;

\lambda_{1}\in[0,1]

是一个超参数,

\|\mathbf{z}\|_{\text{Huber}}

是逐元素Huber损失的之和。

IV Methodology

FogGuard基于两个主要见解。首先,雾天图像与清晰图像之间的语义距离必须最小化;其次,必须使用所有可用的数据集来训练该方法。FogGuard在算法1中进行了总结。在这里,作者逐步构建了从仅在雾天数据集上进行微调到结合使用微调和感知损失的完整方法。

一个简单的处理这个问题的方法是用两个数据集,清晰的

\mathcal{D}_{c}

和有雾的

\mathcal{D}_{f}

,并通过使用合成雾生成函数

g()

\mathcal{D}_{c}

调整得更加接近

\mathcal{D}_{f}

。让清晰图像数据集通过随机量的雾

\beta_{i}\sim\mathcal{U}[0,0.15]

进行扰动,

\mathcal{D}_{g(c)}=\{(g(\mathbf{x}_{i}^{c};\beta_{1}),\mathbf{y}_{1}^{c}),\ldots,(g(\mathbf{x}_{n}^{c};\beta_{n}),\mathbf{y}_{n}^{c}\}

。混合数据集是扰动后的清晰数据集和有雾数据集的并集,

\mathcal{D}_{g(c)f}=\mathcal{D}_{g(c)}\bigcup\mathcal{D}_{f}

\Theta^{*}=\arg\min_{\Theta}\,L_{\text{objdet}}(\mathcal{D}_{g(c)f};\Theta) \quad\text{ where }
L_{\text{objdet}}(\mathcal{D}_{g(c)f};\Theta)=\sum_{(\mathbf{x}_{i},\mathbf{y}_{i})\in\mathcal{D}_{g(c)f}}\frac{l_{\text{objdet}}(\mathbf{y}_{i},F (\mathbf{x}_{i};\Theta))}{|\mathcal{D}_{g(c)f}|}. \tag{1}

然而,这种方法依赖于合成雾

g()

非常真实。换句话说,这种方法并没有强制网络明确忽略合成雾的影响。为了解决这个限制,作者采用了教师-学生学习方法。首先,作者在混合清晰-有雾数据集

\mathcal{D}_{cf}=\mathcal{D}_{c}\bigcup\mathcal{D}_{f}

上训练一个网络作为教师网络,

\Theta^{*}_{\text{teach}}=\arg\,\min_{\Theta}L_{\text{objdet}}(\mathcal{D}_{cf}; \Theta). \tag{2}

其次,作者在公式(1)中添加了教师-学生损失项

l_{\text{teach-stu}}

,以便学生网络在雾天图像上估计与教师网络在清晰图像上检测到的相同目标。

\Theta^{*}_{\text{stu,n}}=\arg\,\min_{\Theta}L_{\text{objdet}}( \mathcal{D}_{g(c)f};\Theta)\\ +\frac{\lambda_{2}}{|\mathcal{D}_{c}|}\sum_{\mathbf{x}_{i}^{c}\in \mathcal{D}_{c}}\underbrace{\|F(g(\mathbf{x}_{i}^{c});\Theta)-F(\mathbf{x}_{i }^{c};\Theta^{*}_{\text{teach}})\|_{2}^{2}}_{l_{\text{teach}}=\Theta}. \tag{3}

这个损失函数的一个局限性是将教师网络和学生网络之间的耦合仅限于最后一层的输出。为了进一步结合教师与学生网络,作者从感知损失中获得灵感,并将教师-学生耦合推广到多个层次。

Teacher-student perceptual loss

令一个

L

层网络

F(\mathbf{x};\Theta)

的各层表示为

f_{1},f_{2},\ldots,f_{L}

,这样

F(\mathbf{x};\Theta)=f_{L}(\ldots f_{2}(f_{1}(\mathbf{x})))

。令

F_{l}(\mathbf{x};\Theta)=f_{l}(\ldots f_{2}(f_{1}(\mathbf{x})))

表示从第1层到第

l

层的网络。使用预训练网络

F(\mathbf{x};\Theta^{*})

的两幅图像

\mathbf{x}_{i}

\mathbf{x}_{j}

之间的感知损失[13]被定义为给定起始层

l_{s}

和结束层

l_{e}

的激活之间的差异。

l_{\text{perc}}(\mathbf{x}_{i},\mathbf{x}_{j})=\sum_{l=l_{s}}^{l_{e}}\frac{\|F _{l}(\mathbf{x}_{i};\Theta^{*})-F_{l}(\mathbf{x}_{j};\Theta^{*})\|_{2}^{2}}{(l_ {e}-l_{s})a_{l}}, \tag{4}

在公式中,

a_{l}

代表第

l

层的激活数量。感知损失已被用于编码两张图像之间的语义距离。通过关注深层网络各层的高 Level 特征,它在多个任务(如风格迁移)中提供了显著的改进,从而促进了对图像的更好理解 [13]。

作者将感知损失泛化为师生感知损失,并使用它来惩罚清晰图像

\mathbf{x}_{i}^{c}

与相应合成雾天图像

g(\mathbf{x}_{i}^{c})

之间的语义距离。

l_{\text{ts-perc}}(\mathbf{x}^{c};\Theta,\Theta^{*}_{\text{teach }})=\\ \sum_{l=l_{s}}^{l_{e}}\frac{\|F_{l}(g(\mathbf{x}^{c});\Theta)-F_{l }(\mathbf{x}^{c};\Theta^{*}_{\text{teach}})\|_{2}^{2}}{(l_{e}-l_{s})a_{l}}, \tag{5}

请注意,

l_{\text{teach-stu}}

是当

l_{s}=l_{e}=L

l_{\text{ts-perc}}

的一个特例。因此,作者的联合目标函数变为,

\Theta^{*}_{\text{stu}}=\arg\,\min_{\Theta}L_{\text{objdet}}( \mathcal{D}_{g(c)f};\Theta)\\ +\frac{\lambda_{2}}{|\mathcal{D}_{c}|}\sum_{\mathbf{x}_{i}^{c}\in \mathcal{D}_{c}}l_{\text{ts-perc}}(\mathbf{x}_{i}^{c};\Theta,\Theta^{*}_{\text {teach}}). \tag{6}

师生感知损失在学生网络处理雾天图像无法与教师网络处理清晰图像相同的情况下对其进行惩罚。换句话说,作者鼓励网络消除雾的影响,并对那些检测雾的特征对应的滤波器进行惩罚。

Depth-aware realistic fog

正如问题公式中所提到的,作者假设可以访问到一个合成雾生成器

g(\mathbf{x}_{i}^{c};\beta)

。作者选择以下在文献 [11] 中常用的合成雾生成模型,

g(\mathbf{x}^{c};\beta)[\mathbf{u}]=t(\mathbf{u};\beta)\mathbf{x}^{c}[\mathbf{ u}]+(1-t(\mathbf{u};\beta))A(\mathbf{u}) \tag{7}

在公式中,

g(\mathbf{x}^{c};\beta)[\mathbf{u}]

是像素

\mathbf{u}\in\mathbb{R}^{2}

的有雾图像强度,

\mathbf{x}^{c}[\mathbf{u}]

是像素

\mathbf{u}

的清晰图像强度,

A(\mathbf{u})

是大气光(雾),而

t(.)

是透射率,即由于雾散射而未能到达相机的光线部分。

注意,

A(\mathbf{u})

除了用于生成雾,还可以用于生成不同的不利天气模式,例如雪和雨。在这项工作中,作者专注于雾,将雪和雨的研究留待将来。对于雾生成

A(\mathbf{u})

,作者使用常数

A=0.5

。透射率

t(.)

随深度

d(\mathbf{u})

指数下降。

t(\mathbf{u};\beta)=\exp(-\beta d(\mathbf{u})), \tag{8}

当雾是均匀的且

\beta

是雾密度的度量时。第一项

t(\mathbf{u};\beta)\mathbf{x}^{c}[\mathbf{u}]

被称为直接衰减,描述了场景辐射在介质中的衰减。第二项

(1-t(\mathbf{u};\beta))A(\mathbf{u})

被称为空气光,它表示之前散射的光对场景颜色造成的偏移。

计算雾天图像

g(\mathbf{x}^{c};\beta)

依赖于深度信息

d(\mathbf{u})

,但是用于目标检测训练的数据集 RTTS、MS-COCO 或 PASCAL-VOC 并未提供深度信息。像 IA-YOLO 这样的方法,转而使用一个伪深度模型,该模型在中心具有最大深度,并且向边缘方向呈放射状递减的深度。

d_{IA}(\mathbf{u})=\sqrt{\max(W,H)}-0.04\|\mathbf{u}-\mathbf{c}\|, \tag{9}

在本文中,

W

代表图像的宽度,

H

代表高度,而

\mathbf{c}=[W/2,H/2]

是图像的中心。为了估计深度,作者使用了一个神经网络模型MiDaS,该模型能够从单张图像估计深度。作者在图1中展示了由这种方法生成的雾效,其视觉效果看起来是真实的。作者还展示了在消融研究(第VI-B4节)中使用这种真实深度的重要性。

V Experiments

作者通过对大量实验的评估来检验FogGuard——FogGuard。在描述作者实验的结果之前,作者将讨论实验设置的共同方面,包括所选的目标检测数据集、实现细节以及评估指标。

Datasets

作者主要依赖两个数据集,一个是清晰图像数据集

\mathcal{D}_{c}

,以PASCAL VOC(16,552张图片)为代表;另一个是雾天图像数据集

\mathcal{D}_{f}

,以RTTS(3,026张图片)为代表。作者通过结合这两个数据集创建了一个混合数据集

\mathcal{D}_{cf}

。然后,这个混合数据集通过带替换的抽样方法被划分为80-20的训练-验证分割。

最终,为了评估,作者从PASCAL VOC中预留了4952张图像,以及从RTTS中预留了432张,作为一个测试数据集。

在部分实验中,作者还使用了PASCAL VOC数据集的三个变体,其中用合成雾效替代所有图像,使用的是

g(\mathbf{x}_{i}^{c};\beta)

。作者将这三个数据集变体称为

\mathcal{D}_{g(c,\beta)f}

,分别为 LowFog_、_MediumFog 和 _HeavyFog_,对应于

\beta=\{0.05,0.10,0.15\}

Implementation Details

作者使用YOLO-v3网络作为主要的基础神经网络架构。作者初始化的网络权重是在MS-COCO数据集上预训练的,这是一个更大的用于目标检测的数据集。训练FogGuard从训练教师网络开始。教师网络

\Theta_{\text{teach}}^{*}

是通过随机梯度下降(SGD)优化器在混合数据集

\mathcal{D}_{g(c)f}

上训练了

600

个周期。学习率设置为

0.001

,批量大小为

16

。学生网络,即FogGuard,具有相同的规格,并使用相同的数据集进行训练。作者使用Pytorch实现作者的网络,并在A100 GPU上运行实验。所有实验都重复3次,报告平均值和标准差作为误差。

Evaluation metric

作者主要使用的指标是平均精度均值(mAP),如Russakovsky等人[34]所述。为了计算mAP,作者遵循一个两步过程。首先,对于给定的阈值

t\in[0,1]

,所有检测到的边界框都是通过贪心算法与真实边界框匹配。如果两个边界框的交并比大于阈值

t

,则认为它们是匹配的。mAP的计算是“通过改变阈值

t

实现的,不同召回率水平下的平均精度” ;然后对所有物体类别取平均值。在这里,召回率是正确边界框的数量与真实边界框的数量之比。精度是正确边界框的数量与预测边界框的数量之比。

VI Results

作者讨论了在三类实验中比较作者方法的结果:

  1. 与最先进 Baseline 的比较,
  2. 消融研究,以及
  3. 效率分析。

Comparison against baseline methods

作者对比了FogGuard与四种最先进的基础方法:IA-YOLO,DE-YOLO,以及SSD+Entropy,在两个数据集上:(1) RTTS 和 (2) VOC。

Ia-YoloIA-YOLO在 PASCAL VOC 和 RTTS 数据集上进行了评估,其中所训练的网络由本文作者提供。为了使作者的比较更加公平,作者在 RTTS 数据上对网络进行了额外的

50

个周期的微调,并在两个数据集上报告了最佳性能。

在作者的实验中,作者使用了提供的网络预训练权重来测试DE-YOLO方法。在没有额外训练的情况下,作者对其在VOC数据集测试集和RTTS数据集上的性能进行了评估,因为作者没有提供训练脚本。

Ssd+Entropy这种方法是在Bijelic等人[35]的研究基础上发展起来的,它将熵不确定性融入到SSD架构中。然而,与他们的研究利用多模态输入不同,作者的 Baseline 专注于利用VOC和RTTS数据集的单模态图像输入。

在表1中,作者总结了FogGuard与在RTTS和PASCAL VOC上的 Baseline 方法相比的mAP(%)。FogGuard在RTTS和VOC上都超过了所有考虑的 Baseline 方法,包括IA-YOLO、DE-YOLO和SSD-Etropy。

Ablation Studies

作者进行了五项消融研究,以了解作者 Pipeline 中不同组成部分的重要性。

Vi-B1 Comparison against the teacher network

作者对比了FogGuard与一个在混合数据集

\mathcal{D}_{cf}

上训练的教师YOLOv3网络的性能(使用(2))。作者展示了作者的每个网络在VOC、RTTS以及混合了LogFog、MediumFog和HeavyFog扰动的情况下评估得到的mAP(%)。

表2中的第一列(FogGuard)和第二列(YOLOv3-teacher)展示了FogGuard相较于YOLOv3-teacher在不同数据集评估中的优越性能。这突显了在训练过程中使用合成雾和融入感知损失的重要性。特别值得注意的是,在RTTS数据集的情况下,FogGuard明显优于YOLOv3-teacher模型,性能差距高达近

5\%

Vi-B2 Importance of the Teacher-Student Perceptual Loss

在表2的第三列中,作者展示了在不包含感知损失的情况下训练FogGuard网络的影响。通过从网络中移除感知损失,作者得到的是仅使用混合扰动数据集

\mathcal{D}_{g(c)f}

和损失(1)训练的教师网络(w.o. Perc. Loss)。不包括感知损失来训练FogGuard等同于仅用基于雾的数据增强来训练一个普通的YOLOv3网络。不包括感知损失对作者的网络性能是有害的,因为FogGuard网络的表现优于(w.o. Perc. Loss)网络。

Vi-B3 Including RTTS dataset in Perceptual loss hurts performance

如(6)所述,教师-学生感知损失仅在清晰图像数据集

\mathcal{D}_{c}

上计算。作者提出了一个问题:将雾天图像数据集RTTS包含在感知损失项中,是会损失性能还是提高性能?表2的第四列显示,将RTTS纳入感知损失计算中,作者在RTTS评估中损失了

1.28\%

,在VOC中获得了

1.89\%

这表明FogGuard在处理真实雾天时稍微更准确,而在处理清晰图像时稍微不那么准确。然而,作者的网络总体上对真实雾天更鲁棒,因为表2中针对RTTS数据集的网络的的标准差几乎是表2中网络的3倍。

Vi-B4 Importance of realistic depth in fog generation

正如在第IV-B节中讨论的,为了创建具有更真实雾效的图像,作者需要拥有图像的深度信息。深度信息仅在FogGuard的训练阶段需要,而在推理阶段不需要。作者从MiDaS [33]获取深度信息,而IA-YOLO使用如公式(9)所描述的伪深度。IA-YOLO假设在中心具有最大深度,并向外径向减少。

表2的最后一列显示,当使用IA-YOLO方法生成合成雾时,网络在RTTS上的mAP下降了

6.53\%

,但在VOC上增加了2.62%。这一发现强调了在提升网络在雾天条件下准确检测物体能力时真实深度的的重要性。使用伪深度时,在清晰和合成雾图像上的mAP增加令人惊讶。一种假设是,基于MiDaS的雾比伪深度雾更复杂,更难以理解和去除。这损害了在清晰数据集和合成雾图像上的性能。

Vi-B5 Location and number of layers used in Perceptual loss

最后,作者探讨了在FogGuard中计算感知损失时考虑的位置和层数的影响。在(5)中定义的感知损失依赖于起始层

l_{s}

和结束层

l_{e}

。作者评估了两个位置:首先是前几层

l_{s}=1

,然后是最后几层

l_{e}=L

。作者还改变了层数

l_{e}-l_{s}

从4到9的范围。结果展示在表3中。

对于这个实验,作者将训练时期数量固定为300(原始实验为600),发现包含更多层数用于感知损失计算通常能带来更好的目标检测性能。然而,在训练过程中计算网络中所有层的差异或者只考虑部分层之间存在着权衡。作者发现,当使用9层而不是仅仅4层时,实验的持续时间几乎增加了两倍。

Efficiency Analysis

FogGuard在推理过程中与原始的YOLO相比具有零开销。该网络的参数数量与原始完全相同,没有像IA-YOLO中看到的那样增加额外的块所带来的成本。然而,在训练过程中,FogGuard仍需要维护两个不同的YOLO网络,即教师网络和学生网络,以计算感知损失。

因此,FogGuard的速度与其基础网络;YOLO-v3一样快。这种零开销的特点还使得FogGuard可以轻松适应其他需要提高准确度或速度的场景。在这种情况下,作者只需替换掉基础的网络YOLO-v3,并训练一个替代网络,使其更能抵抗不利条件。

为了展示FogGuard的效率,作者对比了FogGuard和IA-YOLO在100个样本上的执行时间。在这项实验中,FogGuard的执行速度是IA-YOLO的5.1倍(139.68秒对27.42秒)。

VII Conclusion

作者提出了FogGuard,这是一种在恶劣天气条件下有效检测物体的新颖方法。FogGuard采用了一种教师-学生架构,其中学生网络融合了感知损失,以增强对不利天气条件的鲁棒性。通过在输入图像中合成真实的雾效并模拟教师网络的性能,FogGuard取得了显著成果。

通过严格的实验,作者证明了作者优化的训练方法和精心设计的数据集的优越性,显著优于现有方法。作者还表明,FogGuard不会对基本的YOLO网络造成任何负担,使其成为解决现实世界问题(如自动驾驶)的合适方法。

参考

[1].FogGuard: guarding YOLO against fog using perceptual loss.

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 集智书童 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • I Introduction
  • II Related Work
    • Iii-A1 Analytical image processing techniques
      • Iii-A2 Learning based image-enhancement approaches
        • Iii-A3 Domain Adaptation
        • III Problem formulation and Notation
        • IV Methodology
          • Teacher-student perceptual loss
            • Depth-aware realistic fog
            • V Experiments
              • Datasets
                • Implementation Details
                  • Evaluation metric
                  • VI Results
                    • Comparison against baseline methods
                      • Ablation Studies
                        • Vi-B1 Comparison against the teacher network
                        • Vi-B2 Importance of the Teacher-Student Perceptual Loss
                        • Vi-B3 Including RTTS dataset in Perceptual loss hurts performance
                        • Vi-B4 Importance of realistic depth in fog generation
                        • Vi-B5 Location and number of layers used in Perceptual loss
                      • Efficiency Analysis
                      • VII Conclusion
                      • 参考
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档