跳到内容

在PyTorch中实施“借助我的时间背景:多式自我中心主义行动识别,BMVC,2021”

许可证

通知 您必须登录才能更改通知设置

ekazakos公司/MTCN

存储库文件导航

多模式时间上下文网络(MTCN)

该存储库实现了本文中提出的模型:

Evangelos Kazakos、Jaesung Huh、Arsha Nagrani、Andrew Zisserman、Dima Damen、,在我的时间背景的一点帮助下:多模式自我中心动作识别,BMVC,2021年

项目网页

arXiv纸

引用

使用此代码时,请参考:

@进行中{哈萨克斯坦2021MTCN,author={Kazakos、Evangelos和Huh、Jaesung和Nagrani、Arsha和Zisserman、Andrew和Damen、Dima},booktitle={英国机器视觉会议(BMVC)},title={借助我的时间语境:多式自我中心主义行动识别},年份={2021}}

注释

虽然我们使用从使用2s视频剪辑训练的模型中提取的视觉SlowFast特征训练MTCN,但在我们的论文表3和附录表1(arXiv版本中的表6)中,我们将MTCN与SOTA进行了比较,SlowFast的结果来自[1],其中模型是使用1s视频剪辑进行训练的。在下表中,我们提供了用2s训练的SlowFast的结果,以便在使用此模型提取视觉特征时进行直接比较。

替换文本

要求

通过在终端中运行以下命令,可以将项目的需求安装在单独的conda环境中:$conda env create-f环境.yml.

特征

可以使用以下链接下载每个数据集的提取特征:

EPIC-厨房-100:

EGTEA公司:

预训练模型

我们为EPIC-KITCHENS-100提供预处理模型:

接地-接地

列车

EPIC-厨房-100

要在EPIC-KITCHENS-100上培训视听变压器,请运行:

python train_av.py--数据集epic-100--train_hdf5_path/path/to/epic-kitchens-100/features/audiovisual_slowfast_features_train.hdf5--val_hdf5_path/path/to/epic-kitchens-100/features/audiovisual_slowfast_features_val.hdf5--train_pickle/path/to/epic-kitchens-100-annotations/epic_100_train.pkl--val_pickle/path/to/epic-kitchens-100-annotations/epic_100_validation.pkl--批大小32--lr 0.005--优化器sgd--epochs 100--lr_steps 50 75--output_dir/path/to/output_dir--num_layers 4-j 8--分类_模式全部--seq_len 9

要在EPIC-KITCHENS-100上训练语言模型,请运行:

python train_lm.py--数据集epic-100--train_pickle/path/to/epic-kitchens-100-annotations/epic_100_train.pkl--val_pickle/path/to/epic-kitchens-100-annotations/epic_100_validation.pkl--verb_csv/path/to/epic-kitchens-100-annotations/epic_100_verb_classes.csv--noun_csv/path/to/epic-kitchens-100-annotations/epic_100_noun_classes.csv--批大小64--lr 0.001--优化器adam--epochs 100--lr_steps 50 75--output_dir/path/to/output_dir--num_layers 4-j 8--num_gram 9--丢失0.1

蛋奶茶

要在EGTEA上训练可视化变压器(EGTEA没有音频),请运行:

python train_av.py--数据集egtea--train_hdf5_path/path/to/egtea/features/visual_slowfast_features_train_split1.hdf5--val_hdf5_path/路径/to/egtea/features/visual_slowfast_features_test_split1.hdf5--train_pickle/path/to/EGTEA_annotations/train_split1.pkl--val_pickle/path/to/EGTEA_annotations/test_split1.pkl--批大小32--lr 0.001--优化器sgd--epochs 50--lr_steps 25 38--output_dir/path/to/output_dir--num_layers 4-j 8--分类模式全部--seq_len 9

为了在EGTEA上训练语言模型,

python train_lm.py—数据集egtea—train_pickle/path/to/egtea_annotations/train_split1.pkl--val_pickle/path/to/EGTEA_annotations/test_split1.pkl--action_csv/path/to/EGTEA_annotations/actions_EGTEA.csv--批大小64--lr 0.001--优化器adam--epochs 50--lr_steps 25 38--output_dir/path/to/output_dir--num_layers 4-j 8--num_gram 9--丢失0.1

测试

EPIC-厨房-100

要测试EPIC-KITCHENS-100上的视听变压器,请运行:

python test_av.py--数据集epic-100--test_hdf5_path/path/to/epic-kitchens-100/features/audiovisual_slowfast_features_val.hdf5--test_pickle/path/to/epic-kitchens-100-annotations/epic_100_validation.pkl--检查点/路径/到/av_model/av_checkpoint.pyth--seq_len 9--num_layers 4--output_dir/path/to/output_dir--拆分验证

要获得模型在测试集上的分数,只需使用--test_hdf5_path/path/to/epic-kitchens-100/features/audiovisual_slowfast_features_test.hdf5,--test_pickle/path/to/epic-kitchens-100-annotations/epic_100_test_timestamps.pkl--劈裂试验而不是。由于测试集的标签不可用,脚本只会保存分数没有计算模型的准确性。

要在验证集上评估模型,请按照中的说明进行操作这个链接.在同一个链接中,您可以在评估服务器中找到准备模型分数以提交的说明,并获得结果在测试集上。

最后,要使用LM筛选出不太可能的序列,请运行:

python test_av_lm.py—数据集epic-100--test_pickle/path/to/epi-kitchens-100-注释/epic_100_验证.pkl--test_scores/path/to/adio-visual-results.pkl--检查点/路径/到/lm_model/lm_checkpoint.pyth--num_gram 9—分割验证

请注意,--test_scores/path/to/adio-visual-results.pkl是视听转换器预测的分数。要获得测试集的分数,请使用--test_pickle/path/to/epic-kitchens-100-annotations/epic_100_test_timestamps.pkl--分裂试验而不是。

由于我们为EPIC-KITCHENS-100提供经过培训的模型,av_检查点.pythlm_检查点.pyth在上面的测试脚本中,可以是提供的预训练模型,或者模型_测试.pyth那是你自己训练的模型。

EGTEA公司

要在EGTEA上测试可视化变压器,请运行:

python test_av.py—数据集egtea—test_hdf5_path/path/to/egtea/features/visual_slowfast_features_test_split1.hdf5--test_pickle/path/to/EGTEA_annotations/test_split1.pkl--检查点/path/to/v_model/model_best.pyth--seq_len 9--num_layers 4--output_dir/path/to/output_dir--拆分测试_拆分1

要使用LM筛选出不太可能的序列,请运行:

python test_av_lm.py—数据集egtea--test_pickle/path/to/EGTEA_annotations/test_split1.pkl--test_scores/path/to/visual-results.pkl--检查点/路径/到/lm_model/model_best.pyth--num_gram 9—拆分测试_拆分1

在每种情况下,您可以通过简单地包括--提取attn_weights在测试脚本的输入参数处。

工具书类

[1] 迪玛·达门、哈泽尔·道蒂、乔瓦尼·玛丽亚·法利内拉、安东尼诺·富纳里、建马、埃文格洛斯·哈萨克斯、戴维德·莫尔蒂桑蒂、乔纳森·蒙罗、托比·佩雷特、威尔·普莱斯和迈克尔·沃伊,重定自我中心视野:EPIC-KITCHENS-100的收集渠道和挑战IJCV,2021年

许可证

该代码根据Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License发布,可找到在这里.

关于

在PyTorch中实施“借助我的时间背景:多式自我中心主义行动识别,BMVC,2021”

话题

资源

许可证

星星

观察者

叉子

发布

未发布版本

包装

未发布包

语言文字