Print

发布时间: 2018-05-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.170369
2018 | Volume 23 | Number 5




    GDC 2017会议专栏    




  <<上一篇 




  下一篇>> 





梯度优化的有理函数图像插值
expand article info 杜宏伟1,2, 张云峰1,2, 包芳勋3, 王平1,2, 张彩明1,2
1. 山东财经大学大学计算机科学与技术学院, 济南 250014;
2. 山东省数字媒体技术重点实验室, 济南 250014;
3. 山东大学数学学院, 济南 250100

摘要

目的 对图像纹理区域的细节保持一直以来是图像插值技术的一个难题,为此提出了一种梯度优化的有理函数图像插值算法。方法 首先,构造了一种新的含有可调参数的双变量有理插值函数,随着参数的不同取值,该函数具有不同的表达形式,它是多项式模型和有理模型的有机统一体;其次,根据图像的区域特征,利用等值线方法将图像自适应地划分为纹理区域和平滑区域,纹理区域采用有理模型插值,平滑区域采用多项式模型插值;最后,根据各向同性Sobel算子计算插值单元的图像梯度,确定纹理方向,不同纹理方向的插值单元用相应的权重对中心点进行优化。结果 从客观数据、主观效果、时间复杂度3个方面对重建图像进行评价,客观数据包括峰值信噪比(PSNR)和结构相似性(SSIM),从实验结果可以看出,本文算法的PSNR平均提高了0.14~1.50 dB,SSIM平均提高了0.005~0.097。从主观效果来看,本文算法的重建图像的纹理细节更加丰富,边缘结构更加清晰,从时间复杂度来看,本文算法的平均运行时间是3.77 s,分别比DFDF(directional filtering and data fusion)、NEDI(new edge-directed interpolation)、RSAI(robust soft-decision adaptive interpolation)、Lee's、NARM(nonlocal autoregressive model)算法快了3.28倍、5.26倍、53.28倍、43.53倍、418.54倍。特别地,对于Baboon、Barbara、Metal这类纹理细节丰富的图像,本文算法在峰值信噪比和结构相似性上较对比算法有突出优势,主观效果有明显提高。结论 基于构造的双变量有理插值模型,本文提出了一个梯度优化的有理函数图像插值算法,实验结果表明,该算法在图像纹理细节和边缘结构保持方面具有良好的视觉效果,有效提高了插值图像质量,且时间复杂度较低。

关键词

图像插值; 有理函数; 梯度优化; 区域划分; 等值线方法

Rational function interpolation algorithm based on gradient optimization
expand article info Du Hongwei1,2, Zhang Yunfeng1,2, Bao Fangxun3, Wang Ping1,2, Zhang Caiming1,2
1. School of Computer Science and Technology, Shandong University of Finance and Economics, Jinan 250014, China;
2. Shandong Provincial Key Laboratory of Digital Media Technology, Jinan 250014, China;
3. School of Mathematics, Shandong University, Jinan 250100, China
Supported by: National Natural Science Foundation of China(61373080, 61332015, 61672018, 61402261, U1609218)

Abstract

Objective Image interpolation has become an active area of research in image processing, which can be easily extended to diverse applications ranging from medical imaging, remote sensing, aviation, animation production, and multimedia entertainment industries. A large number of image interpolation methods have been proposed by researchers. Generally, the interpolation methods can be divided into discrete and continuous methods. The adaptive interpolation methods based on discrete ideas can preserve the image structure of the edge. However, its performance in maintaining image details is less than satisfactory. The image cannot be amplified at any multiple by using discrete methods. And such methods are considerably time consuming. The interpolation methods based on continuous ideas can obtain rich image detail information but cannot maintain the image edge structure well. A new method of rational function image interpolation based on gradient optimization that has the advantages of the discrete and continuous methods is proposed. Method First, a novel bivariate rational interpolation function is constructed. With varying shape parameters, the function has different forms of expression, i.e., an organic unity of polynomial and rational models. The constructed ${{\rm{C}}^2}$ continuous rational function interpolation model has the advantages of the continuous method, in which the appearance of the jagged edge is reduced to some extent and becomes smooth. Second, according to the regional characteristics, the image is divided into the texture and smooth regions automatically using the isoline method. If the interpolation unit has at least an isoline, then the unit belongs to the texture region. If the interpolation unit does not have isolines, then the unit belongs to the smooth region. The smooth region is interpolated by the polynomial model, and the texture region is interpolated by the rational model. Finally, according to the isotropic Sobel operator, the image gradient of the interpolation unit is calculated and the direction of the texture region is determined. According to the image gradient and texture direction, the weight of the influencing factor of every interpolation unit is obtained. Then, the center of the image patch with different directions is optimized by convoluting with the weight matrix. Result A rational function image interpolation algorithm based on gradient optimization is proposed. The proposed algorithm is tested in three different aspects, namely, objective data, visual effect, and time complexity. Compared with the state-of-the-art interpolation algorithms, the average peak signal-to-noise ratio of the proposed method is 1.5, 0.36, 0.14, 0.28, 1.11, and 0.95 dB higher than that of the bicubic, RSAI, DFDF, NARM, NEDI, and Lee's algorithms, respectively. The average structural similarity of the proposed method is 0.0968, 0.007 2, 0.007 6, 0.005 2, 0.014 1, and 0.023 7 higher than that of the bicubic, RSAI, DFDF, NARM, NEDI, and Lee's algorithms, respectively. The image reconstructed by the proposed method has richer texture detail and sharper edge structure than that by the bicubic, RSAI, DFDF, NARM, NEDI, and Lee's algorithms. The average runtime of the proposed method is 7 s, which is 3.28, 5.26, 53.28, 43.53, and 418.54 times faster than that of DFDF, NEDI, RSAI, Lee's, and NARM algorithms. For texture images such as Baboon, Barbara, and Metal, the proposed method is highly competitive not only in objective data but also in visual effect. Conclusion We construct a bivariate rational interpolation function in this study. On the basis of this model, an image interpolation algorithm based on gradient optimization is presented, which is not only able to scale the reconstructed image indefinitely but also has a low time complexity. Experimental results show that the proposed algorithm preserves the image details and structures of the edge effectively and generates a high-quality interpolation image.

Key words

image interpolation; rational function; gradient optimization; regional division; isoline method

0 引言

图像插值是指利用低分辨率(LR)图像来获得高分辨率(HR)图像的一种图像处理技术。在航空、医学、通讯、遥感、动画制作以及电影合成等诸多领域有广泛应用。传统的插值算法如最近邻插值、双线性插值、双三次插值等[1-3],因结构简单、易于实现,被广泛应用。但是随着对重建后图像质量的要求越来越高,传统插值算法的缺陷日益凸显,例如重建后图像产生锯齿现象和失真现象等。

为了解决传统插值方法重建图像的模糊和锯齿问题,学者们做了更深入的研究。从插值的角度来看,插值算法大致可分为离散方法和连续方法两类。离散方法是利用已知像素点灰度值通过变换得到插值点的像素值。文献[4]使用先验的边缘模型优化插值算子的参数,在原始图像的基础上对其边缘信息进行插值计算得到高质量插值图像。基于边缘指导的插值方法(NEDI)[5]先从低分辨率图像估计局部协方差系数,然后在高分辨率图像中基于低分辨率和高分辨率协方差的几何对偶性,利用估计出的协方差去做适应性插值,较好地保持了图像边缘结构。但由于插值窗口是固定的,不能自适应地调整,导致图像纹理细节部分出现扭曲、变形现象。基于多方向滤波和数据融合的图像插值方法(DFDF)[6],对于每一个待插像素点,将其邻域划分为2个观测子集,并从正交的2个方向估计缺失的像素,有效地保留图像边缘锐度,并减少振铃伪影。文献[7]研究了一类一次估算一组像素的软决策插值技术(SAI),用2-D分段自回归模型来学习和适应不同的场景结构,在输入的低分辨率图像中的移动窗口估计模型参数,由学习模型指导的像素结构通过软决策估计过程强加到像素块上。这种算法保持插值图像的空间相关性,在广泛场景中取得了较好的主客观效果。在SAI算法的基础上,RSAI (robust soft-decision adaptive interpolation)[8]算法使用加权最小二乘估计来提高SAI算法的鲁棒性。文献[9]提出了一种实时边缘指导的图像插值方法,通过计算输入图像的一阶和二阶导数来测量图像边缘的几何形状,然后使用泰勒级数逼近,沿4个方向估计内插像素值。该算法能有效避免图像出现模糊、振铃现象,获得优于传统方法的插值图像。大部分自适应插值方法都是基于离散的思想来插值,不能够放大任意倍数,且图像的纹理细节保持方面效果不理想,易出现一些内插伪像(模糊,振铃,锯齿等)。与字典学习相结合,Dong等人[10]将非局部自回归模型(NARM)嵌入稀疏表示模型提出了一种新的图像插值算法,降低了采样矩阵和稀疏表示字典之间的相关性,有效提高插值图像的视觉效果,但时间复杂度较高。

与离散的插值方法相比,连续方法把离散图像采样数据还原为连续的灰度曲面,可以实现对重采样图像任意倍数的放大。由于图像具有非线性属性,有理函数又是一种典型的非线性模型,因此,基于有理函数的图像插值算法引起人们的关注。文献[11-15]以有理函数插值为基础,研究了图像的放大和增强,取得了明显的效果。Liu[16]提出了一种混合加权有理函数图像插值模型,权重系数由采样点的边缘信息进行确定,有效保持了图像的边缘结构。文献[17]提出了一种用具有紧支集的多结点样条基函数来对图像进行插值的技术,将1维的多结点样条插值算法推广到2维用于图像插值,分析了多结点样条插值方法的逼近精度、正则性、插值核函数的频域特性,得到优于传统三次卷积插值的方法。但是,有理函数插值模型在边缘结构保持方面不够理想。

本文提出了一种基于梯度优化的有理函数插值算法。首先,构造了一类双变量有理插值函数,该函数随着参数的不同取值具有不同的表达形式,它是多项式模型和有理模型的有机统一体;然后,利用等值线方法,将图像自适应地划分为平滑区域和纹理区域,平滑区域采用多项式模型插值,纹理区域采用有理模型插值;最后,根据各向同性Sobel算子模板计算插值单元的图像梯度,确定纹理方向,不同纹理方向的插值单元用相应的权重对中心点进行优化。本文算法在连续方法的基础上,运用离散的方法进行优化,既可以较好地保持图像的纹理细节,又能有效地避免边界出现失真和锯齿现象,还具有较低的时间复杂度。

1 双变量有理插值函数

前期的研究工作[11-15]中构造了${{\rm{C}}^1}$连续的模型。基于前期的工作,本文构造了一类新的${{\rm{C}}^2}$连续双变量有理插值模型,相对于${{\rm{C}}^1}$模型而言,该模型生成的曲面更加光滑,插值后图像可以有效减少人工痕迹。下面是该模型的构造过程及插值原理:

$\varpi :\left[{a, b;c, d} \right]$为平面区域,$\{ ({x_i}, {y_j}, {f_{i, j}}), $ $i = 1, 2, \cdots, n;j = 1, 2, \cdots, m\} $为给定的数据集,其中$a = {x_1} < {x_2} < \cdots {x_n} = b$, $c = {y_1} < {y_2} < \cdots {y_m} = d$为节点空间。$f\left( {{x_i}, {y_j}} \right)$表示点$\left( {{x_i}, {y_j}} \right)$处的函数值,记为${f_{i, j}}$${d_{i, j}}$${e_{i, j}}$分别表示在点$\left( {{x_i}, {y_j}} \right)$偏导数$ \frac{{\partial f\left( {x, y} \right)}}{{\partial x}}$$\frac{{\partial f\left( {x, y} \right)}}{{\partial y}}$。令${h_i} = {x_{i + 1}} - {x_i}$${l_j} = {y_{j + 1}} - {y_j}$,对$xy$平面上任意点$\left( {x, y} \right) \in [{x_i}, {x_{i + 1}};{y_j}, {y_{j + 1}}]$,令$\theta = \frac{{x - {x_i}}}{{{h_i}}}$$\eta = \frac{{y - {y_j}}}{{{l_j}}}$。记$\Delta _{i, j}^{\left( x \right)} = \frac{{{f_{i + 1, j}} - {f_{i, j}}}}{{{h_i}}}$$\Delta _{i, j}^{\left( y \right)} = \frac{{{f_{i, j + 1}} - {f_{i, j}}}}{{{l_j}}}$

首先,对每一个$y = {y_j}$; $ j = 1, 2, \cdots, m$,构造$x$方向的插值曲线为

$P_{i,j}^*\left( x \right) = \frac{{p_{i,j}^*\left( x \right)}}{{q_{i,j}^*\left( x \right)}};i = 1,2, \cdots ,n - 1$ (1)

$\left\{ {\begin{array}{*{20}{c}} \begin{array}{l} p_{i,j}^*\left( x \right) = {\left( {1 - \theta } \right)^3}{f_{i,j}} + \theta {\left( {1 - \theta } \right)^2}V_{i,j}^*\left( x \right) + \\ {\theta ^2}\left( {1 - \theta } \right)W_{i,j}^*\left( x \right) + {\theta ^3}{f_{i + 1,j}}\\ q_{i,j}^*\left( x \right) = {\left( {1 - \theta } \right)^2} + \theta \left( {1 - \theta } \right){\alpha _{i,j}} + {\theta ^2}\\ V_{i,j}^* = \left( {{\alpha _{i,j}} + 1} \right){f_{i,j}} + {h_i}{d_{i,j}} + \\ \theta \left( {1 - \left( {1 - \theta } \right){\alpha _{i,j}}} \right)\left( {{f_{i + 1,j}} - {f_{i,j}} - {h_i}{d_{i,j}}} \right)\\ W_{i,j}^* = \left( {{\alpha _{i,j}} + 1} \right){f_{i + 1,j}} - {h_i}{d_{i,j}} - \\ \left( {1 - \theta } \right)\left( {1 - \theta {\alpha _{i,j}}} \right)\left( {{f_{i + 1,j}} - {f_{i,j}} - {h_i}{d_{i + 1,1}}} \right) \end{array}&{;{\alpha _{i,j}} > 0} \end{array}} \right.$

$P_{i, j}^ * \left( x \right)$满足$P_{i, j}^ * \left( x \right)$=${f_{i, j}}$$P_{i, j}^ * \left( {{x_{i+1}}} \right) = {f_{i + 1, j}}$$P{{_{i,j}^{*}}^{\prime }}\left( {{x}_{i}} \right)={{d}_{i,j}}$$P{{_{i,j}^{*}}^{\prime }}\left( {{x}_{i+1}} \right)={{d}_{i+1,j}}$。当

${d_{i,j}} = \frac{{{h_{i - 1}}\Delta _{i,j}^{\left( x \right)} + {h_i}\Delta _{i - 1,j}^{\left( x \right)}}}{{{h_{i - 1}} + {h_i}}};\;i = 2,3, \cdots ,n - 1$ (2)

则式(1)定义的插值函数在区间 $\left[ {a,b} \right]$${{\rm{C}}^2}$连续,满足

$\begin{array}{l} P''\left( {{x_i}} \right) = \frac{2}{{{h_{i - 1}} + {h_i}}}\left( {\Delta _{i,j}^{\left( x \right)} - \Delta _{i - 1,j}^{\left( x \right)}} \right)\\ \;\;\;\;\;\;\;\;\;\;\;i = 2,3, \cdots ,n - 1 \end{array}$ (3)

在节点${x_1}$${x_n}$处,偏导数定义为

$\left\{ \begin{array}{l} {d_{1,j}} = \Delta _{1,j}^{\left( x \right)} - \frac{{{h_1}}}{{{h_1} + {h_2}}}\left( {\Delta _{2,j}^{\left( x \right)} - \Delta _{1,j}^{\left( x \right)}} \right)\\ {d_{n,j}} = \Delta _{n - 1,j}^{\left( x \right)} - \frac{{{h_{n - 1}}}}{{{h_{n - 1}} + {h_{n - 2}}}}\left( {\Delta _{n - 1,j}^{\left( x \right)} - \Delta _{n - 2,j}^{\left( x \right)}} \right) \end{array} \right.$ (4)

对每一个点对$\left( {i, j} \right)$; $i = 1, 2, \cdots, n - 1$$j = 1, 2, \cdots, m - 1$,使用$x$方向的插值函数$P_{x, y}^ * \left( x \right)$来定义$\left[{{x_i}, {x_{i + 1}};{y_j}, {y_{j + 1}}} \right]$上的有理插值曲面

${P_{i,j}}\left( {x,y} \right) = \frac{{{p_{i,j}}\left( {x,y} \right)}}{{{q_{i,j}}\left( y \right)}}$ (5)

$i = 1,2, \cdots n - 1;j = 1,2, \cdots m - 1$

$\begin{array}{l} {p_{i,j}}\left( {x,y} \right) = {\left( {1 - \eta } \right)^3}P_{i,j}^*\left( x \right) + \eta {\left( {1 - \eta } \right)^2}{V_{i,j}} + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\eta ^2}\left( { - 1\eta } \right){W_{i,j}} + {\eta ^3}P_{i,j + 1}^*\left( x \right) \end{array}$

${q_{i,j}}\left( y \right) = {\left( {1 - \eta } \right)^2} + \eta \left( {1 - \eta } \right){\beta _{i,j}} + {\eta ^2}$

${V_{i,j}} = \left( {{\beta _{i,j}} + 1} \right)P_{i,j}^*\left( x \right) + {l_j}{\phi _{i,j}}\left( x \right) + {\phi _{i,j}}\left( {x,y} \right)$

${W_{i,j}} = \left( {{\beta _{i,j}} + 1} \right)P_{i,j + !}^*\left( x \right) - {l_j}{\phi _{i,j + !}}\left( x \right) + {\psi _{i,j}}\left( {x,y} \right)$

$\begin{array}{l} {\phi _{i,s}}\left( x \right) = {\left( {1 - \theta } \right)^3}\left( {1 + 4\theta + 9{\theta ^2}} \right){e_{i,s}} + \\ \;\;\;\;\;\;\;{\theta ^3}\left( {6 - 8\theta + 3{\theta ^2}} \right){e_{i + 1,s}},s = j,j + 1 \end{array}$

$\begin{array}{l} {\phi _{i,j}}\left( x \right) = \left( {\eta - \eta \left( {1 - \eta } \right)\left( {{\beta _{i,j}} + 1} \right)} \right)\left( {P_{i,j + 1}^*\left( x \right) - } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;P_{i,j}^*\left( x \right) - {l_j}\phi \left. {_{i,j}\left( x \right)} \right) \end{array}$

$\begin{array}{l} {\psi _{i,j}}\left( x \right) = \left( {1 - \eta - \eta \left( {1 - \eta } \right)\left( {{\beta _{i,j}} + 1} \right)} \right)\left( {P_{i,j}^*\left( x \right)} \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;P_{i,j + 1}^*\left( x \right) + {l_j}\phi \left. {_{i,j}\left( x \right)} \right) \end{array}$

${\beta _{i,j}} > 0$

式(5)定义的插值函数${P_{i, j}}\left( {x, y} \right)$称作双变量分片有理插值函数,且满足

${P_{i,j}}\left( {{x_r},{y_s}} \right) = f\left( {{x_r},{y_s}} \right)$

$\frac{{\partial {P_{i,j}}\left( {{x_r},{y_s}} \right)}}{{\partial x}} = {d_{r,s}}$

$\frac{{\partial {P_{i,j}}\left( {{x_r},{y_s}} \right)}}{{\partial y}} = {e_{r,s}}$

$r = i,i + 1;s = j,j + 1$

构造的有理插值模型如图 1所示,该模型的目标是求出插值区域所在面片的函数表达式,4个黑点围成的区域是插值区域,插值点是图中的12个圆点。

图 1 有理插值模型
Fig. 1 Rational interpolation model

式(5)定义的插值模型由插值数据和形状参数确定,随着形状参数的不同,它有不同的表达形式,特别地,当${\alpha _{i, j}}$=${\beta _{i, j}}$=1时,该插值模型退化为多项式模型。

2 本文算法

基于上述构造的双变量有理插值模型,首先,利用等值线方法,将图像自适应地划分为纹理区域与平滑区域。然后,根据图像的区域特征,纹理区域采用有理模型插值,平滑区域采用多项式模型插值。最后,计算图像梯度,确定纹理方向,不同纹理方向的插值单元用相应的权重对中心点进行优化。

2.1 自适应区域划分

区域划分是图像插值的一个关键步骤,划分的精确与否将直接影响图像的插值质量。

等值线的应用研究是现代科学计算可视化的重要内容之一,等值线图形可以形象地表示某一属性的大小、分布信息,在气象学、地质学等方面有更为广泛的应用。此处将等值线生成原理应用于图像区域的自适应划分。

等值线生成算法先对离散点进行插值,再提取等值线。对离散点的插值采用双变量有理插值模型。对每一个矩形网格进行等值线自动追踪,若存在等值点,将这些等值点按照一定的规则全部连接起来就形成了等值线[18]

采用矩形网格法对图像进行区域划分。首先对采样图像每个插值单元绘制等值线,然后根据插值单元的等值线存在与否来确定是否存在纹理。插值单元指图 1中由$\left[{i:i + 1;j:j + 1} \right]$围成的矩形(即黑点围成的矩形)。若在一个插值单元中存在等值线,则将此部分定义为纹理区域,反之,定义为平滑区域。区域检测的阈值应能概括描述该插值单元的灰度信息,选取的像素点应与插值单元的距离最近,换句话说信息相关性最大,所以图像不同区域划分的阈值为图 1中插值单元上的4个像素点及其四邻域点,用这12个像素点的均值作为自适应区域检测的阈值,即对任意数据集${f_{i + r, j + s}}\left( {r, s = - 1, 0, 1, 2} \right)$不同的像素结构,检测的阈值也不同。每个面片的自适应检测阈值$\lambda $表示为

$\lambda = \frac{{\sum\limits_{r = - 1}^2 {\sum\limits_{s = - 1}^2 {{f_{i + r,j + s}}} - \left[ {\begin{array}{*{20}{c}} {{f_{i - 1,j - 1}} + {f_{i - 1,j + 2}} + }\\ {{f_{i + 2,j - 1}} + {f_{i + 2,j + 2}}} \end{array}} \right]} }}{{12}}$

将插值单元四个像素点的灰度值分别与$\lambda $做差,将这个差值记为$\Delta {x_{m, n}}, m, n = 0, 1$,若$\Delta {x_{m, n}}$都为非正或非负,此区域定义为平滑区域,反之,定义为纹理区域。区域检测过程如图 2所示,在一个插值单元中,若4个顶角的符号不同,该插值单元属于纹理区域,若4个顶角的符号相同,该插值单元属于平滑区域。为了防止二义性,在插值单元足够小的前提下,假设在一个插值单元中最多有一个零点。

图 2 区域检测示意图
Fig. 2 Sketch map of region detection
((a)smooth region detection; (b)texture region detection)

图 3图 4分别是Lena、Butterfly用等值线方法进行区域检测的效果图。可以看出,该方法可以有效检测出图像纹理区域和边界区域。

图 3 Lena区域检测效果图
Fig. 3 Texture region detection result of Lena
图 4 Butterfly区域检测效果图
Fig. 4 Texture region detection result of Butterfly

2.2 图像插值

利用等值线方法将图像自适应划分为平滑区域和纹理区域,平滑区域采用多项式模型插值;纹理区域采用有理模型插值。

对一幅$m \times n$的图像${I_{m, n}}$,令${f_{i, j}}\left( {0 \le i \le m - 1, 0 \le j \le n - 1} \right)$${I_{m, n}}$$i$$j$列的灰度值,像素坐标为$\left( {i, j} \right)$。如图 5所示,4个黑点所围成的区域为待插区域,插值点为图中的圆点,一共12个点。根据插值单元周围12个像素点构造过4个黑点的插值曲面,对图中任意一点,均可由图中黑点所在面片的函数表达式表示,从而求出待插值点的灰度值,图中方点为插值后得到的像素点。

图 5 图像插值示意图
Fig. 5 Image interpolation schematic diagram

双变量有理插值模型构造的插值曲面${{\rm{C}}^2}$连续,所以无论是在曲面的内部还是拼接处,构造出的整个图像的曲面都是光滑的,基于此,重建图像可有效避免出现锯齿和失真现象。

2.3 中心点优化

为有效保持图像的纹理结构,基于图像梯度对插值单元的中心点进行优化。首先根据各向同性Sobel算子计算图像的梯度,确定插值单元的纹理方向;然后对不同纹理方向的面片用相应的权重对中心点进行优化。

2.3.1 基于图像梯度的纹理方向确定

图像插值单元的纹理方向分为水平、垂直和对角4个方向,如图 6所示,然后用各向同性Sobel算子计算图像梯度,确定纹理方向。

图 6 图像纹理方向划分示意图
Fig. 6 Schematic diagram of image texture orientation division

各向同性Sobel算子用来检测水平边缘和垂直边缘,在各向同性Sobel算子方法的基础上,各向同性Sobel算子的水平边缘检测模板和垂直边缘检测模板都旋转45°,得到对角方向的纹理检测模板,将两对纹理检测模板分别与图像插值单元作平面卷积,得到4个方向的两对亮度差分近似值,记为${G_{x1}}$, ${G_{y1}}$, ${G_{x2}}$, ${G_{y2}}$。计算公式为

${G_{{x_1}}} = {\mathit{\boldsymbol{M}}_1} \times \mathit{\boldsymbol{A}}$

${G_{{y_1}}} = {\mathit{\boldsymbol{M}}_2} \times \mathit{\boldsymbol{A}}$

${G_{{x_2}}} = {\mathit{\boldsymbol{M}}_3} \times \mathit{\boldsymbol{A}}$

${G_{{y_2}}} = {\mathit{\boldsymbol{M}}_4} \times \mathit{\boldsymbol{A}}$

式中,$\mathit{\boldsymbol{A}}$记为图像插值单元的3×3矩阵,${\mathit{\boldsymbol{M}}_{\rm{1}}}$, ${\mathit{\boldsymbol{M}}_{\rm{2}}}$, ${\mathit{\boldsymbol{M}}_{\rm{3}}}$, ${\mathit{\boldsymbol{M}}_{\rm{4}}}$分别表示各向同性Sobel算子4个方向的3×3纹理检测模板,图 7给出了各向同性Sobel算子水平、垂直、对角4个方向的纹理检测模板。

图 7 各向同性Sobel算子水平、垂直、对角方向模板
Fig. 7 Isotropic Sobel operator horizontal, vertical, diagonal direction template((a) ${\mathit{\boldsymbol{M}}_{\rm{1}}}$; (b) ${\mathit{\boldsymbol{M}}_{\rm{2}}}$; (c) ${\mathit{\boldsymbol{M}}_{\rm{3}}}$; (d) ${\mathit{\boldsymbol{M}}_{\rm{4}}}$)

基于上述分析,计算每一个图像面片的梯度,${G_1}$, ${G_2}$记为图像梯度,${\theta _1}$, ${\theta _2}$记为图像梯度方向。

$ {G_1} = \sqrt {G_{x1}^2 + G_{y1}^2} $

$ {G_2} = \sqrt {G_{x2}^2 + G_{y2}^2} $

$ {\theta _1} = \arctan \left( {\frac{{{G_{y1}}}}{{{G_{x1}}}}} \right) $

$ {\theta _2} = \arctan \left( {\frac{{{G_{y2}}}}{{{G_{x2}}}}} \right) $

对图像每个插值单元,比较水平垂直方向和对角方向的图像梯度,从而确定纹理方向。若${G_1}$${G_2}$说明纹理在垂直或水平方向上,反之说明纹理在对角方向上。具体纹理方向判断示意图如图 8所示,图 8(a)是水平垂直方向纹理判断示意图,若图像梯度方向${\theta _1}$在-45°~45°之间,是垂直纹理,反之是水平纹理。图 8(b)是对角方向纹理判断示意图,若图像梯度方向${\theta _2}$在0°~90°之间,纹理在反对角方向上,反之纹理在正对角方向上。图像梯度方向与纹理方向成垂直关系。

图 8 纹理方向判断示意图
Fig. 8 Schematic diagram of texture direction judgment
((a) horizontal, vertical direction texture judgment; (b) diagonal direction texture judgment)

2.3.2 权重的计算

根据图像梯度确定插值面片的纹理方向,对每个方向的插值面片采用相应的权重对中心点优化。

根据插值单元中心点周围8个像素点灰度值混合加权估计中心点灰度值,优化示意图如图 9所示,对不同纹理方向的插值单元计算对应的权重系数矩阵。插值单元内像素点与中心点的连线与纹理方向所在直线的夹角越小,赋予该像素点的权重越大。

图 9 基于图像梯度的中心点混合加权优化示意图
Fig. 9 Schematic diagram of center point hybrid weighted optimization based on image gradient

$\left[{i, j} \right]$插值单元内,令$\left[{i + r, j + s} \right]$像素点对中心点优化的权重影响因子为${\varpi _{i + r, j + s}}, \left( {r, s = 0, 1, 2} \right)$$\left[{i + r, j + s} \right]$处像素点与中心点的连线与纹理方向所在直线的较小夹角为${\theta _{i + r, j + s}}({\theta _{i + r, j + s}} \in [0, \pi /2])$${\varpi _{i + r, j + s}}$的计算公式为

$ {\varpi _{i + r,j + s}} = \frac{{\rm{ \mathsf{ π} }}}{{2 \times {\theta _{i + r,j + s}}}} $ (6)

由式(6)可知,${\varpi _{i + r, j + s}}$的取值范围是[1, +∞),当插值单元像素点与中心点的连线与纹理方向所在直线平行时(即夹角${\theta _{i + r, j + s}}$为0时),${\varpi _{i + r, j + s}}$的取值是正无穷,无法进行实际计算。经过大量实验证明,将${\varpi _{i + r, j + s}}$的取值范围映射到[0, 2]时,取得较为满意的实验结果。映射函数为

$ f:{\varpi _{i + r,j + s}} \to {w_{i + r,j + s}};{w_{i + r,j + s}} \in \left[ {0,2} \right] $ (7)

$\left[{i, j} \right]$插值单元的权重系数矩阵为

$ \left( {\begin{array}{*{20}{c}} {{w_{i,j}}}&{{w_{i,j + 1}}}&{{w_{i,j + 2}}}\\ {{w_{i + 1,j}}}&{{w_{i + 1,j + 1}}}&{{w_{i + 1.j + 2}}}\\ {{w_{i + 2,j}}}&{{w_{i + 2,j + 1}}}&{{w_{i + 2,j + 2}}} \end{array}} \right) $

根据上述方法可以求出每个插值单元权重系数矩阵,${w_{i + r, j + s}}$表示在$\left[{i, j} \right]$所在插值单元$\left[{i + r, j + s} \right]$处的权重系数。${f_{i + r, j + s}}$表示在$\left[{i, j} \right]$插值单元$\left[{i + r, j + s} \right]$处的灰度值。插值单元与权重系数矩阵相卷积,计算出插值单元中心点灰度值。$\left[{i, j} \right]$插值单元中心点灰度值计算公式为

$ \begin{array}{*{20}{c}} {{f_{i + 1,j + 1}} = \frac{{\sum\limits_{r = 0}^2 {\sum\limits_{s = 0}^2 {{f_{i + r,j + s}} \times {w_{i + r,j + s}}} } }}{{\sum\limits_{r = 0}^2 {\sum\limits_{s = 0}^2 {{w_{i + r,j + s}}} } }}}\\ {r,s = 0,1,2} \end{array} $ (8)

3 实验结果与分析

实验选取了9幅图像作为标准测试图像,如图 10所示。比较的算法是被很多文献引用且比较经典的算法:双三次插值[2](1978年),NEDI[5](2001年),DFDF[6](2006年),RSAI[8](2012年),NARM[9](2013年)和Lee’s[10](2016年)算法。其中,NARM将机器学习方法与图像插值相结合,取得了理想的插值效果。下采样方法为隔行隔列下采样。本文从客观数据、主观效果和时间复杂度3个方面测试本文算法的性能。

图 10 标准测试图像
Fig. 10 Benchmark images

峰值信噪比(PSNR)是对图像平均的质量评价,所以首先采用PSNR对图像进行客观评价。结构相似性(SSIM)是对图像进行视觉感知的质量评价,也广泛应用在图像质量评价中。表 2列出了测试图像不同插值算法的客观数据评价值,本文算法拥有最高平均PSNR和SSIM值,具有较强的竞争力,尤其对存在大量纹理细节的图像,本文算法的PSNR和SSIM值均高于其他算法。

表 2 不同方法的PSNR和SSIM值比较
Table 2 PSNR and SSIM Comparison of Different Methods

下载CSV
图像 双三次插值 RSAI DFDF NARM NEDI Lee’s 本文算法
Baboon PSNR/dB 21.60 22.93 22.62 22.55 21.40 22.02 23.02
SSIM 0.768 4 0.867 1 0.855 6 0.862 6 0.864 0 0.848 3 0.870 4
Barbara PSNR/dB 23.18 22.98 24.44 23.35 22.21 22.70 24.54
SSIM 0.795 4 0.854 8 0.871 3 0.858 7 0.842 9 0.844 3 0.875 3
Boat PSNR/dB 24.52 25.98 26.08 26.22 25.41 25.49 26.24
SSIM 0.811 0 0.891 6 0.888 8 0.893 0 0.889 0 0.881 3 0.892 5
Dollar PSNR/dB 18.06 18.95 19.07 18.76 18.91 18.29 19.05
SSIM 0.716 9 0.802 2 0.802 2 0.797 0 0.803 0 0.778 6 0.805 2
Fence PSNR/dB 19.34 20.55 21.30 21.35 19.48 20.55 21.38
SSIM 0.621 4 0.700 8 0.713 4 0.725 8 0.674 1 0.695 1 0.714 9
Houses PSNR/dB 20.89 22.80 22.96 23.34 22.56 22.31 22.89
SSIM 0.829 0 0.908 4 0.909 7 0.916 2 0.904 4 0.902 4 0.909 4
Metal PSNR/dB 13.88 14.81 14.75 14.05 14.78 13.64 15.07
SSIM 0.426 7 0.638 3 0.626 1 0.626 4 0.637 0 0.584 9 0.662 8
Rail PSNR/dB 21.82 22.86 23.07 22.78 22.54 22.28 23.16
SSIM 0.734 7 0.781 4 0.778 2 0.779 4 0.776 8 0.764 9 0.782 5
Sky PSNR/dB 28.42 29.75 29.69 29.87 27.43 29.19 29.82
SSIM 0.845 3 0.909 3 0.908 1 0.910 4 0.903 0 0.901 1 0.911 4
Wall PSNR/dB 23.29 24.88 24.70 24.97 24.24 24.03 24.87
SSIM 0.793 0 0.883 2 0.879 8 0.887 6 0.874 2 0.871 4 0.884 9
平均 PSNR/dB 21.50 22.64 22.86 22.72 21.89 22.05 23.00
SSIM 0.734 1 0.823 7 0.823 3 0.825 7 0.816 8 0.807 2 0.830 9
注:加粗数据表示与其他算法相比,该算法具有最高的PSNR或SSIM值。

从主观效果来看,本文算法在保持图像纹理细节和边缘结构方面优于其他算法。图 11图 16比较了Barbara、Fence、Baboon图像插值重建效果,其中图 12图 14是图像纹理细节区域重建效果,图 16图像边缘区域的重建效果。图 12列出了局部Barbara图像不同插值算法重建效果,其桌布区域存在两个方向的纹理。该区域存在两个方向的纹理,RASI、DFDF、NEDI算法次纹理方向出现断裂现象,双三次插值、DFDF、NEDI算法出现模糊现象,且NEDI算法出现严重的噪点,NARM和本文算法视觉效果相当,但本文算法具有较高的PSNR和SSIM值;对于Barbara图像裤腿区域重建效果,RSAI、NARM、NEDI、DFDF和Lee’s算法均没有保持原来的纹理方向,主要原因是该区域纹理细密,下采样图像纹理信息缺失,导致方向无法保持,而本文算法纹理方向得到较大改善。从图 14可以看出,其他算法出现了严重的纹理扭曲变形现象,本文算法能较好地保持图像的纹理结构。在保持图像边缘结构方面,从图 16可以看出,RSAI和Lee’s算法出现了不连续的条纹,NEDI算法出现了严重的噪点,DFDF算法在栏杆周围出现了边界模糊现象。NARM和本文算法有效保持了图像的边缘结构。

图 11 Barbara图像的比较
Fig. 11 Comparison of Barbara in different methods
((a) ground-truth image; (b)Bicubic; (c)RSAI; (d)DFDF; (e)NARM; (f)NEDI; (g)Lee's; (h)ours)
图 12 Barbara图像桌布区域和裤腿区域的比较
Fig. 12 Comparison of tablecloth region and trousers region in different methods
((a) ground-truth image; (b)Bicubic; (c)RSAI; (d)DFDF; (e)NARM; (f)NEDI; (g)Lee's; (h)ours)
图 13 Baboon图像的比较
Fig. 13 Comparison of Baboon in different methods
((a) ground-truth image; (b)Bicubic; (c)RSAI; (d)DFDF; (e)NARM; (f)NEDI; (g)Lee's; (h)ours)
图 14 局部Baboon图像的比较
Fig. 14 Comparison of hair region in different methods
((a) ground-truth image; (b)Bicubic; (c)RSAI; (d)DFDF; (e)NARM; (f)NEDI; (g)Lee's; (h)ours)
图 15 Fence图像的比较
Fig. 15 Comparison of Fence in different methods
((a) ground-truth image; (b)Bicubic; (c)RSAI; (d)DFDF; (e)NARM; (f)NEDI; (g)Lee's; (h)ours)
图 16 局部Fence图像比较
Fig. 16 Comparison of railing region in different methods
((a) ground-truth image; (b)Bicubic; (c)RSAI; (d)DFDF; (e)NARM; (f)NEDI; (g)Lee's; (h)ours)

算法的时间复杂度是衡量算法优劣的重要指标,时间复杂度低且视觉效果优的算法可以有更广泛的应用。从运行时间上来看,双三次插值和本文算法具有明显的优势。表 3列出了测试图像不同插值算法的运行时间,双三次插值和本文算法所用的时间较短,一幅图像的平均运行时间小于4 s,DFDF算法和NEDI算法次之,平均运行时间大约12 s、19 s,RSAI和Lee’s算法较差,平均运行时间大于3 min,NARM算法最差,平均运行时间20 min以上。从理论上分析,对一个插值面片进行插值,本文算法先对插值面片用等值线方法进行区域检测,构造插值模型,然后计算图像梯度,判断纹理方向,最后计算权重对中心点优化。其中,等值线算法,插值模型构造算法,图像梯度计算算法,纹理方向判断和插值单元的权重计算,它们都是简单的代数运算,没有涉及复杂的迭代运算,所以时间复杂度都是O(1)。对于一个$m \times n$大小的图像,插值面片有$\left( {m - 1} \right) \times \left( {n - 1} \right)$个,需要对图像遍历一遍,用到了2个循环语句,时间复杂度是${\rm{O}}\left( {m \times n - m - n + 1} \right)$,所以本文算法总的时间复杂度是$5{\rm{O}}\left( 1 \right) \times {\rm{O}}\left( {m \times n - m - n + 1} \right) \approx {\rm{O}}\left( {m \times n} \right)$。从上述分析可以看出,本文算法的时间复杂度与多项式插值算法处于同一层次,具有较大的效率优势。(实验用到的图像处理工具是matlab2010b,机器是Win7系统,处理器为i3处理器,内存为4 GB。)

表 3 不同插值算法运行时间
Table 3 The Run Time Comparison of Different Methods

下载CSV
/s
双三次插值 NEDI DFDF RSAI NARM Lee’s 本文算法
Baboon 1.49 23.2 12.4 197.6 1547.0 162.6 4.8
Barbara 1.16 19.4 12.3 202.6 1411.1 162.3 3.7
Boat 1.14 29.0 18.6 312.5 2496.4 263.0 5.5
Dollar 1.13 19.6 12.4 205.6 1526.6 165.8 3.7
Fence 1.12 2.7 1.8 26.3 139.0 22.42 0.5
Houses 1.13 20.1 12.3 207.7 1550.7 162.1 3.7
Metal 1.14 21.0 12.6 191.4 1702.1 163.2 3.8
Rail 1.14 4.6 3.2 43.1 246.2 40.0 0.9
Sky 1.20 28.7 19.0 310.3 2408.5 244.4 5.5
Wall 1.14 30.2 18.9 311.7 2751.5 255.4 5.6
平均 1.18 19.85 12.35 200.88 1577.91 164.1 3.77

从客观数据,主观效果和时间复杂度3个方面来看,双三次插值因结构简单,具有较低的时间复杂度,但易出现模糊和失真现象,客观数据值也较低。DFDF算法获得了较高的客观评价数据,但易丢失一些图像纹理细节信息。RSAI算法能够一定程度上保持图像的纹理结构,然而在图像边缘区域易出现锯齿现象。NEDI和Lee’s算法能够保持图像清晰的边缘结构,但在处理纹理较为复杂区域时易出现噪点和纹理错乱现象。NARM算法具有较高的客观评价数据,良好的主观视觉效果,但时间复杂度较高。与其他经典算法相比,本文算法能够有效保持图像纹理细节和边缘结构,具有较好的客观数据,时间复杂度较低。综合这3个方面来看,本文算法优于其他算法。但是在处理纹理方向信息缺失较为严重的区域时,图像下采样后纹理方向已经发生改变,用本文算法重建后不能保持图像原来的纹理方向。

4 结论

本文提出了一种基于梯度优化的有理函数图像插值算法。首先,利用等值线方法将下采样图像自适应划分为平滑区域和纹理区域;其次,平滑区域采用多项式模型插值,纹理区域采用有理模型插值;最后,根据各向同性Sobel算子计算插值单元图像梯度,确定纹理方向,对不同纹理方向的插值单元采用相应的权重对中心点进行优化。实验结果表明,本文算法时间复杂度较低,在图像纹理细节和边缘结构保持方面具有较好的视觉效果,有效提高了插值图像质量。对于一般自然图像而言,本文算法可以获得较好的重建质量,特别地,对于纹理细节丰富的图像,可以有效保持图像的纹理细节和结构信息。尽管本文算法在纹理方向保持方面,较其他算法有明显改善,但对于经过下采样后纹理方向信息丢失严重的图像来说,效果还不令人满意。这类图像的方向保持是图像重建中的难题,到目前为止,仍然没有得到有效解决。基于本文的工作,下一步将对这一问题开展研究。

参考文献

  • [1] Keys R. Cubic convolution interpolation for digital image processing[J]. IEEE Transactions on Acoustics, Speech, and Signal Processing, 1981, 29(6): 1153–1160. [DOI:10.1109/TASSP.1981.1163711]
  • [2] Hou H, Andrews H. Cubic splines for image interpolation and digital filtering[J]. IEEE Transactions on Acoustics, Speech, and Signal Processing, 1978, 26(6): 508–517. [DOI:10.1109/TASSP.1978.1163154]
  • [3] Yang Z X, Lu F, Guan L T. Image enlargement and reduction with arbitrary accuracy through scaling relation of B-spline[J]. Journal of Computer-Aided Design & Computer Graphics, 2001, 13(9): 824–827. [杨朝霞, 逯峰, 关履泰. 用B样条的尺度关系来实现图像任意精度的放大缩小[J]. 计算机辅助设计与图形学学报, 2001, 13(9): 824–827. ] [DOI:10.3321/j.issn:1003-9775.2001.09.012]
  • [4] Carrato S, Tenze L. A high quality 2 x image interpolator[J]. IEEE Signal Processing Letters, 2000, 7(6): 132–134. [DOI:10.1109/97.844630]
  • [5] Li X, Orchard M T. New edge-directed interpolation[J]. IEEE Transactions on Image Processing, 2001, 10(10): 1521–1527. [DOI:10.1109/83.951537]
  • [6] Zhang L, Wu X L. An edge-guided image interpolation algorithm via directional filtering and data fusion[J]. IEEE Transactions on Image Processing, 2006, 15(8): 2226–2238. [DOI:10.1109/TIP.2006.877407]
  • [7] Zhang X J, Wu X L. Image interpolation by adaptive 2-D autoregressive modeling and soft-decision estimation[J]. IEEE Transactions on Image Processing, 2008, 17(6): 887–896. [DOI:10.1109/TIP.2008.924279]
  • [8] Hung K W, Siu W C. Robust soft-decision interpolation using weighted least square[J]. IEEE Transactions on Image Processing, 2012, 21(3): 1061–1069. [DOI:10.1109/TIP.2011.2168416]
  • [9] Dong W S, Zhang L, Lukac R, et al. Sparse representation based image interpolation with nonlocal autoregressive modeling[J]. IEEE Transactions on Image Processing, 2013, 22(4): 1382–1394. [DOI:10.1109/TIP.2012.2231086]
  • [10] Lee S J, Kang M C, Uhm K H, et al. An edge-guided image interpolation method using Taylor series approximation[J]. IEEE Transactions on Consumer Electronics, 2016, 62(2): 159–165. [DOI:10.1109/TCE.2016.7514715]
  • [11] Zhang Y F, Zhang C M, Chi J, et al. An algorithm for enlarged image enhancement[J]. ICIC Express Letters, 2009, 3(3): 669–674.
  • [12] Duan Q, Zhang H L, Zhang Y F, et al. Bounded property and point control of a bivariate rational interpolating surface[J]. Computers & Mathematics with Applications, 2006, 52(6-7): 975–984. [DOI:10.1016/j.camwa.2006.04.021]
  • [13] Zhang Y F, Bao F X, Zhang C M, et al. Local shape control of a bivariate rational interpolating surface with mixing conditions[C]//The 8th International Symposium on Voronoi Diagrams in Science and Engineering. Qingdao, China: IEEE, 2011: 200-205. [DOI:10.1109/ISVD.2011.34]
  • [14] Sun Q H, Bao F X, Zhang Y F, et al. A bivariate rational interpolation based on scattered data on parallel lines[J]. Journal of Visual Communication and Image Representation, 2013, 24(1): 75–80. [DOI:10.1016/j.jvcir.2012.11.003]
  • [15] Yao X X, Zhang Y F, Ning Y, et al. Multi-scale feature image interpolation based on a rational fractal function[J]. Journal of Image and Graphics, 2016, 21(4): 482–489. [姚勋祥, 张云峰, 宁阳, 等. 多尺度有理分形的图像插值算法[J]. 中国图象图形学报, 2016, 21(4): 482–489. ] [DOI:10.11834/jig.20160410]
  • [16] Liu Y F, Zhang Y F, Guo Q, et al. Image interpolation based on weighted and blended rational function[M]//Jawahar C V, Shan S G. Computer Vision-ACCV 2014 Workshops. Cham: Springer, 2015: 78-88. [DOI:10.1007/978-3-319-16631-5_6]
  • [17] Zhao Q J, Hu M, Tan J Q. Many-knot splines technique for image interpolation[J]. Journal of Image and Graphics, 2006, 11(5): 667–671. [赵前进, 胡敏, 檀结庆. 图像插值的多结点样条技术[J]. 中国图象图形学报, 2006, 11(5): 667–671. ] [DOI:10.3969/j.issn.1006-8961.2006.05.010]
  • [18] Wen Y H, Liu Y J. An isoline generating algorithm based on Delaunay[C]//Proceedings of the 20102nd International Conference on Computer Engineering and Technology. Chengdu, China: IEEE, 2010: V7-173-V7-176. [DOI:10.1109/ICCET.2010.5485290]