备案中网站名称,做微信平台网站,中国建设银行个人登录,企业网站托管排版设计一、概述
由Li等提出的新的边缘指导插值(New Edge—Di-ected Interpolation#xff0c;NEDI)算法是一种具有良好边缘保持效果的新算法#xff0c;它利用低分辨率图像与高分辨率图像的局部协方差问的几何对偶性来对高分辨率图像进行自适应插值。
2001年Xin Li和M.T. Orchard…一、概述
由Li等提出的新的边缘指导插值(New Edge—Di-ected InterpolationNEDI)算法是一种具有良好边缘保持效果的新算法它利用低分辨率图像与高分辨率图像的局部协方差问的几何对偶性来对高分辨率图像进行自适应插值。
2001年Xin Li和M.T. Orchard提出了一种针对自然图像的边缘定向插值算法New edge-directed interpolation。其基本思想是首先根据低分辨率图像估计局部协方差系数然后根据低分辨率协方差和高分辨率协方差之间的几何对偶性使用这些协方差估计来以更高分辨率调整内插。仿真结果表明这种新插值算法大大提高了插值图像的质量。2006年Lei Zhang和Xiaolin Wu通过定向滤波和数据融合提出了一种新的边缘引导非线性插值技术。 对于要内插的像素在两个正交方向上定义两个观察组并且每个组产生像素值的估计。 通过线性最小均方误差估计LMMSE技术将这些方向的估计值融合为更稳健的估计值并使用两个观测集的统计量。 他们还提出了基于LMMSE的插值算法的简化版本以降低计算成本而不牺牲很多插值性能。
NEDI算法与传统线性插值算法相比避免了由于跨越边缘插值而引入的边缘细节退化现象显著提高了图像的视觉质量但是由于迭代过程可能出现的错误会导致放大图像边缘噪声仍然比较明显而且算法具有较高的复杂度不适合硬件实现和图像实时处理。
二、算法思想
NEDI算法的基本思想是先计算低分辨率图像各像素点的局部协方差系数再利用低分辨率与高分辨率协方差间的几何对偶性来计算高分辨率图像中需要插入的像素点的值。
三、算法原理
设放大倍率为2低分辨率图像X的矩阵大小为H×W相应的高分辨率图像Y矩阵大小为2H×2W则 Y 2 i , 2 j X i , j Y_{2i,2j}X_{i,j} Y2i,2jXi,j。
插值限制在4个方向即该点在高分辨率栅格中对角线方向最近的4个像素点如下图所示求黑点 Y 2 i 1 , 2 j 1 Y_{2i1,2j1} Y2i1,2j1则有 Y ^ 2 i 1 , 2 j 1 ∑ k 0 1 ∑ l 0 1 α 2 k l Y 2 ( i k ) , 2 ( j l ) \hat Y_{2i1,2j1} \sum_{k0}^{1} \sum_{l0}^{1} \alpha_{2kl}Y_{2(ik),2(jl)} Y^2i1,2j1k0∑1l0∑1α2klY2(ik),2(jl)
其中放大倍数不同k、l数值不同步进数值为1/放大倍数。
因为 Y 2 i , 2 j X i , j Y_{2i,2j}X_{i,j} Y2i,2jXi,j所以可以通过上公式插值出 Y 2 i 1 , 2 j 1 Y_{2i1,2j1} Y2i1,2j1
现在得到4个对角线的最近像素假设四个邻像素为一个局部平稳的高斯过程 由经典 Wiener滤波理论可知最优的 MMSE(Minimum MeansSquare Error)线性插值系数计算公式如下 α R − 1 r \alphaR^{-1}r αR−1r
其中r表示在高分辨率图像中的局部协方差 R [ R k l ] ( 0 k , l 3 ) r [ R k ] ( 0 k 3 ) R[R_{kl}](0k,l3)\\ r[R_{k}](0k3) R[Rkl](0k,l3)r[Rk](0k3)
高分辨率图像中的 R k l R_{kl} Rkl r k r_k rk和低分辨率的 R ^ k l \hat R_{kl} R^kl r ^ k \hat r_k r^k具有几何上的对偶性。即 R k l R_{kl} Rkl, R ^ k l \hat R_{kl} R^kl在不同的分辨率以相同的方向分别链接一对像素可以用后者估计前者。
低分辨率上协方差系数可采用标准方法在一个局部模板(大小为 MXM)中计算得到 R ^ 1 M 2 C C T r ^ 1 M 2 C y \hat R\frac{1}{M^2}CC^T \\ \hat r\frac{1}{M^2}Cy R^M21CCTr^M21Cy
其中 y [ y 1 , . . . y M 2 ] y[y_1,...y_{M^2}] y[y1,...yM2]是一个包含MxM个点像素的数值向量这些像素包含在一个局部模板内数值矩阵C大小 4 M 2 4M^2 4M2第k列向量为 y k y_k yk对角线方向的最近邻4点像素值得到 α ( C C T ) − 1 ( C y ) \alpha(CC^T)^{-1}(Cy) α(CCT)−1(Cy)
于是计算每一个坐标(2i1)(2j1)的像素 Y 2 i 1 , 2 j 1 Y_{2i1,2j1} Y2i1,2j1的最优插值权重 α \alpha α。
于是 Y i , j ( m o d ( i j , 2 ) 0 ) Y_{i,j}(mod(ij,2)0) Yi,j(mod(ij,2)0)的估算公式如下 Y ^ 2 i 1 , 2 j 1 α 0 Y 2 i , 2 j α 1 Y 2 i 1 , 2 j α 2 Y 2 i 2 , 2 j 2 α 3 Y 2 i , 2 j 2 \hat Y_{2i1,2j1} \alpha_{0}Y_{2i,2j}\alpha_{1}Y_{2i1,2j}\alpha_{2}Y_{2i2,2j2}\alpha_{3}Y_{2i,2j2} Y^2i1,2j1α0Y2i,2jα1Y2i1,2jα2Y2i2,2j2α3Y2i,2j2
于是 Y i , j ( m o d ( i j , 2 ) 1 ) Y_{i,j}(mod(ij,2)1) Yi,j(mod(ij,2)1)可以用 Y i , j ( m o d ( i j , 2 ) 1 ) Y_{i,j}(mod(ij,2)1) Yi,j(mod(ij,2)1)估计公式如下 Y ^ 2 i 1 , 2 j α 0 Y 2 i , 2 j α 1 Y 2 i 1 , 2 j − 1 α 2 Y 2 i 2 , 2 j 2 α 3 Y 2 i , 2 j 2 \hat Y_{2i1,2j} \alpha_{0}Y_{2i,2j}\alpha_{1}Y_{2i1,2j-1}\alpha_{2}Y_{2i2,2j2}\alpha_{3}Y_{2i,2j2} Y^2i1,2jα0Y2i,2jα1Y2i1,2j−1α2Y2i2,2j2α3Y2i,2j2
上述的 Y i , j ( m o d ( i j , 2 ) 1 ) Y_{i,j}(mod(ij,2)1) Yi,j(mod(ij,2)1)和 Y i , j ( m o d ( i j , 2 ) 0 ) Y_{i,j}(mod(ij,2)0) Yi,j(mod(ij,2)0)计算相似二者只相
差一个伸缩系数 2 1 / 2 2^{1/2} 21/2和旋转系数 π / 4 \pi/4 π/4所以只需少量改动就可以。
以上是算法原理推导大概理解一下就行主要看算法步骤。
四、算法步骤
使用经典NEDI算法将图像放大两倍需要两个步骤
第l步插出原始四个像素的中心点2i1.2j1如下图所示。 第2步原始像素和第一步的插值像素的基础上再插出水平(和垂直方向上的像素2i1,2j)、(2i,2j1)、(2i1,2j2)、(2i2,2j1)如下图所示。 而当图像被放大4倍时还要重复同样的过程由于这一次所使用的像素数日是之前所需的4倍所以计算量将成指数增长。另外由于引入迭代运算如果某一个环节中产生了误差这个误差将会传递到下一次插值从而导致图像的插值错误。
优点
根据统计信息进行插值细节保持较好
缺点
算法复杂计算量大运算速度较慢 觉得本文对您有一点帮助欢迎讨论、点赞、收藏您的支持激励我多多创作。
我的个人博客主页欢迎访问
我的CSDN主页欢迎访问
我的GitHub主页欢迎访问
我的知乎主页欢迎访问