1. 端到端的IA-YOLO原理
目前项目需要实现在恶劣环境下实现目标检测功能,通过实验发现,目标检测在雨、雾、扬尘等恶劣光照条件下性能骤降,而使用传统方法先增强图像再进行深度学习检测往往存在任务冲突与信息损失。最近通过查找资料发现,2022年发表的IA-YOLO方法提出了一种端到端自适应框架通过可微图像处理模块DIP和 CNN-PP模块参数预测 ,并使用与yolov3混合优化实现恶劣环境下效率与精度的提高。下面重点对IA-YOLO中的DIP和CNN-PP模块进行介绍。
1.1 可微的图像处理模块DIP
DIP模块的设计原则如下:
- 与像素操作的可微性,支持梯度的反向传播,实现与检测器的端到端训练;
- 与分辨率无关,支持任意分辨率的输入;
可微的图像处理模块主要由去雾滤波器、逐像素滤波器(白平衡,gamma,tone曲线,对比度)和锐化滤波器组成。
WB白平衡操作由3个参数组成,分别是\(w_r\),\(w_g\)和\(w_b\)。对图像的作用可以由下面的公式描述:
gamma操作由1个参数\(\gamma\)描述,当\(\gamma < 1\)时候,暗部细节会增强,图像整体会变亮,这种情况为伽玛压缩,主要应用在低光照图像增强;当\(\gamma > 1\)时候,亮部细节增强,整体变暗,这种情况为伽玛展开,主要应用在高光抑制、对比度提升。它可以由下面的公式描述:
Tone曲线又叫色调调整曲线,在IA-YOLO中设计成为由8个参数组成的分段线性曲线。从而实现不同颜色通道的映射。
Contrast对比度操作,使用参数\(\alpha\)进行调节,对比度可以描述图像的最大和最小亮度之间的关系,当对比度增大时,图像的亮暗分布比较明显,可以由下面的公式描述:
Sharpen图像锐化操作,可以突出显示图像的细节,锐化过程可以由下面的公式进行描述,其中\(I(x)\)是输入图像,\(G(I(x))\)表示高斯滤波器,\(\lambda\)是一个正的比例因子。
论文参考暗通道先验方法的启发,设计了具有可学习参数的去雾滤波器,由大气散射模型推到得到,去雾滤波器可以由下面的公式描述,其中,\(J(x)\)代表干净图像,\(I(x)\)代表雾化之后的图像,A为全球大气光,由\(I(x)\)对应的最亮的1000个像素平均值估计。参数\(\omega\)为去雾滤波的学习参数。
其前向传播过程可以由图下图描述:
1.2 CNN-PP和YOLO混合训练过程
整个训练过程可以由上面的图进行描述,以有雾的场景为例,CNN-PP模块的目的是通过了解图像的全局内容,如亮度、颜色、色调,以及雾的程度,来预测DIP模块的参数。因此,降采样图像足以估计这些信息,从而大大节省了计算成本。对给定任何分辨率的输入图像,IA-YOLO简单地使用双线性插值将其降采样到256×256分辨率。
CNN-PP网络由5个卷积层和2个全连通层组成。每个卷积块包括一个3×3的卷积层,stride为2和一个Leaky Relu激活函数。最终的全连接层输出DIP模块的超参数。这五个卷积层的输出通道分别为16、32、32、32和32。当参数总数为15个时,CNN-PP模型只包含165K个参数。
最后,使用yolov3的损失函数,来联合优化yolo和CNN-PP模型。
其核心优势:
- 强大的自适应能力:同一模型处理正常/恶劣天气,无性能下降(VOC_norm测试集mAP 73.23%)
- 高效的计算:
CNN-PP网络使用将采样后的图像作为输入,仅增加了少量参数,优于加深网络层数的方法。
Comments
有什么问题吗,有任何问题欢迎你在下面评论留言或者邮件联系我!