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上面的代码给出了结果-> species = 'virginica‘
该种被归类为“处女座”。这只是一张图片。这种分类过程可以称为“图像检索”吗?
或者我们必须检索许多图像,才能将其称为图像检索?
发布于 2013-02-27 17:37:00
图像分类:在称为训练集的数据集上训练模型,然后使用与训练集不相交的数据集进行测试(最重要)。
图像检索:给定一个查询图像,从数据库中获取与查询图像“最接近”的图像。现在,术语“最近的”可以是关于颜色,形状,纹理等。所以什么决定了“最近的”-图像的特征向量,用户根据设计的算法来计算,以满足他的需要。
分类和检索之间的主要区别:分类需要训练数据的标签,而检索不需要。检索是一种纯粹基于距离的方法。
现在,转到您的问题:这不会被称为检索,因为它只是告诉我查询图像的类,而不是为我提供类似的图像。现在你可能会说,如果我对100张这样的图像进行分类,如果其中50张属于某个类别,那么这些图像就可以被视为相似的图像。这是正确的吗?在我看来,答案是否定的。考虑一个例子,你必须对有车和没有车的图像进行分类。在(完美)分类的情况下,所有的50个图像肯定都有汽车。但在(完美)检索的情况下,所有50张图像都将有相同颜色的汽车或小/大汽车等。这是不同之处。
你可以说,检索到的最上面的图像可以作为分类结果。这是可能的。但同样,我们有非常强大的分类算法(例如,SVM、随机森林、Boosting、多实例学习等)。但检索的情况就不一样了(据我所知)。因此,如果你想进行分类,你不会取检索的最高结果,你将始终使用专用的算法进行分类。
总而言之,如果一个过程不需要标签,并且它根据某些属性(颜色、纹理、形状等)进行检索,则该过程称为检索。分类是你需要标签的地方,分类是根据类别进行的(例如,汽车/无汽车,人/无人,自然/人造等)。
我希望这能澄清你的概念。
https://stackoverflow.com/questions/15104318
复制相似问题