一种边缘计算中的新型实时图像恢复算法
马兴民,1徐胜刚,1安凤平,2和林福宏1
1北京科技大学计算机与通信工程学院,中国北京市100083
2淮阴师范学院,中国淮安223001
通讯作者:林福宏;fhlin@ustb.edu.cn
2018年4月18日收到;2018年7月9日接受;2018年8月9日发表
学术编辑:周奥
版权所有©2018马兴民等。本文为开放获取文章,遵循知识共享署名许可协议发布,允许在任何媒介中不受限制地使用、传播和复制,前提是注明原作品的出处。
由于处理复杂度较高,图像恢复通常只能离线处理,难以应用于实时生产生活中。边缘计算的发展为实时图像复原提供了新的解决方案。它可将原始图像上传至边缘节点进行实时处理,并立即向用户返回结果。然而,边缘节点的处理能力仍然有限,因此需要一种轻量级图像恢复算法。本文提出了一种在边缘计算环境下的新型实时图像恢复算法。首先,采用10种经典函数确定牵引果蝇优化算法(TFOA)的种群规模和最大迭代次数;其次,利用TFOA优化最小二乘支持向量回归(LSSVR)核函数的最优参数,并将图像恢复的误差函数作为TFOA的适应度函数;第三,采用LLSVR算法进行图像恢复。在图像恢复过程中,训练过程旨在建立退化图像与原始图像相邻像素之间的映射关系,一旦该关系建立完成,即可利用该映射关系实现退化图像的恢复。通过实验对比分析,所提方法能够满足实时图像恢复的要求,所提出的算法可加快图像恢复速度并提升图像质量。
引言
随着科学技术的发展,越来越多的用户使用手机进行拍摄。在数字图像成像过程中,由于抖动、光照等多种因素容易产生图像模糊[1],这种现象称为图像退化。因此,在图像恢复处理中需要进行有效的参数设置,这会消耗大量资源。当前的解决方案是使用离线服务器等类型的处理设备,无法实现实时处理。边缘计算的出现使得此类应用的实时处理成为可能。边缘计算能够满足用户的实时计算服务需求,并为用户提供低延迟图像处理服务。本地图像被上传至边缘节点进行实时处理。我们可以在边缘节点部署牵引果蝇优化算法(TFOA)和最小二乘支持向量回归(LLSVR)。然而,边缘节点的处理能力有限,因此有必要提出一种轻量级图像恢复算法。这样,手机拍摄的照片可以在边缘节点中实现实时处理。
图像恢复是图像退化的逆过程。其最终目标是去除模糊和干扰,使图像尽可能恢复到接近原始图像的状态[2]。其中最典型的图像模糊模型之一是高斯模糊。高斯点扩散函数在许多图像采集、测量和传输系统中普遍存在。因此,许多退化过程可以用高斯模糊模型来近似。对高斯模糊图像恢复的研究对于其他类型的退化图像恢复具有重要意义[3]。大多数传统恢复方法都是去卷积过程,例如逆滤波、维纳滤波、最小二乘法以及鲁西‐理查德森(LR),这些方法通常被称为非盲恢复方法[4, 5]。这些方法都需要知道成像系统的点扩散函数,这在实际应用中非常困难。相比之下,盲复原方法在未知点扩散函数的情况下,利用图像本身所携带的信息或进行退化模型估计,并结合附加条件来解决问题[6]。这类方法目前被广泛使用,但结果不稳定,且计算量大、收敛速度慢。
近年来,随着深度学习的兴起,各种机器智能模型,如BP神经网络和支持向量机,已被广泛应用于图像恢复领域。2011年,Mukherjee等人使用多层量子反向传播神经网络进行图像恢复[7];Sethy等人提出了一种基于BP神经网络的图像恢复方法,取得了良好结果,但仍存在改进空间[8]。参考文献[9, 10]采用模糊神经网络模型进行图像恢复,图像质量在一定程度上得到提升,但仍存在优化空间。参考文献[11]提出了基于支持向量回归(SVR)的图像恢复方法,提高了收敛精度并实现了更好的复原效果。然而,在使用果蝇优化算法(FOA)优化SVM参数的过程中,两个内部参数未被优化,仅给出了经验值。基于现有研究工作,本文提出了一种基于TFOA‐LSSVR的图像恢复方法。通过实验对比分析,所提出的方法能够满足实时图像复原的要求。
背景材料
果蝇优化算法(FOA)
果蝇优化算法(FOA)是一种基于果蝇寻找食物源的算法,该算法是一种全局优化算法[12]。其具有嗅觉和视觉果蝇的器官非常发达。在觅食时,它首先通过嗅觉收集食物的气味,当接近食物位置后,还能通过视觉检测到食物及其他同伴聚集的位置,并朝着该方向飞行。图1展示了果蝇种群迭代觅食过程的示意图。该方法结合了种群的全局搜索与个体信息交换。在此基础上,通过个体信息交换更新全局最优解。最终,当达到最大迭代次数或收敛目标精度时,算法终止。FOA的步骤如下。
步骤1. 种群规模用 sizepop表示,最大迭代次数用 maxgen表示。果蝇的随机初始位置用X axis,Y axis表示。
步骤2。
为果蝇个体赋予随机方向和距离,利用其嗅觉搜索食物;StepLength为搜索距离,即迭代步长;也就是
$$ X(i)=X \text{axis}+StepLengtℎ $$
$$ Y(i)=Y \text{axis}+StepLengtℎ $$
步骤3。
由于食物的初始位置未知,我们首先估算个体与原点之间的距离Disti ,然后设置个体的气味浓度Si ,这里我们将其定义为距离的倒数。
$$ Disti= \sqrt{X^2_i+Y^2_i} $$
$$ Si= \frac{1}{Disti} $$
步骤4。
将气味浓度值Si代入气味浓度判定函数以计算气味浓度Smelli;
$$ Smelli=Function(Si) $$
步骤5.
在种群中找到具有最佳气味浓度的个体;
$$ [bestsmell,bestindex]= min(bestsmell) $$
步骤6.
记录并保留bestsmell的最优气味浓度值以及坐标X,Y;此时果蝇种群利用视觉飞向该位置;
$$ X \text{axis}=X(bestindex) $$
$$ Y \text{axis}=Y(bestindex) $$
$$ smellbest=bestsmell $$
步骤7. 进入迭代优化,反复执行步骤2至步骤5,并判断当前最优味觉浓度是否优于上一次迭代的最优气味浓度且当前迭代次数小于最大迭代次数maxgen;若是,则执行步骤6。
本文介绍了一种新的FOA,即TFOA[13]。该优化算法对两个主要参数没有改变,而是对迭代方向进行了策略性优化,解决了求解过程中陷入局部最优解的问题。每次迭代的结果都会被记录。当算法处于局部最优时,optimalpop表示每次迭代中的最佳个体[13, 14],,而 badPop表示最差个体。果蝇种群的大小由sizepop表示。迭代的最终方向由以下公式表示:
$$ direction = \begin{cases} 1 & \text{if } optimalpop_j > badPop_j \ -1 & \text{otherwise} \end{cases} $$
新个体生成方法如所示
$$ indiVidual_{im}=optimalpop_m + (randius ∗ RandDirection) $$
$$ indiVidual_0=rand(1, dimension) $$
$$ indiVidual_i=indiVidual_{i−1} ∗(E −indiVidual_{i−1}) ∗4 $$
在(12)中,整个向量为1。
TFOA[13]的主要步骤如下 .
步骤1. 根据(11)生成果蝇种群,计算果蝇个体的适应度,并记录最差个体。
步骤2. 种群的最优气味浓度和初始位置被改变。在此过程中,如果气味浓度保持一致,则继续迭代并增加计数。
步骤3. 在迭代过程中,如果算法过早结束,则执行 (11)以跳出局部优化。当发现更优的果蝇时,更新种群的位置并在其周围继续搜索。如果结束过快,则扩大搜索半径并继续迭代优化。牵引操作完成后,在每次迭代过程中重新记录最差个体。
步骤4. 重复执行步骤1至步骤3,并判断当前最优味觉浓度是否优于上一次迭代的最优味觉浓度,直到满足算法要求为止。
支持向量机 (SVM)
支持向量机(SVM)由统计理论[15]发展而来。LSSVR是通过对SVM进行特殊处理而发展出的方法[11];LSSVR适用于静态非线性函数估计的回归模型。自提出以来,SVM算法已被应用于分类问题;目前在分类方向已非常成熟,分类方法得到了有效扩展,当前的扩展在曲线拟合和非线性回归估计中也非常有效。
训练数组{(xi,yi),i=1,2, ⋅ ⋅ ⋅,l},该数组组合中的第it个值表示xi ∈Rd,已知同时存在d维度的向量
$$ xi=(xi_1,xi_2, ⋅ ⋅ ⋅,xi_d),且输出结果设置为yi ∈ R。 $$
缺失的参??数
$$ y −ε是f(x)??ε= \begin{cases} 0 & \text{if } |y −f(x)|≤ε \ |y −f(x)| −ε & \text{if } |y −f(x)|>ε \end{cases} $$
当损失参数为0时,假设将f(x)训练得到的支持向量机中,估计值与实际值之间的差值小于损失参数,寻找一个合适的核函数
$$ k(xi, xj) = φ(xi) ⋅φ(xj),并将该核函数 k(xi ,xj) = φ(xi) ⋅φ(xj)映射到高维线性空间进行回归预测,此处假设该函数为 $$
$$ f(x)=ω ⋅φ(x)+b $$
在公式(14)中,ω ∈Rd 表示向量的权重值, b ∈ R 表示为数据计算出的阈值,(⋅)表示数据的内积运算。最终得到 b 和 ω 的值。在满足ωTω/2的前提下,误差函数最小化 ε,将ξi 、ξi ∗加入优化计算,得到最终表达式
$$ \min_{w,b,\xi_i,\xi_i^
} \frac{|w|^2}{2}+C \sum_{i=1}^{l} (\xi_i+\xi_i^
) $$
$$ s.t. \quad y_i −(w ⋅φ(x_i)+b) ≤ε+\xi_i $$
$$ (w ⋅φ(x_i)+b) −y_i ≤ε+\xi_i^
$$
$$ \xi_i,\xi_i^
≥0, \quad i=1,2, ⋅ ⋅ ⋅,l $$
$$ \max\left[- \frac{1}{2} \sum_{i=1}^{l} \sum_{j=1}^{l} (a_i −a_i^
)(a_j −a_j^
)k(x_i,x_j) −ε \sum_{i=1}^{l} (a_i+a_i^
)+ \sum_{i=1}^{l} y_i(a_i −a_i^
)\right] $$
$$ s.t. \quad \sum_{i=1}^{l} (a_i −a_i^
) = 0 $$
$$ 0 ≤a_i,a_i^
≤C $$
这里假设惩罚参数 C 是一个正常数。上述问题的最优解为支持向量(ai −ai ∗) = ̸0和
$$ w= \sum_{i=1}^{l}( a_i −a_i^*)φ(x_i)。 $$
然后,存在
$$ b= \frac{1}{N_{sV}} \left{ \sum_{0≤a_i ≤C} \left[y_i − \sum_{x_j ⊂ sV} (a_j −a_j^
)k(x_j,x_i) −ε\right]+ \sum_{0≤a_i^
≤C} \left[\sum_{x_j ⊂ sV} (a_j −a_j^*)k(x_j,x_i)+ε\right] \right} $$
(22)中的标准支持向量的数量为NNsV;获得一个b阈值和一个回归函数:
$$ f(x)= \sum_{x_i ∈ sV} (a_i −a_i^* )k(x_i,x)+b $$
支持向量机中常用的核函数有三种:
核函数 多项式
$$ K(x_i,x_j)=[(x_i ⋅x_j )+1]^q $$
(24)中多项式的系数为 q,其值由应用本身决定,并根据实际情况调整参数。
其次,径向基函数(RBF核函数)
$$ K(x_i,x_j)= \exp \left(− \frac{||x_i −x_j||^2}{2σ^2} \right) $$
(25)中的核心参数是σ;它使用均方误差的高斯核函数;σ的值越大,高斯函数的宽度越宽。
第三,Sigmoid核函数如下:
$$ K(x_i,x_j)= \frac{1}{1+ \exp(−||x_i −x_j||)} $$
LSSVR表示如下:
$$ f(X)= \sum_{i=1}^{n} a_iK(x,x)+b $$
$$ K(x_i,x_j)= \exp \left(− \frac{||x_i −x_j||^2}{2σ^2} \right) $$
在进行样本训练之前,我们需要优化参数C 和δ的选择。
提出的方法
图像恢复处理过程
假设原始图像为 f(x,y),退化图像可表示为
$$ g(x,y)=H[f(x,y)]+η(x,y) $$
在(29)中,H表示退化图像,η(x,y)表示加性噪声。如果H是一个线性空间不变过程,则退化图像可以在空间频域中表示为
$$ g(x,y)=f(x,y) ∗ℎ(x,y)+η(x,y) $$
在(30)中, ∗是一个卷积操作, f(x,y)、h(x,y)、 η(x,y)分别为原始图像、退化图像和加性噪声。图像恢复是一个参数估计过程。当模糊核函数为高斯时,退化过程称为高斯模糊。这类模糊图像可以看作是高斯分布的卷积核与清晰图像进行卷积操作的结果。即,图像某一点的像素值并且根据高斯分布的权重,对周围像素值进行加权平均,以获得位置退化后的像素值。
基于LSSVR的TFOA优化算法
本文将 TFOA‐LSSVR引入图像间的映射关系模型。在图像恢复过程中,原始图像与模糊图像的选择标准保持一致。假设图像大小为 m × n,构建训练样本时,原始图像的一个 i − 1窗口对应其中心像素。如果退化图像被近邻窗口完整记录,则在退化过程中可得到(m −i+1)×(n −i+1)个支持向量,且向量维度为i2×1。我们用Xi表示该向量,用Yi表示像素i,则图像恢复步骤如下[12]。
步骤1. 我们初始化TFOA。
步骤2.
我们建立了一个二维空间。根据第2.1节,我们得到以下公式:
$$ D(i,1)= \sqrt{X(i,1)^2+Y(i,1)^2} $$
$$ D(i,2)= \sqrt{X(i,2)^2+Y(i,2)^2} $$
$$ S(i,1)= \frac{1}{D(i,1)} $$
$$ S(i,2)= \frac{1}{D(i,2)} $$
步骤3。
在建立原始图像与退化图像之间的映射关系时,将均方误差(MSE)函数用作TFOA的气味浓度函数。
$$ MSE= \frac{\sum_{i=1}^{mn}(\hat{t} −t)^2}{mn} $$
在(33)中, $\hat{t}$表示原始图像, t表示一幅恢复图像,图像的大小为 m × n,最小二乘支持向量机中的参数[C,δ]由参数[S,(i,1),S(i,2)]表示。
步骤4. 通过比较计算得到的最小气味浓度,并将该值代入LSSVR模型,同时保留最优位置,来计算气味浓度值。
步骤5. 进行迭代优化,重复步骤2‐4,当迭代次数达到最大值时停止迭代优化,得到参数[S,(i,1),S(i,2)],然后得到[C,δ]。
训练样本完成后,当需要恢复新的退化图像时,会使用相同的图像尺寸创建相应的图片属性。通过 LSSVR模型预测图像的像素值,最后以像素为单位显示图像的像素值。
实验与应用
TFOA参数优化分析
在Windows7操作系统( i5‐3210M,2.5GHzCPU,8.00GB)上模拟服务器,并使用Matlab2014a实现TFOA算法。通过以10个基准函数[14, 16]的最小值为例进行仿真实验,分析并比较了参数对算法收敛精度和速度的影响。最终确定了合适的sizepop和maxgen。10个基准函数的名称、函数形式、搜索区间及函数最优值见表1。本文所使用的图像资料来自[17]。
种群大小对算法性能的影响
在实验中,我们采用渐进方法调整种群规模 sizepop。通过分析最终的实验结果,找出种群规模、收敛精度和算法时间复杂度之间的关系。参数设置如下:种群规模取值分别为( 5,10,15,20);最大gen为150次;优化迭代步长由 TFOA算法确定。搜索区间如表1所示。以TFOA全局优化函数的最优均值、平均运行时间和收敛精度的相对变化率作为评价指标。连续运行50次后,10个测试函数的实验结果如表2所示。
在表2中,优化均值表示全局优化函数最小值的算术平均值;它反映了算法的收敛精度:值越小,算法的收敛精度越高。平均运行时间是算法运行时间的算术平均值,即算法单次运行所需的平均时间。收敛条件指的是小种群大小对应的最优均值减去大种群大小对应的最优均值再除以小种群大小对应的最优均值。它表明算法的收敛精度随种群规模的增加而提高,值越大,算法的收敛精度提升越显著。同时,从表2可以看出,随着 sizepop的增加,算法的收敛精度得到提高,平均运行时间也随之成比例增加;然而,随着种群规模的增加,收敛精度的相对变化率呈现下降趋势。图2显示了10个测试函数的优化均值随种群规模增加的趋势线。图中,纵坐标用优化均值表示,横坐标为种群规模。
从图2可以看出,在种群规模增加的初期,优化均值随着种群规模的增大而单调下降,且相对变化率最大,即算法的收敛精度最高;在种群规模增加的中期,优化均值仍随种群规模的增大而单调下降,但相对变化率减小;在种群规模增加的后期,在函数F4、F5和F8上,优化均值持续减小,但相对变化率也随之变小。因此,综合上述分析可得出以下两点结论:首先,随着种群规模的增加,算法的时间成本也随之增加;其次,随着种群规模的增加,算法的收敛精度得到提升,然而当种群规模增大到一定程度后,收敛精度无法显著提高,因为在算法迭代后期容易陷入局部最优。因此,选择合适的种群规模可以在算法性能与运行时间之间找到最佳平衡。本文选择15作为TFOA的种群规模。
最大迭代次数对算法性能的影响
在实验中,我们采用渐进方法处理种群规模maxgen;参数设置如下: maxgen的取值分别为10、50、150、500和1000, sizepop为15,搜索区间如表1所示。以全局优化函数最小值求得的最优均值以及算法的运行时间作为评价指标。连续运行50次后,10个测试函数的实验结果如表3所示, maxgen越大,优化后的均值精度越高,平均运行时间也越高。10个测试函数优化后均值的趋势线随着maxgen的增加,函数在图3中显示,纵坐标表示优化均值,横坐标表示最大迭代次数。
在图3中,我们可以得出以下两个结论:首先,增加最大gen必然会增加算法消耗的计算时间。其次,通过增加最大gen可以提高算法的收敛精度,但持续增加最大迭代次数并不会带来收敛精度的持续且明显提升;这是因为在算法迭代后期容易陷入局部最优。因此,选择适当的最大迭代次数可以在算法性能和运行时间之间找到最佳平衡。本文使用的最大gen为500。
基于LSSVM-TFOA的图像恢复分析
在边缘计算中模拟了服务器。为了使算法更具说服力,我们在标准图像上添加不同类型的模糊和噪声进行测试。实验中,通过归一化处理,训练图像和测试图像均使用大小 512 × 512。采用上一节的优化结果,其中 sizepop为 15,maxgen为500。果蝇的初始位置是随机的。为了定量评估图像恢复效果,采用峰值信噪比(PSNR)和归一化均方误差(NMSE)来评估图像恢复性能。
实验1(建立图像恢复的映射关系)
为了建立原始图像与模糊图像之间的映射关系,我们在芭芭拉图像上添加了高斯模糊(5 × 5, δ= 0.8)和高斯随机噪声(方差=0.01)。模糊图像是通过原始图像与高斯滤波器进行卷积生成的。Barbara图像恢复模型由退化的图像和原始Barbara图像构建而成。经过500次迭代训练后,参数C和δ的优化结果分别为5.2和0.6231。为了验证本文算法的图像恢复效果,选取支持向量回归[15]和 BP神经网络算法[10]进行对比,最终的图像恢复效果如 图4和表4所示。
从最终的训练结果可知,该映射方法能够提高模糊图像的图像质量。BP神经网络算法的峰值信噪比(PSNR)较低,而归一化均方误差(NMSE)较高,这是因为其初始参数需要进行选择和调整。支持向量回归(SVR)方法在图像恢复方面优于BP神经网络,但在参数交叉验证上耗时较多。然而,本方法耗时更少,且具有更高的PSNR和更低的NMSE,表现出更优的图像恢复性能。
实验2(使用训练映射的退化图像恢复比较)
本文提出的TFOA‐LSSVR映射模型被应用于不同的模糊图像。为了使算法具有说服力,采用了三种模糊方式,即运动模糊 (L= 20,δ=30)、盘状模糊(R= 10)和钝化模糊。它们分别是,
表1:经典测试函数。
| 函数ID | 函数名称 | 方程 | 函数类型 | 维度 | X的上界 |
|---|---|---|---|---|---|
| F1 | 经典 | $f_1(x,y) = -x \cos(2\pi y) - y \sin(2\pi x)$ | 多模态 | 2 |
UB(2)
下界(-2) |
| F2 | 博哈切夫斯基 | $f_2(x,y) = x^2+y^2 -0.3 \cos(3\pi x)+0.3 \cos(4\pi y)+0.3$ | 多模态 | 2 |
上界(10)
下界(-10) |
| F3 | Step | $f_3(x) = \sum_{i=1}^{n}(\lfloor x_i+0.5 \rfloor)^2$ | 单峰 | 30 |
上界(100)
下界(-100) |
| F4 | 伊索姆 | $f_4(x)= -\cos x \times \cos y \times e^{-(x-\pi)^2-(y-\pi)^2}$ | 多模态 | 2 |
上界(10)
下界(-10) |
| F5 | 球面 | $f_5(x) = \sum_{i=1}^{n} x_i^2$ | 单峰 | 30 |
上界(100)
下界(-100) |
| F6 | Rastrigin | $f_6(x) = \sum_{i=1}^{n} (x_i^2 -10 \cos(2\pi x_i)+10)$ | 多模态 | 30 |
上界(5.12)
下界(-5.12) |
| F7 | 四次函数 | $f_7(x) = \sum_{i=1}^{n} i x_i^4 + rand()$ | 单峰 | 30 |
上界(1.28)
下界(-1.28) |
| F8 | 平方和 | $f_8(x) = \sum_{i=1}^{n} i x_i^2$ | 单峰 | 30 |
上界(100)
下界(-100) |
| F9 | 阿克利 | $f_9(x) = -20\exp(-0.2\sqrt{\frac{1}{n} \sum_{i=1}^{n} x_i^2}) - \exp(\frac{1}{n} \sum_{i=1}^{n} \cos(2\pi x_i)) + 20 + e$ | 多模态 | 30 |
上界(32)
下界(-32) |
| F10 | 格里旺克 | $f_{10}(x) = \frac{1}{4000} \sum_{i=1}^{n} x_i^2 - \prod_{i=1}^{n} \cos(\frac{x_i}{\sqrt{i}}) + 1$ | 多模态 | 30 |
上界(100)
下界(-100) |
表2:种群规模对算法性能的影响。
| 函数 | 评价指标 | sizepop 5 | sizepop 10 | sizepop 15 | sizepop 20 |
|---|---|---|---|---|---|
| F1 | 优化均值 | 4.450 | 4.398 | 4.381 | 4.380 |
| 平均运行时间(秒) | 0.617 | 0.953 | 1.385 | 1.671 | |
| 收敛条件 | -1.1709 | 0.3843 | 0.0137 | ||
| F2 | 优化均值 | 8.6098 | 8.6059 | 8.6046 | 8.6045 |
| 平均运行时间(秒) | 0.543 | 0.969 | 1.421 | 1.606 | |
| 收敛条件 | -0.0453 | 0.0151 | 0.0012 | ||
| F3 | 优化均值 | 0.002541 | 0.002436 | 0.002412 | 0.002408 |
| 平均运行时间(秒) | 0.586 | 0.849 | 1.287 | 1.599 | |
| 收敛条件 | -4.1322 | 0.9852 | 0.1658 | ||
| F4 | 优化均值 | 1.34003E-05 | 1.29E-05 | 1.28E-05 | 1.26E-05 |
| 平均运行时间(秒) | 0.614 | 1.265 | 1.68 | 1.55 | |
| 收敛条件 | -3.5632 | 2.1095 | 0.8419 | ||
| F5 | 优化均值 | 0.0733 | 0.0409 | 0.03784 | 0.0301 |
| 平均运行时间(秒) | 0.726 | 1.1 | 1.233 | 1.807 | |
| 收敛条件 | -44.2019 | 7.4817 | 20.4545 | ||
| F6 | 优化均值 | 8.8113 | 6.5458 | 5.44 | 4.728 |
| 平均运行时间(秒) | 0.76 | 0.985 | 1.233 | 1.586 | |
| 收敛条件 | -25.7113 | 16.8933 | 13.0882 | ||
| F7 | 优化均值 | 15.6435 | 15.1187 | 14.2415 | 14.1232 |
| 平均运行时间(秒) | 0.579 | 0.863 | 1.321 | 1.592 | |
| 收敛条件 | -3.3547 | 5.8021 | 0.8307 | ||
| F8 | 优化均值 | 2.5632 | 2.1998 | 1.6826 | 1.4576 |
| 平均运行时间(秒) | 0.564 | 0.886 | 1.253 | 1.605 | |
| 收敛条件 | -14.1776 | 23.5112 | 13.3722 | ||
| F9 | 优化均值 | 0.2044 | 0.2028 | 0.1475 | 0.1382 |
| 平均运行时间(秒) | 0.603 | 1.061 | 1.302 | 1.793 | |
| 收敛条件 | -0.7828 | 27.2682 | 6.3051 | ||
| F10 | 优化均值 | 1.008 | 1.004 | 1.002 | 1 |
| 平均运行时间(秒) | 0.652 | 1.705 | 1.72 | 2.95 | |
| 收敛条件 | 0.3968 | 0.1992 | 0.1996 | ||
| 表3:最大迭代次数对算法性能的影响。 |
| 函数 | 评价指标 | maxgen 10 | maxgen 50 | maxgen 150 | maxgen 500 | maxgen 1000 |
|---|---|---|---|---|---|---|
| F1 | 优化均值 | 4.4052 | 4.3775 | 4.3584 | 4.3456 | 4.3448 |
| 平均运行时间(秒) | 0.311 | 0.943 | 1.771 | 6.14 | 11.16 | |
| F2 | 优化均值 | 8.6921 | 8.6172 | 8.602 | 8.6002 | 8.6001 |
| 平均运行时间(秒) | 0.275 | 0.658 | 1.751 | 5.871 | 10.983 | |
| F3 | 优化均值 | 0.002637 | 0.002511 | 0.002412 | 0.002409 | 0.002406 |
| 平均运行时间(秒) | 0.283 | 1.078 | 1.805 | 5.399 | 11.393 | |
| F4 | 优化均值 | 1.88E-05 | 1.35E-05 | 1.24E-05 | 1.20E-05 | 1.18E-05 |
| 平均运行时间(秒) | 0.246 | 0.662 | 1.861 | 5.345 | 11.085 | |
| F5 | 优化均值 | 0.5993 | 0.0533 | 0.022 | 0.002 | 0.000858 |
| 平均运行时间(秒) | 0.366 | 0.872 | 1.755 | 5.382 | 11.543 | |
| F6 | 优化均值 | 8.3914 | 8.0295 | 7.1533 | 7.12 | 7.1 |
| 平均运行时间(秒) | 0.351 | 0.704 | 1.733 | 5.417 | 11.641 | |
| F7 | 优化均值 | 15.9877 | 15.7825 | 15.2618 | 14.9422 | 14.6644 |
| 平均运行时间(秒) | 0.317 | 0.741 | 2.386 | 5.962 | 11.726 | |
| F8 | 优化均值 | 2.304 | 2.0313 | 1.1926 | 1.0082 | 1.002 |
| 平均运行时间(秒) | 0.248 | 0.684 | 1.798 | 5.516 | 11.231 | |
| F9 | 优化均值 | 1.2648 | 0.2589 | 0.1368 | 0.04961 | 0.0209 |
| 平均运行时间(秒) | 0.237 | 0.734 | 1.74 | 5.982 | 11.317 | |
| F10 | 优化均值 | 1.013 | 1.011 | 1.008 | 1.0025 | 1.0022 |
| 平均运行时间(秒) | 0.314 | 1.384 | 2.837 | 8.16 | 17.394 |
表4:不同方法的实验结果。
| 方法 | PSNR | NMSE | 时间成本 |
|---|---|---|---|
| 模糊图像 | 18.1292 | 0.1495 | - |
| BP神经网络 | 23.3441 | 0.0914 | 13.2354 |
| 支持向量回归 | 26.9224 | 0.0758 | 20.1126 |
| TFOA‐LLSVR | 28.6251 | 0.0652 | 9.1128 |
分别对三幅原始标准图像进行运动模糊和盘状模糊处理的模拟,并向运动模糊图像和圆盘模糊图像中添加高斯噪声。为了进一步说明图像恢复效果,采用鲁西‐理查德森(LR)算法[18]对不同的退化图像进行恢复。具体结果如图 5和表5所示。
在本实验中,TFOA‐LSSVR能够在PSNR和 NMSE方面提升图像质量。而LR算法的恢复效果并不理想。对于添加了高斯噪声的运动模糊图像和添加了高斯噪声的圆盘模糊图像,LR算法未能提高最终的图像清晰度,并且出现了大量斑点。对于钝化模糊图像,LR结果也表现出一定程度的模糊以及大量斑点。所有 TFOA‐LSSVR算法恢复出的图像均比模糊图像更清晰,且大部分噪声被降低。因此,本文提出的 TFOA‐LSSVR模型在图像恢复中具有更好的应用效果。
结论
本文提出了一种在边缘计算环境中实现良好实时图像恢复效果的图像恢复方法。文中结合TFOA和LSSVR建立用于图像恢复的非线性映射模型。首先,利用10个测试函数确定TFOA的种群规模和最大迭代次数;然后,将 LSSVR误差函数优化为TFOA的适应度函数;利用参数优化后的LSSVR建立原始图像与模糊图像之间的退化关系;最后验证图像恢复效果。为了验证该映射方法的有效性,对比了BP网络和SVR算法,验证了TFOA与 LSSVR结合的可行性。同时,该算法构建的非线性映射模型可用于恢复退化的
表5:不同恢复方法的比较。
| 模糊与噪声 | 模糊图像 | LR | TFOA‐LLSVR | |||
|---|---|---|---|---|---|---|
| PSNR | NMSE | PSNR | NMSE | PSNR | NMSE | |
| 运动模糊 | 19.2455 | 0.1489 | 19.3155 | 0.1326 | 24.3776 | 0.0689 |
| 盘状模糊 | 17.9981 | 0.0986 | 18.3864 | 0.0997 | 22.1244 | 0.0891 |
| 钝化模糊 | 18.9987 | 0.0834 | 21.9166 | 0.0792 | 25.7311 | 0.0667 |
(a) 原始芭芭拉图像
(b) 模糊后的芭芭拉图像
(c) 通过BP神经网络恢复
(d) 通过支持向量回归恢复
(e) 由TFOA‐LLSVR恢复
训练集中的图像具有更好的图像恢复效果,优于LR算法。实验结果表明,TFOA与LSSVR的结合能够实现令人满意的恢复效果。该方法在其他竞争领域也具有优势,尤其是在CPU时间成本方面。

被折叠的 条评论
为什么被折叠?



