2022ACMToG | 寻找快速的去马赛克算法

news2025/3/13 18:00:21

文章标题:Searching for Fast Demosaicking Algorithms

请添加图片描述

1. Abstract

本文提出了一种方法,用于在给定损失函数和训练数据的情况下,自动合成高效且高质量的去马赛克算法,涵盖各种计算开销。该方法执行多目标的离散-连续优化,同时解决程序结构和参数问题,以在目标计算开销范围内找到计算成本和图像质量之间的最佳权衡。我们设计了该方法,利用特定领域的结构提高搜索效率。我们将该方法应用于多个任务,包括对拜耳和富士X-Trans色彩滤镜图案的去马赛克,以及去马赛克和超分辨率的联合任务。在8个GPU上运行几天后,该方法生成了一系列算法,显著提高了图像质量,相对于之前的最先进方法,在每像素10到1000次操作的范围内(在相同的成本下提高1dB到3dB的质量,或在相同或更好的质量下提高8.5到200倍的吞吐量)。生成的程序结合了经典和基于深度学习的去马赛克和超分辨率算法的特征,形成了更高效的混合组合,这些组合具有带宽效率高且可向量化的特点。最后,我们的方法自动规划并编译所有生成的程序,生成针对现代处理器优化的SIMD代码。

2. Introduction

去马赛克(demosaicking)是图像处理中最普遍且性能关键的任务之一。作为整个相机成像管道的关键第一步,它可能会决定最终图像的成败:去马赛克过程中丢失的任何细节都无法恢复,而引入的任何错误细节则几乎不可能在后续处理中去除。在去马赛克过程中平衡这两个问题非常困难,因为该问题本质上是病态的(ill-posed),所以没有正确的答案。同时,去马赛克通常必须在极高的计算开销下进行:例如,4K 60 FPS 视频流需要每秒处理 0.5 千兆像素。即使我们仅使用高端移动处理器(CPU、GPU 或 DSP)中的一个核心专门用于去马赛克任务,并且 SIMD 利用率达到完美,这也仅留下时间对每个像素进行最多几百次的操作。

面对这一挑战,当前的去马赛克算法通常针对两个极端之一(图 1)。从手机到 Adobe Camera Raw 的大多数广泛部署的实现都限制在最多每像素几百次的优化计算,这些计算是手工精心设计的,用于反转特定的颜色滤波阵列 [Hirakawa 和 Parks 2006; Zhang 和 Wu 2005]。通过这种方式,它们可以提供合理的图像质量,但在具有挑战性的情况下,很难避免出现莫尔纹和错误细节等伪影。与此同时,基于深度学习和优化的方法已经出现,它们显著提高了质量,并且更容易推广到不同的颜色滤波阵列和其他问题变体,但计算开销要高 2-3 个数量级(每像素几十万到几百万次操作),这使得它们在大多数实际应用案例中难以使用 [Gharbi 等人 2016; Heide 等人 2014]。根据所选的实现,去马赛克可能占 Adobe Camera Raw ISP 运行时间的 25% 到 85%

我们开发了新的高效且基于学习的去马赛克算法,这些算法显著提高了从每像素 10 次操作到 1000 次操作的整个范围内的图像质量。除了常见的拜耳(Bayer)模式外,我们还为富士 X-Trans 模式开发了去马赛克算法,并且为拜耳模式解决了去马赛克和超分辨率的联合问题。

我们的程序是帕累托优势(Pareto-dominant)的:它们在与任何先前算法相同的计算开销下提供显著更高的质量(1 dB–3 dB),并且可以在显著降低的计算开销下(8.5–220 倍或更高)提供相当或更好的图像质量。它们旨在高效地实现流式 SIMD 实现,并且可以自动编译为现代处理器的高性能内核。

我们通过开发一种多目标的离散-连续搜索自动生成这一系列新算法,该搜索同时解决程序结构和参数问题,以在目标计算开销范围内找到计算成本和图像质量之间的最佳权衡。搜索由最近的去马赛克和超分辨率神经网络所使用的相同损失函数和训练数据驱动 [Anwar 和 Barnes 2020; Chu 等人 2021b; Dong 等人 2014; Gharbi 等人 2016; Henz 等人 2018; Shi 等人 2016; Wang 等人 2018]。然而,我们发现标准的神经网络架构搜索(NAS)技术对我们的任务来说是不够的:这些方法通常针对高度规则且极其过度参数化的模型。我们专注于低成本模型,这需要精心设计以采用域自适应架构。我们的搜索在8块GeForce Titan Xp GPU上运行了4到5天之后产生了sota结果,成本开销等同于训练一个单独的神经网络至收敛。生成的程序将经典和基于深度学习的去马赛克和超分辨率算法的特征组合成更高效的混合组合,将构建块组合成具有带宽效率高且高度可向量化特点的算法。最后,我们的方法自动安排并编译搜索产生的任何程序,生成针对现代处理器优化的 SIMD 代码。

我们相信我们的方法为自动优化图像处理管道以实现性能和质量奠定了基础,结合了经典算法和深度学习的优势,产生了比现有算法更好且更高效的算法。例如,除了去马赛克问题的三个变体外,我们还展示了我们的搜索方法还可以为高性能超分辨率任务产生帕累托优势程序。

总之,本文的贡献包括:

  • 新的、最先进的拜耳和 X-Trans 去马赛克、联合去马赛克与超分辨率以及独立超分辨率算法,在最具商业相关的计算开销范围内显著优于先前的工作。
  • 一种自动生成这些算法的方法,涵盖广泛的计算开销范围。
  • 本文展示了一个事实,即,低成本开销下,在图像处理任务上的进行可微程序搜索的同时,添加领域特定的原语和搜索结构可以显著改善结果性能。
  • 本文定义了一个搜索空间,在该空间下,本文生成了SIMD和局部友好型算法,以及一个采用这种架构自动生成高度优化的流水线实现的编译器。

3. Related Work

本文的方法结合了遗传程序搜索和可微分程序的梯度优化,应用了机器学习和经典算法的见解,以自动搜索覆盖质量(好不好?)和性能(快不快?)权衡空间的高效去马赛克程序。

3.1 Image Demosaicking

从颜色滤波阵列中重建全彩图像是一个研究广泛但本质上病态的问题,其解决方案必须在质量和效率之间进行权衡 [Li et al. 2008]。去马赛克错误通常发生在边缘,产生虚假的“拉链”图案或“迷宫”伪影,但也可能影响大面积空间区域,导致颜色渗漏、虚假颜色莫尔纹或过度平滑。
经典算法的两个关键设计元素是:使用边缘自适应的方向滤波器以避免在边缘处平滑 [Hamilton Jr and Adams Jr 1997; Hibbard 1995],以及利用跨通道相关性来指导缺失的红色和蓝色值的插值,使用更密集采样的绿色通道的估计值。例如,平滑色调先验 [Cok 1987] 预测颜色差异或比率的平滑变化。许多提出的方法改进了边缘和颜色相关性检测,有时还联合解决去噪问题 [Alleysson et al. 2005; Buades et al. 2009; Dubois 2005; Duran and Buades 2014; Hirakawa and Parks 2005, 2006; Kiku et al. 2013; Menon and Calvagno 2009; Niu et al. 2018; Zhang et al. 2009, 2011]。
另一类算法将去马赛克视为一个逆问题,并通过优化求解全彩图像 [Chang et al. 2015; Condat and Mosaddegh 2012; Getreuer 2011; Heide et al. 2014; Kokkinos and Lefkimmiatis 2018; Tan et al. 2017a]。尽管这些方法能够实现高质量的去马赛克,但优化的高计算成本限制了它们的应用。
数据驱动技术使用真实图像优化去马赛克算法的参数 [Go et al. 2000; Kapah and Hel-Or 2000; Khashabi et al. 2014; Kwan and Wu 2004; Li et al. 2018]。最近的方法使用卷积神经网络 [Gharbi et al. 2016; Henz et al. 2018; Klatzer et al. 2016; Kokkinos and Lefkimmiatis 2018, 2019; Liu et al. 2020; Ratnasingam 2019; Tan et al. 2018, 2017b]。深度学习方法实现了最先进的质量,但仍然计算成本高昂。

3.2 Super-resolution

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2293981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

渗透测试之文件包含漏洞 超详细的文件包含漏洞文章

目录 说明 通常分为两种类型: 本地文件包含 典型的攻击方式1: 影响: 典型的攻击方式2: 包含路径解释: 日志包含漏洞: 操作原理 包含漏洞读取文件 文件包含漏洞远程代码执行漏洞: 远程文件包含…

机器学习8-卷积和卷积核1

机器学习8-卷积和卷积核1 卷积与图像去噪卷积的定义与性质定义性质卷积的原理卷积步骤卷积的示例与应用卷积的优缺点优点缺点 总结 高斯卷积核卷积核尺寸的设置依据任务类型考虑数据特性实验与调优 高斯函数标准差的设置依据平滑需求结合卷积核尺寸实际应用场景 总结 图像噪声与…

Android --- handler详解

handler 理解 handler 是一套Android 消息传递机制,主要用于线程间通信。 tips: binder/socket 用于进程间通信。 参考: Android 进程间通信-CSDN博客 handler 就是主线程在起了一个子线程,子线程运行并生成message ,l…

DeepSeek:全栈开发者视角下的AI革命者

目录​​​​​​​ DeepSeek:全栈开发者视角下的AI革命者 写在前面 一、DeepSeek的诞生与定位 二、DeepSeek技术架构的颠覆性突破 1、解构算力霸权:从MoE架构到内存革命 2、多模态扩展的技术纵深 3、算法范式的升维重构 4、重构AI竞争规则 三、…

Page Assist - 本地Deepseek模型 Web UI 的安装和使用

Page Assist Page Assist是一个开源的Chrome扩展程序,为本地AI模型提供一个直观的交互界面。通过它可以在任何网页上打开侧边栏或Web UI,与自己的AI模型进行对话,获取智能辅助。这种设计不仅方便了用户随时调用AI的能力,还保护了…

Spring Boot篇

为什么要用Spring Boot Spring Boot 优点非常多,如: 独立运行 Spring Boot 而且内嵌了各种 servlet 容器,Tomcat、Jetty 等,现在不再需要打成 war 包部署到 容器 中,Spring Boot 只要打成一个可执行的 jar 包就能独…

基于SpringBoot的在线远程考试系统的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

python实现多路视频,多窗口播放功能

系列Python开发 文章目录 系列Python开发前言一、python实现多路视频播放功能二、代码实现1. http申请视频流地址并cv2播放功能 三、打包代码实现生成可执行文件 总结 前言 一、python实现多路视频播放功能 服务端开发后通常需要做功能测试、性能测试,通常postman、…

Java设计模式:行为型模式→责任链模式

Java 责任链模式详解 1. 定义 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它使多个对象都有机会处理请求,而不是由一个对象去处理这个请求。这种模式以链表的形式将多个处理对象串联起来,并通…

2025年02月05日Github流行趋势

项目名称:OCRmyPDF 项目地址url:https://github.com/ocrmypdf/OCRmyPDF项目语言:Python历史star数:15872今日star数:157项目维护者:jbarlow83, fritz-hh, apps/dependabot, mawi12345, mara004项目简介&…

关于大数据

在大数据背景下存在的问题: 非结构化、半结构化数据:NoSQL数据库只负责存储;程序处理时涉及到数据移动,速度慢 是否存在一套整体解决方案? 可以存储并处理海量结构化、半结构化、非结构化数据 处理海量数据的速…

离散浣熊优化算法(DCOA)求解大规模旅行商问题(Large-Scale Traveling Salesman Problem,LTSP),MATLAB代码

大规模旅行商问题(Large-Scale Traveling Salesman Problem,LTSP)是经典旅行商问题(TSP)在规模上的扩展,是一个具有重要理论和实际意义的组合优化问题: 一、问题定义 给定一组城市和它们之间的…

Page Assist实现deepseek离线部署的在线搜索功能

前面文章Mac 基于Ollama 本地部署DeepSeek离线模型 实现了deepseek的离线部署,但是部署完成虽然可以进行问答和交互,也有thinking过程,但是没办法像官方一样进行联网搜索。今天我们介绍一款浏览器插件Page Assist来实现联网搜索,完…

win10系统安装和部署DeepSeek以及python实现

DeepSeek之python实现API应用 1、下载和安装 https://github.com/ollama/ollama/releases/latest/download/OllamaSetup.exe 傻瓜式安装 2、测试安装成功 ollama -v3、拉取模型 选择模型版本:1.5B 版本适合配置一般、想尝鲜、轻度使用的用户;8B 版本适合 16GB 内存以上…

C++六大默认成员函数

C六大默认成员函数 默认构造函数默认析构函数RAII技术RAII的核心思想优点示例应用场景 默认拷贝构造深拷贝和浅拷贝 默认拷贝赋值运算符移动构造函数(C11起)默认移动赋值运算符(C11起)取地址及const取地址操作符重载取地址操作符重…

3D图形学与可视化大屏:什么是片段着色器,有什么作用。

一、片段着色器的概念 在 3D 图形学中,片段着色器(Fragment Shader)是一种在图形渲染管线中负责处理片段(像素)的程序。它的主要任务是确定每个像素的颜色和其他属性,如透明度、深度等。片段着色器是可编程…

人类心智逆向工程:AGI的认知科学基础

文章目录 引言:为何需要逆向工程人类心智?一、逆向工程的定义与目标1.1 什么是逆向工程?1.2 AGI逆向工程的核心目标二、认知科学的四大支柱与AGI2.1 神经科学:大脑的硬件解剖2.2 心理学:心智的行为建模2.3 语言学:符号与意义的桥梁2.4 哲学:意识与自我模型的争议三、逆向…

低代码系统-产品架构案例介绍、蓝凌(十三)

蓝凌低代码系统,依旧是从下到上,从左至右的顺序。 技术平台h/iPaas 指低层使用了哪些技术,例如:微服务架构,MySql数据库。个人认为,如果是市场的主流,就没必要赘述了。 新一代门户 门户设计器&a…

Autosar-以太网是怎么运行的?(Davinci配置部分)

写在前面: 入行一段时间了,基于个人理解整理一些东西,如有错误,欢迎各位大佬评论区指正!!! 目录 1.Autosar ETH通讯软件架构 2.Ethernet MCAL配置 2.1配置对应Pin属性 2.2配置TXD引脚 2.3配…

洛谷网站: P3029 [USACO11NOV] Cow Lineup S 题解

题目传送门: P3029 [USACO11NOV] Cow Lineup S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 前言: 这道题的核心问题是在一条直线上分布着不同品种的牛,要找出一个连续区间,使得这个区间内包含所有不同品种的牛,…