主要内容

evaluateImageRetrieval

评估图片搜索结果

描述

例子

averagePrecision= evaluateImageRetrieval (queryImage,imageIndex,expectedIDs)回报的平均精度指标测量图片搜索结果的准确性queryImage。的expectedIDs输入包含图像的指标imageIndex已知的类似于查询图像。

(averagePrecision,imageid,分数)= evaluateImageRetrieval (queryImage,imageIndex,expectedIDs)在选择返回相对应的指数图像imageIndex视觉相似查询的形象。它还返回相应的相似性得分。

(averagePrecision,imageid,分数)= evaluateImageRetrieval (___,名称,值)使用指定的一个或多个额外的选项名称,值对参数,使用任何前面的语法。

例子

全部折叠

定义一组图像。

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

显示图片的集合。

thumbnailGallery = [];i = 1:长度(bookCovers.Files) img = readimage(封套,我);缩略图= imresize (img, 300年[300]);thumbnailGallery =猫(4 thumbnailGallery缩略图);结束图蒙太奇(thumbnailGallery);

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

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

imageIndex = indexImages(封套);
创建一个使用Bag-Of-Features反向图像索引。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -创建Bag-Of-Features。- - - - - - - - - - - - - - - - - - - - - - - - - *使用检测器方法选择特征点位置。*从所选特征点提取冲浪功能位置。* * detectSURFFeatures是特征提取的用于检测要点。*从58图像中提取特征……做的。提取29216特性。*保持最强的功能从每个类别的80%。*平衡特性的数量在所有图像分类来提高聚类。* *图像类别1最少的最强的特点:23373。 ** Using the strongest 23373 features from each of the other image categories. * Creating a 20000 word visual vocabulary. * Number of levels: 1 * Branching factor: 20000 * Number of clustering steps: 1 * [Step 1/1] Clustering vocabulary level 1. * Number of features : 23373 * Number of clusters : 20000 * Initializing cluster centers...100.00%. * Clustering...completed 7/100 iterations (~0.55 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第三本书。

expectedID = 3;

发现和报告的平均精度得分。

[averagePrecision, actualIDs] = evaluateImageRetrieval(查询,imageIndex expectedID);流(的平均精度:% f \ n \ n 'averagePrecision)
平均精度:0.100000

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

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

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

创建一个图像的书籍封面。

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

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

imageIndex = indexImages(封套,“详细”、假);

创建一组查询图像。

queryDir = fullfile (dataDir,“查询”,filesep);querySet = imageDatastore (queryDir);

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

expectedIDs = (1 2 3);

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

i = 1:元素个数(querySet.Files)查询= readimage (querySet,我);averagePrecision (i) = evaluateImageRetrieval(查询、imageIndex expectedIDs(我));结束

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

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

输入参数

全部折叠

输入查询图像,指定为一个——- - - - - -N3真彩图像或一个——- - - - - -N二维灰度图像。

数据类型:||int16|uint8|uint16|逻辑

图片搜索指数,作为指定invertedImageIndex对象。的indexImages函数创建invertedImageIndex对象,该对象用于存储数据的图像搜索。

图像索引,指定为一个行或列向量。指数对应的图像imageIndex已知的类似于查询图像。

名称-值参数

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:“NumResults”,25

最大数量的搜索结果来评估,指定为逗号分隔两人组成的NumResults”,一个正整数的值。功能评估NumResults并返回average-precision-at -NumResults指标。

矩形搜索区域内的查询图像,指定为逗号分隔两人组成的“ROI”,(xy宽度高度格式化的向量。

输出参数

全部折叠

平均精度度量,返回标量值的范围(0 - 1)。的平均精度指标代表了图像的搜索结果查询图像的准确性。

排名指数检索图像,作为一个返回1的向量。图像id返回排名顺序,从最至少相似匹配图像。

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

介绍了R2015a