StoryTeller:字节、上海交大、北大共同推出的全自动长视频描述生成一致系统

简介: StoryTeller是由字节跳动、上海交通大学和北京大学共同推出的全自动长视频描述生成系统。该系统通过音频视觉角色识别技术,结合低级视觉概念和高级剧情信息,生成详细且连贯的视频描述。StoryTeller在MovieQA任务中展现出比现有模型更高的准确率,适用于电影制作、视频内容分析、辅助视障人士等多个应用场景。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

系统功能:基于音频视觉角色识别技术,生成详细且连贯的长视频描述。
技术优势:在MovieQA任务中准确率比最强基线Gemini-1.5-pro高9.5%。
应用场景:适用于电影制作、视频内容分析、辅助视障人士等多个领域。

正文(附运行示例)

StoryTeller 是什么

公众号: 蚝油菜花 - StoryTeller

StoryTeller是由字节跳动、上海交通大学和北京大学共同推出的系统,旨在基于音频视觉角色识别技术改善长视频描述的质量和一致性。该系统结合低级视觉概念和高级剧情信息,生成详细且连贯的视频描述。

StoryTeller由视频分割、音频视觉角色识别和描述生成三个主要模块组成。这些模块能够有效处理数分钟长的视频,并在MovieQA任务中展现出比现有模型更高的准确率,比最强基线Gemini-1.5-pro高9.5%的准确率。

StoryTeller 的主要功能

  • 视频分割:将长视频切割成多个短片段,保持每个片段的独立性和完整性。
  • 音频视觉角色识别:结合音频和视觉信息,识别视频中对话对应的角色。
  • 描述生成:为每个视频片段生成详细的描述,整合成整个长视频的连贯叙述。
  • 数据集构建:创建并使用MovieStory101数据集,提供长视频描述的训练和测试数据。
  • 自动评估:基于MovieQA,用GPT-4自动评估视频描述的准确性和质量。
  • 模型训练与微调:训练多模态大型语言模型,提高角色识别和视频描述的准确性。
  • 全局解码:确保同一角色在不同视频片段中保持一致的识别结果。

StoryTeller 的技术原理

  • 多模态融合:整合视觉(视频帧)、音频(对话)和文本(字幕和描述)信息,全面理解视频内容。
  • 音频分离和角色ID分配:用音频嵌入模型对每个对话进行嵌入,基于聚类算法分配全局ID,将相似的音频嵌入分配相同的ID,表示同一角色。
  • 音频视觉角色识别模型:用大型语言模型(如Tarsier-7B)结合OpenAI的Whisper-large-v2音频编码器,将每个音频ID映射到特定的角色。
  • 全局解码算法:在推理时,确保不同片段中相同角色的全局ID映射到一致的角色名称,提高角色识别的准确性。
  • 视频描述生成:用识别结果作为输入,基于大型语言模型生成每个片段的详细描述,并整合成完整的视频描述。

如何运行 StoryTeller

1. 生成视频帧和音频文件

python script/preprocess/preprocess.py
  • 输入视频路径:data/video
  • 输出帧路径:data/frame
  • 输出音频路径:data/audio

2. 将3分钟视频片段分割成小段

pip install scenedetect
scenedetect -i movie.mp4 -o data/raw_data/scene_detect -q detect-adaptive -t 2.0 list-scenes
python script/scene_split/scene_split.py
python script/scene_split/update_scene_split.py

3. 生成每个角色的参考照片

对于MovieQA数据集,已提供每个片段的演员列表。对于其他电影,可以从IMDb获取演员列表并使用面部识别算法。

4. 进行全局音频分离

python script/global_diarization/eval_embedding.py --input_file data/global_diarization/embeddings.jsonl
python script/global_diarization/update_diarization.py --input_file data/global_diarization/embeddings.jsonl --output_file data/global_diarization/diarization_id.jsonl

5. 音频视觉角色识别

python script/audio_visual_diarization/gen_infer.py
python tasks/inference_quick_start.py --model_name_or_path checkpoints/Whisper-large-v2-Tarsier-7B-character-identification --input_path data/audio_visual_diarization/data.jsonl --output_path data/audio_visual_diarization/0.jsonl
python script/audio_visual_diarization/alignment.py
python tasks/inference_quick_start.py --model_name_or_path checkpoints/Whisper-large-v2-Tarsier-7B-character-identification --input_path data/audio_visual_diarization/align_data/data.jsonl --output_path data/audio_visual_diarization/correct/0.jsonl

6. 长视频描述生成

python script/long_video_description/gen_infer.py
python tasks/inference_quick_start.py --model_name_or_path checkpoints/Tarsier-7B-description-generation --input_path data/long_video_description/data.jsonl --output_path data/long_video_description/0.jsonl
python dense_description.py
python script/long_video_description/eval_qa_accuracy.py --pred_caption_path result/tarsier/dense_caption_name.json --out_path result/tarsier/qa_name.jsonl

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
自然语言处理 算法 数据挖掘
自蒸馏:一种简单高效的优化方式
背景知识蒸馏(knowledge distillation)指的是将预训练好的教师模型的知识通过蒸馏的方式迁移至学生模型,一般来说,教师模型会比学生模型网络容量更大,模型结构更复杂。对于学生而言,主要增益信息来自于更强的模型产出的带有更多可信信息的soft_label。例如下右图中,两个“2”对应的hard_label都是一样的,即0-9分类中,仅“2”类别对应概率为1.0,而soft_label
自蒸馏:一种简单高效的优化方式
|
4月前
|
存储 缓存 安全
探索快手平台:如何通过官方API接口获取作品详细数据
本文介绍如何通过快手开放平台API获取短视频的播放、点赞、评论等详细数据,涵盖账号注册、应用创建、权限申请、接口调用及签名生成方法,并提供Python示例代码与注意事项,助力开发者合规高效地进行内容分析与运营优化。
942 0
|
机器学习/深度学习 人工智能 自然语言处理
开源版GPT-4o来了,AI大神Karpathy盛赞!67页技术报告全公开
【10月更文挑战第20天】近日,开源版GPT-4o的发布成为AI领域的焦点。作为GPT系列的最新成员,GPT-4o在性能和多模态数据处理方面实现了显著提升,得到了知名AI专家Andrej Karpathy的高度评价。该模型的开源特性将进一步促进AI研究的进展。
1183 3
|
人工智能 自然语言处理 监控
video-analyzer:开源视频分析工具,支持提取视频关键帧、音频转录,自动生成视频详细描述
video-analyzer 是一款开源视频分析工具,结合 Llama 的 11B 视觉模型和 OpenAI 的 Whisper 模型,能够提取视频关键帧、转录音频并生成详细描述,支持本地运行和多种应用场景
3467 6
video-analyzer:开源视频分析工具,支持提取视频关键帧、音频转录,自动生成视频详细描述
|
测试技术
软件测试中的探索性测试(ET)实践
【10月更文挑战第5天】本文将深入探讨一种与传统脚本化测试不同的测试方法——探索性测试(Exploratory Testing,简称ET)。我们将通过一个实际案例来展示ET的有效性,并分享如何将ET融入日常的软件测试流程中。文章旨在为测试人员提供一种灵活、高效的测试策略,帮助他们更好地发现软件中的缺陷。
|
人工智能 测试技术 定位技术
Tarsier2:字节跳动开源专注于图像和视频内容理解的视觉语言大模型
Tarsier2 是字节跳动推出的大规模视觉语言模型,支持高质量视频描述、问答与定位,在多个视频理解任务中表现优异。
1037 16
|
数据可视化 开发工具 git
Sourcetree
Sourcetree 是一款免费的 Git 和 Hg 客户端管理工具,同时支持 Mn 版本控制系统。它为 Windows 和 Mac 用户提供了可视化的 Git 管理界面,使得用户能够轻松地创建、克隆、提交、推送、拉取和合并等 Git 操作。Sourcetree 还具有强大的代码对比功能,可以方便地查看和合并代码更改。
731 1
|
机器学习/深度学习 人工智能 监控
探索AI技术在医疗健康领域的应用与挑战
【10月更文挑战第13天】 本文探讨了人工智能(AI)在医疗健康领域的多种创新应用,包括疾病诊断、个性化治疗、患者监护和药物研发等方面。同时,文章也分析了当前AI技术在实际应用中面临的挑战,如数据隐私、算法透明度、监管问题等,并提出了一些可能的解决思路。通过综合分析,本文旨在为读者提供一个关于AI在医疗领域应用现状及未来的全面视角。
383 3
|
机器学习/深度学习 人工智能 自然语言处理
大模型的多样性:从语言处理到多模态智能
本文介绍了大模型在多个领域的应用,包括自然语言处理(如Transformer、GPT、BERT、T5)、计算机视觉(如CNN、ViT、GAN)、多模态智能(如CLIP、DALL-E)、语音识别与合成(如Wav2Vec、Tacotron)以及强化学习(如AlphaGo、PPO)。这些模型展现了卓越的性能,推动了人工智能技术的发展。
500 1

热门文章

最新文章