首页 > 其他分享 >ECCV2022 Real-RawVSR Dataset (Tianjin University)

ECCV2022 Real-RawVSR Dataset (Tianjin University)

时间:2023-08-08 20:46:37浏览次数:61  
标签:Real raw RAW Tianjin ECCV2022 HR LR 模块 对齐

1. 摘要

近些年super resolution(SR)取得了很大进步,图像的SR真实世界数据集也有很多,相比来说视频要落后很多。本文构建了第一个真实世界的RAW视频SR数据集。数据集中包含450对RAW视频,LR图像有对应的2x/3x/4x的HR图像。本文提出一个两分支网络,分别处理packed RGGB序列和Bayer RAW序列,两个分支互相补充,最后通过对齐,交互,融合和重建模块获取对应的HR sRGB序列。实验结果在真实世界数据集和合成数据集上都取得了sota的结果。

code: https://github.com/zmzhang1998/Real-RawVSR

paper: https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136660597.pdf

本文贡献:1)构建了一个VSR数据集,包含raw和sRGB的LR-HR数据对,上采样率涵盖2x,3x和4x,数据集包含450个视频,每个视频150帧;2)提出一个新的针对raw图的VSR网络架构,输入为bayer raw图和对应的packed sub-frames,并且提出采用联合对齐、交互和融合模块来利用两个分支的信息;3)提出一个简单有效的颜色校正算法用于在训练中匹配LR-HR之间的颜色差异,并且通过实验验证在raw和sRGB域都有效果。

2. 数据集介绍

SR数据集一般包括合成数据集和真实世界数据集,合成数据集如DIV2K和REDS,但合成数据集一般不能正确表示LR相对于HR的衰减(degradation),真实世界数据集包括RealSR、City100等,他们通过不同焦距的相机获得对应的LR-HR图像对,但以上数据集都是在sRGB域的。

目前有很多工作开始迁移到RAW图像进行,比如超分、HDR和deblur等,因为RAW图包含更大的动态范围(10/12/14bit),并且RAW由于没有经过ISP的处理,尤其是tone mapping操作,线性数据更加有利于模型处理[ref]。因此针对SR问题,也有一些RAW数据集被提出,如ImagePairs。

对于视频SR的数据集,RealVSR是通过iPhone11ProMax手机和DoubleTake APP获取不同焦距下的图像分别组成LR-HR对,但是由于手机的焦距限制,这个数据集只有2x的上采样。另外还有BurstSR(ETH的DBSR)、RawVD等数据集。

本文提出的Real-RawSR数据集介绍:真实世界SR数据集采集一般分为两种,静态场景可以通过一台机器的短长焦分别获取LR和HR图像,动态图像可以通过分光镜和两个图像采集设备获取。本文采用第二种方法,具体设备参数和采集方法可参考原论文。

 由于FOV差异和lens distortion,采集到的LR-HR图像对需要进一步对齐。本文采用coarse-to-fine的对齐方法,对于RGB图像,首先上采样LR_rgb到和HR_rgb相同分辨率,然后使用SIFT关键点+RANSAC进行匹配,最后计算两者之间的单一性矩阵,将HR_rgb先初步对齐到LR_rgb;然后使用DeepFlow,一种传统光流进行进一步对齐,然后crop掉边缘部分,保证内容没有空洞;需要注意的是数据集是对HR图像进行变换,最后获得的是RGB的ground-truth;对于RAW图,其distortion流程和RGB严格对齐,保持一致,但由于直接对RAW图进行变换会破坏掉Bayer RAW格式,首先将RAW的4个通道进行split,组成RGGB sub-frames,然后对其进行变换,当然,由于sub-frame分辨率降低了一倍,因此采用单一性矩阵和光流时都需要缩放0.5。

 如上图为数据集中的几个示例,总共包含450个视频段(2x,3x,4x每个尺度150个视频段),每个视频150 frames,包含sRGB和Raw的LR-HR图像对(sRGB是经过black level correction,LSC,WB,CCM和gamma后获得的),2x的分辨率分别为1440x640和720x320。需要注意的是图像虽然对齐,但图像对之间还存在color and illumination differences。类型包括室内、室外和运动场景,运动分为相机运动和场景运动。

3. 相关工作介绍

对于视频/多帧超分任务,一般都是对齐+融合的链路。有些方法聚焦在对齐模块,采用光流方法和deformable convolution,如DBSR/TDAN/EDVR。近期,BasicVSR和其加强版IconVSR/BasicVSR++通过结合前向和后向传播信息基于光流的对齐取得了很好的效果。

对于真实世界的SR数据集,他们的LR-HR数据对一般具有误对齐、color dismatching和intensity variance等问题。对于处理以上问题,DBSR通过在最后一层预测时采用训练好的光流网络进一步对齐prediction和gt,并且采用一个颜色对齐矩阵来处理color dismatching;zoom2learn提出一个contextual bilateral loss来处理空间误对齐;RealVSR提出一个基于拉普拉斯金字塔的损失来处理误对齐和颜色不匹配;考虑到真实的衰减会在时序上进一步放大,RealBasicVSR提出一个pre-cleaning模块来减少时序传播时的噪声和artifacts。

对于RAW图超分,zoom2learn使用一个ResNet将RAW直接映射到sRGB;DBSR合成多帧RAW,合成为高分辨率的demosaic后的RGB;和本文方法相关的是TRWSR和RawVSR,他们都采用two-branch来分别构建HR-Raw和RGB,分别处理细节和颜色,或者两者互相辅助。

4. 方法

VSR任务是通过融合2N+1张LR图像获得1张HR图像,之前针对raw图的SR基本都是将一张RGGB raw图分解成4张单色通道的输入,这破坏了raw图的像素顺序(有些任务是raw2rgb的超分,这样划分只是扩大了上采样倍率,和单图SR一致,我觉得论文这儿的说法存疑)。因此本文采用了two-braches的结构,一条分支输入为bayer raw,另一条为单色通道的sub-frames,然后两条通道联合对齐融合等。

如上两个分支输入2N+1帧的bayer raw和sub-frames,分别通过各自的extractor提取特征;然后采用EDVR中的PCD对齐方法对齐2N帧到1帧参考帧,其中PCD对齐由金字塔和可形变卷积deformable convolution实现;接下来进入交互模块,通过传递两条分支的特征进行信息融合;时序融合用于融合2N+1帧的特征;然后是通道融合模块来整合两个分支的信息;最后是图像重建模块。

4.1 特征对齐模块

PCD对齐和可形变卷积先欠着,后续补充EDVR论文时详细介绍;

4.2 其他模块

  • 交互模块:由于两条分支的信息是互补的,本文设计了一个交互模块来传递两条分支的信息,具体来说bayer raw分支通过(3x3 conv, stride=2)来下采样特征图,sub-frames分支通过pixel shuffle上采样特征图,分别传递到另一条链路进行concatenate;
  • 时序融合:对齐模块将2N帧的特征对齐到ref帧,但每一帧特征对参考帧的贡献是不同的,本文在时间维度采用了一个non-local temporal attention模块来整合远程依赖信息,然后使用temporal spatial attention (TSA)模块来将特征融合到一起;
  • 通道融合:用于融合两条分支的特征图,本文采用了selective kernel convolution (SKF);首先sub-frames分支进行pixel shuffle上采样,然后和bayer raw分支相加,再进行SKF模块;
  • 重建模块:重建模块由10个ResBlock组成,然后结合pixelshuffle和conv映射到3通道输出,然后采用两个long skip connection分别连接两个分支,从而生成最后的输出;以上是2x超分的所有结构,对于4x,本文类似于EBSR,采用了两阶段的基于long skip connection的上采样;
  • 潜在问题:以上结构通过两个分支进行,对于bayer raw分支,采用卷积进行特征提取,相当于融合RGGB四个位置的信息,而每个通道的像素值是差距很大的,相当于从不同通道之间交互,这种特征提取是否有效?在交互模块和通道融合模块,两个分支进行concatenate或pixel-wise add,但bayer raw像素分布和sub-frames在像素上RGB通道是不对齐的,这种融合是否存在问题?当然这只是推测,需要实验和进一步分析。

4.2 颜色校正和损失函数

由于LR-HR图像来自不同设备,之间存在着颜色和亮度的不同,不能直接计算prediction和gt之间的损失,因此本文在计算损失之前采用了颜色校正先对齐两者之间的颜色差异。DBSR是通过计算一个3x3的颜色校正矩阵来同时校正RGB三个通道,本文采用了一个channel-based的方法分别校正3个通道。

 如上alpha是每个通道对应的scale参数,通过最小化输入图像LR_rgb和下采样后的HR_rgb之间的least square loss得到。

 另外本文采用的损失为Charbonnier loss,它类似于L1,相比于L2,它对异常值不敏感,适用于超分任务。

 

5. 实验

数据处理:对于每一个放大倍率,130个视频用于训练和验证,20个用于测试,每个视频从150帧中采样50帧。raw数据预处理包括减去黑电平和white level normalization。多帧融合数目为5(2N+1, N=2),通道数为64,kernel size=3。

定量分析:

定性分析:

 

标签:Real,raw,RAW,Tianjin,ECCV2022,HR,LR,模块,对齐
From: https://www.cnblogs.com/mzct123/p/17614825.html

相关文章

  • Rockchip RK3399 - Codec驱动( Realtek ALC5651)
    ----------------------------------------------------------------------------------------------------------------------------开发板:NanoPC-T4开发板eMMC:16GBLPDDR3:4GB显示屏:15.6英寸HDMI接口显示屏u-boot:2023.04linux :6.3----------------------------......
  • MFC-realloc修改数组容量
     TCHAR*p,*q;//分配初始内存空间p=(TCHAR*)malloc(10*sizeof(TCHAR));//初始化p中的数据for(inti=0;i<9;i++){*(p+i)=_T('a');}*(p+9)=_T('\0');//扩容pq=(TCHAR*)realloc......
  • UnrealEngine:BindAction() BindAxis()
     BindAction()绑定的函数会在输入事件发生时执行,BindAxis()绑定的函数每帧都会执行BindAction()用来监听外设是否到达某个状态,BindAxis()监听的是外设状态的变化量BindAction()绑定的函数无参数BindAxis()绑定的函数有一个参数,该参数就是外设状态的变化量 ......
  • Linux中time命令输出的Real time, User time and Sys time
    在运行的程序之前加time最后得出三个时间real、 user、sys,real是程序的实际运行时间,sys是内核态的时间,user是用户态的时间,单核情况,real远远大于user和sys之和。real,从程序开始到程序执行结束时所消耗的时间,包括CPU的用时和所有延迟程序执行的因素的总和。CPU用时被划分为u......
  • REALM Retrieval-Augmented Language Model Pre-Training
    目录概REALMGuuK.,LeeK.,TungZ.,PasupatP.andChangM.REALM:Retrieval-augmentedlanguagemodelpre-training.ICML,2020.概赋予生成模型检索的能力.REALM如上图所示,作者希望实现这样一个事情:给定一个'预测'任务,如"The[MASK]atthetopofthep......
  • RealChar:实时AI数字人
     RealChar——一个全能的开源代码库,先看演示。 谁需要RealChar-您的实时人工智能角色-如果您已经厌倦了文字聊天,想要交谈-如果您想随身携带您的人工智能角色-如果您想进行全面的自定义-如果您是一名工程师,正在寻找早期且无偏见的代码库来开始AI工程师的旅程Re......
  • 题解 CF1842H【Tenzing and Random Real Numbers】
    看了题解。好难受,想用积分求概率,算了半天。发现没啥规律,不是不能算,就是太可怕了。Problem有\(n\)个\([0,1]\)范围内的均匀随机变量\(x_{1\cdotsn}\)和\(m\)条限制,每条限制形如\(x_i+x_j\le1\)或\(x_i+x_j\ge1\)。请你求出所有限制均满足的概率。对\(998244353\)......
  • P8095 [USACO22JAN] Cereal 2 S 谷物早餐
    P8095[USACO22JAN]Cereal2S谷物早餐[P8095USACO22JAN]Cereal2S-洛谷|计算机科学教育新生态(luogu.com.cn)目录P8095[USACO22JAN]Cereal2S谷物早餐[USACO22JAN]Cereal2S题目描述输入格式输出格式样例#1样例输入#1样例输出#1提示分析[USACO22JAN]Cerea......
  • GIS系统想要实现Cesium For Unreal的视觉效果是否有捷径可走?
    对于大多数GIS开发人员来说,CesiumJS都是比较熟悉的引擎,但是相比较CesiumForUnreal而言,CesiumJS的视觉效果就显得差强人意了,因此一些GIS开发人员对CesiumForUnreal是存在需求的。但是,想要用好东西总是存在代价。由于CesiumForUnreal本身是虚幻引擎的一个插件,这就意味着如果......
  • Rockchip RK3399 - Codec驱动( Realtek ALC5651)
    Codecdriver提供了配置/使能Codec的能力,驱动代码位于sound/soc/codecs/rt5651.c文件。一、设备节点1.1设备节点rt5651我们在arch/arm64/boot/dts/rockchip/rk3399-evb.dts文件添加rt5651设备节点,该节点位于i2c1节点下:&i2c1{status="okay";i2c-scl-rising-time......