如何结合不同算法提取的异构图像特征进行相似图像检索?

数据挖掘 深度学习 特征工程 计算机视觉 信息检索
2022-03-06 05:55:02

假设我可以访问几个预训练的 CNN(例如 AlexNet、VGG、GoogleLeNet、ResNet、DenseNet 等),我可以通过在每个 CNN 中保存一些隐藏层的激活来从图像中提取特征。同样,我也可以使用传统的手工技术提取特征,例如:HOG、SIFT、LBP、LTP、局部相位量化、旋转不变共现局部二进制模式等。因此,我可以获得非常高维的图像的特征向量,它连接了这些单独算法输出的各个特征向量。给定这些特征,并给定我想要执行相似图像检索的图像数据集(即找到与查询图像 X 最相似的前 k个图像),实现此任务的最合适方法是什么?

我想到的一个可能的想法是通过训练一个神经网络来学习在欧几里得空间中嵌入的图像相似性,该神经网络将接收上述特征向量作为输入,也可能是图像的下采样版本,并输出低维嵌入理想情况下,应该将相似的图像彼此靠近而不同的图像相距很远。我可以使用 Siamese Loss 或 Triplet Loss 来训练这个网络。不过,这种方法的挑战在于为(监督)训练本身生成标签。例如,在 Triplet Loss 的情况下,我需要对三元组 (Q,X,Y) 进行采样,并且以某种方式确定 X 和 Y 之间的哪一个与 Q 最相似,以便为三元组生成标签(即,为了“教”网络我需要自己事先知道答案,但是如何?我猜这是域依赖,但请考虑具有非常异构图像的具有挑战性的案例,例如摄影画廊、艺术画廊等)。

无论如何,这只是一个想法,我绝不假装这是正确的方法。我愿意接受有关如何解决此任务的新建议和见解。

0个回答
没有发现任何回复~