图像修复一:Region Filling and Object Removal by Exemplar-Based Inpainting

本文简单解读下 Criminisi 等人论文"Region Filling and Object Removal by Exemplar-Based Inpainting.2004,TIP"中的基于纹理合成的图像补全方法:

该方法结合了"texture synthesis"(通过纹理样图生成大图[1])与"inpainting"(基于微分方程填充图像中的细缝[2]),很好地实现了大的目标物体的移除.

图像修复一:Region Filling and Object Removal by Exemplar-Based Inpainting_第1张图片 图像修复一:Region Filling and Object Removal by Exemplar-Based Inpainting_第2张图片

                Structure propogation by exemplar-based texture synthesis

将图像分为已知区域(source region)和待填充或移除区域(target region),移除从target region的边界开始,以边界点p为中心,设置块的大小,形成块(图b),然后在已知区域中根据匹配准则找到相似的块,如图c以q'及q"为中心的两个块,最后选取最佳匹配的块进行填充(图d).

算法主要由计算优先级,搜索及复制三个部分组成:

1)优先级决定了移除顺序,保证图像中的线性结构传播,目标边界连通;

2)搜索即根据纹理相似距离(平方差距离和SSD)在已知区域中找到最佳匹配块;

3)复制即将最佳匹配块复制到对应的目标区域位置

优先级计算
图像修复一:Region Filling and Object Removal by Exemplar-Based Inpainting_第3张图片
图像修复一:Region Filling and Object Removal by Exemplar-Based Inpainting_第4张图片

算法描述
1. 提取目标区域的初始边界
2. 重复以下步骤
   1)判断是否还存在待填充区域,如果不存在,则退出
   2)计算每一个边缘像素点块的优先级
   3)选出最大优先级点,基于该点查找最佳匹配块
   4)将最佳匹配块的值复制到对应的目标区域
   5)更新目标区域的边界与置信度值

移除结果
                   图像修复一:Region Filling and Object Removal by Exemplar-Based Inpainting_第5张图片    图像修复一:Region Filling and Object Removal by Exemplar-Based Inpainting_第6张图片    图像修复一:Region Filling and Object Removal by Exemplar-Based Inpainting_第7张图片

matlab code : http://www.cc.gatech.edu/~sooraj/inpainting/   或 http://www.cc.gatech.edu/home/sooraj/inpainting/ 或 http://white.stanford.edu/teach/images/5/55/ExemplarBasedInpainting.zip

c代码参考 : http://www.pudn.com/downloads137/sourcecode/graph/texture_mapping/detail587532.html

参考文献:
[1] Texture Synthesis by Non-parametric Sampling. ICCV, 1999.    http://www.rubinsteyn.com/comp_photo/texture/  含有matlab code 可以比较与inpainting的异同
[2] Image inpainting. SIAM, 2000.  PDE-based,结构传播——“isophote” , 即优先级中数据项计算
[3] Fragment-Based Image Completion. SIGGRAPH, 2003.  提出Confidence  term,顺序填充









你可能感兴趣的:(图像处理)