一文深度解读多模态大模型视频检索技术的实现与使用

当视频检索叠上大模型Buff。

万乐乐|技术作者

视频检索,俗称“找片儿”,即通过输入一段文本,找出最符合该文本描述的视频。

随着视频社会化趋势以及各类视频平台的快速兴起与发展,「视频检索」越来越成为用户和视频平台实现高效查找视频、定位目标内容的新需求。

对于个人用户而言,面对海量的在线视频资源,快速准确地通过关键词或描述找到感兴趣的视频十分重要。同时,在个人存储设备如手机或网络云盘中,用户也存在检索自己拍摄录制的视频资料的需求。

而对于视频剪辑师和制作团队来说,在庞大的媒资库中搜索所需的视频片段或素材是一项日常基础工作。精准高效的视频检索技术可以满足其在短时间内锁定匹配的素材,有效提升创作效率。

某新媒体编辑网站媒资搜索截图

此外,对于视频平台和监管部门来说,如何在数以亿计的视频库中定位到包含劣迹艺人的视频并下线,也是巨大的挑战。

「视频检索」技术的发展与应用不仅是解决信息过载、提高数据处理效率的有效途径,更是在满足个人用户、专业创作者乃至整个视频行业发展的迫切需要中扮演着至关重要的角色。

本文将回顾视频检索技术的发展历程,并揭秘隐藏在新一代自然语言视频检索技术背后的大模型。

01 视频检索现状

视频检索是怎么实现的?我们以优酷搜片为例,优酷的视频检索技术基于:

• 主要搜索内容为标题与描述;

• 通过多模态内容识别人物、ASR、OCR,转化为文本搜索;

• 具有一定Query理解能力与实体知识匹配(转化为搜索关键词);

• 具有一定的通过语义理解的Query意图分析(识别诸如How To类问题)。

图片来源:阿里文娱技术团队

上述技术方案的能够满足使用者基本的视频检索需求,但是也存在缺陷

• 大量视觉信息无法参与检索召回:基于现有多模态算法的搜索,只能识别处于标签体系内的人、物、ASR、OCR等内容,大量视觉信息(比如在蓝天翱翔的飞鸟),无法文本化参与检索。

• 强依赖知识图谱与语义分析:知识图谱的维护与更新、意图理解的能力,均需要不断地投入与更新,使用负担较大。

• 基于关键词的搜索丢失语义联系:以“马老师骑自行车”为例,基于关键词的搜索只能合并搜索“马老师”和“自行车”两个关键词,丢失“骑”这个概念,导致召回偏差。

与此同时,随着时代发展,大家找片子的手法也越来越刁钻。使用者希望不再满足于某个关键词,而是希望使用类似下面的自然语言,去匹配视频本身的内容,而不仅仅是人、物、ASR、OCR可文本化的内容,比如:足球运动员受伤、飞机穿越天门山、春风化雨育桃李......

如果要实现这样智能的搜索效果,应该怎么做呢?我们先来回顾视频检索技术的发展历程。

02 视频检索技术发展历程

第一代:基于文本的传统视频检索

在网络还不发达的时代,计算机对于音视频的处理能力及其有限,媒体数据仅仅被当作是文本数据的扩展。为了能够搜索媒体数据,网站编辑一般会对媒体数据做一次人工编目:取好标题,写好描述,甚至会手动添加若干关键词。

所以,传统的视频检索,本质上是退化为文本检索,通过利用关系型数据库(如mysql)或文本倒排数据库(ElasticSearch)的能力,对文本分词,进行检索排序。

第二代:基于AI标签的跨模态视频检索

随着互联网音视频数据量的日益增长,媒资人工编目已经到了不可持续的地步,必然要求更高生产力技术的引入。

到21世纪10年代,基于CNN架构神经网络的日趋成熟,AI已能简单理解和认识视频中的客观实体,并能通过分类模型给视频分类,此时智能标签技术便应运而生。以阿里云视频云的智能标签技术为例,它能够给视频自动打出以下标签:

• 客观实体:名人/政治人物/敏感人物、地标、Logo

• 场景与动作事件

• 时间、地域、人物等关键词

• 视频类目信息

第二代视频检索技术是在第一代技术的基础上,对视觉、听觉的模态进行了自动分析,将其转化为文本数据,其总体架构仍然未变,仍是基于文本的检索。

第三代:基于大模型的自然语言视频检索

上述搜索依赖于关键字或标签进行内容索引和检索,但这类方法存在明显的限制,尤其是对于非文本内容,如:图片、视频,用有限的标签来描述它们的全面信息是非常困难的。这些标签可能既无法覆盖所有相关的概念,也无法表达内容的细致差异和深层含义。

随着AIGC和所谓的“通用人工智能(AGI)”崛起,尤以大语言模型(LLM)为代表的大模型全面应用为契机,第三代视频检索技术开始成熟。LLM内部包含着人类海量知识的表征,将LLM延展到音视频模态,我们即可实现对媒体数据的表征。

多模态表征大模型能够将文本、图片、音频、视频等内容转换成高维空间中的向量表示,也称为嵌入(embeddings)。这些嵌入可以捕捉到内容的语义信息,并将其映射到一个连续的向量空间内,使得语义上相似的内容在这个向量空间中彼此接近。

大模型检索技术支持自然语言搜索,用户可以用自己的话描述他们想要找的内容,而不是依赖于预先定义好的关键词或标签。通过对自然语言描述的理解,大模型可以将这些描述转换为相应的向量表示,并在高维空间中寻找最匹配的内容。

第三代检索技术的优势在于它的灵活性和表现力。用户不必再局限于有限的关键字,而可以用自己的语言进行更精确和细腻的描述。同时,由于大模型能够理解内容的深层意义,搜索结果通常更加相关和准确,增强了用户体验,并为获取和发现信息提供了更加强大的工具。

例如,一个用户想要找到一张描绘“一个穿着古代盔甲的战士在日落时分静立在山巅”的图片和视频。在传统的基于标签的搜索系统中,用户可能需要尝试各种组合的关键词,比如“战士”、“盔甲”、“日落”、“山巅”等。而在大模型的跨模态检索系统中,用户可以直接输入完整的描述,检索系统会理解其语义并返回匹配的图片和视频。

03 自然语言视频检索上线

阿里云视频云基于达摩院的多模态表征大模型,在点播和智能媒体服务中上线了自然语言视频检索。并结合已有的AI标签检索、人脸检索、图像相似度检索,形成了完整的多模检索解决方案

自然语言视频检索演示:https://v.youku.com/v_show/id_XNjM2MzE5NTg5Ng==.html

我们当前实现的自然语言视频检索技术,支持性能参数:

• 最大支持10万小时规模的视频中召回相关片段

• 在10QPS搜索速度下RT<1秒

• 召回的片段准确率达到80%以上

当然,在实现自然语言视频检索的过程中,我们也遇到了一系列的难点和挑战。

下文将讲述我们如何克服这些难点与挑战,并介绍实现的技术原理与方案,以及未来视频检索进化的方向。

04 多模态表征大模型算法

算法原理

CLIP 是OpenAI在2021年提出的一个视觉分类模型,在没有微调的情况下,预训练模型能够在下游任务中达到十分出色的迁移效果。为了摆脱监督学习对标注数据集的强依赖,CLIP采用了自监督对比学习方案,从互联网收集的4亿对图文数据对中学习图像和文本的对应关系,进而获得了视觉-语言的对齐能力。

CLIP预训练模型包含两个主要模块:Text Encoder 和 Image Encoder,其中Text Encoder用来提取文本的特征,采用63M参数的text transformer模型,而Image Encoder用来提取图像的特征,采用基于CNN架构的ResNet模型或者基于tansformer架构的ViT模型。

基于文本搜索图像是CLIP的一个最直接的应用,先将待检索图像送入Image Encoder生成图像特征并存储,再将检索文本送入Text Encoder生成文本特征,使用文本特征与存储的图像特征逐一进行比对,其中余弦相似度最高的就是检索得到的图像。

CLIP虽然是基于文本-图像对训练的,它也可以很自然的推广到文本-视频检索任务中:对视频抽帧获得关键帧图像,再将关键帧图像送入Image Encoder提取图像特征即可。

算法选型

尽管CLIP具有优异的zero-shot迁移能力,但它是基于英文数据集训练的,要将其应用到中文搜索中需要非常麻烦的翻译工作。为了避免增加翻译模块而引入额外的计算量,我们找到了达摩院发布的两个开源中文检索模型:TEAM 和 ChineseCLIP。

TEAM是达摩院在2022年发布的一项工作,作者在CLIP的双塔结构上新增了一个名为Token Embeddings AlignMent(TEAM)的模块,该模块用于对token级别的图像特征与文本特征做显式对齐,并为输入的图文对生成匹配得分。

所述框架中Image Encoder采用vit-large-patch14结构,Text Encoder采用bert-base结构。作者还构建了一个10亿级规模的中文视觉-语言与训练数据集(通过夸克收集),通过在这个数据集上对所提出框架进行预训练,在中文跨模态检索基准测试(Flickr8K-CN, Flickr30K-CN 和 COCO-CN )中达到了先进的性能。

ChineseCLIP是达摩院在2022年发布的另一项工作,主要是基于2亿规模的中文数据集(原生中文数据+汉化中文数据)完成了对CLIP的汉化工作,而模型结构没有做大的改动。

为了实现跨模态基础模型对中文数据的高效迁移,作者开发了一种两阶段预训练方法,其核心思想是利用LiT(Locked-image Tuning)使文本编码器能够从CLIP的基础视觉模型中读出高质量的表示,然后将整个模型转移到新的预训练数据域。

首先使用已有预训练模型对图文双塔做参数初始化,其中Image Encoder使用CLIP的参数,Text Encoder使用中文RoBERTa的参数。第一阶段,冻结Image Encoder参数,只对Text Encoder进行预训练参数更新;第二阶段,通过对比学习同时微调Image Encoder和Text Encoder。通过两阶段训练,在中文跨模态检索测试(MUGE, Flickr30K-CN, 和 COCO-CN)中达到了最先进的性能。

算法评测

基于阿里云视频云AI编辑部长期积累的数据,最终采用了一些短视频作为测试视频集。该视频集以几分钟到10几分钟的短视频为主,包含新闻、宣传片、访谈、动画等各种类型的视频,这也十分符合视频云客户定位。

将测试视频集入库之后,我们设计了一些自然语言句子作为搜索的query,会保证query一定有对应的视频。考虑到视频集规模较小,我们最终只评估召回TOP1的准确率。

经过实际测试,TEAM和ChineseCLIP都能够达到TOP1返回80%的准确率,二者都可作为大模型特征提取器嵌入系统框架中。

05 搜索工程技术方案

在系统架构设计上,我们的搜索服务架构采用Core-Module设计体系,把最核心不易变化的搜索流程设计为Core模块,把各种不同的搜索业务,分开做成不同的Module。搜索Core模块内部有个Module管理器,管理所有Module(Module设计上允许自注册)。

每个Module包含3个接口信息分为特征提取、查询改写、聚合打分。

上述传统搜索、跨模态检索、大模型搜索分别对应3种Module,另外还支持新增人脸搜索、DNA搜索Module,后续其他搜索Module可以支持扩展。

入库流程上,媒资入库时支持多维度的内容理解:

• 基础信息base-module:传统搜索引擎

• 智能标签aiLabel-module:依托达摩院自研智能标签算法,支持物体、场景、地标、事件、LOGO、字幕OCR、语音ASR、词、类目、主题、人物角色、自定义标签识别

• 人脸特征face-module:人脸识别

• DNA特征dna-module:同源检测特征提取

• 大模型特征mm-module:多模态大模型特征提取,进行内容理解

把媒资按照不同维度进行内容理解,传统标量数据存ES构建倒排索引,向量数据存在自研分布式向量数据库。

搜索流程中,跨模态大模型搜索根据用户query文本,再经过大模型提取文本特征,搜索向量底库得到目标内容,针对视频内容会先聚合片段方便后续展示命中视频媒资内部的细节信息。用户也可以进行传统ES文本搜索得到目标内容,用户可以结合两种搜索方式使用,多路召回能力目前还于内测中。

当前视频抽帧频率是1秒1帧,大模型搜索命中可以得到秒级别的片段信息,满足用户精准定位目标内容需求;依托了我们自研的分布式向量数据库,支持海量数据(10亿级别)特征数据存储,搜索时延在1s内。

目前针对自然语言描述搜索TOP1准确率达80%,针对复杂语义的理解搜索还存在困难,后续结合LLM做改进优化。

人脸检索支持以图搜,多模检索支持以文搜,大模型检索支持以文搜、以图搜。

扩展性上,大模型搜索支持多租户,各租户之间数据相互隔离,既支持低成本共享实例,也支持高性能独享实例;用户管理媒资数据时支持建立多个搜索库,每个搜索库可分别设置搜索索引,搜索索引底层算子支持配置选择;用户根据搜索库增删改查媒资数据,满足客户不用使用场景,搜索架构具有高扩展性、可靠性、稳定性。

06 总结和展望

本文介绍了智能媒体服务的跨模态大模型检索技术实现和使用,我们把媒资进行多维度分析,使用传统的基于ES的标量检索和基于向量的特征检索有机结合,满足用户对长视频的内容理解和跨模态精准检索的需求。

但是,视频检索技术还远远没有进化到终点,在下面几个方面仍待优化与突破。

一是算法的提升。

准召率优化:当前达摩院表征大模型TEAM和ChineseClip,召回准确率达80%;达摩院在研新多模态信息表征合一模型MBA召回准确率可达93%,后续待接入。

新的模态融合:当前接入的表征大模型,仅支持文本与图像的对齐,音频模态是缺失的。想象一下,如果我搜“空山新雨后”,找到了一幅搭配雨声的山水风景视频,是多么酷的体验。

多表征融合:当前算法仅基于句子级别的文本,以及帧级别的图像进行特征提取,其实是丢失了视觉中的人物、物体等客观实体细节的。理想中的表征大模型,应该是多表征融合的。例如我搜“梅西捧着金球奖”,出现的应该是梅西拿着金球奖,而不是C罗捧着金靴奖。这意味着表征大模型需要有人物识别和文字识别的能力,而不仅仅依赖训练中的文本-图像对。

二是成本与性能的平衡。

表征特征压缩:当前是768维float32维向量,已经实现了float32压缩为uint8搜索效果基本保持一致,正在探索压缩为01二值向量,实现低成本存储与搜索。

基于片段的表征:当前视频每秒抽取一帧进行特征计算存储,已经研究出视频片段合并,提前进行特征聚合减少抽帧数量,降低存储同时提升搜索效率。

三是在工程与体验上。

多路召回:针对AI标签搜索、人脸检索、大模型检索,支持用户进行同时搜索,搜索结果合并后重新打分排序。

检索增强LLM:支持对用户复杂搜索语句的理解,搜索时针对用户query语句进行query改写实现QP能力,识别filter、groupBy等字段进行搜索语句SQL式转换,搜索结果结合原始query通过大模型再次分析过滤排序等;自然语言搜索增强形式,结合大模型实现问答式搜索,支持企业快速构建媒资知识库。

目前,自然语言视频检索已在阿里云智能媒体服务(IMS)上线,欢迎大家咨询体验。

媒资搜索产品文档:https://help.aliyun.com/document_detail/2582336.html

欢迎加入官方答疑「钉钉群」咨询交流:30415005038

参考文献及大模型:

[1] 《视频搜索太难了!阿里文娱多模态搜索算法实践》:https://mp.weixin.qq.com/s/n_Rw8oa0Py7j_hPIL1kG1Q

[2] 《深度 | 上亿用户每天看100分钟!基于多模态Embedding及检索的短视频内容理解》:https://mp.weixin.qq.com/s/M_E89uEPkWrMRBan1kF8AQ

[3] 《优酷推出“AI搜片” | 模糊搜索精准匹配,解决找片难》:https://mp.weixin.qq.com/s/Wr09Sfn3XxJ-CqvJmeC-Uw

[4] ChineseClip模型:https://modelscope.cn/models/iic/multi-modal_clip-vit-base-patch16_zh/summary

[5] TEAM图文检索模型:https://modelscope.cn/models/iic/multi-modal_team-vit-large-patch14_multi-modal-similarity/summary

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/247065.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM/GC复习

JVM/GC JVM(java虚拟机)MATjstack(将正在运行的JVM的线程进行快照并且打印出来)死锁VisualVM工具(监控线程内存使用情况)JMX分析堆日志什么情况下可能需要JVM调优补充JVM内部结构JVM 调优策略(补充) GC垃圾回收算法1.引用计数法2.标记清除发3.标记压缩算法4.复制算法5.分代算法…

NQA测试机制—UDP Jitter测试

概念 UDP Jitter是以UDP报文为承载&#xff0c;通过记录在报文中的时间戳信息来统计时延、抖动、丢包的一种测试方法。Jitter&#xff08;抖动时间&#xff09;是指相邻两个报文的接收时间间隔减去这两个报文的发送时间间隔。 UDP Jitter测试的过程如下&#xff1a; 1. 源端&a…

ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连

用了网上的办法&#xff1a; 1、修改listener.ora的参数,把动态的参数设置为静态的参数,红色标注部分 位置D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN SID_LIST_LISTENER (SID_LIST (SID_DESC (SID_NAME PLSExtProc) (ORACLE_HOME D:\oracle\produ…

day34WEB 攻防-通用漏洞文件上传黑白盒审计逻辑中间件外部引用

目录 一&#xff0c;白盒审计-Finecms-代码常规-处理逻辑 黑盒思路&#xff1a;寻找上传点抓包修改突破获取状态码及地址 审计流程&#xff1a;功能点-代码文件-代码块-抓包调试-验证测试 二&#xff0c;白盒审计-CuppaCms-中间件-.htaccess 三&#xff0c;白盒审计-Metin…

3个精美的wordpress律师网站模板

暗红色WordPress律师事务所网站模板 演示 https://www.zhanyes.com/qiye/23.html 暗橙色WordPress律师网站模板 演示 https://www.zhanyes.com/qiye/18.html 红色WordPress律所网站模板 演示 https://www.zhanyes.com/qiye/22.html

机器学习第一个项目-----鸢尾花数据集加载及报错解决

项目步骤 如刚开始做&#xff0c;从 “项目开始” 看&#xff1b; 如遇到问题从 “问题” 开始看&#xff1b; 问题 报错如下 ModuleNotFoundError: No module named sklearn解决过程 查看官网&#xff0c;感觉可能是python版本和skilearn版本不匹配&#xff0c;更新一下p…

JVM-字节码文件的组成

Java虚拟机的组成 Java虚拟机主要分为以下几个组成部分&#xff1a; 类加载子系统&#xff1a;核心组件类加载器&#xff0c;负责将字节码文件中的内容加载到内存中。 运行时数据区&#xff1a;JVM管理的内存&#xff0c;创建出来的对象、类的信息等等内容都会放在这块区域中。…

静态代理IP该如何助力Facebook多账号注册运营?

在Facebook运营中&#xff0c;充分利用静态代理IP是多账号运营的关键一环。通过合理运用静态代理IP&#xff0c;不仅可以提高账号安全性&#xff0c;还能有效应对Facebook的算法和限制。以下是这些关键点&#xff0c;可以帮助你了解如何运用静态代理IP进行Facebook多账号运营&a…

Linux下的进程操作

进程概念 ps -elf&#xff1a;查看操作系统的所有进程&#xff08;Linux命令&#xff09; ctrl z&#xff1a;把进程切换到后台 crtl c&#xff1a;结束进程 fg&#xff1a;把进程切换到前台 获取进程进程号和父进程号 函数原型&#xff1a; pid_t getpid(void); //pid_t…

Java服务端使用freemarker+wkhtmltoimage生成Echart图片

目录 1.通过 freemarker 将ftl转成html 1.1 freemarker 手册: 1.2 添加freemarker maven依赖 1.3 添加 echart-test.ftl 模版文件 1.4 添加 FreemarkerTool 工具类 1.5 添加测试main方法 1.6 运行,生成echart-test-时间戳.html 文件 2. 通过wkhtmltoimage将html 转为p…

Java项目实战--瑞吉外卖DAY03

目录 P22新增员工_编写全局异常处理器 P23新增员工_完善全局异常处理器并测试 p24新增员工_小结 P27员工分页查询_代码开发1 P28员工分页查询_代码开发2 P22新增员工_编写全局异常处理器 在COMMON新增全局异常捕获的类&#xff0c;其实就是代理我们这些controlle。通过aop把…

TikTok直播对网络环境的要求是怎么样的

TikTok直播作为一种互动性强、实时性要求高的社交媒体形式&#xff0c;对网络环境有着一系列特定的需求。了解并满足这些需求&#xff0c;对于确保用户体验、提高直播质量至关重要。本文将深入探讨TikTok直播对网络环境的要求以及如何优化网络设置以满足这些要求。 TikTok直播的…

docker环境搭建及其安装常用软件

centos安装docker Install Docker Engine on CentOS | Docker Docs 下载docker sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io…

x-cmd pkg | go - Google 开发的开源编程语言

目录 简介首次用户技术特点竞品分析编译型语言解释型语言JavaWebAssebmly 进一步阅读 简介 Go 语言&#xff08;或 Golang&#xff09;是 Google 开发的开源编程语言&#xff0c;诞生于 2006 年。其设计目标是“兼具 Python 等动态语言的开发速度和 C/C 等编译型语言的性能与安…

万字图解 | 深入揭秘HTTP工作原理

大家好&#xff0c;我是「云舒编程」&#xff0c;今天我们来聊聊计算机网络面试之-(应用层HTTP)工作原理。 文章首发于微信公众号&#xff1a;云舒编程 关注公众号获取&#xff1a; 1、大厂项目分享 2、各种技术原理分享 3、部门内推 前言 想必不少同学在面试过程中&#xff0…

JVM内存问题排查

本文又名《对JVM一窍不通的我快速开始排查应用内存问题》。主要系统性地整理了排查思路&#xff0c;为大家遇到问题时提供全面的排查流程&#xff0c;不至于漏掉某些可能性误入歧途浪费时间。 基本原则 由于本文的定位是Cookbook,基本原则是让整个流程能够系统化规范化的同时将…

【发展】不确定时代下的从容 —— 终局思维、长期主义与复利

文章目录 一、终局思维1、电影 《蝴蝶效应》2、未来是什么样的 二、长期主义1、这是一个不确定的时代2、做难但正确的事情 三、复利1、复利思维2、马太效应 一、终局思维 终局思维 在面对很多选择时&#xff0c;从终点出发考虑问题&#xff0c;来决定当下的选择。 1、电影 《蝴…

机电制造ERP软件有哪些品牌?哪家的机电制造ERP系统比较好

机电制造过程比较复杂&#xff0c;涵盖零配件、采购、图纸设计、工艺派工、生产计划、物料需求计划、委外加工等诸多环节。而供应链涉及供应商的选择、材料采购价格波动分析、材料交货、品质检验等过程&#xff0c;其中某个环节出现问题都可能会影响产品交期和经营效益。 近些…

编译和链接---C语言

引言 众所周知&#xff0c;C语言是一门高级的编程语言&#xff0c;是无法被计算机直接读懂的&#xff0c;C语言也不同于汇编PHP&#xff0c;无法直接翻译成机器语言&#xff0c;在学习的过程中&#xff0c;你是否好奇过我们所敲的C语言代码&#xff0c;是如何一步步翻译成机器…

k8s 容器 java 应用内存限制不生效

一 k8s java 应用内存限制不生效 回顾&#xff1a;Linux杂谈之java命令 容器环境JVM内存配置最佳实践 namespace负责资源隔离 cgroups负责资源限制 容器JVM最佳实践 Metaspace 是 非 Heap 内存 管理空间,那么 Heap 就是操作空间 JVM内存模型简介 隔离&#xff1a;…