本发明涉及图像处理技术领域,特别涉及一种图像恢复方法及装置。
背景技术:
众所周知,退化图像的恢复一直是图像处理与计算机视觉领域中一个重要的研究内容,多年来颇受学术界和工业界的高度关注,已逐步形成一套体系框架。现有的退化图像恢复技术中具有代表性的是逆滤波法、维纳(wiener)滤波法、卡尔曼(kalman)滤波法、奇异值分解(svd)伪逆法、最大熵法和一些基于图像模型的恢复方法。
由于退化的图像恢复问题存在着病态特性,致使逆滤波法仅能在极高的信噪比(snr)条件下运用才能获得较好的恢复结果。wiener滤波法基本上克服了逆滤波法的缺陷,但却需对所处理的退化图像作出广义平稳(wss)的假设,并且需知有关退化图像的相关函数或功率谱特性,而这些特性在实际中通常难以满足和获得。svd伪逆法与kalman滤波法虽可用于非平稳退化图像的恢复,但其巨大的计算量致使它们在实际应用中受限。一些基于退化图像模型的恢复技术如同wiener滤波法一样,也需要对所处理的退化图像作出wss和周期边界条件的假设。
但是上述的方法,均存在一个“正约束”问题尚未解决,尽管最大熵法隐含了约束条件,但它涉及到一个高维非线性方程组的求解,而求解这一方程组的计算难度和复杂度极大地限制了其实际应用。因此探索和研发一种可满足在约束条件、又便于实际工程实现、同时还无需广义平稳(wss)假设的退化图像恢复新方法是非常重要和必要的。近年来人工神经网络(ann)技术的发展为研发上述这类图像恢复新方法提供了一条新的技术途径;为此,美国南加州大学y.t.zhou等人提出了一种应用ann技术进行退化图像恢复的新方法。尽管该方法在对退化图像特别是低snr条件下退化图像的恢复方面取得了良好的效果,但由于其时空复杂度十分依赖于待处理图像的尺寸和像素最大灰度电平值的大小,在这些参数值均较大的情况下,这种图像恢复的ann方法在实际中难以实现。
技术实现要素:
本发明实施例提供一种图像恢复方法及装置,以解决现有的图像恢复技术存在实现复杂度较高的问题。
为了解决上述技术问题,本发明实施例提供一种图像恢复方法,包括:
将待处理图像进行分块处理,获取多个分块图像;
依次对每一分块图像进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中目标区域的恢复结果;
根据所有的所述分块图像中目标区域的恢复结果,获取待处理图像的最终图像恢复结果。
可选地,所述将待处理图像进行分块处理,获取多个分块图像,包括:
将待处理图像划分为p×p个分块图像;
其中,待处理图像的尺度为l×l,l为待处理图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;p为分块图像在长度方向上或宽度方向上的分块个数参数;每个分块图像的尺度为j×j,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数,j>4c,c为正整数,且满足p·j-(p-1)·4c=l。
进一步地,所述依次对每一分块图像进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中目标区域的恢复结果,包括:
依次对每一个分块图像中的所有像素进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中的目标区域的恢复结果;
其中,所述分块图像中的目标区域为所述分块图像的中部(j-4c)×(j-4c)的像素所占的区域。
可选地,所述依次对每一个分块图像中的所有像素进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中的目标区域的恢复结果,包括:
对分块图像中第一像素对应的每个神经元进行迭代处理,获取神经元的状态改变量和所述状态改变量引起的神经网络的能量函数的改变量;
更新所述像素对应的图像灰度电平估计量;
若所述神经元的状态改变量为零或所述神经网络的能量函数的改变量大于或等于零,则依次进行所述分块图像中第二像素对应的每个神经元的迭代处理;
在确定网络的能量函数不改变的情况下,输出所述分块图像中目标区域的恢复结果。
进一步地,所述神经元的状态改变量的获取方式为:
获取神经元接收的输入信号;
根据所述输入信号,确定神经元的状态改变量。
进一步地,所述获取神经元接收的输入信号,包括:
分别确定神经元的互联接权和神经元的偏置;
根据所述互联接权和所述偏置,确定神经元接收的输入信号。
具体地,所述神经元的互联接权的获取方式为:
根据公式:
其中,tikn;jlr为第i个像素对应的第k组神经元中的第n个神经元与第j个像素对应的第l组神经元中的第r个神经元之间的互联接权;hpi为具有低通特性的模糊退化矩阵的第p行第i个元素;hpj为具有低通特性的模糊退化矩阵的第p行第j个元素;λ为一常数、且λ≥0;dpi为具有高通特性的分块循环矩阵的第p行第i个元素;dpj为具有高通特性的分块循环矩阵的第p行第j个元素;i=1,2,...,j2,j=1,2,...,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,...,s,l=1,2,...,s,s为神经元分组的总组数;n=1,2,...,r,r=1,2,...,r,r为每组神经元中神经元的总个数,且
具体地,所述神经元的偏置的获取方式为:
根据公式:
其中,iikn为第i个像素对应的第k组神经元中的第n个神经元的偏置;gp为所述待处理图像中的第p个像素的图像灰度电平值;hpi为具有低通特性的模糊退化矩阵的第p行第i个元素;i=1,2,...,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,...,s,s为神经元分组的总组数;n=1,2,...,r,r为每组神经元中神经元的总个数,且
具体地,所述根据所述互联接权和所述偏置,确定神经元接收的输入信号,包括:
根据公式:
其中,uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;tikn;jlr为第i个像素对应的第k组神经元中的第n个神经元与第j个像素对应的第l组神经元中的第r个神经元之间的互联接权;vjlr为第j个像素对应的第l组神经元中的第r个神经元的状态值;iikn为第i个像素对应的第k组神经元中的第n个神经元的偏置;
具体地,所述根据所述输入信号,确定神经元的状态改变量,包括:
根据公式:
其中,δvikn为第i个像素对应的第k组神经元中的第n个神经元的状态改变量;uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;i=1,2,...,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,...,s,s为神经元分组的总组数;n=1,2,...,r,r为每组神经元中神经元的总个数,且
具体地,所述状态改变量引起的神经网络的能量函数的改变量的获取方式为:
根据公式:
其中,δe为第i个像素对应的第k组神经元中的第n个神经元的状态改变量引起的神经网络的能量函数的改变量;uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;δvikn为第i个像素对应的第k组神经元中的第n个神经元的状态改变量;
进一步地,所述更新所述像素对应的图像灰度电平估计量,包括:
根据所述神经元的状态改变量引起的神经网络的能量函数的改变量,获取待更新的像素对应的图像灰度电平估计量;
判断所述图像灰度电平估计量是否满足预设条件;
若所述图像灰度电平估计量满足预设条件,则更新像素对应的图像灰度电平估计量。
具体地,所述根据所述神经元状态改变量引起的神经网络的能量函数的改变量,获取待更新的像素对应的图像灰度电平估计量,包括:
根据公式:
其中,
具体地,所述预设条件为:所述图像灰度电平估计量大于或等于零、且小于或等于m;
其中,m为正整数,其为待处理图像中像素灰度电平的最大取值。
本发明实施例还提供一种图像恢复装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述处理器执行所述计算机程序时实现以下步骤:
将待处理图像进行分块处理,获取多个分块图像;
依次对每一分块图像进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中目标区域的恢复结果;
根据所有的所述分块图像中目标区域的恢复结果,获取待处理图像的最终图像恢复结果。
可选地,所述处理器执行所述将待处理图像进行分块处理,获取多个分块图像的计算机程序时实现以下步骤:
将待处理图像划分为p×p个分块图像;
其中,待处理图像的尺度为l×l,l为待处理图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;p为分块图像在长度方向上或宽度方向上的分块个数参数;每个分块图像的尺度为j×j,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数,j>4c,c为正整数,且满足p·j-(p-1)·4c=l。
进一步地,所述处理器执行所述依次对每一分块图像进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中目标区域的恢复结果的计算机程序时实现以下步骤:
依次对每一个分块图像中的所有像素进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中的目标区域的恢复结果;
其中,所述分块图像中的目标区域为所述分块图像的中部(j-4c)×(j-4c)的像素所占的区域。
可选地,所述处理器执行所述依次对每一个分块图像中的所有像素进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中的目标区域的恢复结果的计算机程序时实现以下步骤:
对分块图像中第一像素对应的每个神经元进行迭代处理,获取神经元的状态改变量和所述状态改变量引起的神经网络的能量函数的改变量;
更新所述像素对应的图像灰度电平估计量;
若所述神经元的状态改变量为零或所述神经网络的能量函数的改变量大于或等于零,则依次进行所述分块图像中第二像素对应的每个神经元的迭代处理;
在确定网络的能量函数不改变的情况下,输出所述分块图像中目标区域的恢复结果。
进一步地,所述处理器执行所述神经元的状态改变量的获取方式的计算机程序时实现以下步骤:
获取神经元接收的输入信号;
根据所述输入信号,确定神经元的状态改变量。
可选地,所述处理器执行所述获取神经元接收的输入信号的计算机程序时实现以下步骤:
分别确定神经元的互联接权和神经元的偏置;
根据所述互联接权和所述偏置,确定神经元接收的输入信号。
具体地,所述处理器执行所述神经元的互联接权的获取方式的计算机程序时实现以下步骤:
根据公式:
其中,tikn;jlr为第i个像素对应的第k组神经元中的第n个神经元与第j个像素对应的第l组神经元中的第r个神经元之间的互联接权;hpi为具有低通特性的模糊退化矩阵的第p行第i个元素;hpj为具有低通特性的模糊退化矩阵的第p行第j个元素;λ为一常数、且λ≥0;dpi为具有高通特性的分块循环矩阵的第p行第i个元素;dpj为具有高通特性的分块循环矩阵的第p行第j个元素;i=1,2,…,j2,j=1,2,…,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,…,s,l=1,2,…,s,s为神经元分组的总组数;n=1,2,…,r,r=1,2,…,r,r为每组神经元中神经元的总个数,且
具体地,所述处理器执行所述神经元的偏置的获取方式的计算机程序时实现以下步骤:
根据公式:
其中,iikn为第i个像素对应的第k组神经元中的第n个神经元的偏置;gp为所述待处理图像中的第p个像素的图像灰度电平值;hpi为具有低通特性的模糊退化矩阵的第p行第i个元素;i=1,2,…,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,…,s,s为神经元分组的总组数;n=1,2,...,r,r为每组神经元中神经元的总个数,且
具体地,所述处理器执行所述根据所述互联接权和所述偏置,确定神经元接收的输入信号的计算机程序时实现以下步骤:
根据公式:
其中,uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;tikn;jlr为第i个像素对应的第k组神经元中的第n个神经元与第j个像素对应的第l组神经元中的第r个神经元之间的互联接权;vjlr为第j个像素对应的第l组神经元中的第r个神经元的状态值;iikn为第i个像素对应的第k组神经元中的第n个神经元的偏置;
具体地,所述处理器执行所述根据所述输入信号,确定神经元的状态改变量的计算机程序时实现以下步骤:
根据公式:
其中,δvikn为第i个像素对应的第k组神经元中的第n个神经元的状态改变量;uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;i=1,2,…,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,…,s,s为神经元分组的总组数;n=1,2,…,r,r为每组神经元中神经元的总个数,且
具体地,所述处理器执行所述状态改变量引起的神经网络的能量函数的改变量的获取方式的计算机程序时实现以下步骤:
根据公式:
其中,δe为第i个像素对应的第k组神经元中的第n个神经元的状态改变量引起的神经网络的能量函数的改变量;uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;δvikn为第i个像素对应的第k组神经元中的第n个神经元的状态改变量;
进一步地,所述处理器执行所述更新所述像素对应的图像灰度电平估计量的计算机程序时实现以下步骤:
根据所述神经元的状态改变量引起的神经网络的能量函数的改变量,获取待更新的像素对应的图像灰度电平估计量;
判断所述图像灰度电平估计量是否满足预设条件;
若所述图像灰度电平估计量满足预设条件,则更新像素对应的图像灰度电平估计量。
具体地,所述处理器执行所述根据所述神经元状态改变量引起的神经网络的能量函数的改变量,获取待更新的像素对应的图像灰度电平估计量的计算机程序时实现以下步骤:
根据公式:
其中,
具体地,所述预设条件为:所述图像灰度电平估计量大于或等于零、且小于或等于m;
其中,m为正整数,其为待处理图像中像素灰度电平的最大取值。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述的图像恢复方法中的步骤。
本发明实施例还提供一种图像恢复装置,包括:
第一获取模块,用于将待处理图像进行分块处理,获取多个分块图像;
输出模块,用于依次对每一分块图像进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中目标区域的恢复结果;
第二获取模块,用于根据所有的所述分块图像中目标区域的恢复结果,获取待处理图像的最终图像恢复结果。
本发明的有益效果是:
上述方案,通过将待处理图像进行分块,得到获取多个分块图像,依次对每一分块图像进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中目标区域的恢复结果,根据所有的所述分块图像中目标区域的恢复结果,获取待处理图像的最终图像恢复结果;此种方式,降低了图像恢复过程中的运算复杂度,具有较强的实时在线处理能力。
附图说明
图1表示应用于本发明实施例的人工神经网络的结构示意图;
图2表示本发明实施例的图像恢复方法的流程示意图;
图3表示本发明实施例的图像恢复装置的模块示意图;
图4表示本发明实施例的图像恢复装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
本发明针对现有的图像恢复技术存在实现复杂度较高的问题,提供一种图像恢复方法及装置。
本发明实施例针对已有的图像恢复的zhou-ann方法的缺陷,提出了一种易于实时在线实现的退化图像恢复的ann新方法,与已有的图像恢复zhou-ann方法相比,由于本发明实施例的方法利用神经元状态变量的群加权方案(group-and-weightscheme)来表示图像像素的灰度电平值以及采用对要恢复的退化图像进行分块序贯处理技术,因而具有低复杂度和实时性强等优点。下面对本发明实施例的主要技术思想进行具体说明如下。
设有一幅具有m+1个灰度电平、且尺度为lxl(其中,l为图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数)的图像0≤f(i,j)≤m(其中,m为正整数,其为图像中像素灰度电平的最大取值),按词典顺序把它排列成一个l2×1的列矢量,如公式一所示:
公式一、
那么,其退化图像
公式二、
其中,
公式三、
公式四、
h为对应于模糊退化函数h(k,1)的模糊退化矩阵,它可用公式五表示为:
公式五、
若图像的模糊退化函数h(k,1)是线性非移变的,且可用公式六表示为:
公式六、
进一步假设图像f(i,j)具有周期边界,则公式五变为下述的分块循环矩阵:
公式七、
其中,hτ用公式八表示为:
公式八、
需要说明的是,这里的τ=0,±1,±2,...,±c。
对于公式二中所提到的退化模型,本发明实施例构造一个用于退化图像恢复的神经网络,具体结构如图1所示,其为一个的l2×n的二维阵列,这里n=s·r,r(其中r为与系统容错相关参数,且1≤r≤m)和s均为正整数,且
记图像矢量第i个分量位置处的第k组第n个神经元为神经元(i,k,n),这里i=1,2,...,l2,k=1,2,...,s,n=1,2,...,r,并且神经元(i,k,n)与神经元(j,l,r)间的互联接权为tikn;jlr,且假设tikn;jlr=tjlr;ikt和tikn;ikn≠0;记神经元(i,k,n)的状态为vikn,其取值仅为0或1,以表示该神经元是抑制状态或兴奋状态,每个神经元(i,k,n)处有一个偏置,记为iikn;那么网络中每个神经元(i,k,n)将随机异步地接收到一个输入信号uikn,即:
公式九、
该信号将反馈到神经元(i,k,n),并按下述公式十的非线性方式来改变神经元的状态:
公式十、
定义神经网络的能量函数e为:
公式十一、
当神经元(i,k,n)的状态发生改变时,将引起网络的能量发生改变,记神经元(i,k,n)的状态改变量为
公式十二、
由于tikn;ikn≠0,所以公式十一的右边取值不一定是非正的,故网络不一定收敛。为使网络收敛,本发明实施例提出一种约束神经元(i,k,n)状态改变的方法,即:若δvikn引起的δe<0,则神经元(i,k,n)的状态允许改变;若δvikn引起的δe≥0,则神经元(i,k,n)的状态将不作改变。由此便保证了神经网络动态演变总是朝着使系统能量函数减小的方向进行直至网络收敛。
神经网络的参数tikn;jlr和iikn可从图像恢复准则函数中求出。事实上,考虑如公式十三所示的图像恢复准则函数:
公式十三、
需要说明的是,λ≥0为一常数,
公式十四、
对于
公式十五、
将公式十五代入公式十三得:
公式十六、
将公式十六减去常数项
公式十七、
公式十八、
注意到tikn;jlr与参数n、r无关,iikn与参数n无关,故记
公式十九、
其中,αij用公式二十表示为:
公式二十、
θi用公式二十一表示为:
公式二十一、
相应地,神经元的状态改变量δvikn用公式二十二表示为:
公式二十二、
所述状态改变量引起的神经网络的能量函数的改变量,用公式二十三表示为:
公式二十三、
对像素对应的图像灰度电平估计量的更新可用公式二十四表示为:
公式二十四、
若神经网络中的神经元访问是序贯进行的,即访问神经元的次序为:
(1,1,1)→…→(1,1,r)→(1,2,1)→…→(1,2,r)→…→(l2,s,1)→…(l2,s,r),那么下一个神经元接收的输入信号用公式二十五获取得到:
公式二十五、uik(n+1)=uikn+δvikn·αii·(r+1)k-1。
具体地,根据公式十九至公式二十五,构造尺度为lxl的退化图像的恢复方法的具体实现过程为:
步骤101,取退化图像
步骤102,依次访问图像中的所有像素,对像素i而言,重复使用公式十九至公式二十五进行迭代直到δvikn=0或δe≥0为止,这时再处理下一个像素(i+1);
这里需要说明的是,此过程中每迭代一次均需检查
步骤103,检查神经网络的能量函数e是否改变,若e不变,则输出
还需要说明的是,为进一步提高上述的退化图像的恢复方法的实时在线处理能力、并减少其空间复杂度,本发明实施例采用一种图像分块序贯处理技术,首先将整幅图像进行分块,然后在每块中调用退化图像的恢复方法进行图像恢复处理。andrewsh和hunt指出,对于公式六记载的线性非移变模糊窗口函数,用公式二记载的退化模型进行有关图像恢复时,由于边界值问题的存在,致使在恢复出来的图像中其前2c个行与列以及倒数前2c个行与列是不正确的,只有中间的(l-4c)×(l-4c)区域是正确的结果。为此,本发明实施例提出下述的图像分块原则和分块图像序贯恢复处理技术:
图像分块原则:对一幅lxl的图像,将其划分成pxp个分块图像bij,i,j=1,...,p,每块为jxj维,这里要求j>4c,c的意义同前。第i行第j列的分块bij与bi,j+1和bi+1,j分别由jx4c和4cxj个像素重叠,而与bi+1,j+1有4cx4c个像素重叠,其中p、j与l、c的关系用公式二十六表示为:
公式二十六、p·j-(p-1)·4c=l。
分块图像序贯恢复处理技术:由于每块图像的退化模型均相同,且为j2×j2的分块循环矩阵。那么在每块bij中,对其中部的(j-4c)×(j-4c)区域调用退化图像的恢复方法进行图像恢复处理直到算法收敛为止,这时再处理下一个分块图像;当所有分块图像均处理结束后,即得整幅退化图像的恢复结果。
综上所述,本发明实施例提出的这种基于ann的退化图像实时在线恢复的方式的具体实现流程为:
步骤201,应用上述的图像分块原则,对待恢复的退化图像进行分块;
步骤202,应用分块序贯处理技术,对所有分块图像调用退化图像的恢复方法进行处理;
这里需要说明的是,因在进行图像恢复时是依次对分块图像的恢复,即按照分块图像的尺度进行图像恢复,例如,按照上述方式进行图像分块后,分块图像的尺度为jxj,则在进行分块图像的恢复时,上述公式十九至二十五中的维度应为jxj,也就是说需要将上述公式十九至二十五中的尺度为lxl的退化图像更换为尺度为jxj的退化图像,以此进行退化图像的恢复。
步骤203,结束处理进程,并输出恢复的结果。
下面对本发明实施例的具体实现方式说明如下。
如图2所示,本发明实施例提供一种图像恢复方法,包括:
步骤21,将待处理图像进行分块处理,获取多个分块图像;
步骤22,依次对每一分块图像进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中目标区域的恢复结果;
步骤23,根据所有的所述分块图像中目标区域的恢复结果,获取待处理图像的最终图像恢复结果;
需要说明的是,在得到每一个分块图像的目标区域的恢复结果后,将所有的恢复结果按照分块图像所在待处理图像的位置,拼接得到最终的图像恢复结果。
可选地,所述步骤21的具体实现方式为:
将待处理图像划分为p×p个分块图像;
其中,待处理图像的尺度为l×l,l为待处理图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;p为分块图像在长度方向上或宽度方向上的分块个数参数;每个分块图像的尺度为j×j,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数,j>4c,c为正整数,且满足p·j-(p-1)·4c=l。
需要说明的是,因在进行图像恢复时是依次对分块图像的恢复,即按照分块图像的尺度进行图像恢复,例如,按照上述方式进行图像分块后,分块图像的尺度为jxj,则在进行分块图像的恢复时,应按照尺度为jxj的退化图像,进行退化图像的恢复。
具体地,所述依次对每一分块图像进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中目标区域的恢复结果,包括:
依次对每一个分块图像中的所有像素进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中的目标区域的恢复结果;
其中,所述分块图像中的目标区域为所述分块图像的中部(j-4c)×(j-4c)的像素所占的区域。
进一步地,所述依次对每一个分块图像中的所有像素进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中的目标区域的恢复结果,包括:
对分块图像中第一像素对应的每个神经元进行迭代处理,获取神经元的状态改变量和所述状态改变量引起的神经网络的能量函数的改变量;
更新所述像素对应的图像灰度电平估计量;
若所述神经元的状态改变量为零或所述神经网络的能量函数的改变量大于或等于零,则依次进行所述分块图像中第二像素对应的每个神经元的迭代处理;
在确定网络的能量函数不改变的情况下,输出所述分块图像中目标区域的恢复结果。
进一步地,所述神经元的状态改变量的获取方式为:
获取神经元接收的输入信号;
根据所述输入信号,确定神经元的状态改变量。
需要说明的是,所述获取神经元接收的输入信号,包括:
分别确定神经元的互联接权和神经元的偏置;
根据所述互联接权和所述偏置,确定神经元接收的输入信号。
具体地,所述神经元的互联接权的获取方式为:
利用公式十七(因本发明实施例是对分块图像的处理,且每一个分块图像的尺度均为jxj,因此,需要将公式十七中的l替换为j):
其中,tikn;jlr为第i个像素对应的第k组神经元中的第n个神经元与第j个像素对应的第l组神经元中的第r个神经元之间的互联接权;hpi为具有低通特性的模糊退化矩阵的第p行第i个元素;hpj为具有低通特性的模糊退化矩阵的第p行第j个元素;λ为一常数、且λ≥0;dpi为具有高通特性的分块循环矩阵的第p行第i个元素;dpj为具有高通特性的分块循环矩阵的第p行第j个元素;i=1,2,…,j2j=1,2,...,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,...,s,l=1,2,...,s,s为神经元分组的总组数;n=1,2,…,r,r=1,2,...,r,r为每组神经元中神经元的总个数,且
需要说明的是,所述神经元的偏置的获取方式为:
利用公式十八(因本发明实施例是对分块图像的处理,且每一个分块图像的尺度均为jxj,因此,需要将公式十八中的l替换为j):
其中,iikn为第i个像素对应的第k组神经元中的第n个神经元的偏置;gp为所述待处理图像中的第p个像素的图像灰度电平值;hpi为具有低通特性的模糊退化矩阵的第p行第i个元素;i=1,2,...,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,…,s,s为神经元分组的总组数;n=1,2,...,r,r为每组神经元中神经元的总个数,且
需要说明的是,所述根据所述互联接权和所述偏置,确定神经元接收的输入信号,包括:
根据公式:
其中,uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;tikn;jlr为第i个像素对应的第k组神经元中的第n个神经元与第j个像素对应的第l组神经元中的第r个神经元之间的互联接权;vjlr为第j个像素对应的第l组神经元中的第r个神经元的状态值;iikn为第i个像素对应的第k组神经元中的第n个神经元的偏置;
具体地,所述根据所述输入信号,确定神经元的状态改变量,包括:
根据公式二十二:
其中,δvikn为第i个像素对应的第k组神经元中的第n个神经元的状态改变量;uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;i=1,2,…,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,…,s,s为神经元分组的总组数;n=1,2,…,r,r为每组神经元中神经元的总个数,且
具体地,所述状态改变量引起的神经网络的能量函数的改变量的获取方式为:
根据公式二十三:
其中,δe为第i个像素对应的第k组神经元中的第n个神经元的状态改变量引起的神经网络的能量函数的改变量;uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;δvikn为第i个像素对应的第k组神经元中的第n个神经元的状态改变量;
具体地,所述更新所述像素对应的图像灰度电平估计量,包括:
根据所述神经元的状态改变量引起的神经网络的能量函数的改变量,获取待更新的像素对应的图像灰度电平估计量;
判断所述图像灰度电平估计量是否满足预设条件;
若所述图像灰度电平估计量满足预设条件,则更新像素对应的图像灰度电平估计量。
需要说明的是,所述根据所述神经元状态改变量引起的神经网络的能量函数的改变量,获取待更新的像素对应的图像灰度电平估计量,包括:
根据公式二十四:
其中,
具体地,所述预设条件为:所述图像灰度电平估计量大于或等于零、且小于或等于m。
需要说明的是,与现有的图像恢复zhou-ann技术相比,本发明实施例提出的图像恢复方法具有以下的优点:
a、在保持图像恢复性能相同的情况下,本发明实施例的图像恢复方法的时-空复杂度远小于zhou-ann算法,因而比zhou-ann算法运行速度块、占用存储空间小;
b、本发明实施例的图像恢复方法克服了获取整幅退化图像数据而造成的时间等待问题,因而具有较强的实时在线处理能力。
如图3所示,本发明实施例还提供一种图像恢复装置30,包括:
第一获取模块31,用于将待处理图像进行分块处理,获取多个分块图像;
输出模块32,用于依次对每一分块图像进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中目标区域的恢复结果;
第二获取模块33,用于根据所有的所述分块图像中目标区域的恢复结果,获取待处理图像的最终图像恢复结果。
可选地,所述第一获取模块31,用于:
将待处理图像划分为p×p个分块图像;
其中,待处理图像的尺度为l×l,l为待处理图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;p为分块图像在长度方向上或宽度方向上的分块个数参数;每个分块图像的尺度为j×j,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数,j>4c,c为正整数,且满足p·j-(p-1)·4c=l。
进一步地,所述输出模块32,用于:
依次对每一个分块图像中的所有像素进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中的目标区域的恢复结果;
其中,所述分块图像中的目标区域为所述分块图像的中部(j-4c)×(j-4c)的像素所占的区域。
可选地,所述输出模块32,包括:
第一获取子模块,用于对分块图像中第一像素对应的每个神经元进行迭代处理,获取神经元的状态改变量和所述状态改变量引起的神经网络的能量函数的改变量;
更新子模块,用于更新所述像素对应的图像灰度电平估计量;
处理子模块,用于若所述神经元的状态改变量为零或所述神经网络的能量函数的改变量大于或等于零,则依次进行所述分块图像中第二像素对应的每个神经元的迭代处理;
输出子模块,用于在确定网络的能量函数不改变的情况下,输出所述分块图像中目标区域的恢复结果。
进一步地,所述第一获取子模块进行神经元的状态改变量的获取时,包括:
第一获取单元,用于获取神经元接收的输入信号;
第一确定单元,用于根据所述输入信号,确定神经元的状态改变量。
进一步地,所述第一获取单元,包括:
第一确定子单元,用于分别确定神经元的互联接权和神经元的偏置;
第二确定子单元,用于根据所述互联接权和所述偏置,确定神经元接收的输入信号。
具体地,所述第一确定子单元进行神经元的互联接权的获取时,用于实现:
根据公式:
其中,tikn;jlr为第i个像素对应的第k组神经元中的第n个神经元与第j个像素对应的第l组神经元中的第r个神经元之间的互联接权;hpi为具有低通特性的模糊退化矩阵的第p行第i个元素;hpj为具有低通特性的模糊退化矩阵的第p行第j个元素;λ为一常数、且λ≥0;dpi为具有高通特性的分块循环矩阵的第p行第i个元素;dpj为具有高通特性的分块循环矩阵的第p行第j个元素;i=1,2,…,j2,j=1,2,…,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,…,s,l=1,2,…,s,s为神经元分组的总组数;n=1,2,…,r,r=1,2,…,r,r为每组神经元中神经元的总个数,且
具体地,所述第一确定子单元进行神经元的偏置的获取时,用于实现:
根据公式:
其中,iikn为第i个像素对应的第k组神经元中的第n个神经元的偏置;gp为所述待处理图像中的第p个像素的图像灰度电平值;hpi为具有低通特性的模糊退化矩阵的第p行第i个元素;i=1,2,…,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,...,s,s为神经元分组的总组数;n=1,2,...,r,r为每组神经元中神经元的总个数,且
进一步地,所述第二确定子单元,用于:
根据公式:
其中,uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;tikn;jlr为第i个像素对应的第k组神经元中的第n个神经元与第j个像素对应的第l组神经元中的第r个神经元之间的互联接权;vjlr为第j个像素对应的第l组神经元中的第r个神经元的状态值;iikn为第i个像素对应的第k组神经元中的第n个神经元的偏置;
进一步地,所述第一确定单元,用于:
根据公式:
其中,δvikn为第i个像素对应的第k组神经元中的第n个神经元的状态改变量;uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;i=1,2,...,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,...,s,s为神经元分组的总组数;n=1,2,...,r,r为每组神经元中神经元的总个数,且
具体地,所述第一获取子模块进行所述状态改变量引起的神经网络的能量函数的改变量的获取时,用于:
根据公式:
其中,δe为第i个像素对应的第k组神经元中的第n个神经元的状态改变量引起的神经网络的能量函数的改变量;uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;δvikn为第i个像素对应的第k组神经元中的第n个神经元的状态改变量;
进一步地,所述更新子模块,包括:
第二获取单元,用于根据所述神经元的状态改变量引起的神经网络的能量函数的改变量,获取待更新的像素对应的图像灰度电平估计量;
判断单元,用于判断所述图像灰度电平估计量是否满足预设条件;
更新单元,用于若所述图像灰度电平估计量满足预设条件,则更新像素对应的图像灰度电平估计量。
具体地,所述第二获取单元,用于:
根据公式:
其中,
具体地,所述预设条件为:所述图像灰度电平估计量大于或等于零、且小于或等于m;
其中,m为正整数,其为待处理图像中像素灰度电平的最大取值。
需要说明的是,该装置的实施例是与上述方法实施例一一对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
如图4所示,本发明实施例还提供一种图像恢复装置,包括处理器41、存储器42及存储在所述存储器42上并可在所述处理器41上运行的计算机程序;其中,所述处理器41用于读取存储器中的程序,执行下列过程:
将待处理图像进行分块处理,获取多个分块图像;
依次对每一分块图像进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中目标区域的恢复结果;
根据所有的所述分块图像中目标区域的恢复结果,获取待处理图像的最终图像恢复结果。
需要说明的是,在图4中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器41代表的一个或多个处理器和存储器42代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。针对不同的装置,处理器41负责管理总线架构和通常的处理,存储器42可以存储处理器41在执行操作时所使用的数据。
可选地,所述处理器执行所述将待处理图像进行分块处理,获取多个分块图像的计算机程序时实现以下步骤:
将待处理图像划分为p×p个分块图像;
其中,待处理图像的尺度为l×l,l为待处理图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;p为分块图像在长度方向上或宽度方向上的分块个数参数;每个分块图像的尺度为j×j,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数,j>4c,c为正整数,且满足p·j-(p-1)·4c=l。
进一步地,所述处理器执行所述依次对每一分块图像进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中目标区域的恢复结果的计算机程序时实现以下步骤:
依次对每一个分块图像中的所有像素进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中的目标区域的恢复结果;
其中,所述分块图像中的目标区域为所述分块图像的中部(j-4c)×(j-4c)的像素所占的区域。
可选地,所述处理器执行所述依次对每一个分块图像中的所有像素进行处理,直到所述分块图像对应的神经网络中所有神经元的状态改变量为零或神经网络的能量函数的改变量大于或等于零,输出所述分块图像中的目标区域的恢复结果的计算机程序时实现以下步骤:
对分块图像中第一像素对应的每个神经元进行迭代处理,获取神经元的状态改变量和所述状态改变量引起的神经网络的能量函数的改变量;
更新所述像素对应的图像灰度电平估计量;
若所述神经元的状态改变量为零或所述神经网络的能量函数的改变量大于或等于零,则依次进行所述分块图像中第二像素对应的每个神经元的迭代处理;
在确定网络的能量函数不改变的情况下,输出所述分块图像中目标区域的恢复结果。
进一步地,所述处理器执行所述神经元的状态改变量的获取方式的计算机程序时实现以下步骤:
获取神经元接收的输入信号;
根据所述输入信号,确定神经元的状态改变量。
可选地,所述处理器执行所述获取神经元接收的输入信号的计算机程序时实现以下步骤:
分别确定神经元的互联接权和神经元的偏置;
根据所述互联接权和所述偏置,确定神经元接收的输入信号。
具体地,所述处理器执行所述神经元的互联接权的获取方式的计算机程序时实现以下步骤:
根据公式:
其中,tikn;jlr为第i个像素对应的第k组神经元中的第n个神经元与第j个像素对应的第l组神经元中的第r个神经元之间的互联接权;hpi为具有低通特性的模糊退化矩阵的第p行第i个元素;hpj为具有低通特性的模糊退化矩阵的第p行第j个元素;λ为一常数、且λ≥0;dpi为具有高通特性的分块循环矩阵的第p行第i个元素;dpj为具有高通特性的分块循环矩阵的第p行第j个元素;i=1,2,...,j2,j=1,2,...,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,…,s,l=1,2,…,s,s为神经元分组的总组数;n=1,2,…,r,r=1,2,…,r,r为每组神经元中神经元的总个数,且
具体地,所述处理器执行所述神经元的偏置的获取方式的计算机程序时实现以下步骤:
根据公式:
其中,iikn为第i个像素对应的第k组神经元中的第n个神经元的偏置;gp为所述待处理图像中的第p个像素的图像灰度电平值;hpi为具有低通特性的模糊退化矩阵的第p行第i个元素;i=1,2,…,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,…,s,s为神经元分组的总组数;n=1,2,...,r,r为每组神经元中神经元的总个数,且
具体地,所述处理器执行所述根据所述互联接权和所述偏置,确定神经元接收的输入信号的计算机程序时实现以下步骤:
根据公式:
其中,uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;tikn;jlr为第i个像素对应的第k组神经元中的第n个神经元与第j个像素对应的第l组神经元中的第r个神经元之间的互联接权;vjlr为第j个像素对应的第l组神经元中的第r个神经元的状态值;iikn为第i个像素对应的第k组神经元中的第n个神经元的偏置;
具体地,所述处理器执行所述根据所述输入信号,确定神经元的状态改变量的计算机程序时实现以下步骤:
根据公式:
其中,δvikn为第i个像素对应的第k组神经元中的第n个神经元的状态改变量;uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;i=1,2,…,j2,j为分块图像的尺度参数,其表示长度方向上或宽度方向上的像素的个数;k=1,2,…,s,s为神经元分组的总组数;n=1,2,…,r,r为每组神经元中神经元的总个数,且
具体地,所述处理器执行所述状态改变量引起的神经网络的能量函数的改变量的获取方式的计算机程序时实现以下步骤:
根据公式:
其中,δe为第i个像素对应的第k组神经元中的第n个神经元的状态改变量引起的神经网络的能量函数的改变量;uikn为第i个像素对应的第k组神经元中的第n个神经元接收的输入信号;δvikn为第i个像素对应的第k组神经元中的第n个神经元的状态改变量;
进一步地,所述处理器执行所述更新所述像素对应的图像灰度电平估计量的计算机程序时实现以下步骤:
根据所述神经元的状态改变量引起的神经网络的能量函数的改变量,获取待更新的像素对应的图像灰度电平估计量;
判断所述图像灰度电平估计量是否满足预设条件;
若所述图像灰度电平估计量满足预设条件,则更新像素对应的图像灰度电平估计量。
具体地,所述处理器执行所述根据所述神经元状态改变量引起的神经网络的能量函数的改变量,获取待更新的像素对应的图像灰度电平估计量的计算机程序时实现以下步骤:
根据公式:
其中,
具体地,所述预设条件为:所述图像灰度电平估计量大于或等于零、且小于或等于m;
其中,m为正整数,其为待处理图像中像素灰度电平的最大取值。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的图像恢复方法中的步骤。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。