New spatiotemporal feature representations [1, 2] and massive datasets like ActivityNet  have catalyzed progress towards large-scale action recognition in recent years. In large-scale action recognition, the goal is to classify diverse actions like skiing and basketball, so it is often advantageous to capture contextual cues like the background appearance. In sharp contrast, in fine-grained action recognition, background appearance cues are insufficient to capture the nuances of a complex action, such as subtle changes in object location or state. As a consequence, progress on fine-grained action recognition has been comparatively modest despite active recent developments (e.g. [4, 5, 6, 7, 8]).
In this paper we propose a new approach to fine-grained action recognition that aims to capture information about object states, their relationships, and how they change over time. Our goal is to temporally segment a video and to classify each of its constituent actions. We target goal-driven activities performed in a situated environment, like a kitchen, where a static camera captures a user who performs dozens of actions. For concreteness, refer to the sub-sequence depicted in Figure 1: A user places a tomato onto a cutting board, cuts it with a knife, and places it into a salad bowl. This is part of a much longer salad preparation sequence. There are many applications of this task including in industrial manufacturing [9, 10], surgical training [11, 12, 13], and general human activity analysis (e.g. cooking, sports) [4, 6, 14, 15, 16, 17].
To address this problem, we introduce a Spatiotemporal Convolutional Neural Network (ST-CNN), which encodes low- and mid- level visual information, and a semi-Markov model that models high-level temporal information. The spatial component of the ST-CNN is a variation on VGG designed for fine-grained tasks which we empirically find captures information about object locations, their states (e.g. whole tomato vs. diced tomato), and inter-object relationships. Our network is smaller than models like VGG  and AlexNet  and induces more spatial invariance. This model diverges from recent fine-grained models, which typically use holistic approaches to model the scene.
The temporal component of the ST-CNN captures how object relationships change over the course of an action. In the tomato cutting example the cut action changes the tomato’s state from whole to diced and the place action requires moving the tomato from location cutting board to bowl
. The ST-CNN applies a set of shared temporal 1D convolutional filters to the output of the spatial component. The temporal filters are on the order of 10 seconds long and explicitly capture mid-range motion patterns. The output of these filters is then fed to a linear classifier that computes an action activation score. The probability of an action at any given time is then estimated by applying a softmax to the action activation scores.
The segmental component jointly segments and classifies actions using a semi-Markov model that models pairwise transitions between action segments. This model offers two benefits over traditional time series models like linear chain Conditional Random Fields (CRFs) and Recurrent Neural Networks (RNNs). Features are computed segment-wise, as opposed to per-frame, and the action at each segment is conditioned on the previous segment instead of the previous frame. Typically, inference in semi-Markov models is of much higher computational complexity than their frame-wise alternatives. In this work we introduce a new constrained inference algorithm that is one to three orders of magnitude faster than the common semi-Markov inference technique.
Despite a large number of action recognition datasets in the computer vision community, few are sufficient for modeling fine-grained segmentation and classification. We apply our approach to two datasets: University of Dundee 50 Salads, which is in the cooking domain, and the JHU-ISI Surgical Assessment Working Set (JIGSAWS) 
, which is in the surgical robotics domain. Both of these datasets have reasonable amounts of data, interesting task granularity, and realistic task variability. On these datasets, our model substantially outperforms popular methods such as Dense Trajectories, spatial CNNs, and RNNs with Long Short Term Memory (LSTM).
In summary, our contributions are:
We develop a Spatiotemporal CNN which we empirically find captures information about object relationships and how relationships change over time,
We introduce an efficient algorithm for segmental inference that is one to three orders of magnitude faster than the common approach,
We substantially outperform recent methods for fine-grained recognition on two challenging datasets.
2 Related Work
Holistic Features: Holistic methods using spatiotemporal features with a bag of words representation are standard for large-scale [1, 22, 23, 24] and fine-grained [4, 5, 6, 23, 25] action analysis. The typical baseline represents a given clip using Improved Dense Trajectories (IDT)  with a histogram of dictionary elements 
or a Fisher Vector encoding. Dense Trajectories concatenate HOG, HOF, and MBH texture descriptors extracted along optical flow trajectories to characterize small spatiotemporal patches. Empirically they perform well on large-scale tasks, in part because of their ability to capture background detail (e.g. sport arena versus mountaintop). However, for fine-grained tasks the image background is often constant so it is more important to model objects and their relationships. These are typically not modeled in holistic approaches. Furthermore, the typical image patch size for IDT (neighborhood=32px, cell size=2px) is too small to extract high-level object information.
Large-scale Action Classification: Recent efforts to extend CNN models to video [2, 24, 26, 27, 28, 29, 30] improve over holistic methods by encoding spatial and temporal information. However, results from these models are often only superior when CNN features are concatenated with IDT features [24, 28, 29]. Furthermore, performance using some of these spatiotemporal CNNs (e.g. [2, 26, 30]) is only marginally better than their spatial-only counterparts or the IDT baselines. Our approach is similar in that we propose a spatiotemporal CNN, but our temporal filters are applied in 1D and are much longer in duration.
From Large-scale Detection to Fine-grained Segmentation: Despite success in classification, large-scale approaches are inadequate for tasks like action localization and detection which are more similar to fine-grained segmentation. In the 2015 THUMOS large-scale action recognition challenge111THUMOS Challenge: http://www.thumos.info/, the top team fused IDT and CNN approaches to achieve 70% mAP on classification. However, the top method only achieved 18% (overlap 0.5) for localization. Heilbron et al.  found similar results on ActivityNet with 11.9% (overlap 0.2). This suggests that important methodological changes are necessary for identifying and localizing actions regardless of fine-grained or large-scale.
Moving to fine-grained recognition, recent work has combined holistic methods with human pose or object detection. On MPII Cooking, Rohrbach et al.  combine IDT with pose features to get a detection score of 34.5% compared to 29.5% without pose features. Cheron et al.  show that if temporal segmentation on MPII is known then CNN-based pose features achieve 71.4% mAP. While this performance is comparatively high, classification is a much easier problem than detection. Object-centric methods (e.g. [5, 6, 8]), first detect the identity and location of objects in an image. Ni et al.  achieve 54.3% mAP on MPII Cooking and 79% on the ICPR 2012 Kitchen Scene Context-based Gesture Recognition dataset. While performance is state of the art, their method requires learning object models from a large number of manual annotations. In our work we learn a latent object representation without object annotations. Lastly, on Georgia Tech Egocentric Activities, Li et al.  use object, egocentric, and hand features to achieve 66.8% accuracy for action classification versus an IDT baseline of 39.8%. Their features are similar to IDT but they use a recent hand-detection method to find the regions of most importance in each image.
Temporal Models: Several papers have used Conditional Random Fields for action segmentation and classification (e.g. [13, 23, 31, 32]). CRFs offer a principled approach for combining multiple energy terms like segment-wise unaries and pairwise action transitions. Most of these approaches have been applied to simpler activities like recognizing walking versus bending versus drawing . In each of the listed cases, segments are modeled with histograms of holistic features. In our work segments are modeled using spatiotemporal CNN activations.
Recently, there has been significant interest in RNNs, specifically those using LSTM (e.g. [30, 33, 34]). RNNs with LSTM use gating mechanisms to implicitly learn how latent states transition within and between actions. While their performance is often impressive, they are black box models that are hard to interpret. In contrast, the temporal component of our CNN explicitly learns how latent states transition and is easy to interpret and visualize. It is more similar to models in speech recognition (e.g. [35, 36]), which learn phonemes using 1D convolutional filters, or in robotics, which learn sensor-based action primitives . For completeness we compare our model with LSTM-based RNNs.
3 Spatiotemporal CNN Model
In this section we introduce the spatial and temporal components of our ST-CNN. The input is a video including a color image and a motion image for each frame. The output is a vector of action probabilities at every frame. Figure 2 (left) depicts the full Segmental Spatiotemporal model.
3.1 Spatial Component
In this section, we introduce a CNN topology inspired by VGG  that uses hierarchical convolutional filters to capture object texture and spatial location. First we introduce the mathematical framework, as depicted in Figure 2 (right), and then highlight differences between our approach and other CNNs. For a recent introduction to CNNs see .
For each time there is an image pair , where is a color image and is a Motion History Image . The motion image captures when an object has moved into or out of a region and is computed by taking the difference between frames across a 2 second window. Other work (e.g. ) has shown success using optical flow as a motion image. We found optical flow to be insufficient for capturing small hand motions and noisy due to the video compression.
The image pair is fed into a CNN with spatial units, each of which is composed of a convolutional layer with filters of sizemax pooling. The output of each unit is , where , is the activation vector for a specific region in an image. For an grid there are regions as depicted by the colored blocks in Figure 2 (right).
The output of the spatial units is fed into a fully connected layer which has states that capture relationships between regions and their corresponding latent object representations.
For example, a state may produce a high score for tomato in the region with the cutting board and knife in the region next to it.
The state is a function of weights and biases where is the concatenation of activations in all regions after the th spatial unit:222For notational clarity we denote all weight matrices as and bias vectors
and bias vectorsto reduce the number of variables.
The above spatial component, when applied to frame , produces state vector . Ideally, the spatial and temporal components of our CNN should be trained jointly, but this requires an exorbitant amount of GPU memory. Therefore, we first train the spatial model and then train the temporal model. As such, we train the spatial component with auxiliary labels, . Let , where C is the number of classes, be the ground truth action label for each time step. We predict the probability, , of each action class at that frame using the softmax function:
where and . Note, is computed solely for the purpose of training the spatial component. The input to the temporal component is .
Figure 3 shows example CNN activations after each spatial unit. The top row shows the sum of all filter activations after that layer and the bottom row shows the color corresponding to the best scoring filter at that location. We find that these filters are similar to mid-level object detectors. Notice the relevant objects in the image and the regions corresponding to the action all have high activations and different best-scoring filters.
Relationships to other CNNs: Our network is inspired by models like VGG and AlexNet but differs in important ways. Like VGG, we employ a sequence of spatial units with common parameters like filter size. However, we found that using two consecutive convolution layers in each spatial unit has negligible impact on performance. Normalization layers, like in AlexNet, did not improve performance either. Overall our network is shallower, has fewer spatial regions, and contains only one fully connected layer. In addition, common data-augmentation techniques, including image rotation and translation, introduce unwanted spatial and rotational invariances, which have a negative impact on our performance.
We performed cross validation using one to seven spatial units and grid sizes from to and found three spatial units with a grid achieved the best results. By contrast, for image classification, deep networks tend to use at least four spatial units and have larger grid counts. VGG uses a grid and AlexNet uses a grid. A low spatial resolution naturally induces more spatial invariance, which is useful when there is limited amounts of training data. To contrast, if the grid resolution is larger, more training data is necessary to capture all object configurations. We compare the performance of our model with a pre-trained VGG network in the results.
3.2 Temporal Component
Temporal convolutional filters capture how the scene changes over the course of an action. These filters capture properties like the scene configuration at the beginning or end of an action and different ways users perform the same action.
For video duration , let be the set of spatial features and be an action label at time . We learn temporal filters with biases shared across actions. Each filter is of duration such that . The activation for the -th filter at time is given by a 1D convolution between the spatial features and the temporal filters using a ReLU non-linearity:
A score vector is a function of weight vectors and biases with the softmax function:
We choose filter lengths spanning 10 seconds of video. This is much larger than in related work (e.g. [2, 30]). Qualitatively, we found these filters capture states, transitions between states, and attributes like action duration. In principle, we could create a deep temporal model. Multiple layers did not improve performance in preliminary experiments, however, it is worth further exploration.
We learn parameters ,
, and the convolutional filters with the cross entropy loss function. We minimize the spatial and temporal network losses independently using ADAM. Dropout regularization is used on fully connected layers. Parameters such as grid size, number of filters, and non-linearity functions are determined from cross validation using one split each from the datasets described later. We use filters in the three corresponding spatial units and
fully connected states. We used Keras
, a library of deep learning tools, to implement our model.
4 Segmental Model
We jointly segment and classify actions with a variation on a semi-Markov model that uses activations from the ST-CNN and a pairwise term to capture segment-wise action-to-action transitions. Similar models have been proposed by Sarawagi and Cohen  for Semi-Markov CRFs, by Shi et al.  for discriminative semi-Markov models and by Pirsiavash and Ramanan  for Segmental Regular Grammars. We show a more efficient inference algorithm made possible by re-formulating the traditional segmental inference problem.
We start with notation equivalent to Sarawagi and Cohen . Let tuple be the th action segment, where is the action label, is the start time, and is the segment duration. There is a sequence of segments , , such that the start of segment coincides with the end of the previous segment, i.e. , and the durations sum to the total time . Given scores , we infer segments that maximize total score for the video using segment function :
Our segment function is the sum of ST-CNN scores plus the transition score for going from action at segment to action at segment :
The entries of are estimated from the training data as the log of the probabilities of transitioning from one action to another.
4.1 Segmental Inference
The traditional semi-Markov inference method solves the following discrete optimization problem
where is the set of all segmentations. The optimal labeling is typically found using an extension of the Viterbi algorithm to the semi-Markov case, which we refer to as Segmental Viterbi [20, 31, 23]. The algorithm recursively computes the score for the best labeling whose last segment ends at time and is assigned class :
The optimal labels are recovered by backtracking through the matrix using the predicted segment durations.
This approach is inherently frame-wise: for each frame, compute scores for all possible segment durations, current labels, and previous labels. This results in an algorithm of complexity , in the naive case, because the duration of each segment ranges from to . If the segment duration is bounded then complexity is reduced to , where is the maximum segment duration [20, 31, 23].
To further accelerate the computation of the optimal labels, we introduce an alternative approach in which we constrain the number of segments, , by an upper bound, , such that . If , this is equivalent to that of the previous problem. Furthermore, we remove the duration variables , which are redundant given all times , and simplify the segment notation to be . Now, instead of adding constraints on the durations of each segment, we only require that the start of the th segment comes after segment . We solve the problem
where is the set of all segmentations with segments. The found in function is now simply . As a byproduct, this formulation prevents gross over-segmentations of the data and thus improves performance.
We assume the score for each segment is the sum of scores over each frame, so the total score for the segmentation containing segments can be recursively computed using the scores for a segmentation containing segments. Specifically, we first compute the best segmentation assuming segments, then compute the best segmentation for segments, up to segments. Let be the score for the best labeling with segments ending in class at time :
This recursion contains two cases: (1) if transitioning into a new segment (), use the best incoming score from the previous segment at and (2) if staying in the same segment (), use the score from the current segment at . Our forward pass, in which we compute each score , is shown in Algorithm 1. The optimal labeling is found by backtracking through .for do for do for do
The complexity of our algorithm, , is times more efficient than Segmental Viterbi assuming . In most practical applications, is much smaller than . In the evaluated datasets there is a speedup of one to three orders of magnitude. Note, however, our method requires times more memory than Segmental Viterbi. Ours has space complexity , whereas Segmental Viterbi has complexity of . Typically so the increase in memory is easily manageable on any modern computer. In all cases, we set based on the maximum number of segments in the training split.
5 Experimental Setup
Historically, most action recognition datasets were developed for classifying individual actions using pre-trimmed clips. Recent datasets for fine-grained recognition have been developed to classify many actions, however they often contain too few users or an insufficient amount of data to learn complex models. MPII Cooking  has a larger number of videos but some actions are rarely performed. Specifically, seven actions are performed fewer than ten times each. Furthermore there is gratuitous use of a background class because it was labeled for (sparse) action detection instead of (dense) action segmentation. Georgia Tech Egocentric Activities  has 28 videos across seven tasks. Unfortunately, the actions in each task are independent thus there are only three videos to train on and one for evaluation. Furthermore the complexities of egocentric video are beyond the scope of this work. We use datasets from the ubiquitous computing and surgical robotics communities which contain many instances of each action.
University of Dundee 50 Salads: Stein and McKenna introduced 50 Salads  for evaluating fine-grained action recognition in the cooking domain. We believe this dataset provides great value to the computer vision community due to the large number of action instances per class, the high quality labels, plethora of data, and multi-modal sensors (RGB, depth, and accelerometers).
This dataset includes 50 instances of salad preparation, where each of the 25 users makes a salad in two different trials. Videos are annotated at four levels of granularity. The coarsest level (“high”) consists of labels cut and mix ingredients, prepare dressing, and serve salad. At the second tier (“mid”) there are 17 fine-grained actions like add vinegar, cut tomato, mix dressing, peel cucumber, place cheese into bowl, and serve salad. At the finest level (“low”) there are 51 actions indicating the start, middle, and end of the previous 17 actions. For each granularity there is also a background class.
A fourth granularity (“eval”), suggested by , consolidates some object-specific actions like cutting a tomato and cutting a cucumber into object-agnostic actions like cutting. Actions include add dressing, add oil, add pepper, cut, mix dressing, mix ingredients, peel, place, serve salad on plate, and background. These labels coincide with the tools instrumented with accelerometers.
JHU-ISI Gesture and Skill Assessment Working Set (JIGSAWS):
JIGSAWS  was developed for recognizing actions in robotic surgery training tasks like suturing, needle passing, and knot tying. In this work we evaluate using the suturing task, which includes 39 trials of synchronized video and robot kinematics data collected from a daVinci medical robot. The video is captured from an overhead endoscopic camera and depicts two tools and the training task apparatus. The suturing task consists of 10 fine-grained actions such as insert needle into skin, tie a knot, transfer needle between tools, and drop needle at finish. Videos last about two minutes and contain 15 to 37 action instances per video. Users perform low-level actions in significantly different orders. We evaluate using Leave One User Out as described in . Most prior work on this dataset focuses on the kinematics data which consists of positions, velocities, and robot joint information. We compare against the video-based results of Tao et al. , which uses holistic features with a Markov Semi-Markov CRF.
Metrics: We evaluate on segmental and frame-wise metrics as suggested by  for the 50 Salads dataset. The first measures segment cohesion and the latter captures overall coverage.
The segmental metric evaluates the ordering of actions but not the specific timings. The motiviation is that in many applications there is high uncertainty in the location of temporal boundaries. For example, different annotators may have different interpretations of when an action starts or ends. As such, the precise location of temporal boundaries may be inconsequential. This score, , is computed using the Levenshtein distance, which is a function of segment insertions, deletions, and substitutions . Let the ground truth segments be and predicted segments be . The number of edits is normalized by the maximum of and . For clarity we show the score , which ranges from 0 to 100.
Frame-wise accuracy measures the percentage of correct frames in a sequence. Let be the true labels and be the predicted labels. The score is a function of each frame: .
We also include action classification results which assume temporal segmentation is known and compare with the video-based results from Zappella et al. . These use the accuracy metric applied to segments instead of individual frames.
Baselines: We evaluate two spatial baselines on both datasets using IDT and a pre-trained VGG network, and one temporal baseline using an RNN with LSTM. For the classification results, the (known) start and end times are fed into the segmental model to predict each class.
The IDT baseline is comparable to Rohrbach et al.  on the MPII dataset. We extract IDT, create a KMeans dictionary (), and aggregate the dictionary elements into a locally normalized histogram with a sliding window of 30 frames. We only use one feature type, HOG, because it outperformed all other feature types or their combination. This may be due to the large dimensionality of IDT and relatively low number of samples from our training sets. Note that it took 18 hours to compute IDT features on 50 Salads compared to less than 5 hours for the CNN features using an Nvidia Titan X graphics card.
For our spatial-only results, we classify the action at each time step with a linear Support Vector Machine using the features from IDT, VGG, or our spatial CNN. These results highlight how effective each model is at representing the scene and are not meant to be state of the art. The CNN baseline uses the VGG network
pretrained on Imagenet. We use the activations from FC6, the first of VGG’s three fully connected layers, as the features at each frame.
In addition we compare our temporal model to an RNN with LSTM using our spatial CNN as input. The LSTM baseline was implemented in Keras and uses one LSTM layer with 64 latent states.
6 Results & Discussion
Tables 4 and 4 show performance using IDT, VGG, LSTM, and our models and Figure 4 shows example predictions on each dataset. S-CNN, ST-CNN, and ST-CNN + Seg refer to the spatial, spatiotemporal, and segmental components of our model. Our full model has 27.8% better accuracy on 50 Salads and 37.6% better accuracy on JIGSAWS relative to the IDT baseline.
Spatial Model: Our results are consistent with the claim that holistic methods like IDT are insufficient for fine-grained action segmentation. Interestingly, we also see that the VGG results are also relatively poor, which could be due to the data augmentation to train the model. While our results are still insufficient for many practical applications the accuracy of our spatial model is at least 12% better than IDT and 21% better than VGG on both datasets. Note that the edit score is very low for all of these models. This is not surprising because each model only uses local temporal information, which results in many oscillations in predictions, as shown in Figure 4.
Many actions in 50 Salads, like cutting, require capturing small hand motions. We visualized IDT333Visualization was performed using the public software from Wang et al. . and found it does not detect many tracklets for these actions. In contrast, when the user places ingredients in the bowl IDT generates thousands of tracklets. We found this to be problematic despite the fact that the IDT features are normalized. Qualitatively found our model is better at capturing details necessary for finer motions, as shown in Figure 3.
Temporal Model: The spatiotemporal model (ST-CNN) outperforms the spatial model (S-CNN) on both datasets. The effect on edit score is substantial and likely due to the large temporal filters. Aside from modeling temporal evolution these have a byproduct of smoothing out predictions. By visualizing these features we see they tend to capture different phases of an action like the start or finish. In contrast, while LSTM substantially improves edit score over the spatial model it has a negligible impact on accuracy. LSTM is capable of learning how actions transition across time, however, it does not appear that it sufficiently captures this information. Due to the complex nature of this method, we were not able to visualize the internal parameters in a meaningful way.
Segmental Model: The segmental model provides a notable improvement on JIGSAWS but only a modest improvement on 50 Salads. By visualizing the results we see that the segmental model helps in some cases and hurts in others. For example, when the predictions oscillate (like in Figure 4 (right)) the segmental model provides a large improvement. However, sometimes the model smooths over actions that are short in duration. Future work should look at incorporating additional cues such as duration to better model each action class.
Action Granularity: Table 4 shows performance on all four action granularities from 50 Salads using our full model. Columns 3 and 4 show scores for segmental and frame-wise metrics on the action segmentation task and the last shows action classification accuracies assuming known temporal segmentation. While performance decreases as the number of classes increases, results degrade sub-linearly with each additional class. Some errors at the finer levels are likely due to temporal shifts in the predictions. Given the high accuracy at the coarser levels, future work should look at hierarchical modeling of finer granularities.
Other Results: Lea et al.  achieved an edit score of 58.46% and accuracy of 81.75% using the instrumented kitchen tools on 50 Salads. They also achieved state of the art performance on JIGSAWS with 78.91% edit and 83.45% accuracy. These results used domain-specific sensors which are well suited to each application but may not be practical for real-world deployment. To contrast, video is much more practical for deployment but is more complicated to model. Therefore, we should not expect to achieve as high performance from video.
Our classification accuracy on JIGSAWS is 90.47%. This is notably higher than the state of the art , which achieved 81.17% using a video-based linear dynamical system model and also better than their hybrid approach using video and kinematics, which achieved 86.56%. For joint segmentation and classification the improvement over the state of the art  is modest. These surgical actions can be recognized well using position and velocity information , thus our ability to capture object relationships may be less important on this dataset.
Speedup: Table 4 shows the speedup of our inference algorithm compared to Segmental Viterbi on all 50 Salads and JIGSAWS label sets. One practical implication is that our algorithm scales readily to full-length videos.
In this paper we introduced a segmental spatiotemporal CNN that substantially outperforms popular methods like Dense Trajectories, pre-trained spatial CNNs, and temporal models like RNNs with LSTM. Furthermore, our approach takes less time to compute features than IDT, less time to train than LSTM, and performs inference more efficiently than traditional Segmental methods.
Acknowledgments: This work was funded in part by grants NIH R01HD87133-01, ONR N000141310116, and an Intuitive Surgical Research Grant.
-  Wang, H., Schmid, C.: Action recognition with improved trajectories. In: IEEE International Conference on Computer Vision (ICCV). (2013)
-  Sun, L., Jia, K., Yeung, D.Y., Shi, B.: Human action recognition using factorized spatio-temporal convolutional networks. In: IEEE International Conference on Computer Vision (ICCV). (2015)
Caba Heilbron, F., Escorcia, V., Ghanem, B., Carlos Niebles, J.:
ActivityNet: A large-scale video benchmark for human activity
In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2015)
-  Rohrbach, M., Rohrbach, A., Regneri, M., Amin, S., Andriluka, M., Pinkal, M., Schiele, B.: Recognizing fine-grained and composite activities using hand-centric features and script data. International Journal of Computer Vision (IJCV) (2015)
-  Fathi, A., Rehg, J.M.: Modeling actions through state changes. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2013)
-  Li, Y., Ye, Z., Rehg, J.M.: Delving into egocentric actions. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2015)
-  Cheron, G., Laptev, I., Schmid, C.: P-cnn: Pose-based cnn features for action recognition. In: IEEE International Conference on Computer Vision (ICCV). (2015)
-  Ni, B., Paramathayalan, V.R., Moulin, P.: Multiple granularity analysis for fine-grained action detection. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2014)
-  Vo, N.N., Bobick, A.F.: From stochastic grammar to bayes network: Probabilistic parsing of complex activity. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2014)
-  Hawkins, K.P., Bansal, S., Vo, N.N., Bobick, A.F.: Anticipating human actions for collaboration in the presence of task and sensor uncertainty. In: IEEE International Conference on Robotics and Automation (ICRA). (2014)
-  Gao, Y., Vedula, S.S., Reiley, C.E., Ahmidi, N., Varadarajan, B., Lin, H.C., Tao, L., Zappella, L., Béjar, B., Yuh, D.D., et al.: JHU-ISI Gesture and Skill Assessment Working Set (jigsaws): A surgical activity dataset for human motion modeling. MICCAI Workshop: Modeling and Monitoring of Computer Assisted Interventions (M2CAI) (2014)
-  Zappella, L., Haro, B.B., Hager, G.D., Vidal, R.: Surgical gesture classification from video and kinematic data. Medical Image Analysis (2013)
-  Tao, L., Zappella, L., Hager, G.D., Vidal, R.: Surgical gesture segmentation and recognition. In: Medical Image Computing and Computer Assisted Intervention (MICCAI). (2013) 339–346
-  Lei, J., Ren, X., Fox, D.: Fine-grained kitchen activity recognition using RGB-D. In: ACM Conference on Ubiquitous Computing (UbiComp). (2012)
-  Morariu, V.I., Davis, L.S.: Multi-agent event recognition in structured scenarios. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2011)
-  Koppula, H.S., Gupta, R., Saxena, A.: Learning human activities and object affordances from rgb-d videos. The International Journal of Robotics Research (IJRR) (2013)
-  van Kasteren, T., Englebienne, G., Kröse, B.J.: Activity recognition using semi-markov models on real world smart home datasets. Journal of Ambient Intelligence and Smart Environments (2010)
-  Simonyan, K., Zisserman, A.: Very deep convolutional networks for large-scale image recognition. In: International Conference Learning Representations (ICLR). (2015)
-  Krizhevsky, A., Sutskever, I., Hinton, G.E.: Imagenet classification with deep convolutional neural networks. In Pereira, F., Burges, C., Bottou, L., Weinberger, K., eds.: Advances in Neural Information Processing Systems (NIPS). (2012)
-  Sarawagi, S., Cohen, W.W.: Semi-markov conditional random fields for information extraction. In: Advances in Neural Information Processing Systems (NIPS). (2004)
-  Stein, S., McKenna, S.J.: Combining embedded accelerometers with computer vision for recognizing food preparation activities. In: ACM Conference on Ubiquitous Computing (UbiComp). (2013)
-  Wang, H., Kläser, A., Schmid, C., Liu, C.L.: Action Recognition by Dense Trajectories. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2011)
-  Pirsiavash, H., Ramanan, D.: Parsing videos of actions with segmental grammars. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2014)
-  Jain, M., van Gemert, J.C., Snoek, C.G.M.: What do 15,000 object categories tell us about classifying and localizing actions? In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2015)
-  Pishchulin, L., Andriluka, M., Schiele, B.: Fine-grained activity recognition with holistic and pose based features. In: German Conference on Pattern Recognition (GCPR). (2014)
-  Karpathy, A., Toderici, G., Shetty, S., Leung, T., Sukthankar, R., Fei-Fei, L.: Large-scale video classification with convolutional neural networks. IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2014)
-  Simonyan, K., Zisserman, A.: Two-stream convolutional networks for action recognition in videos. In: Advances in Neural Information Processing Systems (NIPS). (2014) 568–576
-  Tran, D., Bourdev, L., Fergus, R., Torresani, L., Paluri, M.: Learning spatiotemporal features with 3d convolutional networks. In: The IEEE International Conference on Computer Vision (ICCV). (2015)
-  Peng, X., Schmid, C.: Encoding feature maps of cnns for action recognition. In: CVPR, THUMOS Challenge 2015 Workshop. (2015)
-  Ng, J.Y., Hausknecht, M.J., Vijayanarasimhan, S., Vinyals, O., Monga, R., Toderici, G.: Beyond short snippets: Deep networks for video classification. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2015)
-  Shi, Q., Cheng, L., Wang, L., Smola, A.: Human action segmentation and recognition using discriminative semi-markov models. International Journal of Computer Vision (IJCV) (2011)
-  Tang, K., Fei-Fei, L., Koller, D.: Learning latent temporal structure for complex event detection. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2012)
-  Vinyals, O., Toshev, A., Bengio, S., Erhan, D.: Show and tell: A neural image caption generator. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2015)
-  Donahue, J., Hendricks, L.A., Guadarrama, S., Rohrbach, M., Venugopalan, S., Saenko, K., Darrell, T.: Long-term recurrent convolutional networks for visual recognition and description. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2015)
-  Hannun, A.Y., Case, C., Casper, J., Catanzaro, B.C., Diamos, G., Elsen, E., Prenger, R., Satheesh, S., Sengupta, S., Coates, A., Ng, A.Y.: Deep speech: Scaling up end-to-end speech recognition. CoRR abs/1412.5567 (2014)
-  Abdel-Hamid, O., Deng, L., Yu, D.: Exploring convolutional neural network structures and optimization techniques for speech recognition. In: INTERSPEECH International Speech Communication Association. (2013)
-  Lea, C., Vidal, R., Hager, G.D.: Learning convolutional action primitives for fine-grained action recognition. In: IEEE International Conference on Robotics and Automation (ICRA). (2016)
-  Ian Goodfellow, Y.B., Courville, A.: Deep learning. Book in preparation for MIT Press (2016)
-  Davis, J., Bobick, A.: The representation and recognition of action using temporal templates. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR). (1997)
-  Kingma, D.P., Ba, J.: Adam: A method for stochastic optimization. In: International Conference Learning Representations (ICLR). (2014)
-  Chollet, F.: Keras. https://github.com/fchollet/keras (2015)
-  Fathi, A., Farhadi, A., Rehg, J.M.: Understanding egocentric activities. In: IEEE International Conference on Computer Vision (ICCV). (2011)
-  Navarro, G.: A guided tour to approximate string matching. ACM Comput. Surv. (2001)