主要内容

invertedImageIndex

将视觉词映射到图像的搜索索引

    描述

    一个invertedImageIndex对象是一个搜索索引,它存储一个可视的单词到图像映射。属性一起使用此对象retrieveImages函数搜索图像。

    创建

    描述

    例子

    imageIndex= invertedImageIndex (返回一个搜索索引对象,该对象存储基于可视单词输入包的可视单词到图像映射,.的参数设置BagOfFeatures财产。

    imageIndex= invertedImageIndex (、“SaveFeatureLocations”tf)指定是否将特性位置数据保存在imageIndex.中保存图像特征位置imageIndex对象时,指定逻辑值特遣部队作为真正的.您可以使用位置数据来验证空间或几何图像搜索结果。如果不需要特性位置,可以通过指定特遣部队作为

    属性

    全部展开

    索引图像位置,指定为包含图像路径和文件夹位置的单元格数组。

    视觉词,指定为的-元素向量visualWords对象。索引图像的数量是invertedImageIndex对象。每一个visualWords对象包含WordIndex位置VocabularySize,属性对应的索引图像。

    字的出现,指定为N元列。该列包含每个可视单词出现在图像中的百分比。这些百分比类似于文本检索应用程序中的文档频率。

    为了减少搜索集,在寻找最相关的图像时,可以压制最常见的单词。您还可以抑制您怀疑来自图像集中异常值的罕见单词。

    控件,可以控制可视化单词分布的顶部和底部对搜索结果的影响程度WordFrequencyRange财产。

    袋装视觉字,指定为bagOfFeatures用于创建索引的对象。

    潜在图像匹配所需的相似度百分比,指定为范围[0,1]中的数值。若要获得更多的搜索结果,请降低此阈值。

    词频范围,指定为低百分比和高百分比的两元素向量,[较低的].百分比必须在[0,1]的范围内,且值为较低的必须小于的值.使用词频范围忽略图像索引中的常见单词(上百分比范围)或罕见单词(下百分比范围)。这些词通常分别以重复模式或异常值的形式出现,会降低搜索精度。若要找到此属性的潜在值,在设置此值之前,请绘制已排序的图形WordFrequency值。

    索引图像标识符,指定为唯一标识索引图像的整数向量。对于可视化SLAM工作流,可以设置的值ImageID等于的值ViewIDimageviewset当添加图像时。使用相同的标识符invertedImageIndex而且imageviewset消除了在每个对象中不同地索引同一图像的需要。

    对象的功能

    addImages 添加新的图像到图像索引
    removeImages 从图像索引中删除图像
    addImageFeatures 为图像索引添加图像特征

    例子

    全部折叠

    定义一组要搜索的图像。

    imageFiles =...“elephant.jpg”“cameraman.tif”...“peppers.png”“saturn.png”...“pears.png”“stapleRemover.jpg”...“football.jpg”“mandi.tif”...“kids.tif”“liftingbody.png”...“office_5.jpg”“gantrycrane.png”...“moon.tif”“circuit.tif”...“tape.png”“coins.png”};imgSet = imageSet(imageFiles);

    学习图像视图集的视觉词汇。

    numLevels = 1;branchingFactor = 1000;包=包特征(imgSet,“PointSelection”“探测器”...“TreeProperties”(numLevels branchingFactor]);
    创建Bag-Of-Features。------------------------- *图像类别1: *使用检测器方法选择特征点位置。*从选定的特征点位置提取SURF特征。** detectSURFFeatures用于检测关键点进行特征提取。*从图像集1中的16张图像中提取特征…提取了3680个特征。*保留每个类别中80%的最强功能。*平衡所有图像类别的特征数量,以改善聚类。**图像类别1的最强特征数量最少:2944个。**使用其他图像类别中最强的2944个特征。 * Creating a 1000 word visual vocabulary. * Number of levels: 1 * Branching factor: 1000 * Number of clustering steps: 1 * [Step 1/1] Clustering vocabulary level 1. * Number of features : 2944 * Number of clusters : 1000 * Initializing cluster centers...100.00%. * Clustering...completed 17/100 iterations (~0.07 seconds/iteration)...converged in 17 iterations. * Finished creating Bag-Of-Features

    创建一个图像搜索索引,并添加图像视图集图像。

    imageIndex = invertedImageIndex(包);addImages (imageIndex imgSet);
    使用Bag-Of-Features编码图像。-------------------------------------- * 图像类别1:<定义> 16 *编码图像从图像组1…。*完成图像编码。

    指定一个查询图像和一个用于搜索目标对象(大象)的ROI。你也可以使用imrect功能,交互选择ROI。例如,queryROI = getPosition(imrect)

    queryImage = imread(“clutteredDesk.jpg”);queryROI = [130 175 330 365];图imshow(queryImage)“位置”queryROI,“EdgeColor”“黄色”

    图中包含一个轴对象。axis对象包含2个图像、矩形类型的对象。

    找到包含该对象的图像。

    imageIDs =检索图像(queryImage,imageIndex,“投资回报”queryROI)
    imageid =15x1 uint32列向量1 11 2 6 12 16 10 8 3 5
    bestMatch = imageIDs(1);图imshow (imageIndex.ImageLocation {bestMatch})

    图中包含一个轴对象。axis对象包含一个image类型的对象。

    参考文献

    [1]西维克,J. A.泽瑟曼。视频谷歌:一种用于视频对象匹配的文本检索方法.ICCV (2003) pg 1470-1477。

    [2]菲尔宾,J., O. Chum, M. Isard, J. Sivic和A. Zisserman。具有大词汇量和快速空间匹配的对象检索.CVPR(2007)。

    版本历史

    在R2015a中引入

    Baidu
    map