欢迎光临散文网 会员登陆 & 注册

60行代码,让AI为你自动剪视频|CLIP-as-service

2022-10-27 00:45 作者:Jina_AI  | 我要投稿

单茂轩:这个是我暑假时做的项目,因为在 Jina AI 团队了解到多模态技术,当时就非常沉迷于此。通俗来讲,神经网络将文字和图片映射到同一片向量空间里,就可以通过文字和图片的向量进行相似度匹配,去达成文字搜索图片的目的。



00:54


刚好在 Jina AI 社区里面有一个用户,他就用 Jina 做了文字搜视频的应用。Jina 实例秀|输入描述就能自动剪视频?我很喜欢这个应用,但我也发现他写了好长的代码,因为他是模仿着 CLIP-as-service 代码,去使用 CLIP 模型,然后再套上一些 index 去做索引。当时我正在 CLIP-as-service 组工作,我就想挑战自己,怎么用 CLIP-as-service 把这个搜索的流程变得十分简化,十分灵活轻巧。那么最后我的挑战结果就是 60 行,60 行代码就可以完成这样一个用描述文本搜索短视频的跨模态应用。


04:11


核心逻辑是先分割出视频的关键片段,再去用文字来搜索对应片段。首先通过这个感知哈希的算法,比较两个帧的哈希值的相似度,也就是算出两个帧的哈希值之后,比较它们的相似度。如果相似度是大于 0.6 的,那么就认为这两张图片是相似的。如果小于 0.6 的话,就认为那一帧是一个关键帧,抽出关键帧之后,我们就可以将以每个关键帧作为分隔,分割出一段段视频。接着就可以根据关键帧,把文字视频搜索的任务转化成为图片搜索的任务。因为关键帧之后的那些帧都会跟它长得一样,否则它就不会是关键帧了,所以只需要搜索关键帧就可以了。那么我们就直接调用这个 CLIP-as-service 的 Client,它有一个 Python 的 SDK,用 Client 连接 Server,传入 Jina 的 DocumentArray 数据结构,再进行排序,就可以把排序后的结果直接返回给前端,就实现了这么一个 60 行代码的视频搜索。前端 30 行,后端 30 行。

项目作者:单茂轩,Jina AI 社区大使、CLIP-as-service 重要贡献者

项目地址: https://github.com/shan-mx/Video-CLIP-Indexer

项目中使用的开源项目:

CLIP-as-service

  • 文档:https://clip-as-service.jina.ai/
  • GitHub:https://github.com/jina-ai/clip-as-service

60行代码,让AI为你自动剪视频|CLIP-as-service的评论 (共 条)

分享到微博请遵守国家法律