logo资料库

patchmatch 算法细节.pdf

第1页 / 共53页
第2页 / 共53页
第3页 / 共53页
第4页 / 共53页
第5页 / 共53页
第6页 / 共53页
第7页 / 共53页
第8页 / 共53页
资料共53页,剩余部分请下载后查看
目录 摘要................................................................ 2 ABSTRACT ......................................................... 3 第 1 章 简介 ....................................................... 4 1.1 研究背景 ................................................... 4 1.2 研究内容 ................................................... 5 第 2 章 相关工作 ................................................... 6 2.1 图像补全 ................................................... 6 2.2 patchmatch ................................................. 7 2.3 相关工作 ................................................... 8 2.4 预期目标 ................................................... 9 第 3 章 预备知识 .................................................. 10 3.1 专业图像开发库——opencv .................................. 10 3.2 Linux/Unix 下的编译器——GCC .............................. 11 3.3 Linux 下 IDE——Eclipse .................................... 13 第 4 章 图像补全 .................................................. 15 4.1 简介 ...................................................... 15 4.2 区域的相似性检测函数 ...................................... 16 4.3 优化方法 .................................................. 17 4.4 具体算法 .................................................. 19 4.5 patchmatch ................................................ 20
山东大学本科毕业论文 第 5 章 patchmatch ................................................ 21 5.1 简介 ...................................................... 21 5.2 具体算法 .................................................. 22 5.3 初始化 .................................................... 23 5.4 迭代之传播过程 ............................................ 24 5.5 迭代之随机搜索过程 ........................................ 24 第 6 章 算法实现 .................................................. 26 6.1 主程序框架 ................................................ 26 6.2 主函数类 .................................................. 26 6.3 patchmatch 方法 ........................................... 29 6.4 图像补全 .................................................. 31 第 7 章 实验结果对比 .............................................. 33 7.1 说明 ...................................................... 33 7.2 第一个结果 ................................................ 33 7.3 第二个结果 ................................................ 36 7.4 第三个结果 ................................................ 38 7.5 总结 ...................................................... 40 谢辞............................................................... 41 参考文献........................................................... 42 附录 1 英文原文 .................................................... 45 附录 2 译文 ........................................................ 50 1
山东大学本科毕业论文 基于小型区域匹配的图像补全 摘要 随着计算机存储能力和运算能力的不断上升, 多媒体技术的不断发展, 图 像逐渐成为信息的重要载体。 与此同时, 人们对于图像处理的需求也在不断的 增加, 随之而来的, 还有各种各样的图像编辑方法。 而图像补全, 正是图像 编辑方法中重要而不可缺少的一环。 本文根据已有算法, 实现了一种基于 patchmatch(小型区域匹配, 下文 同此)的图像补全方法, 不同于以往的是, 该方法使用了一种基于区域结构来 完成图像补全的全新框架。 在这里, 补全问题被描述为一个全局迭代优化问题。 同时, 新方法还定义了新的全局优化函数, 并提出了新的求解思路和算法。 和传统方法比起来, 新方法生成的结果使图像更具有一致性, 显得更加 自然。 同时, 使用 patchmatch 方法进行匹配项搜索, 大大降低了图像补全所 需要的运行时间和空间, 进一步增加了该方法的应用范围。 最后, 本文把新 方法生成的结果和 adobe photoshop 的图像补全结果做了比较, 并对下一步的 改进做出了展望。 关键字: 图像补全; patchmatch; opencv 2
山东大学本科毕业论文 Image Completion Based on Patchmatch ABSTRACT As the improvement of computer’s computing ability and the development of multimedia, the image becomes more and more important to show information. What’s more, people’s demand for image editing is also increasing higher and higher, so many image editing methods are proposed as the times require. In these methods, image completion is one of the most important methods and it is used everywhere. This paper implements a new image completion method based on patchmatch. Far from the old ones, the new method uses a new framework to complete the image based on image structure. In this framework, image completion has been translated to a global optimization problem. Also, new method shows a well-defined object function and post a new algorithm to solve it. Compared to the old methods, the new one’s result is more convenient and natural. Searched by patchmatch to seek similar patch, the new method needs less space with faster speed. At last, the results are compared to the adobe photoshop, and we also show how to do in the next step. Keywords: image completion; patchmatch; opencv 3
山东大学本科毕业论文 第 1 章 简介 1.1 研究背景 随着计算机运算能力和存储能力的提高, 计算机能完成的事情越来越多, 同时, 计算机也越来越深入的参与并改变着人们的生活, 掀起了一场彻底的数 字革命。 在这场数字革命中, 一个显著的改变在于: 多媒体概念深入人心。 十年 前, 人们获取信息的方式还似乎只有书籍, 报纸等纸质文件。 而今天, 我们 可以以一种更为生动的方式获取比十年前复杂一百倍的信息。 我们的感知与以 前相比, 不下于天壤之别。 在这场革命里, 图像——这个多媒体信息的基本载体, 发挥着越来越大的 作用。 过去我们只能通过文字来获得的信息, 如今变成了更加生动的图像。 不 论是现在的电子报纸, 还是网络公开课, 图像使我们能更加具体, 生动, 形 象的获得过去感觉繁琐的信息。 所以, 图像处理在今天, 变得越来越重要, 也 变得越来越流行。 而图像补全——这个图像处理的基本应用, 已经在不同的场合中发挥着越 来越多的作用。 譬如, 当照相机拍摄的相片有噪声, 而又无法再重新拍摄的 时候, 图像补全显然可以发挥着修补图像的作用。 再比如说, 当有些老的电 影胶片因为时间太长而有所毁坏的话, 图像补全也可以重新修补这些过去的记 忆。 而人们出于兴趣而对图片进行修改的时候, 图像补全发挥的作用就更大了。 总而言之, 图像补全在今天, 已经成为图像处理中重要而必不可少的一项了。 4
山东大学本科毕业论文 1.2 研究内容 图像补全的作用已经不言而明。 而实现完成图像补全这个算法的项目作为 毕业设计, 不仅能充分锻炼学生的动手能力, 把过去学习的编程知识, 计算 机图形学知识充分结合起来, 而在相关过程中还需要查阅各种论文资料, 同时 也锻炼了学生查阅资料的能力和英文书写沟通能力。 最后, 在完成图像补全的 程序的时候, 实现论文是必要的一个环节。 而硕士的基本要求就是两个月实现 一篇论文。 这就为将来的研究生经历打下了坚实的基础。 最后再加上老师的睿 智指导, 因此, 用这个题目作为我的毕业设计也就生成为了必然的选择。 本文的主要研究内容就是在通读两篇图像补全论文的基础上, 能成功的用 程序重现论文结果, 并把论文结果与 adobe photoshop 的结果做出比较, 并评 价出实现效果, 指出改进方向。 下面, 我就详细讲述图像补全问题中需要处理的问题和新的解决算法, 并 把核心代码展示出来。 5
山东大学本科毕业论文 第 2 章 相关工作 2.1 图像补全 图像补全, 字面意思, 就是将图像的缺失部分补全起来。 其中, 对于一幅 图像, 如果不采取学习的方法, 那么图像的可以利用的信息就只有图像中完好 无损的部分。 图像补全要做的就是利用这部分完好的信息, 把这些信息提取, 整理, 扩张, 最终覆盖那些需要补全的部分, 使图像变成一幅完好的图像。 在这个过程中, 我们需要保持图像的一致性, 也就是说, 补全完成后, 图 像必须像是一张完整的图像, 就像补全没有发生过一样。 这就是一致性的具体 体现。 这就要求补全完成后的图像需要达到以下两个特点。 一: 图像的补全 部分和完好部分的交界处的痕迹必须消除, 不能使图像有割裂的感觉, 二: 图 像的补全部分的语义必须和完好的部分保持一致, 比如如果补全一个水池的中 间部分, 我们是不能把草地填充进去的。 这些约束促使我们补全的时候必须小 心的选择补全的方法, 遵守一定的规则, 最终达到全局的最优解。 图像补全主要解决的问题有两个, 一是: 哪些素材可以用于补全, 二是: 对于这些可以用来补全的素材, 如何整合他们来达到最优效果。 第一个问题实 质上是一个搜索问题, 既: 在图片的完好部分中搜索出最合适的素材。 第二 个问题实质上是一个选择优化问题, 即: 在一系列候选中选择最佳的那一个, 得到最好的效果。 图像补全在搜索的时候一般不会只对单个像素进行搜索。 对于补全来说, 单个像素携带的信息太少, 得到的结果并不准确, 不能为补全提供良好的结果。 在搜索过程中, 我们一般采用基于区域块之间的搜索。 这种区域块, 一般基 6
山东大学本科毕业论文 于一个值的大小, 形成一个正方形的窗口, 本文称之为 patch, 是搜索的基 本单位。 这种 patch 包含最够多的纹理信息和区域信息, 可以最大限度的保持 图像的一致性。 因此, 第一个问题实质上就是对于一个给定的 patch, 如何搜索出最佳的 对应 patch。对于此, 我们采用 patchmatch 方法进行搜索,从而筛选出合适的 补全点。 第二个问题实质上就是筛选出合适的 patch 后, 如何整合他们的值得到最 好的结果。 对于此, 我们会采取 meanshift 方法做筛选, 然后用加权平均的 方法得到最终的结果。 2.2 patchmatch 上文提到, 图像补全实质上要解决两个问题: 搜索问题和优化问题。 当 处理搜索问题的时候, 一般是进行基于 patch 的搜索。 现假设不做任何优化, 那么对于一幅图像来说, 如果要进行全局匹配搜索, 那么要完成 m*n 次匹配操作(m, n 是图像的长和宽), 而对于每一次匹配操作, 要完成 w*w 次比较(w 是 patch 的长度), 所以总操作次数会是: k*m*n*m*n*w*w (k 是补全部分占图像总体的比例), 对于一幅 800x600 的图像来说, 如果 patch 的长度选 5, 一共要进行 k*57600 亿次操作才能完成。 这个数字已经超过个人 用计算机的限度, 可能只有工作站级别的计算机才能完成。 因此, 对搜索方法做优化, 已成为图像补全中必不可少的技术手段。 当 然, 如果能对全局进行搜索, 那么得到的结果一定是最优解。 但此最优解耗 时太大而不能采用。 而优化搜索算法之后, 得到的不一定是全局最优解, 可 能仅仅只是局部最优解。 但对于图像补全来说, 当局部最优解可以得到一个让 人满意的结果, 那么采用局部最优解就成为必然了。 7
分享到:
收藏