【文献阅读】Low Cost Edge Sensing for High Quality Demosaicking

news2024/11/27 15:46:07

[PDF] [Code]

1. 摘要

        使用彩色滤光器阵列(CFA)的数码相机需要一个去马赛克程序来形成完整的RGB图像。对于数码相机行业来说,解调速度和解调精度同样重要,因为相机用户已经习惯了即时查看拍摄的照片。此外,与去马赛克相关的成本不应超过使用CFA节省的成本。为此,我们回顾了经典的Hamilton-Adams (HA)算法,该算法在速度和准确性方面都优于许多复杂的技术。

        我们的分析表明,HA算法可以高效地利用原始捕获的数据,但其过于简化的通道间和通道内平滑阻碍了其准确性。因此,我们提出了一种非常低成本的边缘感知去马赛克方法,该方案通过方向变化之间差异的ligistic函数来指导去马赛克。

        我们通过在基准数据集上运行它们的开源代码,将我们的算法与27种去马赛克算法进行了广泛的比较。与计算成本相似的方法相比,我们的方法获得了更高的精度,而与相似精度的方法相比,我们的方法具有显著的低成本。在当前流行分辨率的测试图像上,我们的算法的质量与顶级性能相当,但我们的速度要快几十倍。

2. 引言

        一般的相机传感器都是采用彩色滤光片阵列(CFA)放置在光感测单元上,在每个像素处仅捕获三种原色成分中的一种。去马赛克方法主要关注于复原非常规区域,比如边缘以及纹理。现有的方法在如何准确检测最小变化方向的方法上大致是相同的,区别主要体现在:

        1)定义域进行有限差分; 

        2)用差分法测量方向变化;

        3)沿着局部优势方向做插值;

        4)利用信道间和信道内的相关性来提高精度;

        5)提高全插值RGB图像质量的流程。

3. 相关工作

3.1 差分域

        差分域作为变化的自然指标,可以在每个CFA采样通道或不同通道中计算一阶或二阶有限差分的大小。或者,可以在每个暂定估计的颜色通道或它们的色差平面中进行差分。最近的许多工作在残差平面上进行差分,这是CFA样本和中间插值通道之间的差异,并显示出有希望的结果。

3.2 衡量变化

      为了衡量方向变化,Hamilton-Adams(HA)方法结合了一阶和二阶差分。

        更加鲁棒的方法可以采用在局部邻域范围内累积方向性差分值或者使用不同尺度差分混合的方式。

3.3 边缘导向插值

        HA比较了水平和垂直方向的变化,并且选择更加平滑的方向来进行插值。Su使用学习到的权重来融合水平和垂直插值。Chung-Chan选择基于方向色差方差[14]的局部优势方向;在[18]中,局部优势方向是通过投票选择水平或垂直或无边假设来确定的;Wu等将无边判断的严格前提放宽为近似相等[6]。更多的方法是对北、南、西、东4个方向的估计进行加权求和,其中权重来自方向变化和空间距离。为了描述[21]中更高程度的相关性,方向的数量被扩展到8。Wu-Zhang测试了多个方向假设,并选择了所有通道中一致性最高的一个[22]。[23]和[24]中也采用了后验最大化的方法来确定边缘方向。

3.4 利用跨通道相关性

        自然图像的颜色通道通常表现出很强的相关性,即一个通道的颜色或边缘信息也隐含在其他通道中。HA假设色差平面是局部双线性的。由于这种假设在边缘处不成立,如果非线性证据呈现[12],Jaiswal等人使用通道内插值来补偿通道间插值;在[22]中,假定三个通道边缘方向一致;在[25]中,假设在中间估计步骤中,一个信道的局部区域是另一个信道的线性变换。研究了正则化以确定信道间和信道内的相关性(例如,[8],[26])。发现基于字典的稀疏表示比传统的过滤器更有效地利用了跨通道冗余[27]。通过将稀疏编码和基于补丁的自相似度统一到一个框架中,获得了最先进的去马赛克精度。Moghadam等人将压缩感知应用于多通道彩色图像的随机全色CFA去马赛克[29]。在随后的工作[30]中,压缩表示由估计的亮度指导,并证明了准确性和视觉质量的改进。

3.5 质量提升

        由于交叉通道相关的存在,许多工作通过交替迭代地重建其他通道来细化每个通道非局部正则化中值滤波等后处理技术也被广泛用于抑制杂散高频分量众所周知,非局部正则化和中值滤波本质上是一系列迭代线性滤波,对异常值具有鲁棒性,但计算量很大。为了提高效率,Wu等人提出了一种基于机器学习回归先验的后处理技术。

3.6 基于深度学习的方法

4. 提出方法

        该方法是在HA算法上的改进,进一步引入权重来保持重建过程中的边缘纹理。具体而言,我们首先恢复绿色通道,然后恢复绿红和绿蓝色差平面。对于自适应边缘感知,我们通过混合方向估计来取代HA的绿色通道选择性方向插值,使用方向变化之间差异的逻辑函数。我们将这种边缘感知策略扩展到绿红和绿蓝色差平面。这个扩展并不简单,因为拜耳CFA样本的绿色通道是红色或蓝色通道的两倍。我们的方法是推导一个逻辑函数来混合对角和反对角估计,利用拜耳模式的对角对称性。然后,绿色通道插值方案适用于计算绿红和绿蓝差平面上的其余缺失值。

        所提出的去马赛克过程具有高度并行性:尽管红色和蓝色通道必须在绿色通道估计之后进行估计,但每个步骤在一个像素上的恢复与其他像素的恢复是独立的。这一特点意味着我们的方法非常适合图形处理单元(GPU)和现场可编程门阵列(FPGA)的实现,实现高分辨率数码相机的即时图像可视化。

4.1 HA算法介绍

        ①恢复Green通道

                首先定义了水平和垂直方向的变化

                然后计算平均绿色通道的值

                最后,估计的绿色通道的值为:

        ②恢复Red和Blue通道

                首先计算色差平面,其中r和b一开始通过简单的双线性插值获得

                获得色差平面后,在估计恢复的通道像素值

4.2 EDGE-SENSING DEMOSAICKING BY LOGISTIC  FUNCTIONAL OF DIFFERENCE BETWEEN  DIRECTIONAL VARIATIONS

        ①恢复Green通道

        首先先对方向变化的测量以及相应的恢复做改进。从公式(4)开始,对公式(4)进行改写,有:

        由于噪声的存在,哪怕在一些很平坦的区域,水平和垂直方向的变化也很难相等,对判定条件进行放宽,引入了一个阈值:

         我们希望进一步获得一个更加平滑的权重因子对图像进行恢复,因此,提出使用一个logistics函数,来获得类似的权重变化趋势:

        其中,k是调节收敛性的正实数。k越小,即使是轻微的边缘梯度变化,在恢复时也会获得一个很大的权重。文中设定k=0.05

        ②恢复Red和Blue通道

        恢复时,先恢复对角线上像素,这样可以先利用到不同通道的色差信息,恢复之后,就可以再有足够信息恢复水平和垂直方向像素

       首先估计B位置上的R的像素值大小(对角)

       用于计算G-R的色差平面在对角线上的值,则有

       然后估计G位置上的R的像素值大小(水平/竖直)

       其中

     用于计算G-R的色差平面在水平或者竖直方向上的值,则有

      恢复B通道的方法是类似的。

5. 实验结果

5.1 两个数据集结果

5.2 不同去马赛克方法比较

• 与之竞争的方法在cPSNR和时间成本方面都没有比本文提出的方法更好;然而,所提出的LED在cPSNR和运行时间方面明显优于27种方法中的16种。

• OS-AP和LSLCD-NE的运行时间与所提方法相似,但其cpsnr分别降低了约2dB和1.15dB。SSD的cpsnr与所提出的方法相似(略好),但计算成本更高。SSD包括HA初始化、补丁相似度计算和中值滤波等步骤。其patch相似度计算步骤对每个像素[15]进行2109对加法和乘法运算;而对于每个2 × 2 Bayer CFA采样块中的4个像素,LED总共需要8次幂运算、32次乘法、8次往复、204次加法、32次绝对值和160位移位。

• 该LED的cPSNR低于RI、ICC、MLRI、CS、DDR、ARI、FlexISP和LDINAT,但速度明显更快。基于残差插值的方法RI、ICC、MLRI、DDR、ARI在最终恢复前生成暂定颜色通道,而基于正则化的方法CS、FlexISP和LDINAT需要迭代优化其目标函数。特别是LDINAT涉及到矩阵谱分解,计算量很大。

5.3 定性分析

5.4 和更快的算法性能比较

6. 结论

        我们提出了一种非常低成本的边缘传感策略,称为LED,用于彩色图像去马赛克。利用方向变化差的逻辑函数指导绿色通道插值和色差平面插值。在28种代码运行测试的去马赛克方法中,我们的方法是最快的方法之一。在不使用任何改进或后处理技术的情况下,LED在低分辨率图像上实现了比许多最近提出的方法更高的精度,并且与当前流行的分辨率图像的顶级性能相当。我们的大量实验表明,准确的非局部边缘检测去马赛克通常是困难和耗时的。相反,利用最近邻居的原始捕获值效率要高得多。我们的算法是高度并行的,因此它的GPU或FPGA实现可以很容易地实时恢复非常高分辨率的图像。这在数码相机行业是可取的,因为当前相机的分辨率可能非常高(例如,iphoneX罕见的相机有1200万像素)。此外,在精度优先于速度的应用场景中,该方法可以为复杂的迭代去马赛克算法提供高质量的快速初始化。

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

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

相关文章

OpenCV入门5——OpenCV的算术与位运算

文章目录 图像的加法运算图像的减法运算图像的乘除运算图像的融合OpenCV位运算-非操作OpenCV位操作-与运算OpenCV位操作-或与异或为图像添加水印 图像的加法运算 # -*- coding: utf-8 -*- import cv2 import numpy as npimg cv2.imread(E://pic//4.jpg)# 图的加法运算就是矩阵…

3ds max 2024 V-Ray 6 ACES workflow 工作流设置

ACES的流程包括2个设置: 1、环境设置;2、贴图设置: 一、环境设置:3ds max 2024已经内置了OCIO文件;设置一下即可; 二、贴图设置: 所有类型贴图加载有默认和加后缀2种方法: 第一…

提高Producer的发送速度

发送一条消息出去要经过三步,一是客户端发送请求到服务器,二是服务器处理该请求,三是服务器向客户端返回应答,一次消息的发送耗时是上述三个步骤的总和。在一些对速度要求高,但是可靠性要求不高的场景下,比…

Python装饰器的用途和实例

说明 装饰器是Python中非常有用的工具,它们可以用于修改或扩展函数或类的行为,而无需修改其原始定义。装饰器通常是一个函数,它接受一个函数作为参数,并返回一个新的函数或类。下面我们将介绍一些常见的装饰器用途和示例。 记录日…

SAP Dump:RFC callback call rejected by positive list

问题描述:配置SM59 连接时报错CALLBACK_REJECTED_BY_WHITELIST 报错简介: RFC callback call rejected by positive list 报错内容: An RFC callback has been prevented due to no corresponding positive list entry being configured. The original RFC called function m…

ceph学习笔记

ceph ceph osd lspoolsrbd ls -p testpool#查看 ceph 集群中有多少个 pool,并且每个 pool 容量及利 用情况 rados dfceph -sceph osd tree ceph dfceph versionsceph osd pool lsceph osd crush rule dumpceph auth print-key client.adminceph orch host lsceph crash lsceph…

vue2、vue3傻傻分不清楚

前端工作也做了几年了&#xff0c;好多东西还是分不清楚。特别是对于最基础的书写格式还是有点模糊不清&#xff0c;今天特地整理一下&#xff0c;以供日后查阅。 vue2 //最纯洁简单的一种创建组件的方式&#xff0c;使用基础 Vue 构造器&#xff0c;创建一个“子类”。 <…

2.认识中台

1.数字化中台初步认识与建设策略 中台的定义 阿里对中台的定义: 中台是一个基础的理念和架构&#xff0c;我们要用中台的思想建设、联通所有基础服务&#xff0c;共同支持上端的业务。业务中台更多的是支持在线业务&#xff0c;数据中台则提供基础数据处理能力和很多的数据产…

基于SDN技术构建多平面业务承载网络

随着企业数字化的浪潮席卷各个行业&#xff0c;传统网络架构面临着更为复杂和多样化的挑战。企业正在寻找一种全面适应数字化需求的网络解决方案。随着软件定义网络&#xff08;SDN&#xff09;的发展&#xff0c;“多业务SDN一张网”解决方案为企业提供了一种全新的网络架构&a…

解决requests 2.28.x版本SSL错误:证书验证失败

1、问题背景 在使用requests 2.28.1版本时&#xff0c;我进行HTTP post传输报告负载时&#xff0c;由于SSL验证设置为True&#xff0c;请求失败&#xff0c;错误如下&#xff1a;(Caused by SSLError(SSLCertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certifi…

Java进阶笔记(面向对象后, 持续更新)

常用API 游戏打包成exe 考虑的因素 要有图形化界面代码要打包起来游戏用到的图片也要打包JDK也要打包 核心步骤 把所有代码打包成一个压缩包, jar后缀的压缩包把jar包转换成exe安装包把第二部的exe, 图片, JDK整合在一起, 变成最终的exe安装包 1. Math 是一个帮助我们用…

人脸106和240点位检测解决方案

人脸识别技术已经深入到我们生活的各个领域&#xff0c;从手机解锁、门禁系统到视频娱乐化等&#xff0c;都离不开高精度的人脸关键点检测。美摄科技作为行业的领军企业&#xff0c;一直致力于提供最先进、最稳定的人脸识别技术&#xff0c;近日&#xff0c;我们推出了全新的10…

阿桂天山的小工具:我将16个Excel文件中31万多条数据拆分成318个文件

1.话不多说,先上图看效果 2.技术说明及实用源码 2.1)pythonflaskpandas , 由于我的开发环境版本问题,为了能读xls,xlsx,但又不想升级,只能通过xlrd 1.2.0读取xls,xlsx文件再转换成dict字典格式,再通过 data pd.DataFrame(dict_data)实现类型转换 2.2)实用代码,保证不丢任何一行…

深入探讨TensorFlow:张量与矩阵

在机器学习和深度学习领域中&#xff0c;TensorFlow作为一款强大且受欢迎的开源机器学习框架&#xff0c;为研究人员和开发者提供了丰富的工具和资源。在TensorFlow中&#xff0c;张量&#xff08;tensor&#xff09;和矩阵&#xff08;matrix&#xff09;是核心概念&#xff0…

【vue】下载导出excel

下载导出excel 首先使用的tdesign框架&#xff0c;要导出后端返回的数据流excel 遇见的问题 下载的文件&#xff0c;里边的内容是undefined 观察报错 一看就知道并不是后端的报错&#xff0c;后端不可能是undefined 在强烈的好奇心驱动下&#xff0c;看了下接口&#xff0…

Python实现Tom与Jerry

文章目录 写在前面系列文章绘图基础Tom&Jerry写在后面 写在前面 汤姆永远抓不到杰瑞&#xff0c;我们的故事永远不会结束&#xff01;本期博主给大家带来了Tom&Jerry&#xff0c;快来看看吧~&#xff08;Tom和Jerry可以修改成自己想修改的名字哦&#xff09; 系列文章…

解决SSH连接自动断开的问题

一、环境 centos7.6 xshell7 二、目标 ssh长联状态&#xff0c;不主动断开 三、实施 1.修改/etc/profile文件 末尾添加export TMOUT0 vim /etc/profileexport TMOUT02.修改/etc/ssh/sshd_config文件 默认都被注释掉&#xff0c;放开并设置CAI参数为0-60间 vim /etc…

轻松一刻|Walrus CLI与CI/CD工具集成,轻松部署2048游戏

Walrus 是一款开源的基于平台工程理念、以应用为中心、以完整应用系统自动化编排交付为目标进行设计开发的云原生应用平台&#xff0c;简化和自动化应用部署与发布流程并与现有的 CI/CD 流水线无缝集成。今天我们来点有趣的&#xff0c;跟随本教程&#xff0c;一起将 Walrus CL…

2023年第九届数维杯国际大学生数学建模挑战赛A题

2023年第九届数维杯国际大学生数学建模挑战赛正在火热进行&#xff0c;小云学长又在第一时间给大家带来最全最完整的思路代码解析&#xff01;&#xff01;&#xff01; A题思路解析如下&#xff1a; 完整版解题过程及代码&#xff0c;稍后继续给大家分享~ 更多题目完整解析点…

数据结构与算法【队列】的Java实现

队列&#xff1a;以顺序的方式维护的一组数据集合&#xff0c;在一端添加数据&#xff0c;从另一端移除数据。习惯来说&#xff0c;添加的一端称为尾&#xff0c;移除的一端称为头。 通用接口 public interface Queue<E> {/*** 插入队列*/boolean offer(E value);/*** 从…