这个例子展示了如何使用基于纹理纹理分割识别区域。我们的目标是段狗从浴室的地板上。分割是视觉上明显由于不同纹理之间的规律,周期模式浴室的地板上,和常规,质地光滑的狗的皮毛。
从实验,众所周知,伽柏过滤器是一个合理的模型,简单的细胞在哺乳动物的视觉系统。正因为如此,伽柏过滤器被认为是一个好的模型的人类如何区分纹理,因此一个有用的模型使用在设计算法来识别纹理。这个示例使用描述的基本方法(a . k . Jain和f . Farrokhnia“无监督纹理分割使用伽柏过滤器”,1991年)进行纹理分割。
读取和显示输入图像。这个例子缩小图像的例子运行更快。
一个= imread (“kobi.png”);= imresize (0.25);银色= rgb2gray(一个);图imshow(一个)
设计一个数组的伽柏过滤器调节到不同的频率和方向。的频率和方向的目的是定位不同,大致正交的,频率和输入图像中定位信息的子集。定期取样方向[0150]之间的度在30度的步骤。样本波长增加的两个从4 /√(2)斜边长度的输入图像。这些组合的频率和方向从[Jain, 1991]中提到的介绍。
图象尺寸=大小(A);numRows =图象尺寸(1);numCols =图象尺寸(2);wavelengthMin = 4 /√(2);wavelengthMax =函数(numRows numCols);n =地板(log2 (wavelengthMax / wavelengthMin));波长= 2 ^ (0:(n - 2)) * wavelengthMin;deltaTheta = 45;取向= 0:deltaTheta: (180 - deltaTheta);g =伽柏(波长、取向);
从源图像中提取伽柏级特性。在处理伽柏过滤器时,通常使用每个滤波器的幅度响应。伽柏级反应有时也被称为“伽柏能源”。每个麦根伽柏级输出图像gabormag(:,:,印第安纳州)
是输出相应的伽柏过滤器吗g(印第安纳州)
。
gabormag = imgaborfilt(银色、g);
使用伽柏级响应特征用于分类,某些后期处理是必需的。这篇文章包括高斯平滑处理,添加额外的特性集空间信息,重塑我们所期望的形式的特性集主成分分析
和kmeans
函数和正常化特性信息,常见的方差和均值。
每个伽柏级图像包含一些当地的变化,即使在纹理分割区域的常数。这些地方的变化将摆脱分割。我们可以弥补这些变化用简单的高斯低通滤波来平滑伽柏级信息。我们选择一个σ是伽柏匹配滤波器,提取每个特性。我们引入一个平滑项K控制滤波应用于伽柏多少级响应。
为i = 1:长度(g)σ= 0.5 * g(我).Wavelength;K = 3;gabormag(:,:我)= imgaussfilt (gabormag(:,:我),K *σ);结束
当构建伽柏特性集分类,添加一个地图是很有用的空间位置信息的X和y这额外的信息允许分类器选择分组近空间。
X = 1: numCols;Y = 1: numRows;(X, Y) = meshgrid (X, Y);featureSet =猫(3 gabormag X);featureSet =猫(3 featureSet Y);
重塑数据转换成一个矩阵X
所期望的形式kmeans
函数。图像中每个像素网格是一个单独的数据,每架飞机的变量featureSet
是一个单独的功能。在这个例子中,有一个单独的功能为每个过滤器在伽柏过滤器银行,加上两个附加功能的空间信息添加在前面的步骤。总共有24伽柏特性和2输入图像每个像素的空间特性。
numPoints = numRows * numCols;X =重塑(featureSet numRows * numCols, []);
规范化的特性是零均值,方差单位。
X, X = bsxfun (@minus意味着(X));X = bsxfun (@rdivide X,性病(X));
可视化特性。为了了解伽柏级特性是什么样子,主成分分析可以用来从输入图像中每个像素的研发表示成一个一维每个像素强度值。
多项式系数= pca (X);feature2DImage =重塑(X *多项式系数(:1),numRows, numCols);图imshow (feature2DImage, [])
显然在这个可视化伽柏有足够的方差的特征信息来获得一个良好的分割图像。小狗在地板上相比非常黑暗,因为狗和地板之间的结构差异。
重复五次k - means聚类,以避免局部最小值搜索意味着时最小化目标函数。唯一的先验信息假设在这个例子中是有多少不同的地区被分割纹理图像中存在。在这种情况下有两种截然不同的区域。这部分的示例需要统计和机器学习的工具箱™。
L = kmeans (X 2“复制”5);
可视化分割使用label2rgb
。
L =重塑(L, [numRows numCols]);图imshow (label2rgb (L))
使用可视化分割图像imshowpair
。研究前景和背景图像结果BW从面罩与标签相关联矩阵L。
Aseg1 = 0(大小(A),“喜欢”,);Aseg2 = 0(大小(A),“喜欢”,);BW = L = = 2;BW = repmat (BW (1 1 3));Aseg1 (BW) = (BW);Aseg2 (~ BW) = (~ BW);图imshowpair (Aseg1 Aseg2,“蒙太奇”);
[1]