主要内容

waveletScattering2

小波图像散射

描述

使用waveletScattering2对象创建一个网络小波图像散射分解使用复值二维Morlet小波。

创建

描述

例子

科幻小说= waveletScattering2利用两个复值二维Morlet滤波器组和各向同性尺度不变性,建立了用于小波图像散射分解的网络。两个滤波器组的质量因子都是每八度一个小波。对于每个小波滤波器,在0和π弧度之间有6个线性间隔的旋转。默认情况下,waveletScattering2假设图像输入大小为128 * 128。比例不变性是64。

科幻小说= waveletScattering2 (名称,值为小波图像散射创建一个由一个或多个属性指定的网络名称,值对参数。属性可以按任意顺序指定为Name1, Value1,…,的家.将每个属性名称用单引号括起来(' ')或双引号(”“).

请注意

除了OptimizePath而且OversamplingFactor,不能更改现有散射网络的属性值。例如,如果您创建一个网络科幻小说图象尺寸设置为(256 256),你不能分配一个不同的图象尺寸科幻小说

属性

全部展开

图像大小为小波图像散射网络,指定为两元整值向量numrowsnumcolumns.图像必须至少为10x10。

如果您的输入是RGB图像,则不必指定第三维。waveletScattering2仅支持三维万博1manbetx大小为3的彩色图像。

例子:sf = wavetscattering2 ('ImageSize',[100 200])创建100 × 200图像和100 × 200 × 3彩色图像的网络。

散射变换不变性尺度,指定为正标量。InvarianceScale指定缩放筛选器的行维度和列维度中的空间支持。万博1manbetxInvarianceScale不能超过图像的行和列维度的最小大小。

默认情况下,InvarianceScale是图像的行和列的最小值的二分之一,四舍五入到最接近的整数。

例子:sf = wavetscattering2 ('ImageSize',[101 200])创建一个框架InvarianceScale等于51。

散射网络中每个小波每个滤波器组的旋转数,指定为整值向量。为散射网络中的每个滤波器组指定一个小于或等于12的整数。

对于每个滤波器组中的每个小波,都有NumRotations在0和π弧度之间的线性间隔角。小波按顺时针方向旋转。中指定的向量的长度NumRotations必须等于向量的长度QualityFactors

例子:sf = wavetscattering2 (' numrotation ',[7 5])创建一个网络,在第一个滤波器组中每个小波旋转7次,在第二个滤波器组中每个小波旋转5次。

请注意

通过顺时针旋转二维Morlet小波来构建二维小波散射网络。在图像处理工具箱™中使用相反的约定。创建应用于图像的Gabor滤波器组涉及逆时针方向旋转Gabor滤波器。看到偏参数,伽柏(图像处理工具箱)在图像处理工具箱中。

散射滤波器组质量因子,指定为整数值向量。质量因子是每八度的小波滤波器的数量。散射网络中小波滤波器组的个数等于散射网络中元素的个数QualityFactors.有效的质量因子是小于或等于4的整数。如果QualityFactors被指定为一个向量,元素QualityFactors必须是非递增的。

中指定的向量的长度QualityFactors必须等于向量的长度NumRotations

例子:sf = wavetscattering2 ('QualityFactors',[2 1])

散射系数和滤波器精度:

  • “单一”-精度单一

  • “双”-双精度

请注意

  • 所有涉及小波散射网络的计算都在精度

  • 输出的精度scatteringTransform函数不超过精度waveletScattering2对象。

过采样因子,指定为非负整数或.该因子指定了图像散射系数相对于临界下采样值有多少过采样。过采样因子是对数2规模。例如,如果sf = wavetscattering2 (' overamplingfactor ',1),则散射变换返回21——- - - - - -21——- - - - - -P每条散射路径的系数与临界采样数相等。你可以使用coefficientSize确定散射网络的系数数。默认情况下,OversamplingFactor设置为0,这对应于对系数进行严格的降采样。

如果指定过采样因子导致输出图像大小大于输入,则输出图像大小将被截断为输入图像的大小。还可以指定OversamplingFactor作为,它提供了一个完全非拟化的散射变换,其中每个散射路径包含与输入图像大小相等的系数矩阵。

由于散射变换的计算复杂度,建议设置为OversamplingFactor属性为0、1或2。1和2表示a21——- - - - - -21——- - - - - -P和一个22——- - - - - -22——- - - - - -P增加每个路径的散射系数的数量。

例子:科幻小说。overamplingfactor = 1设置OversamplingFactor将现有网络属性设置为1。

优化散射变换逻辑,即基于带宽考虑,决定散射变换是否减少了散射路径的计算数量。

OptimizePath设置为真正的,当父节点的带宽与子节点的带宽有明显重叠时,才计算散射路径。本文中的“显著性”定义如下:对于质量因子为1,1 /2的子节点的3-dB带宽从子节点的小波中心频率中减去。如果该值小于父节点的3-dB带宽,则计算散射路径。对于大于1的质量因子,显著重叠被定义为子对象的中心频率减去子对象的3db带宽之间的重叠。如果这与父波段的3-dB带宽重叠,则计算散射路径。

你可以使用路径以确定计算哪条和多少条散射路径。OptimizePath通常只有当每个滤波器组的质量因子相等时,才会在第二个和后续滤波器组中节省计算量。

例子:科幻小说。OptimizePath = false设置OptimizePath的现有网络属性

对象的功能

scatteringTransform 小波二维散射变换
featureMatrix 图像散射特征矩阵
日志 二维散射变换的自然对数
filterbank 小波和缩放滤波器
littlewoodPaleySum Littlewood-Paley总和
coefficientSize 图像散射系数大小
numorders 散射阶数
numfilterbanks 散射滤波器组的数目
路径 散射路径

例子

全部折叠

创建一个默认设置的小波图像散射网络。默认图像大小为128 × 128,默认不变比例为64。

sf = wavetscattering2
sf = wavetscattering2 with properties: ImageSize: [128 128] InvarianceScale: 64 numrotation: [6 6] QualityFactors: [1 1] Precision: 'single' overamplingfactor: 0 OptimizePath: 1

使用filterbank函数得到标度函数的傅里叶变换、小波滤波器和小波滤波器的中心空间频率。

[phif,psif,f] = filterbank(sf);

的宽度由不变性比例给出x -而且y-二维高斯标度函数的方向。为确认标度函数具有预期的空间宽度,首先对的进行傅里叶反变换phif.使用helper函数helperPlotPhiSurface绘制两者不变尺度范围的标度函数x而且y指定的。的源代码helperPlotPhiSurface在本例末尾的附录中提供。

= ifftshift(ifft2(phif));图helperPlotPhiSurface(科幻,φ)

图中包含一个轴。标题为$\phi(x,y)$的轴包含5个类型为surface, line的对象。

缩放函数大于128 * 128,因为它被填充以避免边缘效应。

提取第二滤波器组中尺度最粗的小波的傅里叶变换,并对其进行傅里叶反变换。使用helperPlotPsiSurface绘制小波的实部和虚部,确定最粗尺度小波的空间范围不超过不变尺度。与尺度函数类似,小波被填充以避免边缘效应。的源代码helperPlotPsiSurface在本例末尾的附录中提供。

psiF = psiF {2}(:,:,end);psiL = ifftshift(ifft2(psiF));图helperPlotPsiSurface(科幻,psiL)

图中包含一个轴。标题为$\frac{1}{2^{2J}}\psi(x/2^J,y/2^J)$的轴包含6个类型为surface, line的对象。

附录

本例中使用了以下helper函数。

helperPlotPhiSurface

函数helperPlotPhiSurface(scatFrame,data) halfscale = scatFrame. invariancescale /2;冲浪(数据)阴影插值函数view(-20,35) Ysize = size(data,1);Xsize = size(data,2);Ycenter = Ysize/2;Xcenter = Xsize/2;持有plot([Xcenter-halfscale Xcenter-halfscale],[0 Ysize],“r”“线宽”2);plot([Xcenter+halfscale Xcenter+halfscale],[0 Ysize],“r”“线宽”2);plot([0 Xsize],[Ycenter-halfscale Ycenter-halfscale],“r”“线宽”2);plot([0 Xsize],[Ycenter+halfscale Ycenter+halfscale],“r”“线宽”2);标题(“\φ(x, y)的美元“字形大小”14岁的“翻译”“乳胶”);包含(“x美元”“字形大小”14岁的“翻译”“乳胶”) ylabel (“y美元”“字形大小”14岁的“翻译”“乳胶”结束

helperPlotPsiSurface

函数helperPlotPsiSurface(scatFrame,data) halfscale = scatFrame. invariancescale /2;Ysize = size(data,1);Xsize = size(data,2);Ycenter = Ysize/2;Xcenter = Xsize/2;冲浪(真正的(数据))的阴影插值函数视图(13)冲浪(图像放大(数据))的阴影插值函数plot([Xcenter-halfscale Xcenter-halfscale],[0 Ysize],“r”“线宽”2);plot([Xcenter+halfscale Xcenter+halfscale],[0 Ysize],“r”“线宽”2);plot([0 Xsize],[Ycenter-halfscale Ycenter-halfscale],“r”“线宽”2);plot([0 Xsize],[Ycenter+halfscale Ycenter+halfscale],“r”“线宽”2);标题(“美元\压裂{1}{2 ^ {2 J}} \ psi (x / 2 ^ J, y / 2 ^ J)美元的“字形大小”14岁的...“翻译”“乳胶”);包含(“x美元”“字形大小”14岁的“翻译”“乳胶”) ylabel (“y美元”“字形大小”14岁的“翻译”“乳胶”51)视图(-10)结束

参考文献

[1]布鲁娜,J.和S.马拉特。不变散射卷积网络模式分析与机器智能汇刊.第35卷,第8期,2013年,第1872-1886页。

[2]西弗尔,L.和S.马拉特。“纹理分类的刚性运动散射”。arXiv预印本。2014,第1-19页。https://arxiv.org/abs/1403.1687。

[3]西弗尔,L.和S.马拉特。“旋转,缩放和变形不变散射纹理识别。”2013年IEEE计算机视觉与模式识别会议.2013, pp 1233-1240。

在R2019a中引入