给 Crop-CLIP 一个口令,就能自动搜图,还能帮忙裁剪出图片中的关键部分。
经常找图的人都知道,根据检索关键词组寻找理想中的照片是件很麻烦的事情。打开搜刮引擎或无版权图片网站,输出关键词,如果幸运的话,可能会在第一页或前 N 个检索结果中找到想要的图象。这种搜刮方式仍然是基于图片标签从事的。自从 2021 年 1 月,OpenAI 推出了名为 CLIP 的神经网络,找图就进入了语义搜刮时代。CLIP 建立在零样本迁移、自然语言监督、多模态学习的大量工作基础之上,因此它可以从自然语言监督中有效地学习视觉概念。语义搜刮不会试图为输出短语中的单词找到精确匹配,而是捕获上下文和单词之间的更广泛的关系,然后检索与搜刮查问的上下文密切相关的结果。近日,一位开发者将 YOLOv5 和 CLIP 结合起来,在使用关键词检索图片内容的同时,直接精确裁剪出蕴涵检索主题的那一部分。
在这张图中,检索的关键词是「Whats the time」。
项目地址:https://github.com/vijishmadhavan/Crop-CLIP
在线试用地址:https://huggingface.co/spaces/Vijish/Crop-CLIP
先看几个示例,比如你输出关键词「卫衣男」,效果如下图:关键词「威士忌酒瓶」:
输出关键词「计算机」,就不会蕴涵水杯和耳机:
惊喜的是,它也能认出「Jeff Dean」:
怎么实现的?CLIP 是用大量带有对应标题的图象从事训练的,因此它学会了理解哪个标题与哪个图片相匹配。用户可以给出一个随机图象,并在向量空间中找到该图象的余弦相似度,其中蕴涵两个短语向量:「这是狗的照片吗?」、「这是猫的照片吗?」。模型会查看哪一个具有最高的相似度,然后找到图象的类型。某种程度上说,CLIP 具有像 GPT-2 和 GPT-3 一样的零样本分类能力。
图源:OpenAI CLIP 博客。和标的检测器 YOLOv5 相结合之后,CLIP 在语义搜刮图象的基础上增加了裁剪能力,变身 Crop-CLIP。
检测和裁剪对象 (yolov5s)
使用 CLIP 对裁剪后的图象从事编码
使用 CLIP 编码搜刮查问
找到最佳匹配部分
Crop-CLIP 也可用于创建数据集,需要在代码中从事一些更改,从事批量搜刮查问。如下图所示,Jack Daniels 威士忌酒瓶的图象已被裁剪并保存。项目作家 Vijish Madhavan 是一位自由开发者,现居英国,是利物浦约翰摩尔斯大学的硕士生。
但作家也提到了一点「限制」,Crop-CLIP 严重依赖标的检测器 YOLOv5,鉴于 YOLOv5 是在 COCO 数据集上从事预训练的标的检测架构和模型,因此 Crop-CLIP 检测过程中的类型会依赖于 COCO 中的类型。所以在机器之心编辑部的试用过程中,也会出现不同程度的翻车事故。想要草莓,结果却是金桔:
想要猫咪,结果却是螃蟹:
这两张输出结果,刘能看了也要叹气:
至少,这个项目是一种有趣的创新,在后续的优化中,相信作家也会对数据集等方面从事改进,实现更好的搜图效果。
原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/33970