【阅读笔记】沙尘图像线性颜色校正A fusion-based enhancing approach for single sandstorm image

一、沙尘图像背景

沙尘图像处理面临的主要问题是色彩偏移和图像细节模糊,在去除偏色后利用改进的去雾算法对沙尘图像进行处理,但是由于沙尘和雾霾形成的原理不同,沙尘的颗粒半径接近25µm,远远大于雾霾(0.01 ~ 1µm)和雾(1 ~ 10µm),因此除雾算法模型不适用,容易出现色彩失真的问题。

由于沙尘天气下空气中悬浮的沙尘颗粒对蓝色光的吸收和对红色光的反射,沙尘暴图像一般呈现黄色,因为黄色光的穿透性和散射性最大,沙尘图像RGB三通道的直方图分布不均衡,同时存在分布较为集中,这使得图像整体看起来偏黄和偏红。沙尘环境下对视频图像采集的影响首先是色彩的偏移。

二、线性颜色校正

本文关注颜色校正部分,沙尘图的三通道直方图具有偏移性,要调整三通道的偏移性,以往的研究方法是通过对直方图进行建模,这样虽然能解决这个问题,但是也有可能会导致色彩失真等问题。

《A fusion-based enhancing approach for single sandstorm image》的作者对沙尘暴图像进行预处理,采用基于统计方法的颜色校正方法去除色差,使图像呈现自然的外观。

O m a x c = O m e a n c + μ ∗ O v a r c O m i n c = O m e a n c − μ ∗ O v a r c O_{max}^{c} =O_{mean}^{c}+\mu *O_{var}^{c} \\ O_{min}^{c} =O_{mean}^{c}-\mu *O_{var}^{c} Omaxc=Omeanc+μ∗OvarcOminc=Omeanc−μ∗Ovarc

其中,O表示输入图像,c表示RGB通道, O m e a n c O_{mean}^{c} Omeanc表示均值, O v a r c O_{var}^{c} Ovarc表示均方差, μ \mu μ是控制图像饱和度的参数,论文中参数为3。

O m a x c O_{max}^{c} Omaxc表示色偏最大估计值, O m i n c O_{min}^{c} Ominc表示色偏最小估计值。对每个颜色通道做归一化处理,得到:

O C R c = O c − O m i n c O m a x c − O m i n c ∗ 255 O_{CR}^{c} =\frac{O^{c}-O_{min}^{c}}{O_{max}^{c}-O_{min}^{c}}*255 OCRc=Omaxc−OmincOc−Ominc∗255

其中, O C R c O_{CR}^{c} OCRc是颜色校正后的数据分量。

三、论文后续处理

3.1 亮度改善

颜色校正不能解决光的吸收和散射导致的亮度不均匀问题,后续在HSV域对V分量使用gamma校正改善亮度问题、或者使用直方图均衡处理V通道提高图像对比度。

V ′ = 255 ( V 255 ) 1 γ V'=255(\frac{V}{255})^{\frac{1}{\gamma}} V′=255(255V)γ1

3.2 权重融合

sharpness weight map、chromatic weight map、prominence weight map三种权重结合进行图像融合,这里不展开了。

四、文章效果

对比算法都是拉伸图像动态范围,没有处理沙尘图像偏色问题

五、仿真效果

原理简单,直接复现,颜色校正效果还行,计算还比较简单,左图原始图,右图是仿真结果图

测试代码链接


我的个人博客主页,欢迎访问

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

我的知乎主页,欢迎访问

相关推荐
箓维25 分钟前
TCP Socket的进阶实现
网络·笔记·tcp/ip
二哈赛车手28 分钟前
新人笔记---hermes定时功能设计,具体讲解以及可优化点
java·人工智能·笔记·spring·ai·typescript
星恒随风2 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
智学AI3 小时前
AI博主写作素材管理方法分享:资料归集、笔记关联与文档归档
人工智能·笔记
叼烟扛炮3 小时前
[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战
服务器·开发语言·网络·笔记·学习·langchain
weixin_448119943 小时前
Datawhale Jev Cookbook 202610 笔记5
笔记
一木 之林4 小时前
Dify学习笔记 04 · 检索底座:Embedding、Rerank与向量数据库(第46-54集)
笔记·学习·embedding·dify
ljt27249606614 小时前
Python笔记(十一)--Numpy(一)
笔记·python·numpy
芯思路4 小时前
STM32开发学习笔记之十【AI部署】
笔记·stm32·学习
江屿风5 小时前
【Plain Language Large Model】【从浏览器到全栈:一课精通Node.js三剑客】流食般投喂
笔记·前端框架·npm·node.js·js·npx