AI语义搜索本地素材

前言

我有一次偶尔在B站看到一个视频,能够实现语义素材搜索。但是他那个项目没有开源,我很好奇怎么实现的,然后就查了下资料,发现一个叫CLIP的模型(以及很多变体),于是花了几天时间整了一个,通过CLIP实现语义搜索本地素材。后续又花了不少时间进行迭代。

代码开源在GitHub上: https://github.com/chn-lee-yumi/MaterialSearch

后续打算整一个在线demo。

B站视频

本地素材搜索! 根据画面描述搜索视频!

AI语义搜索本地素材。以图搜图、查找本地素材、根据文字描述匹配画面、视频帧搜索、根据画面描述搜索视频。

【注意】目前版本已经经过多次迭代,配置请不要按照视频里面的去修改,请修改config.py。详细说明请看README.md!!!

项目地址:https://github.com/chn-lee-yumi/MaterialSearch 求star

另外特别感谢: https://github.com/IDEA-CCNL/Fengshenbang-LM

目前还不能开箱即用,需要大家自行安装Python环境。后面如果视频数据好的话我会考虑出一个整合包。

20230515: 目前已支持docker部署。

视频文字稿

【开源】AI语义搜索本地素材

前段时间看到一个 视频 ,有位UP主开发了一个AI语义视频素材搜索软件,但是没有开源,也没有介绍具体的实现原理。我有个朋友很感兴趣,所以我经过三天时间的开发,通过一个叫CLIP的模型,实现了一个AI语义搜索本地素材的软件。代码开源在GitHub上。第一次用需要配置一下扫描路径,运行程序后点击扫描,这个可能需要很长时间。CLIP只支持英文搜索。漂亮的湖,蓝色的天,阳光明媚(beautiful lake, blue sky, sunny),搜出来的东西还是挺符合描述的。我这里还加了过滤功能(white clouds on the lake),不过这个过滤效果不是很好。它也支持搜索视频(FPS Game),其实还可以加定位功能,显示搜索的内容出现在视频的哪一秒,不过我很少录长视频,所以没做这个功能。另外还有用图片搜素材和图文相似度匹配功能,就不演示了。

可能是这个标题起得烂,没什么播放量,所以有了下面的视频。

【开源】本地素材搜索!根据画面描述搜索视频!

一个月前我做了个AI语义搜索本地素材的视频,有不少人想加视频定位,我就把这个功能补上了,而且机缘巧合之下我看到有 支持中文的CLIP模型 ,所以我就把中文支持也加上了。现在正式发布船新版本!

代码是用Python编写的,下载代码后要先修改一下路径,然后直接运行。首先会加载模型,模型加载完毕后会打印两个链接,随便点一个,这里就是这个程序的界面了。第一次用需要先点击扫描,这个可能要很久,我的NAS上的素材扫了几天了还没扫完,所以只能先用自己电脑演示一下了。

比如我在这里搜索猪,搜出来一只猪和一只猪蹄。以图搜图功能就不演示了。文字搜视频,这里搜“滑雪”看看,可以看到效果不错。再搜一下“雪地”,可以看到它搜到了雪地的片段,并且跳转到了对应的时间点,这个片段时长4秒,播完会自动暂停。

以图搜视频,这里我从某个视频里面截了个图,是一只狗,然后点搜索,视频就搜出来了。然后我从一部电影里面截了个图,再点击搜素看看。搜出来的片段比较多,第一个视频匹配度最高,播放看看,截图就是从这里出来的。

图文相似度匹配功能,用处不大。

如果你喜欢这个软件,求三连和转发,有什么想说的也欢迎在评论区留言。目前还不能开箱即用,需要大家自行安装Python环境。后面如果视频数据好的话我会考虑出一个整合包。