Human Action Recognition (HAR) is one of the most challenging problems for an Artificial Intelligence (AI). It consists of training an AI model to recognise a class of human actions. Depending on the applications, input data can be very different such as conventional RGB videos, infrared data, time-of-flight-based or structured-light-based data (depth data) .
HAR is a crucial task in several applications such as surveillance, cybernetics, human-machine interaction, automated assisted living systems, automated security, autonomous vehicles, gaming and sport analysis. In this paper, our focus is on surveillance.
In this paper, ActionXPose algorithms are presented, as effective multi-view body pose-based methods for HAR exploiting the OpenPose detector .
Human actions can be thought as a stratified phenomenon . Actions such as standing, sitting, raised-left-arms-while-sitting are only postures that can be shared between more meaningful actions like running, working or carrying-bag. Such postures are examples of superficial but important information that can be extracted from data by using body pose detectors. In this work, we focus on posture-level HAR, being interested in exploring and leveraging target body limbs positions only. This problem is affected by the well-known challenges in HAR such as intra-class variation, viewpoint changes, target detection and localisation, subject appearance changes, occlusion, self-occlusions and camera movements .
Considering posture-level HAR, a number of suitable datasets have been published such as i3DPost , Weizmann , IXMAS  and KTH . In these datasets, more emphasis is given to body postures rather than to the context or to unconstrained recording conditions. Therefore, these datasets are more suitable when researchers do not consider neither contextual information, i.e. scenario details and objects involved, nor moving camera, strongly cluttered background and occlusions. Conversely, in order to address such challenging problems, suitable datasets have been proposed, such as UCF-101 , HMDB-51  and ActivityNet . In fact, these are large-scale datasets for human activity recognition and understanding. They incorporate huge variability in terms of a wide range of characteristics, such as viewpoint, intra-class action variations, context, background, number of human targets and targets proximity. To the best of our knowledge, nowadays only Convolutional Neural Network (CNN) based methods such as Two-stream [12, 13]
can effectively address such challenging datasets, leveraging the impressive efficacy of CNNs in dealing with colour based features extraction. On the other hand, CNN based methods suffers fromoverfitting problems when trained on smaller datasets, such as the posture-level related above mentioned datasets. For example, in the case of surveillance, where camera settings are usually controlled and available datasets are relatively small in comparison with for example ActivityNet, barebones CNN based method could not be effective enough. Furthermore, our experience using OpenPose shows that this method still need further training on bigger datasets to be able to effectively address the unrestricted camera conditions used for example by ActivityNet or UCF-101. Hence, in this paper, the major focus in on posture-related datasets, i.e. i3DPost, Weizmann, IXMAS and KTH.
Proposed method, ActionXPose, is presented as a development of its baseline counterpart, i.e. OpenPose-baseline. In particular, two versions of ActionXPose have been reported, namely ActionXPose-basic and ActionXPose-advanced. Regarding the baseline, OpenPose-baseline consists of processing raw data provided by OpenPose without any additional refinements. In the rest of the paper, we will simply refer to ActionXPose when no distinction is required.
Regarding performance comparisons, ActionXPose results are compared with available state-of-the-art results and also compared with results obtained by OpenPose-baseline. In particular, among available public datasets, in this paper two additional dataset are proposed, MPOSE and ISLD, to measure ActionXPose generalisation abilities.
The proposed work relevance is threefold. First, to the best of our knowledge, ActionXPose represents one of the first attempts of exploiting human 2D poses for HAR. Second, it lays foundation for a deeper and more general approach involving CNN features data alongside human poses for a deeper understanding of human actions. Third, ActionXPose provides a general learning process where multiple datasets can be combined together in a common framework. Such ability has been proven considering proposed MPOSE and ISLD datasets.
In short, this paper contribution is twofold:
A new general HAR algorithm has been specifically designed for posture-level human action recognition which only exploits RGB data for body-pose extraction;
Two new datasets for posture-related HAR problems, MPOSE and ISLD, have been developed providing detected human poses and RGB videos;
Remarkable ActionXPose advantages can be summarised as follows:
Robustness to camera moving and different subject camera proximity. In other words, ActionXPose can detect target actions regardless of camera and subject movings in the scene;
Robustness to viewpoint changes. In other words, ActionXPose can effectively detect target actions across several point of views;
High degree of generalization, due to the fact that ActionXPose detects the action by using human poses rather than RGB information; thus, training data can come from datasets with different resolutions, colours and backgrounds;
Real-time performance. In fact, both OpenPose and proposed work can run in real-time, for a fast HAR in surveillance scenarios.
The rest of this paper is organised as follows. In the next section, related works have been summarised. In Section III, useful notations and the motivating OpenPose-baseline algorithm are introduced. In Section IV, we discussed technical details about ActionXPose implementation. In Section V, details about the proposed MPOSE and ISLD datasets are provided. In Section VI, results of extensive simulations on public and proposed datasets are presented. Conclusions and future works have been discussed in Section VII.
Ii Related work
State-of-the-art HAR algorithms can be mainly divided into three categories :
Hand-crafted features based approaches
. Algorithms in this category show high degree of human participation in the learning process. In other words, human insights are strongly used to solve HAR problems while machine abilities are not fully exploited and often limited to conventional machine learning tasks. Notable approaches rely for example on background subtraction methods, 3D-Histogram of oriented gradients (3D-HOG)  and Local binary patterns (LPB) features [2, 4].
Hybrid approaches. Algorithms in this category attempt to combine the most promising results from both hand-crafted and deep learning based approaches, researching a convenient trade-off between them .
According to this taxonomy, the method presented in this paper, ActionXPose, is a fully fledged hybrid algorithm to perform posture-level HAR. In fact, ActionXPose is based on 2D human poses data (Fig. 1), provided by the human body-pose detector OpenPose . As we will discuss in Section IV, ActionXPose is articulated on a combination of deep learning based algorithms such as Long Short-Term Memory (LSTM) recurrent neural networks 
and Self-Organizing Map (SOM)
. The process is also supported by hand-crafted features specifically designed for ActionXPose as well as by well known simple tools such as Principal Component Analysis (PCA).
Human skeleton based approaches are strongly related to the proposed method. As opposite to human pose
data, skeletal data consists of estimated body landmarks 3D coordinates provided mostly by Kinect camera. Kinect is a structured-infrared-light camera able to reconstruct 3D models of the target area, providing skeleton data for humans in the scene as 3D coordinates. Despite the great advantages provided by 3D data, Kinect presents numerous limitations. For example, it does not work well in outdoor environments and has a very limited range, which affects its implementation in the surveillance scenarios or in any outdoor applications . However, rich literature about how to exploit Kinect data have been published as in most cases skeleton data are descriptive enough to solve the selected HAR problem .
Alongside skeleton data, RNN and LSTM have also been exploited in many recent papers, achieving promising results in HAR. In , the authors focused skeleton-based action recognition using LSTM networks. In that work, major focus was on implementing trusting gates on the LSTM architecture to allow better action representation. In , a hierarchical RNN approach was implemented to focus on several skeleton subparts, in order to better discriminate which body sub-part is relevant to the performed action. In , authors focused on proposing new gates strategies for LSTM, in order to emphasise salient motion from learning data. In , a new regularization term for LSTM has been used in order to learn co-occurrences within skeleton data. Mainly, all these methods focused on modifying LSTM architectures to better fit 3D skeleton data processing. As opposite, proposed work considers 2D body landmarks coordinates, i.e. human poses, and a pre-defined LSTM architecture. Thus, the major focus is on providing to the LSTM more meaningful input sequences rather than raw data.
Motivated by Kinect limitations, researchers started developing analogues techniques that can provide similar output data using a simple RGB camera. Therefore, highly promising body pose detectors have been published in the last few years, such as DeeperCut  and OpenPose . In particular, OpenPose achieves the best performance, opening new research scenarios in HAR. For example, in , authors have implemented a CNN based method to process 2D poses data provided by OpenPose for HAR, achieving promising results. The authors processed body poses data by using graph convolutional networks. This approach considers temporal information alongside spatial information. However, such method requires a fixed number of frames for each action sample in order to build the action graph, which may affect system flexibility. As opposite, our work focuses on exploiting LSTM networks, which allows full flexibility with respect to space and time, being specifically designed to deal with multivariate temporal sequences with no restrictions on the number of time steps. Moreover, our approach also suggests straightforward solutions to implement additional data exploration levels in the same LSTM framework.
Iii-a Problem’s Statement and Notations
Let be the action dataset containing samples. represents the th subject video (RGB data). represents the th action label, where is the set of target actions and represents the th viewpoint label, where is the set of considered viewpoints. Let be the chosen training subset and the testing subset.
The pose detector provides a mapping between RGB data to body landmarks as:
where represents the th sample pose at time (frame) and represents the time length of sample . In particular, consists of a list of 2D coordinates, namely:
where represents the landmark index and is the landmarks set defined by the pose detector mapping. In this paper, . Let
be the link vector between body landmarksas defined in Fig. 1.
ActionXPose aims to exploit RGB-poses mapping provided by the pose detector to generate informative time sequences to train a recurrent neural network using to predict actions labels in .
OpenPose  is able to provide human poses represented by a root-centered graph made by 2D coordinates as shown in Fig. 1, where potentially some of them can be misdetected. As shown in Fig. 2-(a), OpenPose coordinates locate each detected landmark into the processed frame according to a global coordinate system, where the origin of the axis is on the upper-left frame corner. As consequence, training and testing data are location and size dependent. This drawback motivates the proposed centering and scaling (Fig. 2-(b)) strategy explained in Section IV-C.
OpenPose-baseline consists of a simple learning step based on OpenPose coordinates sequences in (2). Since for some frames some body pose landmarks can be missing, OpenPose-baseline sets missing coordinates to an unexpected value, i.e. . This is a common solution for deep learning methods in presence of missing data . Regarding the learning model, Multivariate LSTM-FCN architecture with time-based attention mechanism (MLSTM-FCN)  is used, as in the ActionXPose cases. This algorithm takes as input landmarks coordinates in (2) obtained from training data , including action labels , to train a supervised classification model. In the testing phase, this model takes as input landmarks sequences obtained from and provides as output the estimated action label. In Fig. 2-(c), the OpenPose-baseline pipeline is depicted.
In Section VI, OpenPose-baseline performance are provided as bottomline to measure ActionXPose performance and improvements. It turns out that location and size dependent training data compromise the generalisation performance when few training data are available, especially when testing actions are performed in a region of the frame not adequately covered by training data. This limitation motivates ActionXPose algorithm as evolution of OpenPose-baseline.
In this paper, two ActionXPose variations are presented, namely ActionXPose-basic and ActionXPose-advanced.
it is the simplest among the presented variations. In particular, it consists of only three cascade steps:
Missing data treatment (Section IV-B);
Poses centering and scaling (Section IV-C);
Sequence classification (Section IV-G).
In this method, pose data is treated in order to estimate missing landmarks. Secondly, pose is centered and scaled in order to make them consistent with each other, solving the OpenPose-baseline drawback. Finally, landmarks coordinates are converted into time-sequences to be provided to a sequence classifier. In Fig. 2-(d), the proposed ActionXPose-basic pipeline for training and testing is depicted.
it consists of six cascade steps:
Missing data treatment (Section IV-B);
Poses centering and scaling (Section IV-C);
Spatial-information analysis (Section IV-D);
Temporal-information analysis (Section IV-E);
Gestures and Speed embedding (Section IV-F);
Sequence classification (Section IV-G).
The proposed ActionXPose-advanced is based on the same pre-processing and classification method steps as in ActionXPose-basic. However, it makes use of additional processing steps to extract full body and local posture related information. In Fig. 2-(e), the proposed ActionXPose-advanced pipeline for training and testing is depicted.
The main idea of ActionXPose is that, once human poses are extracted by the selected detector, the video-based HAR problem is reduced to a 2D pose-based HAR problem. Spatio-temporal action information is embedded frame-by-frame within the pose sequences. Thus, the strategy of both variations consists of learning spatio-temporal patterns from training data. While ActionXPose-basic relies only on pre-processed pose coordinates sequences, ActionXPose-advanced also considers additional sequences provided by two semi-supervised learning stages aimed to extract pose patterns from training data. Thus, such patterns are converted into time-sequences to be provided to the classification task. It turns out that ActionXPose-advanced is in general more accurate than ActionXPose-basic, although it requires more training time.
Iv-B Missing Data Treatment
In this step, the problem of missing data is addressed as pre-processing step. Indeed, occlusions, self-occlusions or ambiguous RGB data can prevent the detector from detecting some body landmarks. In this paper, only missing data problem due to self-occlusions is addressed. Self-occlusions occur when the subject occludes itself assuming a particular posture in front of the camera. In general, poses can be affected by occasional missing data which occurs in isolated frames, or persistent missing data which occurs for the entire sequence. Our strategy to deal with such missing data is structured in Algorithm 1. The main ideas are:
If the root landmark is missing, then the target is not correctly detected. Thus, the pose is discarded;
If more than 8 body landmarks are missing, the pose is assumed to be too poor to perform any HAR. Thus, the pose is discarded;
If enough landmarks are available but some of them are missing, then we can approximate occasional missing data using spacial consistency, which means that missing landmarks are estimated from coordinates of the available landmarks;
Persistent missing landmarks can be guessed by exploiting left and right side body symmetry;
This strategy is simple but effective. It is not intended to be the best estimation for missing data. Instead, it aims to be reasonable enough to support the subsequent processing. The core of Algorithm 1 is the interpolation step on line 1, where occasional missing data is approximated by using spatial consistency. In formulations, we define as the generic first coordinate of any landmark with respect to time where some entries are occasionally missing such that:
where represents the set of frames where the landmark is detected. Then, we define missing values for as the nearest-neighbour as:
It is worth mentioning that the output of Algorithm 1 may still present persistent missing data for landmarks such as , when even left and right symmetry fails, e.g. when both left and right landmarks are missing. This eventuality can be considered as due to a proper occlusion rather a self-occlusion (or possibly due to strong ambiguity between the target and the background). Further details on how to manage such cases are provided in Section IV-F.
Iv-C Poses Centering and Scaling
This step is intended to transform from absolute to the root-centered coordinate reference system. The transformed pose coordinates are defined as:
where the dependence of has been conveniently omitted. Thus,
is the set of root-centered coordinates defined by (5).
Furthermore, ActionXPose defines
by scaling coordinates by using the following constrain
where is the vector link between the root and the right hip landmarks.
These two steps have two major advantages. First, they allow comparisons between poses reducing the effect due to target body size changes. Second, it makes the system robust to zooming, subject proximity and movements. In fact, (5) conveniently centres pose roots over the origin of the axes. Thus, information about localization in the scene, i.e. absolute coordinates, are discarded. Moreover, exploiting (8), pose size become homogenous among different camera settings and target proximity. Thus, after this step, only information about the relative human body movements are kept for the further analysis.
With abuse of notation, for the rest of the paper, we will refer to as the transformed poses in (7).
As mentioned in Section IV-A, ActionXPose-basic only exploits landmark coordinates time-sequences and to solve the recognition task. In particular, can be thought as a time sequence containing temporal information about the motion, while only contain space information. In Fig. 3-(a), a graphic interpretation of is shown. Therefore, ActionXPose-basic allows a landmark-based attention (Fig. 3-(b)x). In other words, human action recognition is performed considering each landmark separately, to discriminate between different degrees of landmarks carried information. However, such level of details can be confusing in some cases, due to high intra-class variations. Therefore, in the subsequent sections, additional and meaningful time sequences will be defined, to be exploited alongside and to enhance action recognition performance. Such additional sequences allow limbs-level and full body-level attention, to capture interesting local and general movements.
Iv-D Spatial Information Analysis
Since root coordinates in have been set to zero in the previous section, let be the vector obtained by unrolling and skipping the root coordinates . Let also be the vector containing the first principal component of obtained by performing PCA. Thus, , where .
The main idea of this step is to exploit training data to learn general poses for a fixed action and point of view that best represent the considered action. In other words, the output of this step will be a poses library containing a certain number of pose prototypes per action and per point of view.
To this purpose, ActionXPose-advanced exploits Self-Organizing Map (SOM)  as unsupervised clustering method, to explore natural clusters within pose data into . Thus, for a fixed action label and a fixed point of view , SOM is trained over
to define a homogenous topology of clusters where is a positive integer. This provides an additional cluster label for each training pose , as
We recall that SOM runs over training data for fixed and as we are interested in exploring training data clusters action-by-action viewpoint-by-viewpoint. Thus, the output of SOM are cluster labels provided for training data for each action , where is the maximum number of clusters defined by SOM architecture. We also mention that, since the SOM algorithm runs exploiting action labels and viewpoint labels
, this step can be considered as a semi-unsupervised learning step.
Once training data have been clustered, pose prototypes are defined averaging clusters data as follows
where represents the number of poses within cluster . In conclusion of this step, libraries of prototypes are collected from training data as follows
where we highlighted that for each action , is obtained stacking all prototypes from different viewpoints. Thus, contains pose prototypes in the form of points into a multidimensional space able to cover all considered point of view variations. In other words, it contains peculiar poses, representative of the training data for the entire action across different viewpoints. Moreover, prototypes in are new poses rather than some of the training poses. This choice has a major impact: it introduces more generality on the system, reducing overfitting in the overall learning process.
It is worth mentioning that if training data are not carefully designed as common in real applications, can share poses. For example, if two different actions and start with the standing position, both libraries and will contain prototypes for the standing position. We will discuss in Section IV-G how this affects the learning process.
Iv-E Temporal Information Analysis
In the previous section we have defined libraries for spatial-information. In this section we will discuss how to define temporal-information libraries.
Let be as defined in Section IV-D. Therefore, temporal information resides in the mutual changes of over time. Thus, we define . This leads to the same analysis we discussed in Section IV-D. Thus, following the above mentioned steps, libraries for the temporal information remain defined as follows
where represents prototypes obtained by clustering temporal vectors .
Iv-F Spatio-temporal Embedding
In this section, spatio-temporal libraries and for are exploited to produce meaningful time sequences for each sample. The main idea is to measure frame-by-frame the minimum distance between the detected pose with respect to the library poses. The lower is the minimum distance to the libraries for the action , the more likely the pose on the current frame belongs to the action set . Moreover, inspired by , since different body parts could carry different information, we define a selective embedding procedure as follows.
Let be subsets of landmarks as defined in Fig. 3(b), namely
Thus, the averaged distance between the generic pose and the generic prototypes computed considering landmarks is defined as follows
where are coordinates of -th landmark of and represents either , , , or the whole set . Moreover, given a library of prototypes for action , we can define the embedding sequence as follows
where it is clearly shown that dependents with respect to time.
Given a set of actions and the set of landmarks in (IV-F), the meaningful sequences that can be extracted from remain defined as follows
Equation (IV-F) defines five sequences per action for each sample in the datasets. Thus, the full amount of sequences associated with the sample is . The first sequence in (IV-F) measures the similarity between the -th sample with the prototypes in . The second sequence measures the similarity between the right arm of the -th sample with the right arm of the prototypes in , and similarly for the other sequences.
Similarly, sequences for temporal information can be embedded as follows
where we simply replaced in (IV-F) the term with . This leads to two set of sequences and for all .
It is worth mentioning that (15) can be modified to cope persistent missing data already mentioned in Section IV-B. In fact, few landmarks can be missing for the whole sequence, thus (15) should be rewritten as
where denote without missing landmarks. This allow the system to run even in presence of persistent missing data. Moreover, since the distance is defined as an averaged -norm, it remains well-defined and consistent in all cases.
Iv-G Sequences Classification
This Section aims to classify and sequences defined in Section IV-C alongside those defined by (IV-F) and (IV-F). Thus, the aim is to exploit training data to generate a model for HAR. ActionXPose addresses this problem by using the same model introduced in OpenPose-baseline, i.e. MLSTM-FCN . This model extracts convolutional and recurrent features from the sequences for time sequences based classification. 1D CNN as well as LSTM with time-attention are key parts of the model. Therefore, according to the pipelines in Fig. 2, ActionXPose-basic only provide and as inputs to the MLSTM-FCN module, while ActionXPose-advanced provide the full list of sequences, namely , , and . It is worth mentioning that, while ActioXPose-baseline only performs landmark-based attention, ActionXPose-advanced allows several attention levels, namely landmark-based, limbs-based and full-body based. Moreover, using the LSTM-FCN-Att sequence classifier, we are also able to consider time-based attention level. All these additional attention mechanisms make ActionXPose-advanced much more sophisticated than ActionXPose-basic, making it able to capture smaller details of the movement as well as local and full body postures.
V MPOSE and ISLD datasets
V-a Proposed MultiPose Dataset (MPOSE)
In this paper, we propose Multi Pose Dataset (MPOSE), which is a fusion between Weizmann, i3DPost, KTH and IXMAS samples. In particular, MPOSE contains only detected human poses, as original clips are publicly available. Regarding action labels, as shown in Table I, they have been set in order to be consistent across the four datasets. Regarding action composition, we excluded from IXMAS actions throw, throw-over-head, throw-from-bottom-up as in the original paper . We also excluded turn-around because in this case human poses temporal patterns are similar to those obtained by walking. Moreover, we also excluded the viewpoint top from IXMAS dataset because from that viewpoint the human body is barely visible. We also remark that some actions in Weizmann are peculiar of this dataset, such as jumping-jack and gallop-sideways. Clips for those actions are very limited in number in comparison with the other actions classes from other datasets, thus we excluded them from MPOSE to minimise classes imbalance.
Overall, MPOSE is a new and challenging datasets as it is made of video clips from four of the most popular datasets for HAR, providing detected human poses for 2D pose-based algorithm comparisons. In particular, it allows cross-datasets learning processing, as shown in Section VI, which is one of the major goals of ActionXPose.
V-B Proposed Intelligent Sensing Lab Dataset (ISLD)
ISLD is a new dataset collected within our Intelligent Sensing Lab. It is inspired by the action composition of MPOSE, with the addition of the standing action, which is a sort of no-action interposed between each two actions. A total of 18 actions performed by 10 actors from 5 different viewpoints (front, front-left, front-right, left and right) have been recorded with a static RGB camera. Some frame examples of ISLD dataset are shown in Fig. 4. It is crucial to mention that no video examples from any of the previously mentioned datasets have been shown to ISLD participants. Before action recordings, participants have been only informed about action labels. Thus, they were free perform the actions according to their understanding of the action labels. Only recording viewpoints have been predefined. As a matter of fact, although MPOSE and ISLD share the same action labels (except for the standing action), intra-class variation is remarkable. Moreover, although viewpoints are formally the same, highly vertical variations on the recording angle is still visible, as mentioned in Fig. 5.
ISLD is provided with fixed training, validation and testing actors, namely
Training actors: and ;
Validation actors: and ;
Testing actors: and .
The major novelty with respect to other datasets is that ISLD is suitable to measure transferable knowledge from MPOSE. In other words, by using ISLD testing samples, it is possible to measure how much knowledge from MPOSE is needed to cover real world scenario challenges, such as those proposed by ISLD. Cross-datasets experiments involving MPOSE and ISLD are reported in Section VI. ISLD stand-alone tests are also reported in Section VI. Action labels and considered viewpoints are summarised in Tables I and II.
This Section provides extensive results for OpenPose-baseline, ActionXPose-basic and ActionXPose-advanced, including comparisons with the state-of-the-art.
It is worth mentioning that comparisons between ActionXPose and CNN based methods such as Two-stream are not possible at this stage due to limitations discussed in Section I. Moreover, any comparison between them will be not well defined, since ActionXPose is based on limited data, i.e. body poses, while CNN based approaches fully exploits colour information, to extract features from both the target and the background. Hence, ActionXPose has been compared with the state-of-the-art methods on public datasets such as i3DPost and KTH, including comparisons with OpenPose-baseline. Moreover, testing on proposed new datasets MPOSE and ISLD are provided, to show generalisation performance.
Vi-a OpenPose Setting
OpenPose is a real-time multi-person 2D pose detector . It is designed to provide 18 body landmarks, 70 face landmarks, 42 hands landmarks and 6 feet landmarks for each target. To the purpose of this paper, only 18 body landmarks have been exploited. In particular, since 5 body landmarks represent nose, left eye, right eye and left and right ears. In this paper, we defined a head landmark averaging these landmarks, when available. Thus, in our implementation, the set of used body landmarks is as described in Figure 1.
We have used OpenPose version 1.2.1 (Demo for Windows). The used body model is based on COCO  and we left OpenPose free to adjust the network resolution to the input video aspect ratio.
Vi-B Augmenting Training Data
Deep learning methods usually requires great amount of data to perform as expected. However, many datasets for action recognition do not always contain enough labelled data. Usually, in fields such as Image Recognition, cropping or rotating images is common practice to augment dataset samples in order to meet deep learning algorithms conditions . In speech recognition, is also common to add noise to training samples to the same purpose . In this paper, two strategies have been employed to augment training data: pose flipping and pose noising.
Vi-B1 Pose flipping
it consists of flipping poses for all along the vertical axis passing through the root landmark. This implies that the performed action looks flipped, exploiting left-right body symmetry. Moreover, resulting poses from the left viewpoint are changed in the right viewpoint and reverse. The same change occurs between front-left and front-right, as well as between rear-left and rear-right. Thus, such data augmentation provides additional variability to training data.
Vi-B2 Pose noising
it consists of adding Gaussian noise to the landmark coordinates, for all , i.e.
are random real numbers generated by a gaussian distributionwith 0 mean and standard deviation, and is the number of additional noised samples created with this procedure. Thus, if , no noised samples are added to training data. If , all training samples are used once to create additional training data. Similarly, if , all training samples are used twice to create additional training data, and so on. It is worth mentioning that, applying the pose noising to before performing the embedding step (Section IV-F) ensures that also the sequences , and are noised.
|Kovashka et al. ||Split||94.5%|
|Zhang et al. ||Split||94.1%|
|Ji et al. ||Split||90.2%|
|Selmi et al. ||Split||95.8%|
|Liu et al. ||Split||95%|
|Cheng-Bin Jin et al. ||Split||96.3%|
|Almeida et al. ||LOAO||98%|
|Vrigkas et al. ||LOAO||98.3%|
|Liu et al. ||LOAO||93.8%|
|Raptis and Soatto ||LOAO||94.5%|
|Jiang et al. ||LOAO||95.77%|
|Gilbert et al. ||LOAO||95.70%|
Vi-C KTH Dataset Results
In this section, ActionXPose results on KTH dataset are provided. The relevance of these tests is to allow comparisons between the proposed method and other methods. Moreover, since KTH contains multi-viewpoints samples, as well as challenging recording conditions such as camera moving, zooming in and out and different subjects proximities, these tests are also relevant to confirm ActionXPose claimed advantages. According to KTH literature, common setting for KTH tests are the following:
Vi-C1 Split setting
in this setting, training and testing subjects are fixed as in the original paper . Since this test does not use cross-validation foldings, it does not explore the whole dataset variability. ActionXPose-basic and ActionXPose-advanced results have been summarised and compared with the state-of-the-art in Table III.
Vi-C2 LOAO Setting
Leave-one-actor-out (LOAO) cross-validation is a common setting to evaluate HAR performance on small datasets. It is intended to explore the whole dataset variability, maximising the gain from available data. Each cross-validation round tests over a particular subjects and trains the model over the rest of available subjects. The final accuracy is provided on average. For KTH dataset, 25 cross-validations foldings are required. ActionXPose results have been summarised and compared with state-of-the-art in Table III.
Hyper-parameters for both Split and LOAO settings were fixed for all tests. In particular, and .
ActionXPose-advanced outperforms both ActionXPose-basic and OpenPose-baseline in all settings. Moreover, in the Split setting, ActionXPose-advanced performance are among the state-of-the-art. In the case of LOAO setting, ActionXPose-advanced outperforms state-of-the-art methods.
Vi-D i3DPost Dataset Results
This dataset is usually tested with LOAO setting. It is specifically designed to cover cross-viewpoints action recognition or multi-camera action recognition. In this paper, we focus on the cross-viewpoints modality, as we are not interested in combining different point of views in stereo or multi-camera action recognition. Thus, results are given in the most difficult case in which the task is to recognise the target action by using data from one single camera in a multi-viewpoints mode. ActionXPose results are summarised in Table IV and compared with the state-of-the-art.
The relevance of this test is twofold: first, it allows comparisons with other methods; second, it shows that ActionXPose can effectively learn and recognise action from several viewpoints.
Also in this case, ActionXPose-advanced outperforms both ActionXPose-basic and OpenPose-baseline, achieving performance among the state-of-the-art.
|Angelini et. al. ||8||99.73%|
|Castro et al. ||2||99.00%|
|Iosifidis et al. ||8||98.16%|
|Azary et al. ||8||92.97%|
|Hilsenbeck et al. ||8||92.42%|
Vi-E MPOSE Dataset Results
Generalisation degree for ActionXPose has been evaluated on MPOSE dataset. In this dataset, multi-viewpoint action samples are merged from four different datasets. Thus, the purpose of this section is to show cross-datasets performance. We recall that MPOSE dataset contains 17 actions recorded from 8 viewpoints, performed by 53 subjects in total.
. LOAO setting is not suitable for this dataset for two major reasons. First, each subject perform only a subset of actions, thus LOAO setting would provide strongly unbalanced confusion matrices. Second, we would require 53 cross-validation rounds to complete a single LOAO test, which makes hyper-parameters tuning very intense and time-consuming. Thus, ActionXPose has been tested on MPOSE by using a 10 foldings Cross-Validation setting. In this setting, MPOSE samples have been randomly shuffled and split in 10 equal-size foldings. In particular, to allow the confusion matrix to be as fair as possible across different tests, we opted for an action-based splitting. Thus, samples from each action have been randomly shuffled and then split in 10 foldings. Therefore, the first folding of each action has been chosen for testing while the rest of them have been used for training. This strategy forces the number of tested samples per each action to be stable across different folding tests. The final accuracy result is provided on average over the all 10 possible choices of testing folding.
We mention that pose flipping and pose noising were applied to training samples. In particular parameters for pose noising, i.e. and can be considered as hyper-parameters. Results for the MPOSE test are shown in Fig. 6, where we reported results for different hyper-parameter choices, i.e. and .
ActionXPose-advanced outperforms both ActionXPose-basic and OpenPose-baseline in all tests. As expected, performance for both methods increase when more training are provided, i.e. increases. Moreover, when the noise standard deviation increases, ActionXPose-basic performance increases accordingly. This is due to the fact that the noise disturbs the landmarks coordinates mutual correlation, forcing the network to generalize better, searching for rules that are preserved after noising. Conversely, ActionXPose-advanced seems not to benefit much from augmenting standard deviation noise.
Overall, these tests demonstrate that ActionXPose can effectively cover multi-datasets problems, showing high generalization degree. As a matter of fact, ActionXPose proves to be flexible enough to support a training phase where multiple datasets are provided, allowing tremendous potential when the number of provided datasets can be further increased.
Vi-F ISLD Dataset Results
ISLD is novel dataset recorded in our Intelligent Sensing Lab. In this section, we only focus on ActionXPose-advanced as in the previous test it outperformed ActionXPose-basic and OpenPose-baseline. Tests are conducted on ISLD to measure algorithm performance in a common environment. However, ISLD is also particularly useful in this paper to measure MPOSE knowledge transferability. Thus, in this section, two sets of results are reported:
Split setting: in this test, ActionXPose-advanced have been trained, validated and tested over predefined actor groups (see Section V-B). It must be mentioned that the confusion matrix for this test is strongly unbalanced due to the presence of 149 standing action clips, while the clips average for the other classes is around 8. Thus, absolute accuracy as well as relative accuracy are reported.
ISLD-vs-MPOSE setting: in this test, MPOSE dataset has been used for training, while ISLD dataset has been used for validation and testing (according to predefined actor groups). Thus, in this test we evaluated how much MPOSE knowledge can be transferred to solve ISLD dataset. We remark that in this setting, as MPOSE do not contains data for the action standing, we neglected ISLD validation and testing samples belonging to this class. Thus, the confusion matrix in this case is only slightly unbalanced. However, we provided absolute and relative accuracies for the sake of completnesses.
Hyper-parameters for both settings were the same. In particular, , thus no pose noising were applied.
In the Split setting, ActionXPose-advanced achieved an absolute accuracy of 97.99% and a relative accuracy of 95.83% (Fig. 7-(a)). In the ISLD-vs-MPOSE setting, ActionXPose achieved an absolute accuracy of 75.33% while a relative accuracy of 74.60% (Fig. 7-(b)). This results reconfirm that while ActionXPose is still a good method for HAR achieving very good results on ISLD, MPOSE dataset knowledge is quite different from the knowledge included within ISLD dataset. Nevertheless, a substantial part of MPOSE can still train surprisingly well to address ISLD dataset action variability. This result also confirm once again how much human action recognition is an extremely difficult task due to the intra-class variations.
Vi-G Computational Speed Evaluation
In this section, we provide computational speed evaluation for each of the most important processing steps required for ActionXPose. Our evaluation is made by considering separately training and testing phases. Speed evaluations have been obtained on Ubuntu 16.04 running on a laptop Dell Inspiron 15 5000 with 4 core Intel i7, mounting an embedded Nvidia GeForce GTX 1050.
Our simulations showed that the body pose detector is the bottleneck for the entire processing. However, it is claimed to be a real-time detector  when hardware requirements are fully satisfied.
Regarding the SOM clustering method, which is only required in the training phase, computational complexity can be estimated as , where N is the number of considered samples and C the vector input dimensionality. This results shows the importance of considering PCA as dimensionality reduction technique before applying SOM. In ActionXPose, all conducted tests have been performed setting the PCA to consider only the first 3 principal components. Regarding used topology for SOM, 4 units per each component have been considered, which lead to pose libraries containing prototypes for each action and for each point of view. This relatively small number of prototypes is big enough to provide reported results. Moreover, it speeds up the subsequent embedding step for both training and testing phase. In fact, the embedding step has a complexity of where is the number of prototypes in the considered library . Thus, for small such as in our case, the embedding process is very fast. Our simulations shows that the embedding step can process a single frame in seconds, which corresponds to frame per second. Even considering that ActionXPose needs to run two embedding processes (for the spatial and temporal libraries), the embedding process is still very fast. Overall, the full testing processing (excluding pose detection) for each clip sequence takes on average seconds. Since in our tests each clip contains on average 72 frames, ActionXPose can elaborate its prediction with a speed of seconds per frame. Thus, once hardware requirements for the pose detector are met, ActionXPose can run in real-time.
As we have seen in the previous sections, OpenPose-baseline is outperformed by both versions of ActionXPose, while ActionXPose-basic is in all cases less performing than ActionXPose-advanced. OpenPose-baseline failure cases are mostly due to the location and body size dependency of input data. ActionXPose-basic addresses this problem improving baseline results. The performance gap between ActionXPose-basic and ActionXPose-advanced is mostly due to the lower number of time-sequences that the basic version processes. Thus, ActionXPose-advanced is more accurate and effective for HAR problems, because it can rely on many meaningful sequences: single landmarks, limbs and full body sequences, both for spatial and temporal information.
The LSTM based sequence classifier allows to weight these sequence singularly, providing natural framework for performing body-level attention. Thus, during the training phase, the network can naturally learn which of the provided sequences are more meaningful, i.e. are carrying more information about the target action. Indeed, depending on the performed action, not all landmarks are equally informative as well as not all additional sequences regarding limbs and the full body do. Thus, performing body-level attention is a crucial feature for an effective HAR algorithm.
Moreover, the chosen classifier can also perform time-level attention. Thus, during training, the network can learn which of the provided time steps are more informative. This additional level of learning is tremendously important, to allow great flexibility for the whole processing. In fact, ActionXPose formally does not require time-fixed-length inputs, due to the implemented LSTM framework. As a matter of fact, input sequences length can span a very high range of time steps. For example, in MPOSE datasets, data time lengths vary between 15 to 358 time-steps. This flexibility is one of the most important features for ActionXPose, because it allows interesting future work improvements regarding action detection .
Regarding overall performance, ActionXPose achieves results among the state-of-the-art in all performed tests. In particular, even if in some cases is slightly under the best results in literature, it must be considered that ActionXPose uses limited data, i.e. 14 body landmarks, to perform HAR. This suggests that ActionXPose is an effective method to process body posture information when multiple level of learning are required. In fact, by using ActionXPose for posture-related data extraction, CNN based additional levels of processing can explore data in different directions.
Regarding our attempt to transfer knowledge from MPOSE to ISLD, achieved results suggest that ActionXPose can be further improved to try to generalise better in the training phase. In fact, when two very different datasets are combined, even though they share the same action labels, human attitude to the same action can be very different. This causes misclassifications that decrease performance.
Overall, our tests show that ActionXPose can accept input data from several datasets at once, allowing cross-datasets learning processing. As consequence, we can train it to cover broad range actions, depending on the chosen applications.
In conclusion, ActionXPose achieved the following goals:
High generalisation degree: MPOSE results show that ActionXPose can cope several datasets at once; in other words, it can effectively learn motion patterns from several sources in a common framework, allowing growth in performance simply adding data samples from different datasets;
Multi-viewpoint robustness: results shows great performance in dealing with several point of views at once; in fact, tested datasets contains actions recorded from up to 8 viewpoints;
Low scenario restrictions: this feature is due to the proposed pre-processing which is able to compensate different recording conditions, making pre-processed data consistent each other. Thus, the effects of the camera movings, zooming in and out as well as different subject proximities and movings on the scene are effectively compensated and removed from data;
State-of-the-art performance: all tested results place ActionXPose performance among the state-of-the-art. It must be remarked that such good results have been achieved only using limited data, i.e. body landmarks coordinates;
Real-Time performance: ActionXPose processing run with very high frame-rate. The major hardware requirements is for the pose detector which in turn can run in real-time.
Vii Conclusions and Future Work
In this paper, a novel human action recognition algorithm based on 2D human poses have been presented. ActionXPose is based on human pose detector to extract body landmarks for the target subject. Thus, ActionXPose provides pre-processing, extracts meaningful sequences from training data and learns body postures patterns for the classification task. LSTM and 1D CNN are exploited for the final learning and classification step. ActionXPose showed very general learning abilities, being able to learn knowledge from single as well as from several different datasets at once. The proposed work also lays foundations for a deeper processing framework, which can also include RGB data alongside body landmarks. In this paper, two novel datasets have been also introduced, MPOSE and ISLD.
Future work will focus mainly on three directions. First, more generalisation ability is required to allow the system to work in real scenarios applications without additional training. Second, additional processing is needed to process background information as well as target related colour data. Thus, in future releases, ActionXPose will integrate CNN branches alongside the body-pose based processing proposed in this paper, making ActionXPose future releases to be able to address more challenging datasets such as ActivityNet and UCF101. Third, ActionXPose can be improved with automatic action detection on online surveillance video sequences. Further work direction will be on defining ActionXPose-based anomaly detection solutions where privacy-related restrictions do no allow colour data processing and storage.
-  S. Herath, M. Harandi, and F. Porikli, “Going deeper into action recognition: A survey,” Image and Vision Computing, vol. 60, pp. 4–21, 2017.
-  S. Zhang, Z. Wei, J. Nie, L. Huang, S. Wang, and Z. Li, “A Review on Human Activity Recognition Using Vision-Based Method,” Journal of Healthcare Engineering, vol. 2017, pp. 1–31, 2017.
-  Z. Cao, T. Simon, S.-E. Wei, and Y. Sheikh, “Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields,” in CVPR, 2017, pp. 7291–7299.
-  S. Vishwakarma and A. Agrawal, “A survey on activity recognition and behavior understanding in video surveillance,” The Visual Computer, vol. 29, no. 10, pp. 983–1009, 2013.
-  N. Gkalelis, H. Kim, A. Hilton, N. Nikolaidis, and I. Pitas, “The i3DPost multi-view and 3D human action/interaction database,” in CVMP 2009 - The 6th European Conference for Visual Media Production, 2009, pp. 159–168.
-  R. B. L. Gorelick, M. Blank, E. Shechtman, M. Irani, “Actions as space-time shapes,” Transactions on Pattern Analysis and Machine Intelligence, vol. 29, no. 12, pp. 2247–2253, 2007.
-  D. Weinland, R. Ronfard, and E. Boyer, “Free viewpoint action recognition using motion history volumes,” Computer Vision and Image Understanding, vol. 104, pp. 249–257, 2006.
-  C. Schuldt, L. Barbara, and S. Stockholm, “Recognizing Human Actions: A Local SVM Approach,” ICPR, vol. 3, pp. 32–36, 2004.
-  K. Soomro, A. R. Zamir, and M. Shah, “UCF101: A Dataset of 101 Human Actions Classes From Videos in The Wild,” arXiv, 2012.
-  H. Kuehne, H. Jhuang, E. Garrote, T. Poggio, and T. Serre, “HMDB: a large video database for human motion recognition,” in Proceedings of the International Conference on Computer Vision (ICCV), 2011.
F. C. Heilbron, V. Escorcia, B. Ghanem, and J. C. Niebles, “ActivityNet: A
Large-Scale Video Benchmark for Human Activity Understanding,” in
Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015, pp. 961–970.
-  K. Simonyan and A. Zisserman, “Two-stream Convolutional Networks for Action Recognition in Videos,” in Proceedings of the 27th International Conference on Neural Information Processing Systems, 2014, pp. 568–576.
-  C.-Y. Ma, M.-H. Chen, Z. Kira, and G. Alregib, “TS-LSTM and temporal-inception: Exploiting spatiotemporal dynamics for activity recognition,” arXiv, 2017.
-  O. Barnich and M. V. Droogenbroeck, “ViBe : A universal background subtraction algorithm for video sequences,” IEEE Transactions on Image Processing, vol. 20, no. 6, pp. 1709–1724, 2011.
-  F. Angelini, Z. Fu, S. A. Velastin, J. A. Chambers, and S. M. Naqvi, “3D-Hog Embedding Frameworks for Single and Multi-Viewpoints Action Recognition Based on Human Silhouettes,” in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2018, pp. 4219–4223.
-  P. Wang and P. O. Ogunbona, “RGB-D-based Motion Recognition with Deep Learning: A Survey,” IJCV, vol. TBA, no. June, pp. 1–34, 2017.
-  S. Hochreiter and J. Urgen Schmidhuber, “Long short-term memory,” Neural Computation, vol. 9, no. 8, pp. 1735–1780, 1997.
-  T. Kohonen, Self-organizing maps, 3rd ed. Berlin: Springer, 2001.
-  B. Liang and L. Zheng, “A Survey on Human Action Recognition Using Depth Sensors,” in 2015 International Conference on Digital Image Computing: Techniques and Applications (DICTA), 2015, pp. 1–8.
-  B. Langmann, K. Hartmann, and O. Loffeld, “Depth Camera Technology Comparison and Performance Evaluation,” 1st International Conference on Pattern Recognition Applications and Methods, vol. 2, pp. 438–444, 2012.
-  J. Liu, A. Shahroudy, D. Xu, A. Kot Chichung, and G. Wang, “Skeleton-Based Action Recognition Using Spatio-Temporal LSTM Network with Trust Gates,” IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017.
-  Y. Du, W. Wang, and L. Wang, “Hierarchical recurrent neural network for skeleton based action recognition,” in Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, vol. 07-12-June, 2015, pp. 1110–1118.
-  V. Veeriah, Z. Naifan, and G.-J. Qi, “Differential Recurrent Neural Networks for Action Recognition,” in The IEEE International Conference on Computer Vision (ICCV), 2015, pp. 4041–4049.
-  W. Zhu, C. Lan, J. Xing, W. Zeng, Y. Li, L. Shen, and X. Xie, “Co-occurrence Feature Learning for Skeleton based Action Recognition using Regularized Deep LSTM Networks,” in Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence, 2016, pp. 3697–3703.
-  E. Insafutdinov, L. Pishchulin, B. Andres, M. Andriluka, and B. Schiele, “Deepercut: A deeper, stronger, and faster multi-person pose estimation model,” in Lecture Notes in Computer Science, vol. 9910 LNCS, 2016, pp. 34–50.
-  S. Yan, Y. Xiong, and D. Lin, “Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition,” arXiv, 2018.
-  I. Goodfellow, Deep learning. The MIT Press, 2016.
-  F. Karim, S. Majumdar, H. Darabi, and S. Harford, “Multivariate LSTM-FCNs for Time Series Classification,” arXiv, 2018.
-  D. Weinland, R. Ronfard, and E. Boyer, “Free viewpoint action recognition using motion history volumes,” Computer Vision and Image Understanding, vol. 104, no. 2-3 SPEC. ISS., pp. 249–257, 2006.
-  T.-Y. Lin, C. L. Zitnick, and P. Doll, “Microsoft COCO: Common Objects in Context,” arXiv, 2015.
-  H. Jo, Y. H. Na, and J. B. Song, “Data augmentation using synthesized images for object detection,” in International Conference on Control, Automation and Systems, 2017, pp. 1035–1038.
W.-N. Hsu, Y. Zhang, and J. Glass, “Unsupervised Domain Adaptation for Robust Speech Recognition via Variational Autoencoder-Based Data Augmentation,”2017 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU), pp. 16–23, 2017.
-  A. Kovashka and K. Grauman, “Learning a Hierarchy of Discriminative Space-Time Neighborhood Features for Human Action Recognition,” Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pp. 2046–2053, 2010.
-  Y. Zhang, X. Liu, M. C. Chang, W. Ge, and T. Chen, “Spatio-temporal phrases for activity recognition,” in European Conference on Computer Vision, ECCV, 2012, pp. 707–721.
-  S. Ji, M. Yang, K. Yu, and W. Xu, “3D convolutional neural networks for human action recognition,” IEEE transactions on pattern analysis and machine intelligence, vol. 35, no. 1, pp. 221–31, 2013.
-  M. Selmi, M. A. El-Yacoubi, and B. Dorizzi, “Two-layer discriminative model for human activity recognition,” IET Computer Vision, vol. 10, no. 4, pp. 273–279, 2016.
L. Liu, L. Shao, X. Li, and K. Lu, “Learning spatio-temporal representations for action recognition: A genetic programming approach,”IEEE Transactions on Cybernetics, vol. 46, no. 1, pp. 158–170, 2016.
-  C.-b. Jin, S. Li, and H. Kim, “Real-Time Action Detection in Video Surveillance using Sub-Action Descriptor with Multi-CNN,” arXiv, 2017.
-  R. Almeida, Z. K. Goncalves Do Patrocinio, and S. J. F. Guimaraes, “Exploring quantization error to improve human action classification,” in Proceedings of the International Joint Conference on Neural Networks, 2017, pp. 1354–1360.
-  M. Vrigkas, V. Karavasilis, C. Nikou, and I. A. Kakadiaris, “Matching mixtures of curves for human action recognition,” Computer Vision and Image Understanding, vol. 119, pp. 27–40, 2014.
-  J. Liu, J. Luo, and M. Shah, “Recognizing realistic actions from videos “in the wild”,” in IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR 2009), 2009, pp. 1996–2003.
-  M. Raptis and S. Soatto, “Tracklet descriptors for action modeling and video analysis,” in European Conference on Computer Vision, ECCV, 2010, pp. 577–590.
-  Z. Jiang, Z. Lin, and L. Davis, “Recognizing actions by shape-motion prototype trees,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 34, no. 3, pp. 533–547, 2012.
-  A. Gilbert, J. Illingworth, and R. Bowden, “Action Recognition Using Mined Hierarchical Compound Features,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 33, no. 5, pp. 883–897, 2011.
-  G. Castro-Munoz and J. Martinez-Carballido, “Real Time Human Action Recognition Using Full and Ultra High Definition Video,” in CSCI, 2015, pp. 509–514.
-  A. Iosifidis, A. Tefas, and I. Pitas, “Multi-view action recognition based on action volumes, fuzzy distances and cluster discriminant analysis,” Signal Processing, vol. 93, no. 6, pp. 1445–1457, 2013.
-  S. Azary and A. Savakis, “Multi-view action classification using sparse representations on Motion History Images,” in 2012 Western New York Image Processing Workshop, 2012, pp. 5–8.
-  B. Hilsenbeck, D. Munch, H. Kieritz, W. Hubner, and M. Arens, “Hierarchical Hough forests for view-independent action recognition,” in ICPR, 2016, pp. 1911–1916.
-  L. Fei-Fei, R. Fergus, and P. Perona, “Learning Generative Visual Models from Few Training Examples: An Incremental Bayesian Approach Tested on 101 Object Categories,” in 2004 Conference on Computer Vision and Pattern Recognition Workshop, 2004.
-  K. Grauman and T. Darrell, “The pyramid match kernel: Discriminative classification with sets of image features,” in Proceedings of the IEEE International Conference on Computer Vision, vol. II, 2005, pp. 1458–1465.
-  A. Berg, T. Berg, and J. Malik, “Shape Matching and Object Recognition Using Low Distortion Correspondences,” in 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, vol. 1, 2005, pp. 26–33.
-  M. Kuhn and K. Johnson, Applied Predictive Modeling. Springer-Verlag New York, 2013.
-  D. Roussinov and H. Chen, “A scalable self-organizing map algorithm for textual classification: A neural network approach to thesaurus generation,” Communication Cognition and Artificial Intelligence (CC-AI), vol. 15, no. 1-2, pp. 81–111, 1998.
-  G. Singh, S. Saha, M. Sapienza, P. Torr, and F. Cuzzolin, “Online Real-Time Multiple Spatiotemporal Action Localisation and Prediction,” in Proceedings of the IEEE International Conference on Computer Vision, 2017, pp. 3657–3666.