主要内容

bagOfFeatures

袋的视觉对象

描述

您可以构建一个袋的视觉单词用于图像类别分类,图像检索,或关闭循环检测视觉同步定位和映射(vSLAM)。

创建

描述

例子

袋= bagOfFeatures (洛桑国际管理发展学院)返回一个袋的功能对象。的使用样本生成输出对象洛桑国际管理发展学院输入。默认情况下,创建视觉词汇从冲浪从图像中提取特征洛桑国际管理发展学院

袋= bagOfFeatures (洛桑国际管理发展学院”,CustomExtractor”,extractorFcn)返回一个袋功能,使用一个自定义特性从图像中提取特征提取器函数洛桑国际管理发展学院extractorFcn是一个函数处理自定义特征提取功能。

袋= bagOfFeatures (洛桑国际管理发展学院,名称=值)指定选项使用一个或多个名称参数除了参数从以前的语法的任意组合。例如,Verbose = true袋= bagOfFeatures (imd)此外集详细的真正的

这个对象使用多个MATL万博1manbetxAB支持并行计算®工人。支持并行计算的计算机视觉工具箱的偏好对话框。打开计算机视觉工具箱™偏好,选项卡,环境部分中,点击首选项。然后选择计算机视觉的工具箱。

输入参数

全部展开

图片,作为一个指定ImageDatastore对象。的bagOfFeatures提取同等数量的最强的从图像中包含的特性洛桑国际管理发展学院对象。最强的特征定义为:

大量的强大功能=最小值(在每组的数量特征)xStrongestFraction

对象获得StrongestFraction价值的StrongestFeatures财产。

自定义特征提取器函数,指定为一个函数处理。该自定义函数提取特征的视觉词汇学习对象。

这个函数,extractorFcn,必须指定为一个函数处理文件:

extractorFcn = @exampleBagOfFeaturesExtractor;袋= bagOfFeatures (imd, CustomExtractor = extractorFcn)
在哪里exampleBagOfFeaturesExtractor是一个MATLAB函数。例如:
函数(特性、featureMetrics位置)= exampleBagOfFeaturesExtractor (img)…
函数必须在当前工作目录的路径或。参数被定义为:

论点 输入/输出 描述
img 输入
  • 二进制、灰度或真彩图像。

  • 输入图像的图像集最初传入bagOfFeatures

特性 输出

  • 一个binaryFeatures对象。

  • 一个——- - - - - -N数字矩阵的图像特征,的特性和数量吗N每个特征向量的长度。

  • 特征长度,N,必须大于零,对所有图像处理中是相同的bagOfFeatures创建过程。

  • 如果你不能从图像中提取特征,提供一个空的特征向量矩阵和一个空的特征指标。使用空矩阵和向量,例如,你没有发现任何要点进行特征提取。

  • 数字,实际,nonsparse。

featureMetrics 输出

  • 一个1的向量的特征指标指示每个特征向量的力量。

  • 使用应用“SelectStrongest”标准bagOfFeatures框架。

  • 数字,实际,nonsparse。

位置 输出

  • 一个2基于矩阵(xy)的值。

  • (xy值可以分级。

  • 数字,实际,nonsparse。

更多细节的定制器函数及其输入和输出要求,明白了创建一个自定义特性提取器

你可以打开一个函数文件,并使用它作为模板在MATLAB命令行输入以下命令:

编辑(“exampleBagOfFeaturesExtractor.m”)

属性

全部展开

自定义特征提取器函数,指定为一个处理函数。自定义特征提取器函数提取特征用于视觉词汇的学习bagOfFeatures。您必须指定的CustomExtractor和函数处理,extractorFcn,一个自定义特征提取功能。

这个函数,extractorFcn,必须指定为一个函数处理文件:

extractorFcn = @exampleBagOfFeaturesExtractor;袋= bagOfFeatures (imd, CustomExtractor = extractorFcn)
在哪里exampleBagOfFeaturesExtractor是一个MATLAB函数,如:
函数[特性,featureMetrics] = exampleBagOfFeaturesExtractor (img)…
函数必须在当前工作目录的路径或。

更多细节的定制器函数的输入和输出要求,明白了创建一个自定义特性提取器。你可以打开一个函数文件,并使用它作为模板在MATLAB命令行输入以下命令:

编辑(“exampleBagOfFeaturesExtractor.m”)

词汇树的属性,指定为一个双元素向量形式(numLevelsbranchingFactor]。numLevels是一个整数,指定水平词汇树的数量。branchingFactor是一个整数,指定一个因素控制的词汇量可以长在树上在连续的水平。的最大数量的视觉单词词汇所代表的树branchingFactor^numLevels。典型值numLevels之间的是16。典型值branchingFactor之间的是10500年。使用实证分析选择最优值。

增加分支系数来生成一个更大的词汇量。增加词汇量提高了分类和图像检索精度,但也会增加编码图像。您可以使用一个词汇树与多个水平上创建词汇表10000个视觉单词的顺序或更多。多级树减少编码图像所需的时间与大型词汇表,但将需要更长的时间来创建。您可以使用一个树和一个水平词汇表只包含100 - 1000视觉单词。

最强的特性,指定为逗号分隔两人组成的StrongestFeatures和一个值的范围[0,1]。最强的价值代表了一部分功能使用的每个标签洛桑国际管理发展学院输入。

使进展显示屏幕,指定为逗号分隔两人组成的“详细的”和逻辑真正的

选择为冲浪挑选点位置特征提取的方法,指定为逗号分隔两人组成的“PointSelection”,要么“网格”“探测器”。有两个阶段的特征提取。首先,你选择一个方法选择的地点,(冲浪“探测器”“网格”),PointSelection财产。第二阶段提取的特征。特征提取使用冲浪点选择方法提取器。

当您设置PointSelection“探测器”,特征点选择使用一个加速健壮的功能(冲浪)检测器。否则,点被定义在一个预定义的网格间距的GridStep”。这个属性只适用于当你不指定一个自定义器的CustomExtractor财产。

在像素网格步长,指定为逗号分隔组成的“网格”和一个1×2 (xy)向量。这个属性只适用于当您设置PointSelection“网格”和你不指定一个自定义提取器CustomExtractor财产。中的步骤xy方向定义的间隔均匀网格。网格线的交点为特征提取定义位置。

块大小提取直立冲浪描述符,指定为逗号分隔两人组成的“BlockWidth”和1 -N向量的N块宽度。这个属性只适用于当你不指定一个自定义器的CustomExtractor财产。向量的每个元素对应于一个正方形块的大小的函数提取直立冲浪描述符。使用多个平方大小提取多尺度特性。所有指定的广场用于网格上的每个点提取。这个属性只适用于当您设置PointSelection“网格”。块宽度对应于特征的规模。最低BlockWidth是32像素。

冲浪特征向量的方向,指定为一个逻辑标量。这个属性只适用于当你不指定一个自定义器的CustomExtractor财产。将此属性设置为真正的当你不需要估计海浪特征向量的方向。将其设置为当你需要旋转图像描述符来获取信息。

对象的功能

编码 创建视觉词出现的柱状图

例子

全部折叠

加载两个图像集。

setDir = fullfile (toolboxdir (“愿景”),“visiondata”,“imageSets”);imgSets = imageSet (setDir,“递归”);

从每个图像中选择前两个图像设置为创建训练集。

trainingSets =分区(imgSets, 2);

创建包的功能。这个过程可能需要几分钟。

袋= bagOfFeatures (trainingSets,“详细”、假);

计算直方图的视觉词出现的图像。存储直方图作为特征向量。

img =阅读(imgSets (1), 1);featureVector =编码(袋、img);
使用Bag-Of-Features编码图像。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *编码图像做…。

加载一个图像集。

setDir = fullfile (toolboxdir (“愿景”),“visiondata”,“imageSets”);imd = imageDatastore (setDir,“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);

指定一个自定义特性提取器。

器= @exampleBagOfFeaturesExtractor;袋= bagOfFeatures (imd,“CustomExtractor”器)
创建Bag-Of-Features。- - - - - - - - - - - - - - - - - - - - - - - - - *图像类别1:书*图像类别2:杯*提取功能使用自定义特征提取功能:exampleBagOfFeaturesExtractor。*从12图像中提取特征……做的。提取230400特性。*保持最强的功能从每个类别的80%。*创建一个500字的视觉词汇。*层数:1 *分支系数:500 *的聚类步骤:1 *[1/1]步聚类词汇一级。*的特点:184320 *集群数量:500 *初始化聚类中心…100.00%。*集群…完成19/100的迭代(~ 1.59秒/迭代)……聚集在19个迭代。*完成创建Bag-Of-Features
袋= bagOfFeatures属性:CustomExtractor: @exampleBagOfFeaturesExtractor NumVisualWords: 500 TreeProperties: [500] StrongestFeatures: 0.8000

引用

[1]Csurka G。,D. Christopher, F. Lixin, W. Jutta, and B. Cédric. "Visual categorization with bags of keypoints."车间在统计学习计算机视觉,大会,2004年,页1 - 2。

[2]nist, D。,和H. Stewenius. "Scalable Recognition with a Vocabulary Tree."《IEEE计算机学会学报计算机视觉与模式识别会议,2006年,卷2,页2161 - 2168。

扩展功能

版本历史

介绍了R2014b