构建可以查找相似图像的图像搜索引擎的深度学习技术详解

在本文中将介绍如何查找相似图像的理论基础并且使用一个用于查找商标的系统为例介绍相关的技术实现,本文提供有关在图像检索任务中使用的推荐方法的背景信息。 阅读本文后你将有能够从头开始创建类似图像的搜索引擎的能力。

图像检索(又名基于内容的图像检索Content-Based Image Retrieval 或 CBIR)是任何涉及图像的搜索的基础。

上图来自文章Recent Advance in Content-based Image Retrieval: A Literature Survey (2017) arxiv:1706.06064

“按照片进行搜索”方式已经出现在各个领域,特别是在电子商务网站中(例如淘宝),并且 “通过关键词搜索图片”(对图片内容的理解)早已被谷歌、百度,bing等搜索引擎使用(图片搜索)。 我认为自从计算机视觉界轰动一时的 CLIP: Connecting Text and Images 出现后,这种方法的全球化将会加速。

在本文中,将只讨论研究计算机视觉中的神经网络的图片搜索方法。

基础服务组件

步骤 1. 训练模型。 该模型可以在经典的 CV 或基于神经网络的基础上制作。 模型输入——图像,输出——D维的特征嵌入。 在传统的情况下,它可以是 SIFT-descriptor + Bag of Visual Words 的组合。 在神经网络的情况下,可以是像 ResNet、EfficientNet 等这样的标准主干 + 复杂的池化层 。 如果有足够的数据,神经网络几乎总是表现得很好,所以我们将专注于它们。

步骤 2. 索引图像。 索引是在所有图像上运行经过训练的模型,并将获得的嵌入写入特殊索引以进行快速搜索的过程。

步骤 3. 搜索。 使用用户上传的图像,通过模型获得嵌入,并将该嵌入与数据库(索引)中的其他图像的嵌入进行比较,并且搜索结果可以按照相关性排序。

神经网络和度量学习

在寻找相似性任务中,神经网络的作用是特征提取器(主干网络)。 主干网的选择取决于数据的数量和复杂性——可以考虑从 ResNet18 到 Visual Transformer 的所有模型。

完整文章:

https://www.overfit.cn/post/18b0ea4b8df04f2c82e8cf633e13660a

posted @ 2022-02-22 10:20  deephub  阅读(244)  评论(0编辑  收藏  举报