基于显著结构的图像修复
2020-04-25赵洋
赵洋
(四川大学计算机学院,成都610065)
0 引言
现今社会中随着科技的发展,相机、手机等摄影设备逐渐普及,数字图像的应用愈加广泛。但伴随着时间的推移,也出现了一些问题,如数字图像很有可能因为若干如存储介质磨损等原因致使图像质量下降。而图像修复正是一种改善图像质量的技术,按照一定规律对缺失部分图像进行补全,修复的最终目的是使得补全后的图像尽可能接近原图像。
图像修复最初为专业修复师对油画、壁画等文艺品的修复工作。艺术品往往因为年限久远,温度、湿度等保存条件不当出现斑驳、脱落等情况,使得艺术品无法呈现其原有的光彩。手工修复工作对修复者的要求极高,不仅体现在修复者的手工能力,也体现在修复者对图像的理解,欣赏水平上。国外某壁画的修复就受限于修复者的专业水准,使得时代气息浓厚的壁画变成了现代的壁画。手工修复容易导致艺术品受到二次伤害。基于上述原因,数字图像修复技术使用扫描的方式得到图像,再对其进行修复,使用该方法可减少对艺术品的二次伤害,同时也可以通过不同修复技术选择最贴近原图的修复图像[10]。
近年来,结合物理学、视觉学和计算机视觉等的交叉学科,图像修复技术、修复水平飞速提升,并逐渐形成了四种图像修复方法:
(1)基于偏微分的方法;
(2)基于稀疏表示的方法;
(3)基于样本块的方法;
(4)基于深度学习的方法。
1 研究背景与意义
1.1 图像修复目标
图像修复该技术源于修补图片。在传统工艺中,专业的修复师应当实现以下目标:
(1)视待修复图像全局情况填补缺口,使得修复后的图像整体和谐,统一;
(2)在缺口,即待修复区域四周结构延续到缺口内部;
(3)缺口内部可以被四周结构的延伸划分为若干区域,每个区域填充与四周边界相似的颜色;
(4)待修复部分细节自然。
1.2 图像修复应用
(1)去除划痕等[10]:老照片因为时间久,保管不善等原因,照片容易出现划痕、折痕、刮痕等破损部分,通过图像修复技术,可以使得图像呈现没有破损的样子。老电影因为介质遭受磨损使得图像被破坏,使用人工修复效率较慢,而使用数字图像处理技术可以大大提升修复效率,节省成本。
(2)移除特定目标:对于已有的图像,存在某些场合想扣去部分图像。如想去掉人像的眼镜;去掉相片的相机水印;想得到没有人或移动物体的完整风景;想去除某视频字幕等。
(3)其他图像处理领域:在图像处理领域,目标被遮挡是影响效果的主要原因之一。如姿势识别领域中,目标被遮挡可能导致某些重要信息如重要的骨骼点缺失。在医学成像领域中,受到机器与采集方式的约束,可能会出现图像模糊或信息缺失等情况,通过图像修复技术,可以提高图像质量,使得医生在诊断时有理有据。
1.3 国内外研究进展
为达到上述目标,国内外许多科研人员经过若干年的不懈努力,提出各种不同的方法,取得了一定的成果。目前,图像修复技术主要分为以下方向:基于偏微分的方法、基于样本块的方法、基于稀疏的方法、基于深度学习的方法。
基于偏微分的方法本质上基于热扩散原理,将已知区域的图像信息沿着等照线扩散到破损区域来进行修复,修复过程通过对三阶偏微分方程进行求解实现,加入异向扩散方程,适用于修复小尺度破损的图像,其典型方法如TV、CDD 等。TV[1]算法即Total Variation全变分修复方法,该方法利用变分法求解欧拉-拉格朗日方程,将图像修复问题转换为求最优问题。CDD[2]算法即曲率驱动扩散修复方法,该方法用梯度与曲率来约束扩散系数,使得边缘信息较为明了,但在修复区域存在曲率角度较大的角点时,容易导致边缘不平滑的问题[10]。
基于稀疏的方法主要基于稀疏理论,其假设自然信号能被压缩;采用学习字典的方式,即根据大量样本图像和输入的有效图像估计学习字典。稀疏的修复方法容易造成伪影。
基于深度学习的方法比较热门,该类方法可以提取到待修复对象的高级语义信息的特征,一定程度上与实际人工修复图像较为类似,比较适用于大区域的修复。该类方法通过训练学习大量数据得到训练样本间的非线性映射关系。从具体实施方案来看,可以分为以下若干分类:基于卷积自编码网络(CAE)[5,7]、基于对抗生成网络(GAN)[11]的修复方式、基于循环神经网络(RNN)[6]的图像修复方式。
基于样本块的方法主要思想如下:以像素块为单位进行修复,在图像已知区域内搜索与待修复块相似的样本块。该种算法的经典方法为Criminisi 算法,先计算待修复样本块集合的优先级,选取优先级最大的待修复块进行修复,在已知区域内计算候选块与待修复块的相似度,选取最为相似的样本块填充至待修复块上。后续逐渐提出了基于马尔科夫随机场,置信传播等图像修复算法。
2 Criminisi修复算法介绍
Criminisi[3]修复算法通过计算优先级,先修复结构较为复杂的部分,再修复平滑部分。该算法如图1所示。
图1
Ω 为待修复(目标)区域,Φ 为完好区域,∂Ω 为待修复区域边界,Ψp为∂Ω 上点p 为中心的待修复块,np为点p 的法线,∇I⊥p为点P 的等照度线。
2.1 优先级
Criminisi 算法的优先级分为置信度与数据项部分:
P(p)=C(p)*D(p) (1)
其中C(p)为置信度部分,代表以点p 为中心的待修复块的所有像素平均置信度,置信度越大,越该优先修复,其公式如下:
其中i 为待修复样本块中已知的像素点,当p ∈Ω时,C(p)=1,否则C(p)=0。
数据项D(p)为待修复样本块的结构特征,其数值越大,越该先修复该块,其公式如下:
其中δ=255。
2.2 样本块的匹配
在通过2.1 小节的计算后,得到当前优先级最高的样本块Ψpˆ,在已知区域Φ 中寻找匹配块Ψqˆ来修复图像,经过不断计算,直到遍历Ω 为止。匹配的规则如下:
其中d(Ψpˆ,Ψqˆ)为Ψpˆ与最佳匹配块Ψqˆ的对应像素点的像素差的平方和,其公式定义如下:
其中m,n 分别代表样本块的长度,宽度;pij,qij分别代表Ψpˆ,Ψq像素块中已知的像素点的值。当该公式取得最小,即Ψq为所求的Ψpˆ的最佳匹配块Ψqˆ。
随着2.1 与2.2 小节中算法的不断迭代,未知区域的边界也需要更新,即:
C(p)=C(pˆ),p ∈Ψpˆ⋂Ω (7)
其中pˆ是具有最高优先权的像素点,p 点为选择的优先级最高的样本快Ψpˆ的中心像素点。
3 本文算法
第2 节中所介绍的Criminisi 算法,C(p)与D(p)相互补充又互相制约,C(p)越靠近未知区域中心,其比值越小,D(p)使得修复过程按照求得的等照线方向进行。该算法的缺陷在于置信项C(p)在迭代过程中迅速下降最终趋于0,使得D(p)逐渐失效,最终导致算法修复过程中并没有按照算法本身的思想进行修复。
针对上述原因,对该算法的改进如下。
3.1 优先级的改进
改进后的优先级公式为:
P(p)=αC(p)+βD(p)+γE(p) (8)
其中α,β,γ 均为正数,且α+β+γ=1。
D(p) 与Criminisi 算法中D(p) 相同,C(p) 的改进如下:
对于点p 为中心的待修复样本块Ψpˆ,此时该样本块的边长为h,以点p 为中心,获取边长为λh 的样本块Ψp˜。对Ψp˜依次做二值化,高斯模糊处理,随后对该样本块通过用Canny 算子求其边缘[8],得到样本块Ψp',此时C(p)的计算公式如下:
优先级计算公式中,边缘项E(p)的定义如下:
其中E(i)[9]定义如下:
其中E 的确定规则如下:
对图像I 作高斯模糊处理,对处理后的图像作小波变换求图像的显著边缘E',因为在整张图像中,掩膜边缘过于显著,因此需要将掩膜边缘从E'中扣去得到显著边缘E。
3.2 优先级的更新
在Criminisi 算法中,随着算法的迭代,后修复的像素部分并未使用已修复的部分来修复其他区域,因此做出改进如下:
n=boundary(Ω') (12)
其中Ω'为某阶段待修复的部分,n 为Ω'边缘像素点的数目。
令m=φn ,在经过m 次修复后需要重新计算掩膜、优先级等信息,修复迭代。
3.3 样本块的匹配
对于样本块的匹配,采用文献[4]的非局部纹理相似性匹配公式,其定义如下:
其中⊗2 为逐项幂运算符,⊕为逐项乘运算符,Gpˆ定义如下:
Gpˆ=[G(Ψpˆ(l));l={1,2,…,m2}] (14)
高斯核G 在像素点k 的权重如下:
其中(x1,y1) 为待修复块已知区域的几何中心,(x0,y0) 为带修复块未知区域的几何中心,计算公式如下:
其中 |Ψpˆ⋂Ωc|为待修复块已知区域像素的数目,|Ψpˆ⋂Ω |为待修复块未知区域像素的数目。
4 实验结果与分析
上述参数α,β,γ,λ 分别为0.3,0.4,0.3,1.5。上述算法的实验结果如图2-4。
图2
图3
图4
上述三组图片为实验所得图片,第一列为带掩膜的待修复图像,第二列为Criminisi 算法的修复结果,第三列为提出的算法的修复结果。由第一组图像,图2可以看出,某些情况下本文给出的方法与Criminisi 算法结果相似。
由第二组图像,图3 可以看出,Criminisi 算法出现了明显不应该出现的纹理,即海洋的纹理中出现了沙滩的纹理。而本文提出的算法相较于改进前的算法没有明显违和的纹理。
由第三组图像,图4 可以看出,Criminisi 算法的结果在掩膜中间因为置信项过小,数据项失效,即在掩膜较大,在修复过程中掩膜中部图像并未使用已修复图像的信息。本文给出的算法相较于改进前的算法图像更为自然。
5 结语
本文给出了基于Criminisi 算法的改进算法,主要针对该算法的优先级改进其置信项,增添了显著边缘项;在修复过程中使用了已经修复好的部分信息,即修复过的部分样本块作为候选块与待修复块进行匹配;采用非局部的纹理信息相似来匹配候选块与待修复快。实验证明,改进后的算法相较于改进前,效果有较大的提升。