主要内容

invertedimageIndex.

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

    描述

    一个invertedimageIndex.对象是一个搜索索引,它存储一个可视化的字到图像的映射。对象可以使用此对象RefriceImages.函数用于搜索图像。

    创建

    描述

    例子

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

    imageIndex= InvertedImageIndex(、“SaveFeatureLocations”tf)中指定是否保存特性位置数据imageIndex.保存图像功能位置imageIndex对象,指定逻辑值TF.作为真正的.您可以使用位置数据来验证空间或几何图像搜索结果。如果不需要特性位置,可以通过指定来减少内存消耗TF.作为错误的

    特性

    全部展开

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

    视觉单词,指定为aM.元向量的visualWords对象。M.索引图像的数量是invertedimageIndex.对象。每一个visualWords对象包含WordIndex.位置词汇表,相应索引图像的属性。

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

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

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

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

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

    字频率范围,指定为下百分比和上百分比的两个元素矢量,[较低的]。百分比必须在[0,1]的范围内,和值较低的一定小于的值.使用单词频率范围忽略图像索引中的常见单词(上百分比范围)或罕见单词(下百分比范围)。这些词经常分别以重复模式或离群值出现,会降低搜索的准确性。要找到此属性的潜在值,在设置此值之前,请绘制已排序的值WordFrequency价值观。

    索引图像标识符,指定为唯一标识索引图像的整数向量。对于可视化SLAM工作流,可以设置imageId.等于viewid.imageviewset.当添加图像。使用相同的标识符invertedimageIndex.imageviewset.消除了在每个对象中以不同方式索引相同图像的需要。

    对象功能

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

    例子

    全部折叠

    定义一组图像以搜索。

    imagefiles =.......{“elephant.jpg”“cameraman.tif”......“peppers.png”'saturn.png'......'pears.png''stapleremover.jpg'......“football.jpg”'mandi.tif'......'ows.tif'“liftingbody.png”......'Office_5.jpg''甘迪克莱.png'......“moon.tif”“circuit.tif”......'tape.png''coins.png'};imgSet = imageSet (imageFiles);

    了解图像视图集的视觉词汇。

    BAG = BAGOFFEature(IMGSET,'指点'“探测器”......“VocabularySize”, 1000);
    创建功能袋。--------------------------图像类别1:<未定义> *使用探测器方法选择要点位置。*从所选功能点位置提取冲浪功能。**检测拍摄用于检测特征提取的关键点。*从图像设置1中的16个图像中提取特征..​​.完成。提取了3680个功能。*保留每类别的最强大功能的80%。*平衡所有图像类别的功能数量以提高群集。**图像类别1具有最小的特性数量:2944. **使用来自每个其他图像类别的最强的2944个功能。*创建1000字视觉词汇表。 * 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.06 seconds/iteration)...converged in 17 iterations. * Finished creating Bag-Of-Features

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

    imageIndex = InvertedImageIndex(袋);AddImages(imageIndex,IMGSet);
    使用特性袋进行编码图像。-------------------------------- *图像类别1:<未定义> *编码16张图像从图像设置1 ...完成。*完成编码图像。

    指定一个查询图像和一个ROI,在其中搜索目标对象,大象。你也可以使用im函数以交互方式选择ROI。例如,queryROI = getPosition (imrect)

    queryImage = imread ('cluttereddesk.jpg');queryroi = [130 175 330 365];图imshow(queryimage)矩形(“位置”queryROI,'Edgecolor''黄色的'的)

    图包含轴对象。轴对象包含2个类型图像,矩形的对象。

    查找包含该对象的图像。

    imageIds = RetrieveImages(QueryImage,imageIndex,'roi',queryroi)
    imageIds =.15x1 uint32列向量1 11 2 6 12 8 16 3 13 13 14⋮
    bestmatch = imageIds(1);图imshow(imageindex.imageLocation {bestmatch})

    图包含轴对象。轴对象包含类型图像的对象。

    参考文献

    [1] SIVIC,J.和A. Zisserman。视频谷歌:一种用于视频对象匹配的文本检索方法.ICCV(2003)PG 1470-1477。

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

    介绍了R2015a