Skip to content

Latest commit

 

History

History
85 lines (53 loc) · 3.08 KB

transnetv2.md

File metadata and controls

85 lines (53 loc) · 3.08 KB

English | 简体中文

TransNetV2视频切分模型

内容

在开始使用之前,您需要按照以下命令安装额外的依赖包:

python -m pip install ffmpeg-python==0.2.0

模型简介

TransNetV2是一种基于深度学习的视频切分模型,通过DDCNN V2结构进行特征学习,并加入RGB颜色直方图、视频帧相似度进行更有效的特征提取,最终获取每一帧是否是镜头边界帧的概率,从而完成视频切分。该算法效果较好,且计算高效,十分适合工业落地。

本代码当前仅支持模型推理,模型的训练和测试将在后续提供。

数据准备

coming soon

模型训练

coming soon

模型测试

coming soon

模型推理

下载在ClipShots和TRECVID IACC.3上训练好的TransNetV2模型参数 TransNetV2_shots.pdparams,也可以通过命令行下载

wget https://videotag.bj.bcebos.com/PaddleVideo-release2.2/TransNetV2_shots.pdparams

导出inference模型

python3.7 tools/export_model.py -c configs/partitioners/transnetv2/transnetv2.yaml -p data/TransNetV2_shots.pdparams -o inference/TransNetV2

上述命令将生成预测所需的模型结构文件TransNetV2.pdmodel和模型权重文件TransNetV2.pdiparams以及TransNetV2.pdiparams.info文件,均存放在inference/TransNetV2/目录下

上述bash命令中各个参数含义可参考模型推理方法

使用预测引擎推理

python3.7 tools/predict.py --input_file data/example.avi \
                           --config configs/partitioners/transnetv2/transnetv2.yaml \
                           --model_file inference/TransNetV2/TransNetV2.pdmodel \
                           --params_file inference/TransNetV2/TransNetV2.pdiparams \
                           --use_gpu=True \
                           --use_tensorrt=False

通过定义配置文件transnetv2.yamloutput_path参数,可以将每帧的预测概率输出到{output_path}/example_predictions.txt中,预测得到的镜头边界输出到{output_path}/example_scenes.txt中。 通过定义配置文件transnetv2.yamlvisualize参数为True,可以将预测结果可视化,可视化结果保存至{output_path}/example_vis.png

输出示例如下:

Current video file: data/example.avi
      Shot Boundarys: [[  0 130]]

可以看到,使用TransNetV2模型对data/example.avi进行预测,输出的视频镜头边界帧为[0,130]。

参考论文