AI ISP资料整理
本文主要整理端到端的ISP算法,有点类似于image2image算法,只不过前面的image是raw图。
关于image2image经典算法,这里有个简单的小汇总,算法论文太多,只照了一些比较常见的:https://blog.csdn.net/qq_38109843/article/details/115231659
1.Learn to See in the Dark
论文:https://arxiv.org/pdf/1805.01934.pdf
Github:https://github.com/cchen156/Learning-to-See-in-the-Dark
解析:https://mp.weixin.qq.com/s/919VEvennHEG3iXKkMZoQQ
论文简介:
在暗光条件下,受到低信噪比和低亮度的影响,图片的质量会受到很大的影响。此外,低曝光率的照片会出现很多噪声,而长曝光时间会让照片变得模糊、不真实。目前,很多关于去噪、去模糊、图像增强等技术的研究已被相继提出,但是在一些极端条件下,这些技术的作用就很有限了。为了发展基于学习的低亮度图像处理技术,本文提出了一种在黑暗中也能快速、清晰的成像系统,效果令人非常惊讶。此外,我们引入了一个数据集,包含有原始的低曝光率、低亮度图片,同时还有对应的长曝光率图像。利用该数据集,提出了一种端到端训练模式的全卷积网络结构,用于处理低亮度图像。该网络直接使用原始传感器数据,并替代了大量的传统图像处理流程。最终,实验结果表明这种网络结构在新数据集上能够表现出出色的性能,并在未来工作中有很大前途。
(a)为传统的图像处理流程,如白平衡、去马赛克、去噪、锐化、颜色空间转换、gamma变化等,这些一般针对特定的相机,泛化性能比较差,而且不能很好地处理极度低的PSNR(峰值信噪比)。(b)是本文中提出的结构,对于Bayer arrays把输入pack成4通道,对应的分辨率变为原来的一半;对于X-Trans arrays(图中未显示),输入为6*6的block, pack成9通道(这里不太懂这个预处理有什么特殊目的)。之后减去black level再乘上期望的放大因子,得到的图像作为网络的输入,默认使用U-Net结构,网络的输出为12通道、原图一半空间分辨率的如下,再经过sub-pixel层复原到全分辨率大小,且输出为RGB空间。
放大比率决定了模型的亮度输出,放大比率设置在外部指定并作为输入提供给模型,这类似于相机中的 ISO 设置。下图显示了不同放大比率的影响。用户可以通过设置不同的放大率来调整输出图像的亮度。在测试时间,我们的方法能够抑制盲点噪声并实现颜色转换,并在sRGB 空间网络直接处理图像,得到网络的输出。
实验结果:
存在问题:
虽然本文的结构在SID数据集上有效抑制了噪声且得到了正确的色彩变换,但还是存在一些问题,如:SID数据集比较有限,不包含人像或者动态目标,不能处理HDR色调映射;实验结果存在一些伪影;提出的框架中放大因子需要在外部选择好输入;对每一种相机的传感器要单独训练一个网络,泛化能力比较差;处理图像的速度不够快,不能实现实时图像增强,这些都需要在后续的研究中继续加以改进。
2.CycleISP: Real Image Restoration via Improved Data Synthesis
论文:https://arxiv.org/pdf/2003.07761.pdf
Github:https://github.com/swz30/CycleISP
解析:https://blog.csdn.net/matrix_space/article/details/106979946
论文简介:
通常的图像去噪算法都是基于添加AWGN合成的数据集进行研究和评估;CNN网路通常在这些合成的数据集上取得了较好的效果,而在实际场景却表现一般,主要由于AWGN不足以对真正的相机噪声进行建模,真正的相机噪声是依赖于信号,并经过相机成像通道进行严格的转换,文提出了一个网络可以对相机成像通道进行前向和反向建模。
谷歌2019年论文Unprocessing Images for Learned Raw Denoising,是关于如何构造逼近真实的数据来进行降噪的,研究者们主要是模拟了 ISP 中从 RAW 图到 sRGB 的过程,然后将 ISP 的过程逆转过来,从 sRGB 到 RAW,然后再在 RAW 域上添加噪声,从而构造出符合真实场景的噪声数据。Cycle ISP直接用网络进行了端到端的模拟,不过与一般的端到端方式不同的是,这篇文章采样了一个循环的方式,从 sRGB 到 RAW 图,然后再从 RAW 图回到 sRGB, 所以这个框架称为 Cycle ISP。
RGB2RAW分支完成RGB图像到RAW图像的转换,先使用M0卷积进行特征提取,通过n个RRG网络提取深度特征,RRG网络包含P个DAB网络,DAB网路采用通道注意力机制(CA)和空间注意力机制(SA)实现抑制不重要的信息,让重要的信息通过;然后使用M1生成H×W×3的图像;最后使用Bayer sampling function生成RAW格式图像。
RAW2RGB分支完成RAW图像到RGB图像的转换,以RAW原图为输入,大小为H×W×1,将RAW图像的2×2区域映射到4通道RGGB中,大小变为H/2×W/2×4;经过M2卷积操作进行特征提取;再经过k-1个RRG模块生成特征图;引入color attention unit和颜色矫正矩阵CCM进行颜色调整,其中CCM为一个单独的网络;最后经过1个RRG模块、M5卷积和Mup上采样输出。
RGB2RAW和RAW2RGB可以联合训练,即CycleISP,一旦 CycleISP 训练好,那么 CycleISP 可以很方便地构造训练数据对,并且可以同时构造 RAW 域数据或者 RGB 数据。输入一张 RGB 图,由RGB2RAW分支,可以得到一张RAW图,然后对该RAW图添加噪声,这样可以得到RAW_clean和RAW_noisy数据对;同样,根据添加噪声的RAW图,由RAW2RGB分支,可以得到添加噪声的RGB,这样就构成了sRGB_clean和sRGB_noisy数据对。
RAW2RGB可以看做是ISP的pipeline,而上面的数据对可以用来训练去噪网络模型。
3.Replacing Mobile Camera ISP with a Single Deep Learning Model
论文:https://arxiv.org/pdf/2002.05509.pdf
Github:https://github.com/aiff22/PyNET-PyTorch
项目地址:http://people.ee.ethz.ch/~ihnatova/pynet.html
解析:https://zhuanlan.zhihu.com/p/107840206
论文简介:
作者提出一种新颖的金字塔CNN架构(PyNet)用于细粒度图像复原,它可以隐含的完成所有ISP过程(比如图像去马赛克、图像去噪、白平衡、颜色与对比度矫正、对摩尔纹等)。该模型可以直接将传感器采集的RAW数据转为到RGB空间,效果媲美高端数码相机,同时不依赖于手机ISP信息。
为验证所提方法在真实数据上的有效性,作者收集了1W全分辨率RAW-RGB图像对(采用华为P20相机采集,以及佳能5D单反)。实验表明:所提方法可以轻易达到P20的ISP处理效果。
上图给出了作者所设计的金字塔CNN架构PyNet,它包含5个尺度的特征。在训练过程中,作者采用逐级训练方式,先训练最底层,然后训练次一层级特征,直到期望分辨率输出为止,合计训练6次。
不同于其他已有方法采用特定的损失函数,该文逐级采用不同的损失函数:
Level4-5: 作者认为该部分特征主要目的在于全局颜色、亮度与对比度矫正,所以选用了MSE损失;
Level2-3: 作者认为该部分特征主要目的在于全局内容复原(颜色和形状信息),所以作者采用了感知损失(VGG)与MSE损失(4:1);
Level1: 作者认为该尺度为原始图像尺度空间,主要用于局部图像矫正(纹理增强、噪声移除、局部颜色处理等),因此采用了SSIM、感知损失以及MSE损失(0.75:1:0.05)。
实验效果:
相比其他image2image网络架构,所提架构的处理效果如何?如下图所示,作者所设计的网络结构具有更好的视觉效果。
相比P20内置ISP,所提方案成像质量如何。如下图所示,作者所提方案具有媲美内置ISP的视觉效果。
所提方案能否泛化到其他手机传感器?如下图所示,作者所设计方案可以泛化到黑莓K1手机且具有良好的视觉效果,如果在K1数据上进行训练应当可以得到更好的效果。
该文主要贡献包含以下几点:
1.一个端端到的用于解决RAW2RGB的深度学习解决方案;
2.一种新颖的金字塔CNN架构用于全局与局部图像复原任务;
3.一个包含1W数量的RAW-RGB数据集;
4.充分而完备的实验对比分析。
尽管该文取得极好的处理效果,但从实际应用来看,用深度学习替代手机ISP还是不太可行,归根结底还是手机芯片的算力约束。GPU都需要3.8s,而手机拍照需要实时或接近实时,超过1s无疑是无法满足实际应用需求的。
4.AIM 2020 Challenge on Learned Image Signal Processing Pipeline
挑战赛综述:https://arxiv.org/pdf/2011.04994.pdf
后面有些论文是这个挑战赛里面的,论文太多,不过大概思路差不多。
5.AWNet:Attentive Wavelet Network for Image ISP
论文:https://arxiv.org/pdf/2008.09228.pdf
Github:https://github.com/Charlie0215/AWNet-Attentive-Wavelet-Network-for-Image-ISP
解析:
6.
论文:
Github:https://github.com/ZZL-1998/MW-ISPNet
解析:
7.PyNet-CA: Enhanced PyNet with Channel Attention for Mobile ISP
论文:https://link.springer.com/chapter/10.1007/978-3-030-67070-2_12
Github:https://github.com/egyptdj/skyb-aim2020-public
解析:
8.Pseudo-ISP: Learning Pseudo In-camera Signal Processing Pipeline from A Color Image Denoiser
论文:https://arxiv.org/pdf/2103.10234v1.pdf
Github:https://github.com/happycaoyue/Pseudo-ISP
解析:
9.HighEr-Resolution Network for Image Demosaicing and Enhancing
论文:https://arxiv.org/pdf/1911.08098.pdf
Github:https://github.com/MKFMIKU/RAW2RGBNet
解析:
AI ISP资料整理相关推荐
- AI人工智能资料分享来袭,还不快来!
小天从大学开始,便开启资料收集功能.近几年以AlphaGo为契机,人工智能进入新的发展阶段,再加上日常的深入研究,小天收集整理了丰富的AI学习资料,内容涵盖"深度学习资料包",&q ...
- 计算机视觉笔记及资料整理(含图像分割、目标检测)
前言 1.简单聊聊: 在我脑海中我能通过这些年听到的技术名词来感受到技术的更新及趋势,这种技术发展有时候我觉得连关注的脚步都赶不上.简单回顾看看,从我能听到的技术名词来感受,最开始耳闻比较多「云计算」 ...
- 计算机视觉笔记及资料整理(含图像分割、目标检测小方向学习)
前言 1.简单聊聊: 在我脑海中我能通过这些年听到的技术名词来感受到技术的更新及趋势,这种技术发展有时候我觉得连关注的脚步都赶不上.简单回顾看看,从我能听到的技术名词来感受,最开始耳闻比较多「云计算」 ...
- 用于跑深度学习的嵌入式硬件平台资料整理(二)
博主之前已经有一篇博客有这方面的介绍,这段时间自己也熟悉了下树莓派(前面已有很多关于此的系列博客),所以这篇博客探讨的会更深入些,为后面的实战做准备. 用于跑深度学习的嵌入式硬件平台资料整理_竹叶青l ...
- 一图看懂 aiohttp 模块:基于 asyncio 的异步HTTP网络库, 资料整理+笔记(大全)
本文由 大侠(AhcaoZhu)原创,转载请声明. 链接: https://blog.csdn.net/Ahcao2008 一图看懂 aiohttp 模块:基于 asyncio 的异步HTTP网络库, ...
- 一图看懂 docx 读取、查询、修改 Ms Word docx 文件, 资料整理+笔记(大全)
本文由 大侠(AhcaoZhu)原创,转载请声明. 链接: https://blog.csdn.net/Ahcao2008 一图看懂 docx 读取.查询.修改 Ms Word docx 文件, 资料 ...
- 一图看懂 toml 模块:用于解析和创建TOML(Tom‘s Obvious, Minimal Language)的Python库, 资料整理+笔记(大全)
本文由 大侠(AhcaoZhu)原创,转载请声明. 链接: https://blog.csdn.net/Ahcao2008 @[TOC](一图看懂 toml 模块:用于解析和创建TOML(Tom's ...
- 新一代图像AI ISP技术
新一代图像AI ISP技术 2021年12月29日消息,近日,华为海思发布了新一代的越影AI ISP,这是用于物联网智能终端的新一代智能图像处理引擎,突破传统 ISP 图像处理的极限,将业界画质标杆推 ...
- epoll相关资料整理
http://www.cppblog.com/converse/archive/2008/10/13/63928.html epoll相关资料整理 学习epoll有一段时间了,最近终于有一个服务器采用 ...
最新文章
- pyhton url参数和字典互转
- numa节点_极致性能(1):以NUMA为起点
- oracle安装需要的包列表
- 一起学习C语言:初步进入编程世界(一)
- java打印条形码Code128C
- matlab分析xml文件_如何在Java中读取XML文件(DOM分析器)
- HTML5-坦克大战一画出敌人坦克并让自己的坦克可以发子弹的功能(二)
- nginx 配置php
- 解决:IDEA2017/2019与Maven3.6.3不兼容的导致的unable to import maven project: see logs for details问题
- 关于反走样技术的基本介绍与分享
- 线程 线程的创建与回收
- 51.Linux 什么是线程?
- 程序员开发指南!金三银四Android面试的一些感受,这原因我服了
- 微信小程序 之radio应用实例(选择收货地址)
- Spring5 框架
- 【Fourier变换】傅里叶变换的性质与常用变换对(附注意事项)
- 教育培训机构的信息化管理,要先从这四大业务场景做起
- oftPerfect RAM Disk 内存盘管理,提高软件速度
- 观「招商银行」隐私计算布局的思考(36氪收录)
- Direct3D 11 总结 —— 3 初始化 direct3D,并改变窗口颜色
热门文章
- 跳槽的新公司,我直接让项目的性能提升了一半
- Tello 无人机 python 编程
- Cache架构以及X86ARM @Linux平台cache eviction功能测试
- windows下清除文件批处理命令
- 大疆2018校招笔试题
- JAVA数字大写金额转换
- 优秀网页翻译:高精度 10MHz GPS 驯服钟 (GPSDO) - Part3
- java实现doc内容对比_Java平台Word格式处理控件Spire.Doc8月新功能代码演示:比较两个 Word 文档的内容...
- web前端期末大作业:个人简历
- 准确查询表空间使用情况