文档章节

基于总变差模型的纹理图像中图像主结构的提取方法。

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:41
字数 2331
阅读 11
收藏 0
点赞 0
评论 0

    本文主要由Structure Extraction from Texture via Relative Total Variation一文中的内容翻译而来,作者又是香港中文大学的一批牛人。

      一:问题由来

    很多自然场景和人工艺术品都包含纹理。比如,墙上,火车和地铁表面上的涂鸦和图案。像地毯,毛衣,和其他一些精美的工艺品包含格式各样的几何图案。在人类历史中,马赛克被视为一种艺术形式,它可以表示人和动物这类复杂的场景,并可以用石头,玻璃,陶瓷和其他一些材料模仿油画。当用Google收索这些图像的时候,你可以很快的找到成千上万类似图片。下图展示了一些代表不同形式场景的实例。他们有一个共同的特征:图像中有意义的结构和纹理单元融合在一起。所以我们通常称这类图片为“结构+纹理”图片。一个很有意思的现象:在不去除纹理的前提下,人类的视觉感知系统完全有能力理解这些图像。从心里学角度分析,图像的整体结构特才是人类视觉感知的主要数据,而不是那些个体细节(纹理)。因此从图像中提取那些有意义的结构数据是一项具有意义的工作,同时对于计算机来说也是非常有挑战性的。

 

        二:算法描述

      在《Structure Extraction from Texture via Relative Total Variation》一文中提出了一种基于总变差形式新模型,该模型可以有效的分解图像中的结构信息和纹理,并且无需特别指定纹理是否规则或者对称。换言之,该方法具有一般性和随意性,它适用于非统一的或各向异性的纹理。下面介绍一下该方法。   

                 

上式为总变差模型, I代表输入图像,p代表2D图像像素的索引,S代表输出结构图像。其中可以写成如下各向异性的形式:

           

改进的模型如下

         

其中

       

       

    q为以p点为中心的一个正方形区域内所有的像素点的索引,g为高斯核函数:

   

 

     下图(a)是一幅包含纹理的图像。(b)则反映了纹理和结构像素点都会产生比较大的D(D值大反应在图像中也就是对应像素点的亮度高);(c)可以看出结构部分中的L(L值大反应在图像中也就是对应像素点的亮度高)值大于纹理部分的L值,造成这种现象的一种直觉上的解释为:在包含在一个局部的小窗口中主要结构往往产生比包含在另一个窗口的复杂纹理具有更多相似方向的梯度。(d)为 (也就是(3)式中的规则项)的映射,而这个规则项让主要结构部分更加突出。(e)则是(a)用式(3)去除纹理后的结构图像。

 

     下面介绍怎么样求解公式(3): 先讨论X方向,Y方向的计算类似。

       

     

       公式(9)可以至直接求矩阵的逆运算,或者用预处理共轭梯度法来求解。

 

三:实验结果

 

   实验中ε和εs是2个小正值用来避免分母出现0的情况。其中ε固定为0.001. 而εs稍微大点会帮助保持光滑变化的结构部分,通常设定为0.02。公式(5)中的λ是一个不可或缺的权重它用来控制图像的光滑程度,但是仅仅调节它不会使纹理分离太多。而增加λ也会造成图像的模糊并且纹理反而保留下来。 一般λ选取为0.01到0.03之间。图1表示不同迭代步数显示的结果,实验发现该算法3-5步就可以达到收敛状态。

  

     空间尺度参数σ控制了公式(4)中窗口的大小,它的选取取决于纹理的尺度大小并且在结构纹理分离过程中至关重要,经验的选取σ为0到8之间,图2说明了增强σ可以很好地抑制纹理。并且实验中发现在每一次迭代时成倍的减小,可以起到锐化边缘的效果,同时不会减弱纹理去除的能力.

   

      当一幅物体的表面包含多重纹理形式或者可以看成非正面方向,纹理单元就可以认为是不同变化尺度的。图2和图3就是这样一类图像。因为在该算法中小于相对于尺度参数 那些纹理都得到了有效的惩罚,所以文章的提出模型可以很好的处理这种类型的图像。当然,如果远处的结构和近处的纹理相似,他们也都会被去除。因为该算法依赖于局部的数据,所以我们不需要认为局部的梯度是各项同性的。只要在一个局部窗口中方向相反的梯度相互抵消,该方法就能生效,而不管梯度模式是不是各项同性的或是异性的。

  

     图像矢量化就是把一个像素图像转化为一个矢量图。矢量图可以任意的放大和缩小而不会丢失细节部分,然而大多数矢量化的方法都不能表示好的细节部分。由于复杂的纹理模式和局部像素点的不断震荡的普遍存性,矢量化“结构+纹理”这一类图像变的更加困难。观察图8(c)和(e),经典的矢量化软件Vector Magic也不能很好地完成矢量化。在本文中,我们开始先分解纹理和结构,分解的结构图为图8(b),然后矢量化就可以很好地运用了。在矢量化的过程中,结构图像(b)直接被放大。于此同时,纹理图像可以用双线性插值作为一个位图重新被放大。最后合成这两层图像获得图8(f)。相对于传统的方法,该矢量化算法可以产生更好地效果:不丢失边缘和细节信息。

 

   

     本文的算法还可以用于边缘提取。图9展示了一个例子,该幅图像中包含很明显的前景和背景的纹理,这往往导致边缘提取的失败。图9(b)和(c)使用不同参数的额Canny边缘检测提取的边缘。很明显这样的边缘是不令人满意的。该方法可以先获得好的结构图像(d),然后再检测该结构图像的边缘得到(e)。图(6)说明了一样的道理。

     

     由于源纹理和目标纹理的不兼容性,有时涂鸦图像,油画,和素描不能直接运用到图像融合中。图11和图12就是一个很好的例子。直接将图11(a)和图12(a)融入目标场景中得到图11(c)和图12(e),不难发现融合的图像很不自然。然而将纹理分离后的图11(b)和图12(b)融入相同场景得到的图11(d)和图12(d)却很自然。改组实验说明了本文算法可以很好运用到图像融合中。

     四、编程实现

      原文件提供了相关算法的matlab代码,可以从这里下载:http://www.cse.cuhk.edu.hk/~leojia/projects/texturesep/tsmoothing.zip

     关于这个源代码,我看了很久的,有很多地方是和文章的公式不是完全对应的,所以研究的时候还是要有所注意。

     一般来说,matlab只适合于科研,如果想做成产品,需要用其他的比如C之类的实现该算法,对于这点,这个程序可能有点困难,主要的困难在于其中的解线性方程组。因为在本算法中,方程组的系数矩阵式一个很大的稀疏矩阵,有多大呢,比如如果图像时500*600的,那么这个矩阵的大小就是300000*300000,因此,直接的实现对于内存等方面肯定不现实,必须研究稀疏矩阵的存储方式,另外,解方程所用的共轭梯度法也不是一下子就能实现的。 目前我的C版本程序还在研究中。

     五:说明

       这种论文其实直接看英文的是最好的方式吗,博客中由于编辑、书写等方面的不便,有的时候就是随便表达下,文中有很多翻译和编辑的不当之处,请真正有性却的朋友下载后看英文。

       由于原始论文的大小大于10MB,无法上传,敬请各位有兴趣的朋友在google搜索该论文。

       特别致谢西西网友的大力支持。

 

 

*********************************作者: laviewpbt   时间: 2013.10.10    联系QQ:  33184777  转载请保留本行信息************************

本文转载自:http://www.cnblogs.com/Imageshop/p/3365517.html

共有 人打赏支持
abcijkxyz
粉丝 60
博文 6196
码字总数 1876
作品 0
深圳
项目经理
图像分类综述

计算机视觉三个层次 计算机视觉三层次 1. 图像分类概述 1.1 图像分类是指根据一定的分类规则将图像自动分到一组预定义类别中的过程。 1.2 图像分类方法的划分十分多样。根据图像语义内容的不...

七八音
01/04
0
0
最新的人脸识别特征点定位方法--人脸识别关键点技术颜鉴提供

1.2 人脸特征点定位方法综述 目前为止,国内外学者们已经提出了人脸特征点定位的方法[3],依据定位所需要的基本信息的类型,人脸特征点定位的方法可以大致分为以下六类:(1)灰度信息的方法;...

colorreco
2016/09/07
0
0
使用Numpy和Scipy处理图像

Image manipulation and processing using Numpy and Scipy 翻译自:http://scipy-lectures.github.com/advanced/image_processing/index.html 作者:Emmanuelle Gouillart, Gaël Varoquaux......

ranvane
2014/12/04
0
0
谷歌最新人工智能研究:仅利用稀疏轮廓位置「重构」图像

原文来源:arXiv 作者:Tali Dekel、Chuang Gan、Dilip Krishnan、Ce Liu、William T. Freeman 「雷克世界」编译:嗯~阿童木呀、KABUDA 我们研究这样一个问题,根据稀疏轮廓位置存储的信息重...

ksf3kg7du95rn0xl
2017/12/28
0
0
人脸识别的主要方法---小伙子拿去撸吧

人脸识别技术的主要研究方法 目前在国内和国外研究人脸识别的方法有很多,常用的方法有:基于几何特征的人脸识别方法、基于代数特征的人脸识别方法、基于连接机制的人脸识别方法以及基于三维...

colorreco
2016/09/13
0
0
《深度卷积神经网络在计算机视觉中的应用研究综述》阅读笔记

文章地址 深度卷积神经网络在计算机视觉中的应用研究综述:http://www.wanfangdata.com.cn/details/detail.do?type=perio&id=sjcjycl201601001 摘要 本文首先简要介绍深度学习和卷积神经网络...

weixin_41787032
04/13
0
0
深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读

早期成果 卷积神经网络是各种深度神经网络中应用最广泛的一种,在机器视觉的很多问题上都取得了当前最好的效果,另外它在自然语言处理,计算机图形学等领域也有成功的应用。 第一个真正意义上...

技术小能手
05/10
0
0
斯坦福CS231n作业代码(汉化)Assignment 1 - Q5

[CS231N - Assignment1 - Q5 - Image features exercises] 我们已经看到,通过用输入图像的像素训练的线性分类器对图像的分类问题已经取得了不错的结果。在这个练习中我们会用对图像像素进一...

bigdatadigest
01/26
0
0
机器视觉之人脸识别的流程及主要技术

人脸识别(Face Recognition)是一种依据人的面部特征(如统计或几何特征等),自动进行身份识别的一种生物识别技术,又称为面像识别、人像识别、相貌识别、面孔识别、面部识别等。通常我们所说的...

gunser
05/08
0
0
图像压缩哪家强?请看这份超详细对比

本期推荐的论文笔记来自 PaperWeekly 社区用户 @TwistedW。本文来自早稻田大学,论文用精炼的语言对比了几类图像生成模型,将卷积自编码器(CAE)、生成对抗网络(GAN)和超分辨率(SR)在生...

技术小能手
07/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

毕业5年,我是怎么成为年薪30W的运维工程师

#转载# 我在大学读的是计算机专业,但大学毕业之后,进入到一家私企进行工作,工作的内容类似于网管,会经常的去修电脑,去做水晶头等内容。刚开始工作,也没想太多,最想的是丰富自己的工作...

Py爱好
13分钟前
0
0
大数据基础知识,大数据学习,涉及的知识点

一、什么是大数据 一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流 转、多样的数据类型和价值密度低四大特征。...

董黎明
28分钟前
0
0
Linux CentOS 7上安装极点五笔

话说几天前在新买的惠普笔记本上成功地安装了Linux CentOS 7操作系统、Nvidia Quandro P600驱动程序及X Window,并在VMware下安装Red Hat教学环境,彻底跳出Windows的苦海,但仍然有一件事不...

大别阿郎
41分钟前
9
0
2018年7月20日集群课程

一、集群介绍 集群,简单地说是指一组(若干个)相互独立的计算机,利用高速通信网络组成一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。 ...

人在艹木中
43分钟前
0
0
spark开发机中调试snappy

目的 在Idea中的点击运行,使spark可以直接读取snappy 自己编译hadoop,以支持snappy的压缩。 自己编译的目的就是要得到支持snappy文件读写的动态链接库。如果可以在网上下载,可以跳过自行编...

benny周
今天
0
0
centos7 安装docker

1,查看系统版本 cat /etc/redhat-release 2,安装gcc yum -y install gccyum -y install gcc-c++ 3,卸载旧版本 yum remove docker \ docker-client \ ......

暗中观察
今天
0
0
rabbitmq学习记录(七)交换机Exchange-topic

实现功能:一条消息发送给多个消费者 交换机模式:topic 相比于direct匹配模式,匹配routingKey时,topic模式下不仅支持完全匹配,还支持两种特殊的匹配方式 #:可以匹配一个或多个字符 *:可...

人觉非常君
今天
0
0
[译]为什么(要使用)GNU Affero GPL?

#为什么(要使用)GNU Affero GPL? 作者信息:Copyright © 2010, 2013, 2014, 2015 Free Software Foundation, Inc. This page is licensed under a Creative Commons Attribution-NoDeriv......

ICE冰焰火灵X
今天
0
0
apollox-lua 示例

这个项目是从openn2o里迁出的项目。 示例地址 apollox-lua.js 是把js翻译成lua的库。支持两种不同的模态, 在编译工程的时候使用 可以用作openresty的代码翻译, 即用js代替lua。在web模式可...

钟元OSS
今天
0
0
Ubuntu系统笔记 Linux系统

Ubuntu 16.04.3 Ubuntu系统,不适用yum, yum软件源都是RPM软件包,不是deb格式软件包,所以你即便是在Ubuntu上面安装了yum,也是完全用不了的。 不推荐 apt好于yum apt install screen...

阿锋zxf
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部