图像修复三: Image Completion Approaches Using the Statistics of Similar Patches

前面介绍了基于边界优先级的图像填充和基于投票加权的填充方式,再实现了另外一个基于graph-cut的算法,应该算是实现的最后一个图像填充传统算法了。貌似目前用传统算法的已经不多了,看到Github上传统算法star基本个位数,star比较高的基本都是deep learning的项目,感觉时代大潮席卷而过,deep learning毕竟可以通过训练学习的方式修复原本不存在于图片中的信息,仅仅这一点,是传统算法无论如何都逾越不了的。之后的工作中深度学习的应用也会更广泛,

Contribution

这篇papaer是hekaiming14年发的PAMI, 其主要贡献点是patch offset的稀疏性。
自然图像中存在自相似的冗余性,其patch块之间的偏移量也存在稀疏的特性,基本集中在几个点上。这篇paper首先计算出k个主要的offset,然后对图片进行offset然后堆叠起来,后续的操作就和photomontage是一样的了,通过设计data term和smooth term,对图像进行Graph-Cut后,最后利用Gradient-domain fusion的操作融合,减少边界缝隙的影响。

dominate offsets

图像patch的offset可以通过PatchMatch,CSH等算法快速计算出图像中每一个patch对应最近邻的偏移量直方图。 对于直方图进行简单的滤波和非极大值抑制,即可得到图像中最大的k个dominate offsets.

一个简单的样例如下。

原图 offsets histogram
在这里插入图片描述 偏移值

Graph-based inpainting

不同offset的图像可以看作一个stack堆叠起来,作为待填充区域的候选值,也就形成了一个graph。 每个需要填充的点对应于图的节点,该节点对应的offset值则作为需要获得的标签,inpainting问题转化为一个多标签的问题,找到每个像素点对应的offset也就完成了图像的填充。
通过data term和smooth term 计算图的最小割,这里我是用的GCO-v3.0开源软件实现的。

E ( L ) = ∑ x ∈ Ω E ( L ( x ) ) + ∑ ( x , x ′ ) ∣ x ∈ Ω , x ′ ∈ Ω E s ( L ( x ) , L ( x ′ ) ) E(L) = \sum_{x \in \Omega}E(L(x)) + \sum_{(x,x')|x \in \Omega, x' \in \Omega}E_s(L(x),L(x')) E(L)=

  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值