Seven ways to improve example-based single image super resolution【阅读笔记】

发布时间 - 2025-07-23 00:00:00    点击率:

论文信息

【七种改进基于示例的单图像超分辨率的方法】-Radu Timofte, 2016, CVPR

论文链接

本文提出了七种提升基于示例的单图像超分辨率(SR)的技巧。

前置内容数据集:Train91, Set5, Set14, B100, L20

对比方法:Yang, Zeyde, ANR, A+, SRCNN

Yang:即Sparse Coding(SC),图像特征块通过原子字典和原子稀疏矩阵表示。

Zeyde:通过使用K-SVD有效地学习字典,并使用正交匹配追求(OMP)进行稀疏解,改进了Yang方法。

ANR:在SC方法上改进,在训练阶段对LR字典的每个原子额外计算一团邻居原子,计算对应HR字典的邻居原子,求LR邻居原子团-HR邻居原子团的投影矩阵。在重建阶段,用投影矩阵乘以输入的LR图像特征块进行重建HR图像特征块。

A+:是对ANR的改进,改进了寻找投影矩阵时寻找邻居的方法。ANR是在LR字典中找原子的邻居原子,A+是在LR训练样本集中找LR字典每一个原子的邻居特征样本。

改进内容项1、增加训练数据:增加训练阶段的数据可以有效提升重建质量。有两种途径:

1). 缩放训练图像。2). 考虑训练数据/图像块的翻转和旋转版本。

图2展示了旋转90、180、270度以及翻转后90、180、270度的效果。

如果我们将原始图像旋转90、180、270度,我们得到了许多没有改变内容的图像。对其他旋转角度使用插值可能会损坏边缘并影响性能。

图3展示了LR-HR训练图像数量的影响。

1、数量越大对PSNR提升有效果。

2、锚点数量增加,PSNR也增加。

2、扩大字典和层次搜索:字典大小增加,稀疏表示方法的效果一般也会增加。在A+中,锚点越多,误差越小,字典变大字典查找速度会变慢。因此,为了提高搜索与输入patch最近的锚点效率,提出了层次搜索。

其主要思想是将N个锚点使用k-means分为\sqrt{N}类,每一类都有一个质心,每个质心分给c\sqrt{N}个相关的锚点,搜索先在最近的质心处进行,然后在c\sqrt{N}个相关的锚点处进行搜索。

图5展示了搜索速度的优化。

字典规模越大,查找字典速度越慢,优化了搜索结构后(蓝线),查找字典的时间能得到改善。

3、反向投影:让输出的退化图像与输入的LR尽可能一致,类似于对输出的HR图像进行下采样后与输入的LR图像进行比较,如果误差较大,信息反馈后优化重建HR图像。下一次重建HR图像与输入LR图像的误差要更小。

表1展示了结合迭代反向投影的算法对比效果。

4、锚定回归器的级联:小的放大倍数(x2,x3)SR结果比较准确,大的放大倍数(x4,x8)SR效果比较一般,因此有人提出逐步放大,即使用相同的特征和参数,阶梯状的输出模型。将前一阶段的输出作为LR图像输入和每个阶段的HR图像,而每个阶段使预测更接近目标HR图像。

图6展示了多层级联效果。

表2展示了1-4层级联的算法对比效果。

级联的效果会变好,但会增加计算时间。

5、增强预测:在重建阶段对输入的LR图像进行裁剪(或缩放)、旋转和翻转,得到8张LR图像。对每一张都进行一次SR,对重建结果取平均值得到一张HR结果。

实验结果表明能有效提升PSNR。

6、自相似性:一般的字典学习相当于建立了外部字典,文中提出可以利用内部字典。当然,如果将内部字典和外部字典结合起来,效果肯定会更好。

具有高几何规则的城市HR图像,内部字典的结果比外部更好,内部字典的构建在重建过程中会耗时间,需考虑提升效果与计算量的权衡。

图7展示了字典改进,联合内部字典和外部字典效果更好。

7、结合上下文信息进行推理:利用上下文信息来提高超分的效果,对于每一个锚点,不止训练一个回归器,而是训练4个特定上下文的回归器。对于每一个LR patch,首先是匹配锚点,然后这些邻近的特定上下文回归器用来获得HR输出。

表4展示了结合上下文信息的效果,效果提升不明显。

结合改进提出改进的A+方法简单总结:

其中,使用(A、H、R、C、E)这几项改进提出改进的A+方法,(C)和(E)以增加计算时间为代价。

图8展示了这几个方法的质量提升程度。

每项改进都有效果,并且用在其他对比算法上也能提升重建效果,仍需权衡计算量和效果来结合改进项。

参考文章:

1、https://www./link/e04a9a2d51029f73f5c3b7a085de91ee

七种改进基于示例的单图像超分辨率的方法【阅读笔记】


# linux  # ai  # html  # 算法  # https  # 展示了  # 级联  # 是在  # 都有  # 七种  # 提出了  # 越大  # 也会  # 也能  # 改进了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Swift中switch语句区间和元组模式匹配  如何快速生成ASP一键建站模板并优化安全性?  JavaScript如何操作视频_媒体API怎么控制播放  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel如何使用Eloquent进行子查询  网站建设整体流程解析,建站其实很容易!  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  深圳网站制作培训,深圳哪些招聘网站比较好?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  历史网站制作软件,华为如何找回被删除的网站?  Swift中swift中的switch 语句  如何做网站制作流程,*游戏网站怎么搭建?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  如何用西部建站助手快速创建专业网站?  如何在景安云服务器上绑定域名并配置虚拟主机?  phpredis提高消息队列的实时性方法(推荐)  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  奇安信“盘古石”团队突破 iOS 26.1 提权  JavaScript如何实现类型判断_typeof和instanceof有什么区别  如何在阿里云部署织梦网站?  如何快速生成专业多端适配建站电话?  PythonWeb开发入门教程_Flask快速构建Web应用  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  如何选择可靠的免备案建站服务器?  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  javascript日期怎么处理_如何格式化输出  个人摄影网站制作流程,摄影爱好者都去什么网站?  中山网站推广排名,中山信息港登录入口?  如何在云指建站中生成FTP站点?  Java遍历集合的三种方式  Android Socket接口实现即时通讯实例代码  使用spring连接及操作mongodb3.0实例  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  做企业网站制作流程,企业网站制作基本流程有哪些?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Laravel怎么连接多个数据库_Laravel多数据库连接配置  如何在万网利用已有域名快速建站?