推荐开源项目:PDVC——高效的视频密集字幕生成框架
项目介绍
PDVC(End-to-End Dense Video Captioning with Parallel Decoding)是一个简单而高效的端到端视频密集字幕生成框架,通过将密集字幕生成任务形式化为集合预测任务,实现了高质量的自动视频字幕生成。该项目在ActivityNet Captions和YouCook2数据集上进行了广泛的实验,结果表明PDVC在定位精度相当的情况下,能够超越现有最先进的方法,生成高质量的字幕。
项目技术分析
PDVC采用了并行解码技术,支持两种视频字幕生成任务:密集视频字幕生成(Dense Video Captioning)和视频段落字幕生成(Video Paragraph Captioning)。项目支持多种视频特征,包括C3D、TSN和TSP,用户可以根据需要选择合适的特征进行训练和测试。
技术亮点
- 并行解码:通过并行解码机制,显著提高了字幕生成的效率。
- 多种视频特征支持:兼容C3D、TSN和TSP等多种视频特征,增强了模型的灵活性和适用性。
- 可视化功能:支持将生成的字幕嵌入到视频中,并进行可视化展示,方便用户直观评估效果。
项目及技术应用场景
PDVC适用于多种视频字幕生成场景,包括但不限于:
- 视频内容理解:为视频内容自动生成字幕,帮助用户更好地理解视频内容。
- 视频检索:通过生成的字幕,提升视频检索的准确性和效率。
- 辅助视频编辑:为视频编辑提供自动字幕生成功能,减轻编辑人员的工作负担。
- 多语言字幕生成:支持多种语言字幕生成,满足不同语言用户的需求。
项目特点
1. 高效性
PDVC通过并行解码技术,大幅提升了字幕生成的速度,适用于需要快速生成字幕的场景。
2. 高质量
在多个数据集上的实验结果表明,PDVC能够生成高质量的字幕,超越现有最先进的方法。
3. 灵活性
支持多种视频特征和多种语言字幕生成,用户可以根据具体需求进行选择和配置。
4. 易用性
项目提供了详细的安装和使用指南,用户可以轻松上手,快速部署和使用。
5. 开源性
PDVC是一个开源项目,用户可以自由使用和修改代码,适合研究和开发人员使用。
如何使用PDVC
环境准备
- 操作系统:Linux
- GCC版本:>=5.4
- CUDA版本:>=9.2
- Python版本:>=3.7
- PyTorch版本:>=1.5.1
克隆仓库
git clone --recursive https://github.com/ttengwang/PDVC.git
创建虚拟环境
conda create -n PDVC python=3.7
source activate PDVC
conda install pytorch==1.7.1 torchvision==0.8.2 cudatoolkit=10.1 -c pytorch
conda install ffmpeg
pip install -r requirement.txt
编译变形注意力层
cd pdvc/ops
sh make.sh
运行PDVC生成字幕
- 下载预训练模型并放置到
./save
目录。 - 运行以下命令生成字幕:
video_folder=visualization/videos
output_folder=visualization/output
pdvc_model_path=save/anet_tsp_pdvc/model-best.pth
output_language=en
bash test_and_visualize.sh $video_folder $output_folder $pdvc_model_path $output_language
训练和验证
项目提供了详细的训练和验证指南,用户可以根据需要进行自定义训练和评估。
性能表现
PDVC在多个数据集和不同特征上的性能表现如下:
密集视频字幕生成
| 模型 | 特征 | 配置路径 | 下载链接 | Recall | Precision | BLEU4 | METEOR2018 | METEOR2021 | CIDEr | SODA_c | |-------------|------|----------|----------|--------|-----------|-------|------------|------------|-------|--------| | PDVC_light | C3D | cfgs/anet_c3d_pdvcl.yml | Google Drive | 55.30 | 58.42 | 1.55 | 7.13 | 7.66 | 24.80 | 5.23 | | PDVC | C3D | cfgs/anet_c3d_pdvc.yml | Google Drive | 55.20 | 57.36 | 1.82 | 7.48 | 8.09 | 28.16 | 5.47 | | PDVC_light | TSN | cfgs/anet_tsn_pdvcl.yml | Google Drive | 55.34 | 57.97 | 1.66 | 7.41 | 7.97 | 27.23 | 5.51 | | PDVC | TSN | cfgs/anet_tsn_pdvc.yml | Google Drive | 56.21 | 57.46 | 1.92 | 8.00 | 8.63 | 29.00 | 5.68 | | PDVC_light | TSP | cfgs/anet_tsp_pdvcl.yml | Google Drive | 55.24 | 57.78 | 1.77 | 7.94 | 8.55 | 28.25 | 5.95 | | PDVC | TSP | cfgs/anet_tsp_pdvc.yml | Google Drive | 55.79 | 57.39 | 2.17 | 8.37 | 9.03 | 31.14 | 6.05 |
视频段落字幕生成
| 模型 | 特征 | 配置路径 | BLEU4 | METEOR | CIDEr | |-------|------|----------|-------|--------|-------| | PDVC | C3D | cfgs/anet_c3d_pdvc.yml | 9.67 | 14.74 | 16.43 | | PDVC | TSN | cfgs/anet_tsn_pdvc.yml | 10.18 | 15.96 | 20.66 | | PDVC | TSP | cfgs/anet_tsp_pdvc.yml | 10.46 | 16.42 | 20.91 |
总结
PDVC是一个功能强大且易于使用的视频密集字幕生成框架,适用于多种应用场景。其高效的并行解码技术和高质量的字幕生成能力,使其成为视频内容理解和视频检索领域的理想选择。欢迎大家尝试和使用PDVC,共同推动视频字幕生成技术的发展。
引用
如果您在研究中使用了PDVC,请考虑引用以下文献:
@inproceedings{wang2021end,
title={End-to-End Dense Video Captioning with Parallel Decoding},
author={Wang, Teng and Zhang, Ruimao and Lu, Zhichao and Zheng, Feng and Cheng, Ran and Luo, Ping},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
pages={6847--6857},
year={2021}
}
@ARTICLE{wang2021echr,
author={Wang, Teng and Zheng, Huicheng and Yu, Mingjing and Tian, Qian and Hu, Haifeng},
journal={IEEE Transactions on Circuits and Systems for Video Technology},
title={Event-Centric Hierarchical Representation for Dense Video Captioning},
year={2021},
volume={31},
number={5},
pages={1890-1900},
doi={10.1109/TCSVT.2020.3014606}}
希望大家能够通过PDVC项目,获得更好的视频字幕生成体验!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考