Notes on Videos as Space-Time Region Graphs
A summary of this paper: https://arxiv.org/abs/1806.01810
Attempts to recognize human actions by using “space-time region graphs,” with the nodes’ edges defined by 1) “similarity relations” (for corresponding objects over time) and 2) spatio-temporal relations amongst one another.
This was tested on Charades and Something-Something. Charades is a dataset that involves actions performed indoors with a lot in the background. Something-Something consists of objects and hands interacting with it against a clean background.
They consider the action of opening a book. What happens when a book is opened? Well, first, we have the object, the book, and it’s visual appearance. The book’s appearance changes over time (as the state of the book goes from open to closed). But the book does not do this on it’s own, it’s state change is due to the human-object interaction of a person opening it. They argue that object’s states change through object-object or human-object interactions.
Interpreting the scene as this means that they formulate the problem to examine and somehow evaluate the book’s features over time. They also consider the region around the book. Rather than evaluating each scene and the visual features in that scene as a whole, they create some structure to their approach.
Their aim to “perform long-range temporal modeling of human-object and object-object relationships via a graph-based reasoning framework.”
a. Using spatio-temporal relations is popular, but many features are often hand-designed. Alternative is deep representations from data
This paper focuses on objects, rather than examine features for the entire frames
b. Using pairwise relationships (human-object or object-object) has been found helpful although the approach has been used for static images rather than video
c. Graph Convolutional Networks used to update node representation, which can then be used for classification
Take data, which is video. Represent it as a graph of objects and recognize actions from the graph.
Input - video clips of length > 5 seconds
Output - TxHxWxd, T temporal, HxW spatial, d channel number
RPN for N proposals, ROI Align to get the corresponding features for each bounding box. The features have d dimensions, and the vector is now of size Nxd.
The graph constructed has N nodes with the N objects tracked over T frames. (Nxd*T)
They break the graph into two sub-graphs for the different type of relations. Apply the Graph Convolution Networks to output vectors of size Nxd. Apply average pooling over the nodes for one vector of d dimensions.
Average pooling over whole video (TxHxW) for another vector of length d. Concatenate and use for video-level classification.
Similarity edges are described as the dot product of the two nodes transformed by separate weights:
The edges for each node will be normalized with softmax so that the sum of edge values will e 1.
The spatio-temporal edges are defined as the intersection of unions between object I and j. The edges for a node are also normalized so that the sum is 1. We create two adjacency matrices, effectively creating two sets of edges, one for pointing forward and the other back. “richer structure and enlarge the number of propagation neighborhoods during graph operations”
Conducted experiments on Charades and Something-Something.
Generate 50 and 10 RPN boxes for Charades and SS respectively. Variation in number of proposals does not change the mAP to go below the baseline (31.8%). 36.2% with 50, 35.9% with 25, 36.1% with 100 . They show that their model performs better than the baselines used (including non-local networks) in situations where actions are classified as a sequence of events rather than a continuous event (shooting a goal v. running), when the pose changes greatly over the frames, and when the actions involve interactions with other objects.