行为识别

MXNet Pytorch

MXNet

这里是视频行为识别任务的模型动物园。我们首先在下图中展示一个可视化,描述了 Kinetics400 预训练模型的推理吞吐量与验证准确率之间的关系。

action_recognition - GluonCV 文档

提示

训练命令使用此脚本:下载 train_recognizer.py

一个模型可以有不同 hashtag 的不同训练参数。灰色名称的参数可以通过传递相应的 hashtag 下载。

  • 下载默认预训练权重:net = get_model('i3d_resnet50_v1_kinetics400', pretrained=True)

  • 下载给定 hashtag 的权重:net = get_model('i3d_resnet50_v1_kinetics400', pretrained='568a722e')

测试脚本 下载 test_recognizer.py 可用于在各种数据集上评估模型。

推理脚本 下载 inference.py 可用于对视频列表进行推理(演示目的)。

提示

训练命令使用此脚本:下载 train_recognizer.py

一个模型可以有不同 hashtag 的不同训练参数。灰色名称的参数可以通过传递相应的 hashtag 下载。

  • 下载默认预训练权重:net = get_model('i3d_resnet50_v1_kinetics400', pretrained=True)

  • 下载给定 hashtag 的权重:net = get_model('i3d_resnet50_v1_kinetics400', pretrained='568a722e')

测试脚本 下载 test_recognizer.py 可用于在各种数据集上评估模型。

推理脚本 下载 inference.py 可用于对视频列表进行推理(演示目的)。

Kinetics400 数据集

下表列出了在 Kinetics400 上训练的预训练模型。

注意

我们的预训练模型重现了近期最先进方法的结果。更多信息请查阅参考论文。

所有模型均使用 224x224 的输入尺寸进行训练,除了 InceptionV3 使用 299x299 的输入尺寸进行训练和评估,C3DR2+1D 模型使用 112x112 的输入尺寸进行训练和评估。

Clip Length(剪辑长度)是输入剪辑中的帧数。32 (64/2) 意味着我们使用 32 帧,但实际上这些帧是通过从视频中随机选择 64 个连续帧,然后跳过其中间隔的帧来形成的。这种策略被广泛采用以减少计算和内存成本。

Segments(段数)是训练期间使用的段数。为了测试(报告这些数字),按照惯例,我们对 2D 网络使用 250 视角(25 帧和 10-crop),对 3D 网络使用 30 视角(10 个剪辑和 3-crop)。

对于 SlowFast 系列网络,我们的性能与论文中报告的数字存在细微差距。这是因为官方 SlowFast 实现强制将每个视频重新编码为固定的 30 帧率。为了与其他方法进行公平比较,我们没有采用该策略,这导致了微小的差距。

名称

预训练

段数

剪辑长度

Top-1

Hashtag

训练命令

训练日志

inceptionv1_kinetics400 3

ImageNet

7

1

69.1

6dcdafb1

shell 脚本

日志

inceptionv3_kinetics400 3

ImageNet

7

1

72.5

8a4a6946

shell 脚本

日志

resnet18_v1b_kinetics400 3

ImageNet

7

1

65.5

46d5a985

shell 脚本

日志

resnet34_v1b_kinetics400 3

ImageNet

7

1

69.1

8a8d0d8d

shell 脚本

日志

resnet50_v1b_kinetics400 3

ImageNet

7

1

69.9

cc757e5c

shell 脚本

日志

resnet101_v1b_kinetics400 3

ImageNet

7

1

71.3

5bb6098e

shell 脚本

日志

resnet152_v1b_kinetics400 3

ImageNet

7

1

71.5

9bc70c66

shell 脚本

日志

c3d_kinetics400 2

从头开始

1

16 (32/2)

59.5

a007b5fa

shell 脚本

日志

p3d_resnet50_kinetics400 5

从头开始

1

16 (32/2)

71.6

671ba81c

shell 脚本

日志

p3d_resnet101_kinetics400 5

从头开始

1

16 (32/2)

72.6

b30e3a63

shell 脚本

日志

r2plus1d_resnet18_kinetics400 6

从头开始

1

16 (32/2)

70.8

5a14d1f9

shell 脚本

日志

r2plus1d_resnet34_kinetics400 6

从头开始

1

16 (32/2)

71.6

de2e592b

shell 脚本

日志

r2plus1d_resnet50_kinetics400 6

从头开始

1

16 (32/2)

73.9

deaefb14

shell 脚本

日志

i3d_inceptionv1_kinetics400 4

ImageNet

1

32 (64/2)

71.8

81e0be10

shell 脚本

日志

i3d_inceptionv3_kinetics400 4

ImageNet

1

32 (64/2)

73.6

f14f8a99

shell 脚本

日志

i3d_resnet50_v1_kinetics400 4

ImageNet

1

32 (64/2)

74.0

568a722e

shell 脚本

日志

i3d_resnet101_v1_kinetics400 4

ImageNet

1

32 (64/2)

75.1

6b69f655

shell 脚本

日志

i3d_nl5_resnet50_v1_kinetics400 7

ImageNet

1

32 (64/2)

75.2

3c0e47ea

shell 脚本

日志

i3d_nl10_resnet50_v1_kinetics400 7

ImageNet

1

32 (64/2)

75.3

bfb58c41

shell 脚本

日志

i3d_nl5_resnet101_v1_kinetics400 7

ImageNet

1

32 (64/2)

76.0

fbfc1d30

shell 脚本

日志

i3d_nl10_resnet101_v1_kinetics400 7

ImageNet

1

32 (64/2)

76.1

59186c31

shell 脚本

日志

slowfast_4x16_resnet50_kinetics400 8

从头开始

1

36 (64/1)

75.3

9d650f51

shell 脚本

日志

slowfast_8x8_resnet50_kinetics400 8

从头开始

1

40 (64/1)

76.6

d6b25339

shell 脚本

日志

slowfast_8x8_resnet101_kinetics400 8

从头开始

1

40 (64/1)

77.2

fbde1a7c

shell 脚本

日志

Kinetics700 数据集

下表列出了我们在 Kinetics700 上训练的模型。

名称

预训练

段数

剪辑长度

Top-1

Hashtag

训练命令

训练日志

i3d_slow_resnet101_f16s4_kinetics700 8

从头开始

1

16 (64/4)

67.65

299b1d9d

NA

NA

UCF101 数据集

下表列出了在 UCF101 上训练的预训练模型。

注意

我们的预训练模型重现了近期最先进方法的结果。更多信息请查阅参考论文。

下方显示的 Top-1 准确率是 UCF101 数据集官方划分 1 的结果,而非 3 个划分的平均值。

InceptionV3 使用 299x299 的输入尺寸进行训练和评估。

K400 是 Kinetics400 数据集,这意味着我们使用在 Kinetics400 上预训练的模型作为权重初始化。

名称

预训练

段数

剪辑长度

Top-1

Hashtag

训练命令

训练日志

vgg16_ucf101 3

ImageNet

3

1

83.4

d6dc1bba

shell 脚本

日志

vgg16_ucf101 1

ImageNet

1

1

81.5

05e319d4

shell 脚本

日志

inceptionv3_ucf101 3

ImageNet

3

1

88.1

13ef5c3b

shell 脚本

日志

inceptionv3_ucf101 1

ImageNet

1

1

85.6

0c453da8

shell 脚本

日志

i3d_resnet50_v1_ucf101 4

ImageNet

1

32 (64/2)

83.9

7afc7286

shell 脚本

日志

i3d_resnet50_v1_ucf101 4

ImageNet, K400

1

32 (64/2)

95.4

760d0981

shell 脚本

日志

HMDB51 数据集

下表列出了在 HMDB51 上训练的预训练模型。

注意

我们的预训练模型重现了近期最先进方法的结果。更多信息请查阅参考论文。

下方显示的 Top-1 准确率是 HMDB51 数据集官方划分 1 的结果,而非 3 个划分的平均值。

名称

预训练

段数

剪辑长度

Top-1

Hashtag

训练命令

训练日志

resnet50_v1b_hmdb51 3

ImageNet

3

1

55.2

682591e2

shell 脚本

日志

resnet50_v1b_hmdb51 1

ImageNet

1

1

52.2

ba66ee4b

shell 脚本

日志

i3d_resnet50_v1_hmdb51 4

ImageNet

1

32 (64/2)

48.5

0d0ad559

shell 脚本

日志

i3d_resnet50_v1_hmdb51 4

ImageNet, K400

1

32 (64/2)

70.9

2ec6bf01

shell 脚本

日志

Something-Something-V2 数据集

下表列出了在 Something-Something-V2 上训练的预训练模型。

注意

我们的预训练模型重现了近期最先进方法的结果。更多信息请查阅参考论文。

名称

预训练

段数

剪辑长度

Top-1

Hashtag

训练命令

训练日志

resnet50_v1b_sthsthv2 3

ImageNet

8

1

35.5

80ee0c6b

shell 脚本

日志

i3d_resnet50_v1_sthsthv2 4

ImageNet

1

16 (32/2)

50.6

01961e4c

shell 脚本

日志

PyTorch

这里是视频行为识别任务的 PyTorch 模型动物园。

提示

训练命令使用此脚本:下载 train_ddp_pytorch.py

python train_ddp_pytorch.py --config-file CONFIG

测试脚本 下载 test_ddp_pytorch.py 可用于在各种数据集上进行性能评估。如果您想使用模型动物园中训练好的模型,请在配置文件中设置 MODEL.PRETRAINED = True

python test_ddp_pytorch.py --config-file CONFIG

Kinetics400 数据集

下表列出了我们在 Kinetics400 上训练的模型。

注意

我们的预训练模型重现了近期最先进方法的结果。更多信息请查阅参考论文。

所有模型均使用 224x224 的输入尺寸进行训练,除了 R2+1D 模型使用 112x112 的输入尺寸进行训练和评估。

Clip Length(剪辑长度)是输入剪辑中的帧数。32 (64/2) 意味着我们使用 32 帧,但实际上这些帧是通过从视频中随机选择 64 个连续帧,然后跳过其中间隔的帧来形成的。这种策略被广泛采用以减少计算和内存成本。

Segment(段)是训练期间使用的段数。为了测试(报告这些数字),按照惯例,我们对 2D 网络使用 250 视角(25 帧和 10-crop),对 3D 网络使用 30 视角(10 个剪辑和 3-crop)。

r2plus1d_v2_resnet152_kinetics400ircsn_v2_resnet152_f32s2_kinetics400TPN family 模型的权重从 VMZ 和 TPN 仓库移植而来。目前您可以忽略这些模型的训练配置。

名称

预训练

剪辑长度

Top-1

Hashtag

配置

resnet18_v1b_kinetics400 3

ImageNet

7

1

66.73

854b23e4

配置

resnet34_v1b_kinetics400 3

ImageNet

7

1

69.85

124a2fa4

配置

resnet50_v1b_kinetics400 3

ImageNet

7

1

70.88

9939dbdf

配置

resnet101_v1b_kinetics400 3

ImageNet

7

1

72.25

172afa3b

配置

resnet152_v1b_kinetics400 3

ImageNet

7

1

72.45

3dedb835

配置

r2plus1d_v1_resnet18_kinetics400 6

从头开始

1

16 (32/2)

71.72

340a5952

配置

r2plus1d_v1_resnet34_kinetics400 6

从头开始

1

16 (32/2)

72.63

5102fd17

配置

r2plus1d_v1_resnet50_kinetics400 6

从头开始

1

16 (32/2)

74.92

9a3b665c

配置

r2plus1d_v2_resnet152_kinetics400 6

IG65M

1

16 (32/2)

81.34

42707ffc

配置

ircsn_v2_resnet152_f32s2_kinetics400 10

IG65M

1

32 (64/2)

83.18

82855d2c

配置

i3d_resnet50_v1_kinetics400 4

ImageNet

1

32 (64/2)

74.87

18545497

配置

i3d_resnet101_v1_kinetics400 4

ImageNet

1

32 (64/2)

75.1

a9bb4f89

配置

i3d_nl5_resnet50_v1_kinetics400 7

ImageNet

1

32 (64/2)

75.17

9df1e103

配置

i3d_nl10_resnet50_v1_kinetics400 7

ImageNet

1

32 (64/2)

75.93

281e1e8a

配置

i3d_nl5_resnet101_v1_kinetics400 7

ImageNet

1

32 (64/2)

75.81

2cea8edd

配置

i3d_nl10_resnet101_v1_kinetics400 7

ImageNet

1

32 (64/2)

75.93

526a2ed0

配置

slowfast_4x16_resnet50_kinetics400 8

从头开始

1

32 (64/2)

75.25

1d1eadb2

配置

slowfast_8x8_resnet50_kinetics400 8

从头开始

1

32 (64/2)

76.66

e94e9a57

配置

slowfast_8x8_resnet101_kinetics400 8

从头开始

1

32 (64/2)

76.95

db5e9fef

配置

i3d_slow_resnet50_f32s2_kinetics400 8

从头开始

1

32 (64/2)

77.89

078c817b

配置

i3d_slow_resnet50_f16s4_kinetics400 8

从头开始

1

16 (64/4)

76.36

a3e419f1

配置

i3d_slow_resnet50_f8s8_kinetics400 8

从头开始

1

8 (64/8)

74.41

1c3d98a1

配置

i3d_slow_resnet101_f32s2_kinetics400 8

从头开始

1

32 (64/2)

78.57

db37cd51

配置

i3d_slow_resnet101_f16s4_kinetics400 8

从头开始

1

16 (64/4)

77.11

cb6b78d9

配置

i3d_slow_resnet101_f8s8_kinetics400 8

从头开始

1

8 (64/8)

76.15

82e399c1

配置

tpn_resnet50_f8s8_kinetics400 9

从头开始

1

8 (64/8)

77.04

368108eb

配置

tpn_resnet50_f16s4_kinetics400 9

从头开始

1

16 (64/4)

77.33

6bf899df

配置

tpn_resnet50_f32s2_kinetics400 9

从头开始

1

32 (64/2)

78.9

27710ce8

配置

tpn_resnet101_f8s8_kinetics400 9

从头开始

1

8 (64/8)

78.1

092c2f7f

配置

tpn_resnet101_f16s4_kinetics400 9

从头开始

1

16 (64/4)

79.39

647080df

配置

tpn_resnet101_f32s2_kinetics400 9

从头开始

1

32 (64/2)

79.7

a94422a9

配置

Kinetics700 数据集

下表列出了我们在 Kinetics700 上训练的模型。

名称

预训练

剪辑长度

Top-1

Hashtag

配置

i3d_slow_resnet101_f16s4_kinetics700 8

从头开始

1

16 (64/4)

67.65

b5be1a2e

配置

Something-Something-V2 数据集

下表列出了我们在 Something-Something-V2 上训练的模型。

注意

我们的预训练模型重现了近期最先进方法的结果。更多信息请查阅参考论文。

名称

预训练

剪辑长度

Top-1

Hashtag

配置

resnet50_v1b_sthsthv2 3

ImageNet

8

1

35.16

cbb9167b

配置

i3d_resnet50_v1_sthsthv2 4

ImageNet

1

16 (32/2)

49.61

e975d989

配置

参考文献

1(1,2,3)

Limin Wang, Yuanjun Xiong, Zhe Wang and Yu Qiao. “《关于非常深的两流卷积网络的良好实践》” arXiv preprint arXiv:1507.02159, 2015.

2

Du Tran, Lubomir Bourdev, Rob Fergus, Lorenzo Torresani and Manohar Paluri. “《使用 3D 卷积网络学习时空特征》” In International Conference on Computer Vision (ICCV), 2015.

3(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17)

Limin Wang, Yuanjun Xiong, Zhe Wang, Yu Qiao, Dahua Lin, Xiaoou Tang and Luc Van Gool. “《时间段网络:迈向深度行为识别的良好实践》” In European Conference on Computer Vision (ECCV), 2016.

4(1,2,3,4,5,6,7,8,9,10,11,12)

Joao Carreira and Andrew Zisserman. “《行为识别,路在何方?一个新模型和 Kinetics 数据集》” In Computer Vision and Pattern Recognition (CVPR), 2017.

5(1,2)

Zhaofan Qiu, Ting Yao and Tao Mei. “《使用伪 3D 残差网络学习时空表示》” In International Conference on Computer Vision (ICCV), 2017.

6(1,2,3,4,5,6,7)

Du Tran, Heng Wang, Lorenzo Torresani, Jamie Ray, Yann LeCun and Manohar Paluri. “《深入探讨用于行为识别的时空卷积》” In Computer Vision and Pattern Recognition (CVPR), 2018.

7(1,2,3,4,5,6,7,8)

Xiaolong Wang, Ross Girshick, Abhinav Gupta and Kaiming He. “《非局部神经网络》” In Computer Vision and Pattern Recognition (CVPR), 2018.

8(1,2,3,4,5,6,7,8,9,10,11,12,13,14)

Christoph Feichtenhofer, Haoqi Fan, Jitendra Malik and Kaiming He. “《用于视频识别的 SlowFast 网络》” In International Conference on Computer Vision (ICCV), 2019.

9(1,2,3,4,5,6)

Yang, Ceyuan and Xu, Yinghao and Shi, Jianping and Dai, Bo and Zhou, Bolei. “《用于行为识别的时间金字塔网络》” In Computer Vision and Pattern Recognition (CVPR), 2020.

10

Du Tran, Heng Wang, Lorenzo Torresani and Matt Feiszli. “《使用通道分离卷积网络进行视频分类》” In International Conference on Computer Vision (ICCV), 2019.