- opencv中图像修复算法shiftMap实际是复现了2012年何恺明大神写的一篇文章Statistics of Patch
Offsets for Image Completion,并非09年的Shift-Map Image
Editing,下面简单介绍何恺明大神论文的内容:
1.同样是基于graph-cut(图割)的算法,相较于09年的shiftMap算法,何考虑到图割的标签数量太多(一幅图像大约10e4-10e6个),一是影响求解效率,二是会使得图像碎片化严重。并且他注意到自然图像的像素间存在自相似的纹理,并且大多数有相似性纹理的像素对之间具有相同的偏移量。这样就可以通过统计K个占比较高的偏移量来减少标签个数,提高求解效率。
大致流程:
①计算出K个主要的offset值
对于图像中每个像素,利用8*8的卷积核在图像中其他区域搜索与其最相似的像素(需要填充区域直接跳过),并记录下他们之间的偏移量;依次找到全图所有像素点的offset值,然后建立二维直方图,统计所有的offset值,取得分最高的K(默认60)个offset值作为图像的标签项。
②计算数据项
③计算平滑项
④图割求解
⑤按照每个像素的offset值取相应的纹理进行填充
可参考博客:https://blog.csdn.net/weixin_42386880/article/details/86550921
原文:http://kaiminghe.com/publications/eccv12completion.pdf