Pytorch implementation for learning an observation-Gated Spatio-Temporal Energy Graph for Video Relationship Reasoning on Charades dataset.
Contact: Yao-Hung Hubert Tsai ([email protected])
Video Relationship Reasoning using Gated Spatio-Temporal Energy Graph
Yao-Hung Hubert Tsai, Santosh Divvala, Louis-Philippe Morency, Ruslan Salakhutdinov and Ali Farhadi
Computer Vision and Pattern Recognition (CVPR), 2019.
Please cite our paper if you find the code, dataset, or the experimental setting useful for your research.
@inproceedings{tsai2019GSTEG,
title={Video Relationship Reasoning using Gated Spatio-Temporal Energy Graph},
author={Tsai, Yao-Hung Hubert and Divvala, Santosh and Morency, Louis-Philippe and Salakhutdinov, Ruslan and Farhadi, Ali},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2019}
}
Visual relationship reasoning in images (top) vs. videos (bottom): Given a single image, it is ambiguous whether the monkey is creeping up or down the car. Using a video not only helps to unambiguously recognize a richer set of relations, but also model temporal correlations across them (e.g., creep down and jump left).
An overview of our Proposed Gated Spatio-Temporal Energy Graph. Given an input instance (a video clip), we predict the output relationships (e.g., {monkey, creep down, car}, etc.,) by reasoning over a fully-connected spatio-temporal graph with nodes S (Subject),P (Predicate) and O (Object). Instead of assuming a non-gated (i.e., predefined or globally-learned) pairwise energy function, we explore the use of gated energy functions (i.e., conditioned on the specific visual observation).
- Python 3.6
- Pytorch and torchvision
- Download the pretrained (with Kinetics Dataset) I3D model here.
- Modify exp/GSTEG.py
- Create the cache directory
- Specify the location of the data, training/validation split, and pretrained model.
- Command as follows
python3 exp/GSTEG.py
A large portion of the code comes from the Temporal Fields, VidVRD, and ImageNet repo.