千家信息网

怎么在Colab上实现近200万图片的精准检索匹配

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇文章为大家展示了怎么在Colab上实现近200万图片的精准检索匹配,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。OpenAI 同时发布了两个连接文本与图像
千家信息网最后更新 2025年02月02日怎么在Colab上实现近200万图片的精准检索匹配

本篇文章为大家展示了怎么在Colab上实现近200万图片的精准检索匹配,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。


OpenAI 同时发布了两个连接文本与图像的神经网络:DALL·E 和 CLIP。其中,DALL·E 可以基于文本直接生成图像,CLIP 能够完成图像与文本类别的匹配。这两个模型发布之后,机器学习社区出现了一些复现 DALL·E 模型的尝试,如开发者 Phil Wang 的 GitHub 项目 DALLE-pytorch,短短二十余天就收获了 1.9k star。

近日,又有开发者创建了一个利用 CLIP 模型搜索文本精准匹配图片的项目。该项目所有图片出自 Unsplash 数据集,大约有 200 万张,利用 CLIP 模型进行处理。项目既可以在给定的免费谷歌 Colab notebook 中运行,也可以在用户自己的机器上运行。


项目地址:https://github.com/haltakov/natural-language-image-search#two-dogs-playing-in-the-snow

在具体实现上,项目作者在 Colab Notebook 上将所有图片处理成了预计算特征向量,然后找到与自然语言搜索查询(即输入的文本)最匹配的图片。
项目作者提供了一些效果展示图,如输入搜索词条「"Two dogs playing in the snow"」,就会出现以下几幅图片:

摄自:Richard Burlton、Karl Anderson 和 Xuecheng Chen。

输入搜索词条「"The word love written on the wall"」,就会出现以下包含「love」的文本:

摄自:Genton Damian、Anna Rozwadowska 和 Jude Beck。

此外,你还可以选择搜索图片的数量,例如:通过修改「search_unslash(search_query, photo_features, photo_ids, 3)」,将该行中的 3 更改为想要的搜索结果数量。

如何实现?

谷歌 Colab notebook 上运行

在给定的 Colab 会话中进行首次搜索的步骤如下:

1. 首先需要进入 Colab 界面;

2. 登录谷歌账户,单击右上角的「S」按钮即可完成此操作。注意:注册谷歌账户会影响隐私,比如你的谷歌搜索历史记录会记录在谷歌帐户中;

3. 单击单元格中的某个位置(三角形除外),该行显示「search_query = "Two dogs playing in the snow"」;

4. 单击菜单「Runtime→Run before」,等待执行结束;

5. 找到读取(或最初读取)「search_query = "Two dogs playing in the snow"」这一行,将「 "Two dogs playing in the snow"」改变成你想要的查询。例如:「search_query = "A clock with gold-colored numbers on a black background"」;

6.(可选)查找读取(或最初读取)的行「search_unslash(search_query, photo_features, photo_ids, 3)」。将该行中的 3 更改为想要的搜索结果数量;

7. 单击最初读取「search_query = "Two dogs playing in the snow"」这一行左侧的三角形, 等待搜索结果。


Colab 界面地址:https://colab.research.google.com/github/haltakov/natural-language-image-search/blob/main/colab/unsplash-image-search.ipynb#scrollTo=xbym_cYJJH6v

在 Colab 会话中执行更多搜索,请参考上述步骤 5-7。在 Google Colab 会话后,可以选择注销谷歌帐户,因为登录谷歌帐户会影响隐私。

本机上运行

想要在本机上实现该功能,首先需要安装必要的依赖项,安装代码如下:

pip install -r requirements.txt

如果想要运行所有的代码,打开 Jupyter notebooks,按照以下编号顺序以及说明依次操作:

01-setup-clip.ipynb:设置环境,检查并准备 CLIP 代码;

02-download-unsplash-dataset.ipynb:从 Unsplash 数据集下载图片;

03-process-unsplash-dataset.ipynb:使用 CLIP 处理数据集中的所有图片;

04-search-image-dataset.ipynb:使用自然语言查询在数据集中检索图片;

05-search-image-api.ipynb:使用 Unsplash Search API 检索图片,CLIP 过滤搜索结果。


注意:只有精简版的 Unsplash 数据集是公开可用的。如果你想使用完整版,你需要申请(免费)访问权限;使用 Unsplash Search API 搜索图像不需要访问 Unsplash 数据集,但可能会产生糟糕的结果。

上述内容就是怎么在Colab上实现近200万图片的精准检索匹配,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

搜索 图片 项目 数据 文本 结果 运行 检索 图像 搜索结果 模型 精准 代码 帐户 数量 处理 查询 输入 上实 一行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华为手机云服务器怎么下载 国家电网按照什么分类建立数据库 新乡合一网络技术 icloud连接到服务器时出现问题 传送服务器 服务器数据不被发送外网 数据库包括哪些优化 旧版本数据库安全防护 天津华为服务器虚拟化安装云空间 开源信息网络技术有限公司 网络安全注意学什么 数据库实训报告的总结 服务器和监控系统的区别 银行开展网络安全宣传周总结 抚州主机服务器要多少钱 中国数据库易鲸捷 网络显示网络安全密钥不匹配 计算机网络技术文案高质量 无源光网络技术简介 微信小程序数据库技术 网络安全法鸡责任 我的世界多人游戏搜索不到服务器 淄博安卓软件开发哪家靠谱 网络安全产品 蓝盾 网络安全谁动了你的信息 衡水网络安全专业 惠山区计算机网络技术口碑推荐 腾讯云服务器ip是什么意思 冰峰网络安全科技馆 杭州市软件开发行业怎么样
0