转换图像分辨率c++代码_MMSR:OpenMMLab 超分辨率(SR)工具箱

MMSR是香港中文大学多媒体实验室开源的超分辨率工具箱,包含了图像和视频超分的先进算法,如ESRGAN和EDVR。该工具箱具有统一框架,易于拓展,适用于底层视觉任务。文章介绍了MMLab在超分辨率领域的研究历史和面临的挑战,鼓励社区成员共同完善和探索新算法。
摘要由CSDN通过智能技术生成

点击上方“CVer”,选择加"星标"或“置顶”

重磅干货,第一时间送达9c3f1e3095fbea3564c9a1ac724ef796.png

作者:Xintao

https://zhuanlan.zhihu.com/p/79855277

本文已由作者授权,未经允许,不得二次转载

我们最近在OpenMMLab项目中release了MMSR,一个针对图像和视频超分辨率 (Super-Resolution, SR, 简称超分) 的工具箱。在进一步描述MMSR之前,先来简单介绍一下香港中文大学多媒体实验室 (MMLab) 在超分辨率领域中的研究工作。

在深度学习进入计算机视觉领域的早期阶段,实验室就开始研究使用深度学习来解决图像的超分辨率问题了。2014年,实验室提出了首个使用卷积神经网络解决超分辨率的模型——SRCNN[1]。SRCNN是图像超分辨率的标志性工作,对后续计算机视觉的底层算法研究产生了重要影响。相关论文也被顶级国际期刊TPAMI评选为2016年3月至今“最受欢迎文章”之一[2]。随后,实验室从实际应用的角度出发,研究了更快的可以实时处理的FSRCNN[3];并把核心思路拓展到了去除图像的压缩噪声上(ARCNN[4]). 之后,实验室探究了如何把超分辨率应用到其他领域中,比如人脸的Hallucination (CBN[5]) 和深度图的超分 (MSG-Net[6]).

随着深度学习井喷式的发展,超分辨率领域也涌现了许多优秀的工作,比如EDSR[7], SRGAN[8]等等。实验室也持续输出,提出了利用语义先验帮助纹理恢复的SFTGAN[9];引入强化学习同时解决多种图像复原问题的RL-Restore[10]等等。下图的时间轴简要概括了MMLab近几年来在超分辨率领域的相关工作。

fd9ed7b57e0e6c233e0310399ee2d627.png
MMLab超分辨率相关工作的时间轴

除了研究工作,近年来,NTIRE,PIRM等图像/视频复原的学术比赛也越来越受到研究者的关注。我们参加了一系列的超分比赛,并且取得了不错的成绩,在这个过程中积累了很多“炼丹”技巧。值得一提的是,我们在PIRM18的图像感知超分比赛中提出了ESRGAN[11],取得了最好的感知分数和第三赛道的冠军。ESRGAN也被很多游戏爱好者用来游戏重制,把经典游戏的渣画质提升为高清,比如《重返德军总部》、《上古卷轴》等。此外,我们在NTIRE19的视频复原和增强比赛中,提出了EDVR[12],取得了全部四个赛道的冠军。

MMSR

上面聒噪了几段,是希望大家对于MMLab在超分领域的一系列工作有一个较完整的理解。我们在超分的研究和比赛中逐渐积累了一些调参炼丹的技巧。之前也断断续续有一些整理,比如BasicSR, EDVR,但比较零散,也没有正式地去做。这次我们基于之前repo的一些反馈,做了整理,把相关的一些开源工作整理成MMSR,加入到了OpenMMLab大家庭中。

Github地址:https://github.com/open-mmlab/mmsr

它有以下的一些优点:

1. 统一的框架。MMSR支持图像超分和视频超分的处理。虽然取名MMSR,它也能够容易地适应其他底层视觉的任务,比如去噪(denoise),去模糊(deblurring)等。

2. 先进的算法。MMSR目前包括了一系列比赛冠军的算法,比如ESRGAN (PIRM18), EDVR (NTIRE19)。目前我们还支持了图像超分的SRResNet和SRGAN(做了一些修改)的训练和测试,视频超分的DUF和TOF的测试,后续我们也会逐渐完善对其他主流模型的支持。

3. 容易拓展。代码逻辑简单,非常容易在这套code base上尝试新的研究算法。无论是改模型结构、数据处理、损失函数还是训练方式,都可以手到擒来。

OpenMMLab已经有了两位大哥哥: MMDetection和MMAction,它们代码简洁优雅,功能全面,值得MMSR继续向他们学习~希望MMSR也能够像它们一样成为相关领域的杠把子!目前MMSR中的模型数量还比较有限,欢迎大家一起来完善MMSR,共同贡献OpenMMLab!

前路漫漫

从深度学习应用于超分辨率的SRCNN开始,有了繁花似锦的发展,逐渐有越来越多的相关算法真正地应用到实际生活中去,但是挑战依旧很大。最明显的两个挑战,一是盲(blind)问题,二是速度问题。

在很多研究的问题中,我们都假设了降采样是已知的kernel(比如最为常见的MATLAB bicubic降采样)。固定kernel的问题在研究中已经取得了较满意的结果。但是在实际中,我们面对的是未知降采样kernel的问题,而且降采样kernel各式各样,种类繁多,大大增加了对算法鲁棒性的要求。就拿我们的ESRGAN和EDVR工作来讲,换一个新的场景、类型,其效果会大打折扣,甚至完全失败。因此解决超分的盲问题迫在眉睫。目前已经有工作在尝试解决这个问题了,但仍是“路漫漫求修远兮,上下而求索”。另外一个是速度问题。超分等底层视觉的任务都是密集像素的输出,对于计算量有很大的需求,特别是视频的任务。如何在有限的资源、时间下,得到好的效果,仍是一个挑战。

我们也希望MMSR能够建立一个代码基础,促进社区在新挑战上的继续探索。

最后,我们借此也宣传一下我们新建立的X-Pixel /eks-ˈpɪksəl/ Group。

http://xpixel.group/

X-Pixel Group是香港中文大学,新加坡南洋理工大学和中科院深圳先进技术研究院一起组建的一个兴趣小组。它集合了MMLab在底层视觉算法中的研究积累,宗旨是“AI,让世界看得更清晰” (make the world look clearer)。我们会把团队最新的研究成果、活动信息更新在X-Pixel Group上,欢迎大家关注~

References:

[1] Dong, C., Loy, C. C., He, K., & Tang, X. Learning a deep convolutional network for image super-resolution. In European conference on computer vision (ECCV), 2014.

[2] Dong, C., Loy, C. C., He, K., & Tang, X. Image super-resolution using deep convolutional networks. IEEE transactions on pattern analysis and machine intelligence,38(2), 295-307, 2015.

[3] Dong, C., Loy, C. C., & Tang, X. Accelerating the super-resolution convolutional neural network. In European conference on computer vision (ECCV), 2016.

[4] Dong, C., Deng, Y., Change Loy, C., & Tang, X. Compression artifacts reduction by a deep convolutional network. In the IEEE International Conference on Computer Vision (ICCV), 2015.

[5] Zhu, S., Liu, S., Loy, C. C., & Tang, X. Deep cascaded bi-network for face hallucination. In European conference on computer vision (ECCV), 2016.

[6] Hui, T. W., Loy, C. C., & Tang, X. Depth map super-resolution by deep multi-scale guidance. In European conference on computer vision (ECCV), 2016.

[7] Lim, B., Son, S., Kim, H., Nah, S., & Mu Lee, K. Enhanced deep residual networks for single image super-resolution. In the IEEE conference on computer vision and pattern recognition workshops (CVPR), 2017.

[8] Ledig, C., Theis, L., Huszár, F., Caballero, J., Cunningham, A., Acosta, A., ... & Shi, W. Photo-realistic single image super-resolution using a generative adversarial network. In the IEEE conference on computer vision and pattern recognition (CVPR), 2017.

[9] Wang, X., Yu, K., Dong, C., & Loy, C. C. Recovering realistic texture in image super-resolution by deep spatial feature transform. In the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[10] Yu, K., Dong, C., Lin, L., & Loy, C. C. Crafting a toolchain for image restoration by deep reinforcement learning. In the IEEE conference on computer vision and pattern recognition (CVPR), 2018.

[11] Wang, X., Yu, K., Wu, S., Gu, J., Liu, Y., Dong, C., ... & Loy, C. C. Esrgan: Enhanced super-resolution generative adversarial networks. In the European Conference on Computer Vision Workshop (ECCVW), 2018.

[12] Wang, X., Chan, K. C., Yu, K., Dong, C., & Loy, C. C. Edvr: Video restoration with enhanced deformable convolutional networks. In the IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2019.

重磅!CVer-超分辨率交流群成立啦

扫码添加CVer助手,可申请加入CVer-超分辨率交流群,同时还可以加入目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测和模型剪枝&压缩等群。一定要备注:研究方向+地点+学校/公司+昵称(如超分辨率+上海+上交+卡卡)

5bb2e16bb217afb7eca2f6a5d55d617d.png

▲长按加群

20220b7989c9518b84f022b2ef8effc4.png

▲长按关注我们

麻烦给我一个在看!

要训练自己的数据集来进行SRGAN训练,你可以按照以下步骤进行操作: 1. 首先,你需要准备自己的数据集。确保你的数据集包含高分辨率的原始图像和与之对应的低分辨率图像。这些图像对应关系应该是一一对应的。 2. 修改配置文件train_SRGAN.yml中的相关参数。将配置文件中的scale设置为你想要的放大倍数,修改路径,GT_size等参数以适应你的数据集。 3. 使用以下命令开始训练SRGAN模型: ``` python train.py -opt options/train/train_SRGAN.yml ``` 这将启动训练过程,并根据你的数据集进行SRGAN模型的训练。 4. 训练过程中,每隔一段时间(比如每训练5000次)可以对验证集进行测试,并计算PSNR来评估模型的性能。生成的超分辨率图像将被保存在mmsr-master/experiments文件夹中。 5. 在训练完成后,你可以找到训练好的模型参数文件(.pth文件),它们会保存在experiments文件夹下。你可以使用find命令来查找.pth文件: ``` find -name '*.pth' ``` 这将帮助你找到刚训练好的模型参数文件的路径。 通过遵循上述步骤,你可以使用SRGAN模型来训练自己的数据集。记得根据具体情况修改配置文件和相应的参数,以便适应你的数据集和需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用自己的x3数据集实现SRGAN,小白进坑全收录!](https://blog.csdn.net/qq_43477550/article/details/103445930)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值