IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Demosaic功能及现有算法(一) -> 正文阅读

[人工智能]Demosaic功能及现有算法(一)

? 1、介绍

????????现在CFA插值有很多种,最简单的是双线性插值算法,双线性插值算法利用像素周围点的评价值来估计像素缺失的颜色信息。虽然这种算法的计算幅杂度很低,但由于算法过于简单,这种方法会引入十分显著的杂色。为了获得更好的图像质量,许多 CFA 插值算法都尝试利用相邻像素间相互关系。

????????平滑色调算法假设在一个局部区域里,色调,即相邻的红色(或蓝色)和绿色像素的数值之比,基本保持不变。而另一种固定色差的算法则是基于相邻的红色(或蓝色)和绿色像素的数值之差为一恒定值的假设。为了改善在边缘区域的图像还原质量,人们提出了各种边缘敏感算法 。

????????这些算法将 CFA 插值分成两个步骤:首先利用各种边缘算子估算出边缘的方向,然后沿着这些方向进行插值。这样的步骤有效的避免了因为穿越边缘插值而带了的伪彩色。

????????Hamilton利用二阶差分算子作为边缘判断的校正项,有效的提高了边缘判 读的准确率。而 Li利用泰勒级数进行插值,也使得插值过程中的运算精度有了提高。虽然这些算法在大部分的边缘区域能对伪彩色的出现有一定的抑制效果,然而在一些边缘较细的区域,由于他们边缘判断算子失效,使得他们错误的把这些细边缘区域当做是平滑区域来处理,从而产生了摩尔条纹。

下面介绍一种基于边缘判断的自适应CFA插值算法:
主要分为两步:
(1) 利用提出的边缘检测算法得当前点的边缘信息
(2) 沿(1)中得到的边缘方向,利用提出的基于泰勒展开的加权自适应插值算法对当前点缺失的色彩信息进行估算。
具体的算法流程如下图所示。

2、边缘判断算法

????????边缘判断作为边缘敏感算法的第一步,它的判断准确直接决定了 CFA 插值的质量。如果边缘判断准确,插值会沿着边缘方向进行,在这个方向上形成一个局部平滑的区域,这样的插值结果会比较符合人类视觉习惯。如果边缘判断错误,插值会穿过边缘进行,由于边缘两侧像素一般变换较大,如果插值算法不能很好的纠正这种错误,这会使被插值的颜色严重偏离真实的色彩,形成伪彩色,严重影响图像的质量。

正确插值方向和错误插值方向?

????????在传统的边缘检测算法中,很多检测的错误是因为边缘检测算子只采用当前像素来进行边缘判断。这种方法在处理理想简单边缘时,可以正确的检测出边缘。但在真实世界中,边缘的状态往往不是那么理想,经常出现局部不规则的边缘,而传统边缘检测算法对这种不理想情况却无能为力。以目前效果最好的Hamilton边缘检测算法为例,考虑如下两种理想和非理想状态的边缘情况。

?

?

????????只利用当前点的边缘判断鲁棒性不够,经常因为边缘性质的非理想性而错误地进行了边缘判断。为了更准确的进行边缘判断,本文提出了一种基于局部窗口边缘信息的边缘检测算法。该算法的描述如下:
????????首先,在局部窗口(如7 × 7 窗口)中,得到每一个像素的边缘信息。边缘信息可以用简单的梯度值来表示。
????????这里,A ij 代表在 Bayer 格式窗口中位置是 ( i , j ) 的点的像素值, DH ij DV ij 分别代表该点的水平和垂直方向上的梯度值。进而,可以利用如下的判断机制和窗口中每点的水平和垂直方向的梯度信息 得到当前窗口的边缘图。
????????这里,Th 代表区分边缘和平滑区域的阈值。如果水平方向上梯度比垂直方向梯度大Th ,表明在该点存在水平边缘;如果垂直方向上梯度比水平方向梯度大 Th ,表明在该点存在垂直边缘;不然,该点在平滑区域。这里没有简单的采用比较 DH ij DV ij 的方法来判断边缘信息,就是为了防止将平滑区域错误判断成边缘。为了更多的利用采集的数据,从而得到更好的边缘准确性,本文提出的算法 采用了一种加宽的边缘模式。在水平边缘图上采用3 × 5 的窗口,而在垂直边缘图 上采用5 × 3 的窗口。如下图所示:
其中,绿色区域表示进行垂直边缘检测时,进行统计的边缘图中的点;而蓝色区域表示水平边缘检测时,进行统计的边缘图中的点。
????????两块区域中的边缘信息的和,代表当前点的边缘信息。而对当前点的插值也将沿着 H V 中较大的那一个代表的方向进行。如果 H > V ,表明在窗口中的点沿水平方向的多,则对当前点的插值也应该沿水平方向。如果 H < V ,表明在窗口中的点沿垂直方向的多,则对当前点的插值也应该沿垂直方向。如果 H = V ,表明窗口内的点大多位于平滑区域,对当前点的插值应当由四周的像素点来进行插值。

3、自适应插值算法

????????插值算法关系到当前点缺失色彩还原的准确性,从而直接影响到图像还原的质量。提出的插值算法分为三个步骤:
(1) 利用泰勒展开预估当前点在周围方向的像素值。
(2) 计算各个方向上预估值的权重大小。
(3) 利用(1)(2)中得到的预估值和权重,对当前点缺失色彩进行插值。

?

? ? ? ? CFA插值,在边缘判断时,更多的边缘信息被考虑进来,提高了边缘判断的准确性。而在插值过程中,采用了泰勒展开和加权相结合的方法。泰勒级数的展开提高了插值的精度,而加权的引入则能根据图像内容来调整插值的权重,起到了校正的作用。

摘自《图像信号处理器关键技术研究

?

?

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:38:15  更:2021-07-31 16:40:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/2 13:01:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码