Pytorch implementation of "skeleton transformer module", which is mentioned in Skeleton-based Action Recognition with Convolutional Neural Networks.
You can install this module from PyPI as skeletorch
.
pip install skeletorch
All parameters are required.
timesteps: Timesteps of input time-series data (equal to number of frames, mentioned as 'T' in the paper)
kpts_dim: Dimentions of keypoints (usually 2 (x, y) or 3 (x, y, z))
input_kpts_num: Number of joints in original keypoints (mentioned as 'N' in the paper)
output_dim: Dimentions of output (mentioned as 'M' in the paper)
x: 2-dimentional tensor of shape (timesteps, input_kpts_num*kpts_dim)
import torch
from skeletorch import SkeletonTransformer
# parameters
timesteps = 20
kpts_dim = 3
input_kpts_num = 17
output_dim = 10
# input (the size is (20, 51) in this example)
x = torch.Tensor(torch.randn(timesteps, kpts_dim*input_kpts_num))
# make layer
layer = SkeletonTransformer(timesteps, kpts_dim, input_kpts_num, output_dim)
layer(x)
Of course you can use this module in your Pytorch network.
We also have Keras implementation of this module:
https://github.com/Yutsuro/skeleton-transformer-Keras