图像检索和图像分类的区别

Mrk*_*Mrk 2 matlab classification image-processing svm

load fisheriris
xdata = meas(51:end,3:4);
group = species(51:end);
svmStruct = svmtrain(xdata,group,'showplot',true);



species = svmclassify(svmStruct,[5 2],'showplot',true)
hold on;plot(5,2,'ro','MarkerSize',12);hold off
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了结果--->species = 'virginica'

该物种被归类为“弗吉尼亚”。这只是一张图片。这个分类过程可以称为“图像检索”吗???

或者我们是否必须检索许多图像才能将其称为图像检索?

Par*_*kar 6

图像分类:在称为训练集的数据集上训练模型,然后使用与训练集(最重要)不相交的数据集进行测试。

图像检索:给定查询图像,从数据库中获取与查询图像“最接近”的图像。现在,术语“最接近”可以与颜色、形状、纹理等相关。那么决定“最接近”的是什么 - 图像的特征向量,用户根据为满足其需求而设计的算法进行计算。

分类和检索的主要区别:分类需要训练数据的标签,检索不需要。检索是一种纯粹基于距离的方法。

现在,继续您的问题:这不会被称为检索,因为它只是告诉我查询图像的类别,而不是为我提供类似的图像。现在你可能会争辩说,如果我对 100 张像这样的图像进行分类,如果 100 张图像中的 50 张属于某个类别,那么这些图像可以被视为相似的图像。这样对吗?在我看来,答案是否定的。考虑一个示例,您必须对有汽车和没有汽车的图像进行分类。在(完美)分类的情况下,所有 50 张图像肯定都有汽车。但是在(完美)检索的情况下,所有 50 个图像将有相同颜色的汽车或小型/大型汽车等。这就是区别。

您可以说检索到的最高图像可以作为分类结果。那是可能的。但同样,我们有非常强大的分类算法(例如,SVM、随机森林、Boosting、多实例学习等),但情况与检索不同(据我所知)。因此,如果要进行分类,则不会取检索的最高结果,而是始终使用专用算法进行分类。

总而言之,如果一个过程不需要标签并且它根据某些属性(颜色、纹理、形状等)进行检索,则该过程称为检索。分类是您需要标签的地方,它是根据类别完成的(例如,汽车/没有汽车、人/没有人、自然/人造等)。

我希望这能澄清你的概念。