首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

GIzMOs:Genuine Image Mosaics with Adaptive Tiling自适应马赛克图像拼接

今天分享一篇最近读过的论文:GIzMOs: Genuine Image Mosaics with Adaptive Tiling,这篇论文是2009年发表在COMPUTER GRAPHICSforum的论文,论文的核心工作是:给一张输入图像,然后把这张图像分割分很多小块(tile),然后在数据库中找到和每个最相似的图像来替代它,最后输出一张由数据库找到的图像集合组合而成的完整图像。具体如下图图1:

图1

如图所示:给一张输入图片,设置你需要把图片分成匹配小块的数目。接下来对图像进行特征分类,分为特征与非特征两类,特征类主要是保存图像的一些非平滑区域的信息,比如物体的边缘特征等等。非特征块则是保存了一些过渡比较平滑的区域,针对这些区域可以进行块与块之间的合并。接着,文章对特征块进行匹配,文章使用了贝塞尔张量积作为描述子来描述一张图像,匹配过程就是计算每个匹配块和数据库里图片的描述子之间的欧氏距离,最后把非特征块尽量的按照一定规则合并,最终输出一张由从数据库中匹配到的图片组成的完整图片。这张图片会还原原图像的一些特征信息(如边等等)。

图像描述子

图像描述使用的是贝塞尔描述子,该描述子把各种不同大小的图像统一描述为一个K维的向量,这样会比较方便的去数据库中匹配最相似的图像,贝塞尔曲面一般公式如下:

其中:

从上面的公式来看贝塞尔公式是和下面文章本身的公式看很类似:

因为文章定义的是方格图像,所以m=n得到文章中的公式,并且可以直接求得bpq的维度,在n固定的情况下,bpq的维度是固定的,因此可以利用最小二乘法解得bpq。也就是解Mb =r。文章中已经给出了M矩阵的公式,以及r的公式,其中M的公式对于相同尺寸的图像来说只用求解一次。这样在建数据库的时候以及在图像划分匹配的块的时候会减少一定的数据量。M矩阵的公式如下:

r的计算公式如下:

到这里基本的匹配思路已经清晰了,你可以用上面的公式实现一个匹配算法来得到一个马赛克的输出图像,值得强调的是:他们的数据库是把图片裁剪成方形图片来计算其描述子的。并且他们在计算时也是使用的是方向的块来匹配数据库中的图像。

下面讲解的是图像的自适应分类,为什么要做这一块,文章中有提到:因为固定大小的图像匹配会导致人类视觉上的周期性,因此,选择一些块进行合并来避免这个问题。如何选择合并的块是一个值得思考的问题,文章的解决方案是把输入图像划分成各个小块,然后通过算法计算划分块为特征块或者是非特征块,特征块包含输入比较复杂或者关键的颜色信息,因此需要保存下来。非特征快的特征比较简单,通常是颜色平滑区域,因此可以合并。

特征分类

特征分类中主要思想就是计算划分的块里的颜色信息,选取一个使块的颜色方差最小的一条划分线,并且如果这个线两边的颜色差距在一个阈值范围内的话将其视为非特征点,否则视为特征点。如果考虑所以的划分情况,那么这个实现起来是比较赋值的,为了简化这个过程,我们在每个块的边上等间距的选取一些点,并且把每两个点之间的连线视为一条划分线,我们就能把正方形分成两个区域,并且我们计算区域中颜色的方差。然后我们选取两区域方差和最小并且平均颜色在一定阈值的则为非特征点。

合并块

合并块主要思想是:选择非特征快合并,并且要求合并的块最后是矩形且横纵比不能超过2:1。合并终止条件可以是不能超过多少块,并且要他们合并后的结果比单个的好。

你可以写一个迭代来找到最佳的合并,但是终止条件不要设置得太大,不然既影响最终图像的美观程度,也会给电脑很大的负荷。

之前咨询过文章原作者,原作者也没有回复我。由于项目原因,在这里不能透露代码,你假如有什么比较迫切的需求需要代码,你可以联系我,我可以给你解决一些问题。本文的图片是来自于博客中的一些图片,也是本人的,如果看到图像中的水印请忽略,有部分来自于原文的截图,如果这个不算作原创请联系我。。。。。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180125G0Q6LW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券