ViSiL: Fine-grained Spatio-Temporal Video Similarity Learning 使用教程
1. 项目介绍
ViSiL 是一种细粒度的时空视频相似性学习方法,旨在通过学习视频帧之间的空间结构和视频之间的时间结构来计算视频的相似度。该项目的开源实现提供了TensorFlow框架下的模型代码,以及用于计算视频相似度和评估模型性能的脚本。
2. 项目快速启动
环境准备
- Python 3
- TensorFlow 1.xx (已测试1.8-1.15版本)
克隆项目
git clone https://github.com/MKLab-ITI/visil.git
cd visil
安装依赖
pip install -r requirements.txt
下载预训练模型
wget http://ndd.iti.gr/visil/ckpt.zip
unzip ckpt.zip
如果需要使用 I3D 作为基础网络,根据TensorFlow版本安装相应包:
- 对于 TensorFlow 版本 >= 1.14
pip install tensorflow-probability==0.7 dm-sonnet==1.25
- 对于 TensorFlow 版本 < 1.14
pip install tensorflow-probability==0.6 dm-sonnet==1.23
计算视频相似度
创建包含查询视频的文件,每行包含视频ID和视频文件路径,以制表符(\t)分隔。例如:
wrC_Uqk3juY queries/wrC_Uqk3juY.mp4
k_NT43aJ_Jw queries/k_NT43aJ_Jw.mp4
2n30dbPBNKE queries/2n30dbPBNKE.mp4
创建格式相同的数据库视频文件。
运行以下命令计算查询视频和数据库视频之间的相似度:
python calculate_similarity.py --query_file queries.txt --database_file database.txt --model_dir model/
若要加快处理速度,可以将查询视频加载到GPU内存中:
python calculate_similarity.py --query_file queries.txt --database_file database.txt --model_dir model/ --load_queries
评估模型
项目还提供了用于重现论文中实验的代码。首先,根据需要下载相应的数据集视频。
运行以下命令进行评估:
python evaluation.py --dataset <数据集名称> --video_dir <视频文件路径> --pattern <视频存储模式> --load_queries
3. 应用案例和最佳实践
- 案例1: 使用ViSiL进行视频检索任务,例如在视频监控系统中查找相似事件。
- 案例2: 在视频编辑工具中,利用ViSiL快速找到与当前编辑视频相似的其他视频片段。
4. 典型生态项目
- DnS: 提供了性能改进和更高效的计算效率。
- FIVR-200K: 可以下载该项目的FIVR-200K数据集。
注意: 使用本代码进行研究时,请考虑引用论文:ViSiL: Fine-grained Spatio-Temporal Video Similarity Learning。
以上就是ViSiL开源项目的使用教程,希望对您的研究和工作有所帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



