Skip to content

Commit

Permalink
[New Algorithm] Support DG-STGCN (kennymckormick#110)
Browse files Browse the repository at this point in the history
* remove test_mode in config files

* remove test_mode in data pipeline

* support dgstgcn

* add deperacate warning

* update file cache

* update dg-stgcn

* Add DG-STGCN configs

* update pre-commit

* fix pre-commit
  • Loading branch information
kennymckormick authored Dec 12, 2022
1 parent 4d32ea9 commit fcd7353
Show file tree
Hide file tree
Showing 263 changed files with 2,099 additions and 566 deletions.
12 changes: 4 additions & 8 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,14 @@ exclude: >
^configs/
)$
repos:
- repo: https://gitlab.com/pycqa/flake8.git
rev: 3.8.3
- repo: https://github.com/PyCQA/flake8
rev: 5.0.4
hooks:
- id: flake8
args: ["--max-line-length=120"]
exclude: ^configs/
- repo: https://github.com/asottile/seed-isort-config
rev: v2.2.0
hooks:
- id: seed-isort-config
- repo: https://github.com/timothycrosley/isort
rev: 4.3.21
- repo: https://github.com/PyCQA/isort
rev: 5.10.1
hooks:
- id: isort
- repo: https://github.com/pre-commit/mirrors-yapf
Expand Down
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# PYSKL

[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/revisiting-skeleton-based-action-recognition/skeleton-based-action-recognition-on-ntu-rgbd)](https://paperswithcode.com/sota/skeleton-based-action-recognition-on-ntu-rgbd?p=revisiting-skeleton-based-action-recognition) [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/pyskl-towards-good-practices-for-skeleton/skeleton-based-action-recognition-on-ntu-rgbd-1)](https://paperswithcode.com/sota/skeleton-based-action-recognition-on-ntu-rgbd-1?p=pyskl-towards-good-practices-for-skeleton) [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/revisiting-skeleton-based-action-recognition/skeleton-based-action-recognition-on-kinetics)](https://paperswithcode.com/sota/skeleton-based-action-recognition-on-kinetics?p=revisiting-skeleton-based-action-recognition)
[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/revisiting-skeleton-based-action-recognition/skeleton-based-action-recognition-on-ntu-rgbd)](https://paperswithcode.com/sota/skeleton-based-action-recognition-on-ntu-rgbd?p=revisiting-skeleton-based-action-recognition)
[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/dg-stgcn-dynamic-spatial-temporal-modeling/skeleton-based-action-recognition-on-ntu-rgbd-1)](https://paperswithcode.com/sota/skeleton-based-action-recognition-on-ntu-rgbd-1?p=dg-stgcn-dynamic-spatial-temporal-modeling)
[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/revisiting-skeleton-based-action-recognition/skeleton-based-action-recognition-on-kinetics)](https://paperswithcode.com/sota/skeleton-based-action-recognition-on-kinetics?p=revisiting-skeleton-based-action-recognition)

PYSKL is a toolbox focusing on action recognition based on **SK**e**L**eton data with **PY**Torch. Various algorithms will be supported for skeleton-based action recognition. We build this project based on the OpenSource Project [MMAction2](https://github.com/open-mmlab/mmaction2).

Expand All @@ -19,14 +21,15 @@ Any user can open a PR to contribute to PYSKL. The PR will be reviewed before be

## News

- Support [DG-STGCN](https://arxiv.org/abs/2210.05895), which is a state-of-the-art skeleton action algorithm that doesn't rely on a pre-defined graph (**2022-12-12**).
- The [tech report](https://arxiv.org/abs/2205.09443) of PYSKL is accepted by MM 2022 (**2022-06-28**).
- Support spatial augmentations and provide a benchmark on ST-GCN++ (**2022-05-12**).
- Support skeleton action recognition demo with GCN algorithms (**2022-05-03**).
- Release the skeleton annotations (HRNet 2D Pose), config files, and pre-trained ckpts for Kinetics-400. K400 is a large-scale dataset (even for skeleton), you should have `memcached` and `pymemcache` installed for efficient training & testing on K400 (**2022-05-01**).
- Provide an example (diving48) for processing a custom video dataset, generating 2D skeleton annotations, and using PoseC3D for skeleton-based action recognition. The tutorial for skeleton extraction part is available in [diving48_example](/examples/extract_diving48_skeleton/diving48_example.ipynb) (**2022-04-15**).

## Supported Algorithms

- [x] DG-STGCN (Arxiv): https://arxiv.org/abs/2210.05895 [[MODELZOO](/configs/dgstgcn/README.md)]
- [x] ST-GCN (AAAI 2018): https://arxiv.org/abs/1801.07455 [[MODELZOO](/configs/stgcn/README.md)]
- [x] ST-GCN++ (PYSKL, Tech Report): https://arxiv.org/abs/2205.09443 [[MODELZOO](/configs/stgcn++/README.md)]
- [x] PoseConv3D (CVPR 2022 Oral): https://arxiv.org/abs/2104.13586 [[MODELZOO](/configs/posec3d/README.md)]
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xset_3dkp/b.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['b']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['b']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xset_3dkp/bm.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['bm']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['bm']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xset_3dkp/j.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['j']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['j']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xset_3dkp/jm.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['jm']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['jm']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xset_hrnet/b.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['b']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['b']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xset_hrnet/bm.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['bm']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['bm']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xset_hrnet/j.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['j']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['j']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xset_hrnet/jm.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['jm']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['jm']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xsub_3dkp/b.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['b']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['b']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xsub_3dkp/bm.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['bm']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['bm']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xsub_3dkp/j.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['j']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['j']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xsub_3dkp/jm.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['jm']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['jm']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xsub_hrnet/b.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['b']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['b']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xsub_hrnet/bm.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['bm']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['bm']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xsub_hrnet/j.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['j']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['j']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu120_xsub_hrnet/jm.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['jm']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize2D'),
dict(type='GenSkeFeat', dataset='coco', feats=['jm']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu60_xsub_3dkp/b.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['b']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['b']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu60_xsub_3dkp/bm.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['bm']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['bm']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
4 changes: 2 additions & 2 deletions configs/aagcn/aagcn_pyskl_ntu60_xsub_3dkp/j.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
val_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['j']),
dict(type='UniformSample', clip_len=100, num_clips=1, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=1),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand All @@ -28,7 +28,7 @@
test_pipeline = [
dict(type='PreNormalize3D'),
dict(type='GenSkeFeat', dataset='nturgb+d', feats=['j']),
dict(type='UniformSample', clip_len=100, num_clips=10, test_mode=True),
dict(type='UniformSample', clip_len=100, num_clips=10),
dict(type='PoseDecode'),
dict(type='FormatGCNInput', num_person=2),
dict(type='Collect', keys=['keypoint', 'label'], meta_keys=[]),
Expand Down
Loading

0 comments on commit fcd7353

Please sign in to comment.