z`+1=MLP(LN(y`)) +y`: (3)
The MLP consists of two linear projections separated by a
GELU non-linearity [28] and the token-dimensionality, d,
remains ﬁxed throughout all layers. Finally, a linear classiﬁer is used to classify the encoded input based on zL
cls2Rd,
if it was prepended to the input, or a global average pooling
of all the tokens, zL, otherwise.
As the transformer [68], which forms the basis of
ViT [18], is a ﬂexible architecture that can operate on any
sequence of input tokens z2RNd, we describe strategies
for tokenising videos next.
3.2. Embedding video clips
We consider two simple methods for mapping a video
V2RTHWCto a sequence of tokens ~ z2
Rntnhnwd. We then add the positional embedding and
reshape into RNdto obtain z, the input to the transformer.
Uniform frame sampling As illustrated in Fig. 2, a
straightforward method of tokenising the input video is to
uniformly sample ntframes from the input video clip, embed each 2D frame independently using the same method
We present pure-transformer based models for video classification, drawing
upon the recent success of such models in image classification. Our model
extracts spatio-temporal tokens from the input video, which are then encoded by
a series of transformer layers. In order to handle the long sequences of tokens
encountered in video, we propose several, efficient variants of our model which
factorise the spatial- and temporal-dimensions of the input. Although
transformer-based models are known to only be effective when large training
datasets are available, we show how we can effectively regularise the model
during training and leverage pretrained image models to be able to train on
comparatively small datasets. We conduct thorough ablation studies, and achieve
state-of-the-art results on multiple video classification benchmarks including
Kinetics 400 and 600, Epic Kitchens, Something-Something v2 and Moments in
Time, outperforming prior methods based on deep 3D convolutional networks. To
facilitate further research, we release code at
https://github.com/google-research/scenic/tree/main/scenic/projects/vivit
Anurag Arnab Mostafa Dehghani Georg Heigold Chen Sun Mario Lučić Cordelia Schmid