以下纯属个人见解,如有理解错误,请批评指正
分类和检索的区别
我感觉图像分类和图像检索都可以分为两部分:图像分类分为特征学习+分类器学习,图像
检索分为特征学习+度量学习。最初的图像分类可能是自己设计认为对区分类别有帮助的
特征,然后用分类器去分类,通过调整分类器的参数对图像进行分类。后来,也可以学习特
征,也就是根据分类器的性能学习好的特征表示,同时也可实现对图像更好的分类。而图像
检索也可以自主设计特征,然后通过不同的相似性度量,检索出跟查询图像最相似的图像。
或者学习特征,也就是根据检索的结果对特征进行调整,以得到更好的特征表示以及检索性
能。拿有监督的图像分类来说(LDA、SVM、ANN、贝叶斯和决策树),训练集上的数据是已
经知道类别了,计算机需要学习出一个分类模型(包括特征和分类算法),然后测试集只负
责验证分类模型的分类性能。而对于检索任务来说,是要拿一个实例,去已知的库里边找到
相似的图像。库里边的数据可以没有标记,而计算机只需要通过相似性度量,找出和查询图
像相似的就可以。或者通过学习的方法,给定数据库中数据的类别,然后从数据库中取出一
个图像作为查询图像,然后学习一个检索模型(包括特征和距离度量),然后再用不知道类
别的查询图像去测试检索模型的性能。
所以,图像分类是学习一个分类模型(包括特征和分类算法),而图像检索是学习一个检索
模型(包括特征和相似性度量)。
那可不可以基于分类结果去检索呢?就是说先训练一个好的分类模型,然后对新来的查询图
像进行分类,分为哪一类,就把那一类的图像作为检索出来的图像。
个人觉得分为两种情况。
第一种,分类好之后,检索时,只在属于的子类上检索。这肯定是好的。
第二种,分类好之后,检索时,还是在全集上做检索,这是不好的。因为比如对于SVM分
类器来说,分类结果不错。那么对于支持向量来说,和它属于同一类的图像未必是和它离的
最近的,有可能和它距离上最近的是另外一个类的支持向量。所以,这种情况下,对于不是
以距离度量为分类指导条件的分类器,不能用于图像检索。
那么反过来呢?对于一个图像来说,和它距离最近的图像可不可以和它作为同一类呢?
个人觉得这是可以的。因为这相当于训练了一个基于距离度量的分类器。