网站首页 > 基础教程 正文
丰色 发自 凹非寺
量子位 报道 | 公众号 QbitAI
让你从7万张照片里面,找一张猫的照片。
崩溃不?
可就在最近,一位外国小哥就搞出了个神器——只要1行代码,就能轻松搞定这种海底捞针的事儿。
就比如刚说的找“猫片”:
装上神器,终端进入你存照片的文件夹,输入“rclip cat”——
很快,10张跟猫有关的照片就列出来了!
当然,文字显示不直观,加个命令就能在图片查看器中预览:
再来一个抽象的:找跟“love”有关的。
几秒钟后四张人类或动物相拥的照片(以及一张三朵“相拥”的向日葵)就出来了。
是不是挺好使?
看到这,你有可能会说目前已有一些程序可以实现用文字检索图像。
不过,小哥发现它们大多都只能用有限的预设词来搜索——而他这个工具和它们最大的区别就在这了。
下面就试试。
找一只正在打哈欠的狗,你就可以输入“a yawning dog”。
搞定!
再来一个,“woman jumping in the mountains”:
完美!结果都非常准确。
emmm,如果你发现不准,很有可能是你描述有问题。
比如你想找一些肖像,但如果直接输入“portrait”,可能会出来一堆有人有狗有猫的“肖像”:
这肯定不是你想要的,这样描述:a portrait of person,结果就对了:
心动不?
就是CLIP的一个简单接口,你也可以试试
此工具被小哥命名为“rclip”。
看名字你也知道了,这就是用那个能实现图像与文本的精准匹配的CLIP做的。(rclip代表recursion CLIP,也就是递归CLIP)
更确切地说,rclip就是CLIP的一个简单接口。
当你输入查询文本后,它所要做的就是加载模型,提取你所选目录中所有图像的特征向量,将它们存储在数据库(小哥用的SQLite)。
其中,提取操作只进行一次,也就是你第一次检索的时候。
然后它再从你输入的查询文本中提取特征向量,计算它与你的图像特征向量库之间的相似性,最后输出最相似的图像。
下面是安装与使用方法:
首先去GitHub上下载rclip最新的AppImage文件:
对,目前该工具只支持Linux x86_64……
如果你正在使用Linux,下载好之后,执行下面两行就可以使用了:
nbsp;chmod +x rclip-v1.0.0-x86_64.AppImage
nbsp;sudo mv rclip-v1.0.0-x86_64.AppImage /usr/local/bin/rclip
安好以后,就可以cd进入你存图片的目录,开始“rclip + ‘关键字’ ”的检索了。
首次使用提取所有图片的特征向量需要花一些时间,这取决于你所存图片的数量还有你的CPU性能。
ps.小哥的72769张照片是在性能较低的英特尔Celeron J3455处理器上跑了一天。
如果你只想要前5张照片并在本地默认的图片查看器上预览,可以用下面的命令:
nbsp;rclip -nf -t 5 “kitty” | xargs -d ‘\n’ -n 1 xdg-open
最后,在线等一个能在Windows/Mac上实现这个功能的工具,大家有没有!
GitHub:
https://github.com/yurijmikhalevich/rclip
demo视频:
https://www.youtube.com/watch?v=tAJHXOkHidw
参考链接:
https://mikhalevi.ch/rclip-an-ai-powered-command-line-photo-search-tool/
— 完 —
量子位 QbitAI · 头条号签约
关注我们,第一时间获知前沿科技动态
- 上一篇: Linux 进阶知识点总结(linux进阶命令)
- 下一篇: 超详细!Linux文件和目录的10项属性
猜你喜欢
- 2025-06-23 Linux中find命令用法核心要点提炼
- 2025-06-23 Linux命令超级干货:文件查找命令之find讲解
- 2025-06-23 Python小技巧:如何批量更新已安装的库?
- 2025-06-23 超详细!Linux文件和目录的10项属性
- 2025-06-23 Linux 进阶知识点总结(linux进阶命令)
- 2025-06-23 Java内存溢出紧急处理:10个必知的Linux命令快速定位OOM
- 2025-06-23 强烈推荐20个Linux find查找指令(linux如何使用find指令查找文件)
- 2025-06-23 基于 Kubernetes 的自动驾驶仿真云平台系统架构
- 2025-06-23 grep黑客手里的终级利器(linux黑客工具)
- 2025-06-23 一起挖矿病毒事件的深度分析,结果你竟想不到
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)