图文检索在生活中具有广泛的应用,常见的图片检索包括基于文本内容搜索和基于图片内容搜索。用户通过输入文字描述或上传图片就可以在海量的图片库中快速找到同款或者相似图片,这种搜索方式被广泛应用于电商、广告、设计以及搜索引擎等热门领域。
本文基于火山引擎云搜索服务 ESCloud 和图文特征提取模型 CLIP,快速搭建一套以图搜图,以文搜图的端到端解决方案。
原理介绍
图片搜索技术,以文本描述和图片作为检索对象,分别对 image 和 text 进行特征提取,并在模型中对文本和图片建立相关联系,然后在海量图片数据库进行特征向量检索,返回与检索对象最相关的记录集合。其中特征提取部分采用 CLIP 模型,向量检索使用火山引擎云搜索服务在海量图片特征中进行快速的搜索。

环境依赖准备
1.登录火山引擎云搜索服务,创建实例集群,集群版本选择 7.10。

2.Python Client 关键依赖准备
pip install -U sentence-transformers # 模型相关 pip install -U elasticsearch7==7.10.1 # ES向量数据库相关 pip install -U pandas #分析splash的csv
数据集准备
我们选择 Unsplash 作为图片数据集,详细介绍请参考:https://unsplash.com/data。在此示例中,我们选择下载 Lite 数据集,其中包含约 25,000 张照片。下载完成后会获得一个压缩文件,其中包含描述图片的 CSV 文件。通过使用 Pandas 读取 CSV 文件,我们将获得图片的 URL 地址。
def read_imgset(): path = '${下载的数据集所在路径}' documents = ['photos', 'keywords', 'collec

最低0.47元/天 解锁文章
2945

被折叠的 条评论
为什么被折叠?



