Boosting Object Detection with Zero-Shot Day-Night Domain Adaptation

时间:2024-10-24 18:32:35

摘要:低亮度场景检测是一个小众且重要的方向,首先在于数据集和过往的研究都集中在光照充足的环境下,其次如果使用传统的训练方法的话由于训练难度大,模型效果也不会很好,有幸的是,现在关于低亮度的研究已经提上日程,且有了一些进展,通过收集和标注低光照场景下的数据集,和相关检测方法的研究,有了长足的进步。本文提出一个Boosting Object Detection with Zero-Shot Day-Night Domain Adaptation,作用是将dectors从高亮度场景扩展到低亮度场景,而不需要低亮度场景的数据。首先创建一个反射表示学习模型,学习图像中的照明不变性,并采用精心设计的照明不变性强化策略。同时引入互换-重分解-一致性过程,通过进行两次序列图像分解并引入重分解一致性损失,改进了传统的Retinex图像分解过程。

照明不变性使之物体在不同光照条件下仍然能保持良好的检测性能。照明不变性强化策略是为了加强学习过程,设计一种照明不变性强化策略,包含设定特定的损失函数,使模型在训练的时候更加关注学习如何在不同光照条件下保持一致的特征表示。

互换-重分解-一致性过程:互换-重分解涉及对图像的两次分解,以提取更准确的反射成分,第一次分解采用传统的方法,第二次分解是基于第一次分解的基础上进行的。引入了重分解一致性损失,用于确保在两次分解中提取到的反射成分之间保持一致性,这意味着,模型在进行重分解的时候,应该尽量保持之前分解结果的特征不变,从而提高分解的稳定性和准确性。

研究进展:郭某提出的zeroDCE是一种无参考图像的图像特定光增强曲线估计方法,(该方法不需要与其他图像进行比较,而是根据图像本身来进行增强),显然是一种图像增强策略。

理论支持:图像可分解为反射率和照明两个部分,可以通过这两个成分的逐元素乘法来重建图像。(有的使用反射率作为增强后的图像,有的调整照明亮度)。有的研究是进行反射率和照明图的分解,从而实现光增强和去噪。有的利用混合双层搜索策略找到所需要的网络结构。有人通过Transformer结构同时建模反射率和照明过程中的干扰。

低光照检测的不同方法和策略:1,通过增强进行检测:首先利用低光照增强技术生成明亮的图像,然后再进行物体检测,通过增强图像的亮度和对比度,使得物体检测算法能够在增强后的图像上进行更加有效的检测。

2,...怎么感觉没啥区别啊(增强,用于检测):侧重于图像恢复训练流程来提高物体的检测性能,在训练阶段,增强技术用于改善图片的质量(感觉和1没啥区别)。

3,低光照检测学习策略:专注于开发新的学习策略(也就是训练的网络结构),具体策略包括:

  • 多模型合并:(可以参考,毕竟提升精度之后就是讲故事了),通过结合多个模型输出来提高检测性能。
  • 多任务自编码转化:(有点难懂):同时进行多个任务的学习,提高模型的泛化能力。
  • 无监督领域适应框架:在没有标注数据的情况下,适应不同的领域(从白天到夜晚的转化)。

 嘻嘻,可以用来做研究的数据集。

又着重强调了一下自己的特点,在没有真实的低光照数据支持的情况下,从光照良好的数据中学习,训练出来的检测器能够在低光照条件下进行有效的物体检测。

DA是领域适应,DG是领域泛化。背景是很多感知任务在黑暗场景下的研究主要集中在领域转义学习上,就是将模型从一个领域(在本文所涉及的领域上是光照良好的领域)迁移到另一个领域(低光照领域)。

DA的尝试是:合成低光照图像来扩展自己的训练集,通过自监督学习对齐良好光照和低光照的分布。将两个领域中学习到的组件进行合并。

DG是指在不知道目标领域的情况下对未见过的领域进行泛化。旨在为广泛的目标领域提供通用的解决方案,而不是针对某一个领域。

Zero-Shot Day-Night Domain Adaptation, ZSDA,作者提出的属于DA范畴。真实低光照数据不可获取,但是目标领域已知为低光照场景。

论文中提到,直接使用低光照数据进行训练,效果要比使用高光照数据要差得多首先通过将输入图片经过处理后得到的低亮度图像与原图像一起输入,经过DAI-NET层之后(是在一个已经建立的物体检测器的基础上构建的,增加了一个用于反射表示学习的解码器),也就是得到计算损失,同时将原图像在互换-重分解-一致性过程中的损失考虑在内,进一步加强了发射表示的学习。

基于啥啥啥理论,原始图像先分解为光照和反射率表示。理论假设可见度是基于光照而不是反射率。在不同的光照条件下,物体的颜色和纹理不会改变,但是由于照明的变化,图像的整体亮度和对比度可能有所不同。在ZSDA背景下,反射率被视作照明不变的对应物,获取反射率只是对实现照明不变的检测器至关重要。照明不变检测器:通过学习和利用反射率,检测器能够在不同的光照条件下保持一致的性能。

上图是将原始图片分解为L和R的过程。

下面就是网络结构:认为图像分割是一种低级视觉任务,主要从图像中获取基本信息,为了实现这一目标,作者将检测器的骨干网络在第二个卷积层出进行了分割,分割的前部称之为gf,后部称之为gb。gf的输出也就是F,编码了由浅层提取的低级信息,适用于解码发射率,gf之后分支出反射率解码器,是一个轻量级的模块,由两个ReLU激活函数组成。(检测头和发射解码器共享gf)。

为了更好的监督反射率解码器,作者利用了一个预训练分解网络来生成反射率和照明的真实数据。

不同光照强度下的图像会导致不同的特征分布。但是图片本身具有相同的语义信息,不会随着光照强度的改变而改变。要求保证特征对齐,也就是从gf输出的特征F要保持相似。

Lmfa​:为了保持特征的对齐,设置了特征损失对齐函数,

KL(⋅∣∣⋅) 表示 Kullback-Leibler 散度(KL Divergence),用于衡量两个概率分布之间的差异。

Fn表示从光照良好的图像中提取的特征图,Fl表示从低光照的图像中提取到的特征图。(是从gf提取,经过展平和空间平均之后得到的)。最小化Lmfa,模型可以促进良好的光照和低光照之间的特征提取,这个特征(代表语音信息)理应是相同的。有助于模型在不同光照条件下保持一致性。

别急,还有更加强大的图像分解工具:

首先还是基于那啥啥理论,将光照不良的图像分解为左边两个光照和反射率图像,将光照良好的图像分解为右侧的光照和反射率图像。理想情况下,L1和Ln应该是相同的,并且可以互换,以便在结合相应的照明图时进行重构。

惩罚是互换反射率重建图像,一旦偏离原始输入,就产生惩罚,(这叫做基于惩罚的约束)。

总损失如下:

上式中,Ldecom表示的是图像分解损失,是对输入图像的重建,反射率不变性以及光照平滑性进行综合评估。式子中MSE表示亮反射率和暗反射率之间的差异,SSIM是结构相似系数。小的损失没有细讲。

训练上通过调整参数来对应不同的数据集。

作者提出了他们的不足,合成的低光图像(也就是Dark ISP)合成的图像在训练效果上是落后于真实的低光图像的,这点有改进的空间。

论文写作tip:通过与自己的对比实验,本文中使用辅助分支以及同时解码光照和反射率的方法效果都不如对反射率单独解码,证明单独解码发射率的方法更有效。