☰
InternVideo下游任务部署指南:视频检索、时序定位与视觉语言导航六大场景
2026/10/4 15:55:45 网站建设 项目流程

InternVideo下游任务部署指南:视频检索、时序定位与视觉语言导航六大场景

【免费下载链接】InternVideo[ECCV2024] Video Foundation Models & Data for Multimodal Understanding项目地址: https://gitcode.com/OpenGVLab/InternVideo

InternVideo 是上海 AI Lab 开源的视频基础模型(ECCV 2024),除了强大的预训练能力,仓库中还内置了6 大下游任务部署方案:视频-文本检索、时序动作定位、时空动作定位、视觉语言导航、开放集动作识别与多模态问答。本文将手把手带你了解每个场景的用途、数据准备与一键运行脚本,帮助新手快速上手 InternVideo 视频检索与时序定位实战。

一、部署前准备:环境与仓库获取

所有下游代码位于InternVideo1/Downstream/目录下,共 6 个子项目。先克隆仓库:

git clone https://gitcode.com/OpenGVLab/InternVideo

通用环境要点(各子项目略有差异):

项目PythonPyTorch其他依赖
视频-文本检索3.6.91.8.1 + CUDA 11.1基于 CLIP4Clip
时序动作定位3.7+1.8.0 + CUDA 11.1编译 C++ 扩展,见 INSTALL.md
时空动作定位3.6+1.8.0 / 1.11.0timm、deepspeed、decord
视觉语言导航3.6-Habitat Simulator、Habitat-lab、CLIP

💡 建议用 Conda 为每个任务单独建环境,避免依赖冲突。

二、视频-文本检索:MSRVTT 上 37.5% R@1 的零样本部署

📁 代码位置:Video-Text-Retrieval/

这是 InternVideo 最经典的下游任务:给定一段文字描述找到对应视频(或反向)。仓库提供6 个数据集(MSRVTT、MSVD、LSMDC、ActivityNet、DiDeMo、VATEX)的零样本评测与全量微调两套脚本。

部署三步走:

  1. 准备数据:下载数据集与标注文件,解压到data/目录;
  2. 可选预处理:用 compress_video.py 将视频压缩到 3fps、宽 224,大幅节省磁盘;
  3. 一键评测/微调:
# 零样本评测(以 MSRVTT 为例) ./zeroshot_scripts/eval_msrvtt.sh # 微调 InternVideo 检索模型 ./finetune_scripts/train_msrvtt.sh

微调后的模型在 MSRVTT 视频到文本检索上R@1 达到 57.9,远超零样本的 37.5。评测入口为 main_task_retrieval.py,指标计算见 metrics.py。

三、时序动作定位:找到视频里"动作发生的时间段"

📁 代码位置:Temporal-Action-Localization/

时序动作定位(TAL)要回答的问题是:"这个人什么时候在游泳?"InternVideo 使用 ViT-H 主干 + ActionFormer 头部,在 4 个基准上全面领先:

数据集THUMOS-14ActivityNetHACSFineAction
之前最佳方法66.8036.6038.7113.24
InternVideo71.5839.0041.3217.57

部署步骤:

  1. 按 INSTALL.md 安装依赖并编译代码;
  2. 下载各数据集特征(含预提取特征与标注),解压到./data;
  3. 训练与评测只需一行命令,配置文件在 configs/ 目录:
bash th14_run.sh # THUMOS-14 bash anet_run.sh # ActivityNet-v1.3 bash hacs_run.sh # HACS bash fa_run.sh # FineAction

训练入口为 train_eval.py,实验配置与权重会保存在./ckpt目录。

四、时空动作定位:AVA 数据集上同时定位"哪里 + 何时"

📁 代码位置:Spatial-Temporal-Action-Localization/

如果说时序定位只关心"何时",那么时空动作定位(STAL)还要同时框出"哪里"——即在视频帧中定位正在执行动作的人物。该项目整合了 VideoMAE 与 AlphAction 两套代码:

环境搭建推荐使用 Anaconda:

conda create -n VideoMAE_ava python=3.7 conda activate VideoMAE_ava pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 conda install av -c conda-forge

训练/评测:数据准备遵循 AlphAction 的 AVA2.2 规范,训练入口为 run_class_finetuning.py,使用--data_set "ava-kinetics" --enable_deepspeed参数启动 8 卡分布式训练。模型定义见 modeling_finetune.py。

五、视觉语言导航:让机器人听懂"往左走进厨房"

📁 代码位置:Visual-Language-Navigation/

视觉语言导航(VLN-CE)要求智能体在 Matterport3D 三维家居场景中,根据自然语言指令(如 R2R、RxR 数据集)行走到目标位置,是具身智能的核心任务。

部署四步:

  1. 安装 Habitat Simulator 与 Habitat-lab(Python 3.6),并安装 CLIP;
  2. 下载 Matterport3D 场景数据,放到data/scene_datasets/mp3d/;
  3. 下载预处理后的 VLN-CE 数据集到data/datasets,权重文件放到pretrained/(含 6 个子目录);
  4. 运行脚本:
bash eval_cma_r2r.bash # 评测(脚本见 run/ 目录) bash train.bash # 训练(6 卡)

各数据集的超参配置在 exp/ 目录(如 cma_r2r.yaml),模型实现位于vlnce_baselines/models/。

六、开放集动作识别:识别没见过的动作类别

📁 代码位置:Open-Set-Action-Recognition/

传统动作识别只认识训练时见过的类别,而开放集识别(OSAR)要求模型能察觉"这是训练集外的未知动作"并正确拒绝。该项目基于 MMAction2 开发,从证据深度学习(EDL)视角在 UCF-101 上微调 VideoMAE 主干,以 HMDB-51 / MiT-v2 为未知类。

测试结果(HMDB / MiT 未知集 AUC):

模型Open Set AUCClosed Set ACC
SlowFast + DEAR82.94 / 86.9996.48
InternVideo-H + EDL85.48 / 91.8597.89

评测流程分三步:先用run_get_mae_threshold.sh获取不确定性阈值,再跑 OOD 检测,最后计算 AUROC。训练入口脚本在 experiments/mae/ 目录,配置示例见 finetune_ucf101_mae_edlnokl.py。

七、多模态下游:零样本动作识别与视频问答

📁 代码位置:multi-modalities-downstream/

最后这个子项目基于 All-In-One 框架,覆盖三类多模态任务:

任务数据/模型入口脚本代表结果
零样本动作识别K400scripts/zs_classify.shK400 56.65(B/16)
零样本多选题MSRVTT / LSMDCscripts/zs_choice_msrvtt.shMSRVTT 91.31
视频问答MSRVTT / MSVD / TGIFscripts/finetune_msrvttqa.shMSRVTT 44.58

只需下载 InternVideo-MM-B-16 检查点与原始 CLIP ViT-B-16 权重,修改脚本中的模型路径即可运行。数据加载器在 datasets/ 目录,入口为 run.py。

八、总结与常见问题

六大场景速查表:

场景一句话定位核心脚本/配置
视频-文本检索以文搜视频、以视频搜文zeroshot_scripts/、finetune_scripts/
时序动作定位找动作发生的时间段th14_run.sh等 4 个脚本
时空动作定位同时定位时间与空间框run_class_finetuning.py
视觉语言导航3D 场景中按指令行走train.bash、eval_*.bash
开放集动作识别识别并拒绝未知类别experiments/mae/
多模态下游零样本识别与视频问答scripts/zs_*.sh

新手常见坑:

  • 🐢磁盘不足:视频任务请先用压缩脚本预处理视频,或只下载所需的单个数据集;
  • ⚡版本敏感:PyTorch/torchvision 版本对复现结果影响很大,严格按各项目 README 版本安装;
  • 📦权重下载:各任务预训练权重在对应 README 中给出下载入口,注意解压目录结构需与文档一致。

InternVideo 的下游代码组织清晰、脚本化程度高,只要数据与权重就位,几乎每个任务都能"一条命令"跑通。建议新手从视频-文本检索的零样本评测入手,再逐步尝试时序定位等更复杂的场景。

【免费下载链接】InternVideo[ECCV2024] Video Foundation Models & Data for Multimodal Understanding项目地址: https://gitcode.com/OpenGVLab/InternVideo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询