这里是视频动作识别任务的模型库。我们首先在下图中展示了一个可视化结果,描述了 Kinetics400 预训练模型的推理吞吐量与验证准确率。

action_recognition - GluonCV 文档

提示

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

一个模型可以使用不同哈希值的不同训练参数。灰色名称的参数可以通过传入对应的哈希值下载。

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

  • 下载指定哈希值的权重: net = get_model('i3d_resnet50_v1_kinetics400', pretrained='568a722e')

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

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

提示

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

一个模型可以使用不同哈希值的不同训练参数。灰色名称的参数可以通过传入对应的哈希值下载。

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

  • 下载指定哈希值的权重: 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 裁剪),对 3D 网络使用 30 个视图(10 片段和 3 裁剪)。

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

名称

预训练

片段数

片段长度

Top-1

哈希值

训练命令

训练日志

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

哈希值

训练命令

训练日志

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

哈希值

训练命令

训练日志

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

哈希值

训练命令

训练日志

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

哈希值

训练命令

训练日志

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 脚本

日志