泊松图像编辑

Written by Samson Mulder @ Samsonlab.com

For more information visit http://www.samsonlab.com

  最近国外的Open Course很火。很多同学喜欢看斯坦福,麻省的公开课程。但是国产大学生最大的悲剧就是,不愿做作业。很多人看看公开课,看完也就结束了,很少有人会去做他们的课堂作业。大学期间看了斯坦福的Machine learning,很是喜欢。特别是里面那辆自动导航的车子和三维重建的技术。自动导航的车子终于在大学期间的飞思卡尔比赛中切实的做了一下。而三维重建技术确实很难。直到现在也还没能做出一个demo来。想来觉得自己是一次台阶跨的太高,没有一个循序渐进的过程。于是便找了布朗大学(Brown University)的计算机视觉课程,按照他们的project,有浅到难,可能会好一点。

  有兴趣的同学可以参考这个链接:http://www.cs.brown.edu/courses/csci1950-g/

  今天便讨论下proj 2, poisson image blending

  说起泊松,可以顺便提及一下泊松同学的老师,拉普拉斯。学图像或是信号的,一定对拉普拉斯算子和拉普拉斯卷积很熟悉。在泊松图像融合出现之前,也有一种叫Laplacian pyramid blending的融合算法。两者的效果可看下图:

无敌window画图融合Poisson blendLaplacian

  (图像由布朗大学Steve Gomez 提供)

  泊松融合的关键是要通过求解poisson equation来得到变换后的像素。

  泊松方程

  泊松方程是数学中一个常见于静电学、机械工程和理论物理的偏微分方程。方程形式如下:

  Δf =ρ   

  这里的 Δ 代表的是拉普拉斯算子,

  Δ  2  2x+22y

  而 f 和 ρ 可以是在流形上的实数或复数值的方程。其中ρ可以表示为ρ=ρ(x,y)的形式。

  

  泊松图像编辑

  泊松图像编辑是泊松方程的一个重要应用,首先提出该应用的是Poisson image editing. SIGGRAPH 2003,该文章对现在的图像编辑技术有着非常重要的影响,随后的几年又出现了很多类似的图像编辑方法,如 [Jiaya Jia et al. Drag and-drop pasting]于2006年提出了最优的融合边界用于改进泊松图像编辑的效果,[Zeev Farbman et al. coordinates for instant image cloning]在SIGGRAPH 2009中提出了使用Mean-Value coordinates用于计算基于梯度域的图像编辑,该方法实现简单且运行速度快,从而避免了求解复杂的泊松方程。下面通过几个典型的应用来说明泊松方程在图像编辑中的强大功能。

无缝融合

  • 传统的图像融合
    1. 精确地选择融合区域:过程单调乏味且工作量大,常常无法得到好的结果
    2. Alpha-Matting:功能强大,但是实现复杂
  • 基于Poisson方程的无缝融合
    1. 选择融合区域的过程简单且方便
    2. 最终可以得到无缝融合的结果
  • 因此,我们选择基于Poisson方程的方法进行图像的无缝融合!!

为什么将泊松方程应用到图像中

  • 很容易在图像的梯度域中进行应用
    1. 通过局部的图像编辑→ 全局融合的效果
    2. 无缝融合的应用 - 图像合成, 图像编辑, 图像拼接

变分法的解释泊松图像编辑

  其中,Delta I_A表示融合图像块的梯度,上面的变分方程的意义表明我们的无缝融合是以源图像块内梯度场为指导,将融合边界上目标场景和源图像的差异平滑地扩散到融合图像块I中,这样的话,融合后的图像块能够无缝地融合到目标场景中,并且其色调和光照可以与目标场景相一致。

  基于泊松方程的图像编辑实例

  图像合成

  如下图所示,我们分别用两种不同的方法来进行图像融合:

  

  该图是简单的图像拷贝,如右图所示,此时的结果很不自然,有明显的边界。

  

  该图是基于Poisson的图像编辑效果图,如右图所示,此时结果图中没有明显的边界,源图像块无缝且自然地融合到了天空中。

  图像无缝拼接

  下面是基于图像的无缝拼接的结果,该图由25张图像拼接而成,每张图像表现的是沙滩上不同姿势的小朋友,通过泊松融合,产生了无缝、自然且有趣的新图像。

  

  图像编辑

  下图是图像编辑的结果,通过改变花朵的融合边界,将其重新融合到图像中,从而可以自然地改变其色调,呈现出新的视觉效果。

  

  本段摘自浙江大学,原作张赟。

  理论方面就大约讲到这里了。本人不才,理论方面只能做到只可意会,不可言传的境界,所以只能将一些大牛的著作整合一下,希望对初学者有些帮助。

  最后我会在最近将自己编写的poisson image editing算法发布于Google code,license是GNU public license,希望对各位同学们有所帮助。

  发布地址:http://code.google.com/p/imageblending/

posted @ 2011-02-13 18:34  xxxTech  阅读(5442)  评论(1编辑  收藏  举报