English | 简体中文
YOWO是具有两个分支的单阶段网络。一个分支通过2D-CNN提取关键帧(即当前帧)的空间特征,而另一个分支则通过3D-CNN获取由先前帧组成的剪辑的时空特征。为准确汇总这些特征,YOWO使用了一种通道融合和关注机制,最大程度地利用了通道间的依赖性。最后将融合后的特征进行帧级检测。
UCF101-24数据下载及准备请参考UCF101-24数据准备
下载预训练模型 resnext101_kinetics 和 darknet 作为Backbone初始化参数,或通过wget命令下载
wget -nc https://videotag.bj.bcebos.com/PaddleVideo-release2.3/darknet.pdparam
wget -nc https://videotag.bj.bcebos.com/PaddleVideo-release2.3/resnext101_kinetics.pdparams
打开PaddleVideo/configs/localization/yowo.yaml
,将下载好的权重存放路径分别填写到下方pretrained_2d:
和pretrained_3d:
之后
MODEL:
framework: "YOWOLocalizer"
backbone:
name: "YOWO"
num_class: 24
pretrained_2d: 将2D预训练模型路径填写到此处
pretrained_3d: 将3D预训练模型路径填写到此处
UCF101-24数据集使用单卡训练,训练方式的启动命令如下:
python3 main.py -c configs/localization/yowo.yaml --validate --seed=1
开启amp混合精度训练,可加速训练过程,其训练启动命令如下:
python3 main.py --amp -c configs/localization/yowo.yaml --validate --seed=1
另外您可以自定义修改参数配置,以达到在不同的数据集上进行训练/测试的目的,建议配置文件的命名方式为模型_数据集名称_文件格式_数据格式_采样方式.yaml
,参数用法请参考config。
YOWO 模型在训练时同步进行验证,您可以通过在训练日志中查找关键字best
获取模型测试精度,日志示例如下:
Already save the best model (fsocre)0.8779
由于 YOWO 模型测试模式的评价指标为的Frame-mAP (@ IoU 0.5),与训练过程中验证模式采用的fscore不同,所以训练日志中记录的验证指标fscore
不代表最终的测试分数,因此在训练完成之后可以用测试模式对最好的模型进行测试获取最终的指标,命令如下:
python3 main.py -c configs/localization/yowo.yaml --test --seed=1 -w 'output/YOWO/YOWO_epoch_00005.pdparams'
当测试配置采用如下参数时,在UCF101-24的test数据集上的测试指标如下:
Model | 3D-CNN backbone | 2D-CNN backbone | Dataset | Input | Frame-mAP (@ IoU 0.5) |
checkpoints |
---|---|---|---|---|---|---|
YOWO | 3D-ResNext-101 | Darknet-19 | UCF101-24 | 16-frames, d=1 | 80.94 | YOWO.pdparams |
python3 tools/export_model.py -c configs/localization/yowo.yaml -p 'output/YOWO/YOWO_epoch_00005.pdparams'
上述命令将生成预测所需的模型结构文件YOWO.pdmodel
和模型权重文件YOWO.pdiparams
。
data/ucf24
目录下:wget -nc https://videotag.bj.bcebos.com/Data/HorseRiding.avi
python3 tools/predict.py -c configs/localization/yowo.yaml -i 'data/ucf24/HorseRiding.avi' --model_file ./inference/YOWO.pdmodel --params_file ./inference/YOWO.pdiparams
inference/YOWO_infer
目录下保存图片形式的预测结果。可通过运行以下命令,将图片序列转换为gif动图,以完成最终可视化:python3 data/ucf24/visualization.py --frames_dir ./inference/YOWO_infer/HorseRiding --duration 0.04
最终生成的可视化结果如下:
可以看到,使用在UCF101-24上训练好的YOWO模型对data/ucf24/HorseRiding.avi
进行预测,每张帧输出的类别均为HorseRiding,置信度为0.80左右。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。