主要内容

evaluateImageRetrieval

评估图片搜索结果

描述

例子

averagePrecision= evaluateImageRetrieval (QueryImage.imageIndexexpectedIDs的图像搜索结果的精度度量的平均精度度量QueryImage..的expectedIDs输入包含内部图像的索引imageIndex已知与查询图像类似。

averagePrecision图像得分] = evaluateMageretrieval(QueryImage.imageIndexexpectedIDs可选地返回与内部图像相对应的索引imageIndex它们在视觉上与查询图像相似。它还返回相应的相似度得分。

averagePrecision图像得分] = evaluateMageretrieval(___名称,价值使用一个或多个指定的其他选项名称,价值配对参数,使用前面的任何语法。

例子

全部收缩

定义一组图像。

datadir = fullfile(toolboxdir(“愿景”),“visiondata”“封套”);封套= imageDatastore (dataDir);

显示一组图像。

thumbnailgallery = [];i = 1:length(bookCovers. files) img = readimage(bookCovers,i);Thumbnail = imresize(img,[300 300]);thumbnailGallery =猫(4 thumbnailGallery缩略图);结束图蒙太奇(Thumbnailgallery);

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

索引图像。这需要几分钟。

imageIndex = indexImages(封套);
使用Bag-Of-Features创建倒置的图像索引。------------------------------------------------------- 创建Bag-Of-Features。------------------------- * 选择使用检测器方法特征点的位置。*从选定的特征点位置提取SURF特征。** detectsurfeatures用于检测关键点进行特征提取。*从58张图片中提取特征…完成。提取29216特性。*保留每个类别中80%最强大的功能。*平衡所有图像类别的特征数量,以改善聚类。**图像类别1最强特征数量最少:23373。 ** Using the strongest 23373 features from each of the other image categories. * Using K-Means clustering to create a 20000 word visual vocabulary. * Number of features : 23373 * Number of clusters (K) : 20000 * Initializing cluster centers...100.00%. * Clustering...completed 7/100 iterations (~0.68 seconds/iteration)...converged in 7 iterations. * Finished creating Bag-Of-Features Encoding images using Bag-Of-Features. -------------------------------------- * Encoding 58 images...done. Finished creating the image index.

选择并显示查询图像。

querydir = fullfile(datadir,“查询”, filesep);查询= imread ([queryDir“query2.jpg”]);图imshow(查询)

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

评估需要知道预期的结果。在这里,查询图像是imageIndex中的第三本书。

预期= 3;

查找并报告平均精度分数。

[averagePrecision, actualIDs] = evaluateImageRetrieval(查询,...imageIndex,期望的);fprintf('平均精确度:%f \ n \ n',平均专制)
平均精度:0.100000

并排显示查询和最佳匹配。

bestMatch = actualIDs (1);bestImage = imread (imageIndex.ImageLocation {bestMatch});图imshowpair(查询、bestImage“蒙太奇”

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

创建图书封面的图像集。

datadir = fullfile(toolboxdir(“愿景”),“visiondata”“封套”);封套= imageDatastore (dataDir);

索引图像集。索引可能需要几分钟。

imageIndex = IndexImages(书架,'verbose',错误的);

创建一组查询图像。

querydir = fullfile(datadir,“查询”, filesep);queryset = imagedataStore(querydir);

为每个查询映像指定预期的搜索结果。

expectedIDs = [1 2 3];

评估每个查询图像并收集平均精度分数。

i = 1:numel(querySet. files) query = readimage(querySet,i);averagePrecision(i) = evaluateImageRetrieval(query, imageIndex, expectedIDs(i));结束

计算平均平均精度(地图)。

地图=意味着(averagePrecision)
地图= 1

输入参数

全部收缩

输入查询映像,指定为a-经过-N-by-3 TrueColor图像或一个-经过-N2-D灰度图像。

数据类型:|双倍的|int16|uint8|uint16|逻辑

图像搜索索引,指定为invertedImageIndex对象。的IndexImages.函数创建invertedImageIndex对象,存储用于图像搜索的数据。

图像指数,指定为行或列向量。指数对应于内部图像imageIndex已知与查询图像类似。

名称值对参数

指定可选的逗号分隔的对名称,价值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'numresults'25

评估的最大搜索结果数,指定为逗号分隔的配对组成NumResults和一个正整数值。函数对top进行计算NumResults并返回平均精度在NumResults指标。

查询图像中的矩形搜索区域,指定为逗号分隔的对,包含'ROI.'和a [xy宽度高度格式化的矢量。

输出参数

全部收缩

平均精度度量,返回范围的标量值[0 1]。平均精度度量表示查询图像的图像搜索结果的准确性。

检索图像的排序索引,返回为1的向量。图像ID以排名顺序返回,从最多到最不相似的匹配图像。

相似度指标,作为一个返回N1的向量。的输出包含与检索到的图像对应的分数图像输出。分数使用余弦相似度计算,范围从0到1。

在R2015A介绍