---
title: multi_modal_clip_vtretrieval_prost
canonical_url: "https://www.modelscope.cn/models/iic/multi_modal_clip_vtretrieval_prost"
md_url: "https://www.modelscope.cn/models/iic/multi_modal_clip_vtretrieval_prost.md"
repository: iic/multi_modal_clip_vtretrieval_prost
chinese_name: "ProST: 视频文本通用检索模型"
last_updated: 2023-08-23
license: "Apache License 2.0"
library_name:
  - pytorch
frameworks:
  - pytorch
domain:
  - multi-modal
downloads: 8744
stars: 8
tags:
  - Alibaba
  - prost-text-video-retrieval
---

# multi_modal_clip_vtretrieval_prost

> multi_modal_clip_vtretrieval_prost - iic 在 ModelScope 开源的模型。视频-文本检索模型介绍 ProST模型是渐进式的时空原型匹配模型，发表于ICCV 2023 Progressive Spatio-Temporal Prototype Matching for Text-Video Retrieval。

iic/multi_modal_clip_vtretrieval_prost 是 ModelScope 魔搭社区上的机器学习模型，采用 Apache License 2.0 许可。

- **Repository**: iic/multi_modal_clip_vtretrieval_prost
- **License**: Apache License 2.0
- **Tags**: Alibaba, prost-text-video-retrieval
- **Downloads**: 8744
- **Stars**: 8
- **Last updated**: 2023-08-23

Source: https://www.modelscope.cn/models/iic/multi_modal_clip_vtretrieval_prost

---

# 视频-文本检索模型介绍
ProST模型是渐进式的时空原型匹配模型，发表于ICCV 2023 Progressive Spatio-Temporal Prototype Matching for Text-Video Retrieval。

输入任意视频和文本pair，输出相应的视频-文本pair特征，和相应得分。

# 数据集说明
该模型采用预训练CLIP模型，然后在msrvtt数据集进行finetune。

# 模型结构
![模型结构](resources/framework.jpg)

CLIP模型：视觉encoder采用vit-base-patch16结构，文本encoder采用bert-base结构。

Interaction: 采用Progressive Spatio-Temporal Prototype Matching。如上图所示。

## 模型训练
### finetune LR scheduler
初始LR为 0.0001，共训练5个epoch。

# 使用方式和范围
使用方式：
- 直接推理，对输入的视频-文本pair直接进行推理。
使用场景:
- 适合任意视频-文本pair，一般文本长度最长编码不超过77，视频时间15s-5min。

# 结果说明
MSRVTT test，R@1:49%，若采用补充材料中提到的bipartite maximum matching后处理方法，可达到R@1:56%， 达到sota结果。

## 代码范例:

```python
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

text_video_retrieval= pipeline(
            Tasks.text_video_retrieval,
            model='damo/multi_modal_clip_vtretrieval_prost')
video_path = 'your video path.mp4'
caption = ('your text caption', None, None)
_input = {'video': video_path, 'text': caption}
result = text_video_retrieval(_input)
```

## 相关论文以及引用信息
如果该模型对您有所帮助，请引用下面的相关的论文：
```plain
@inproceedings{ProST,
  title     = {Progressive Spatio-Temporal Prototype Matching for Text-Video Retrieval},
  author    = {Pandeng Li and Chen-Wei Xie and Liming Zhao and Hongtao Xie and Jiannan Ge and Yun Zheng and Deli Zhao and Yongdong Zhang},
  journal   = {ICCV 2023},
  year      = {2023}
}
```
