《Learning Temporal Consistency for Low Light Video Enhancementfrom Single Images》解读

                                        《从单个图像学习低光视频增强的时间一致性》

Motivation:作者认为一 一对应的视频数据集太难获取,有以下两点:

 在这个基础上,作者提出了一种利用单图像通过预测光流的办法,来保证视频增强过程中的时序一致性方法。侧面说明,作者的这个算法只需要图像就可以训练,然后增强暗光视频。

通过对单图像的光流预测,可以利用单图像和光流融合,得到下一帧信息(有没有大佬这里看懂了,预测光流,你怎么知道图像中的对象的下一步动作??这不是猜嘛,不严谨啊!)。

接下来看算法架构(这个论文写作乱的一),

 左侧(a) optial flow prediction  , 右侧(b) Training and Testing。

(a) optial flow prediction :

首先利用Detectron2对ground truth进行对象实例分割(作者认为分割过程中,总有一些点会产生运动,把这些运动的点随机选取十个,当作指导向量,用于CMP算法中的运动预测),然后对分割出的对象进行掩膜操作,得到掩膜后的图像,此时有2张图像,ground truth 和 masked image,两个图像放入CMP[1]算法中,估计光流。那么CMP是怎么估计光流的

接下来介绍一下CMP算法:

CMP算法:给予图像中对象几个指导向量,算法可以给出下一步的对象运动图。(所以结合(a)optial flow prediction 阶段,通过对图像中对象的实例分割产生几个向量,就表示下一步对象的运动,然后把ground truth 和 masked image放入到CMP算法,就可以得到光流了。)

[1] Xiaohang Zhan, Xingang Pan, Ziwei Liu, Dahua Lin, and Chen Change Loy. Self-supervised learning via conditional motion propagation. In Proceedings of the IEEE conference on computer vision and pattern recognition (CVPR), 2019. 3, 5  《基于运动分析的无监督学习》

f是optial flow, y是image, V是y上的指导向量。

Figure 2 分为3个步骤,细节如下:

分水岭算法将图像看作是地形学上被水覆盖的自然地貌,图像中的每一像素的灰度值表示该点的海拔高度,其每一个局部极小值及其影响区域称为集水盆地,两个集水盆地的边界则为分水岭。 (图像分割经常用)

 (b) Training and Testing:

第二个阶段是一个孪生网络,为的是利用第一阶段生成的光流,来保证视频时序一致性。

第一层:输入ground truth y1 经过伽马变换和高斯泊松噪声模型,得到近真实弱光图像x1 然后经过一个U-net 得到outpu:g(x1) 。g(x1) 与 y1 计算loss(保证弱光图像的增强)。

第二层:x1 和 第一阶段得到的光流图,经Warping操作,得到x2:

 然后x2 经过U-net,得到Output,g(x2), 此时需要g(x1),g(x2)做一个时序性Loss, 然后g(x2)再和y2(y1和光流做Warping操作)做Loss。

接下来是Loss Function :

lamdba 的消融实验。看天空差距

 介绍一下评价视频的几个指标:

 最后是如何合成的x1:

 

结束。 

 

### 调整照明图以保持一致性并重建正常光照图像的方法 为了实现通过调整照明图来保持与原图的一致性并重建正常的光照图像,可以综合考虑以下几个方面: #### 1. 数据预处理阶段 在训练过程中使用的数据集通常由高质量的原始图像及其对应的低光照版本组成。这些低光照图像可以通过随机减少亮度、对比度以及应用伽马校正等方式生成[^1]。这种数据生成方式有助于网络学习到不同光照条件下的映射关系。 #### 2. 损失函数设计 为了确保重建后的图像能够尽可能接近真实场景中的正常光照情况,损失函数的设计至关重要。文中提到的损失函数采用了带正则项的误差矩阵 F-范数平方形式,即误差平方和的形式。这种方式不仅衡量了像素级差异,还引入了正则化约束,防止过拟合的同时提升了模型泛化能力。 #### 3. 时间一致性学习 对于视频序列而言,在单帧基础上进一步扩展至多帧的时间维度上维持一致性尤为重要。文章《Learning Temporal Consistency for Low Light Video Enhancement from Single Images》提出了基于时间域上的连贯性优化策略[^2]。具体来说,该方法通过对相邻帧间特征进行关联分析,使得整个视频片段内的增强效果更加自然流畅。 #### 4. APSF引导的光晕渲染技术 当涉及到复杂环境如夜晚带有强烈灯光源的情况时,《计算机视觉——引导APSF和梯度自适应卷积增强夜间雾霾图像的可见性算法与模型部署(C++/Python)》一文中介绍了一种有效方案[^3]。此过程首先利用光源图计算得到适配参数空间滤波器(APSF),并通过二维卷积操作生成相应的光晕效应;最后再将上述结果融合入基础框架之中完成整体呈现。 以下是简单的伪代码示例展示如何构建这样的系统架构: ```python import numpy as np def preprocess_image(image): """ 对输入图片做降质处理 """ low_light_img = reduce_brightness_contrast_gamma_correction(image) return low_light_img def compute_loss(output, target): """ 定义带正则化的均方差损失函数 """ loss = (output - target)**2 + regularization_term() return np.sum(loss) def apply_temporal_consistency(video_frames): """ 实现跨帧之间的时间连续性控制逻辑 """ enhanced_video = [] prev_frame_features = None for frame in video_frames: current_features = extract_features(frame) if prev_frame_features is not None: consistency_constraint(current_features, prev_frame_features) enhanced_frame = enhance_single_image(frame) enhanced_video.append(enhanced_frame) prev_frame_features = current_features return enhanced_video def generate_halo_effect(source_map): """ 使用APSF模拟光线散射现象 """ apsf_kernel = calculate_apsf_function(source_map) halo_image = convolve_with_kernel(source_map, apsf_kernel) return halo_image ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值