The proposed algorithm for the correction of orientation identifies the EMG channel with the maximum energy, and then the EMG channels are rearranged based on this channel. To the best of our knowledge, this is the first proposal that applies the correction of orientation for a user-specific hand recognition model. Therefore, the main contribution of this work is to propose a user-specific hand gesture recognition model that allows a user to wear the bracelet in different orientations between training and testing, without experiencing a significant reduction in the recognition accuracy. In this way, we avoid the need of training a user-specific model each time it needs to be used, which is the usual approach for user-specific models. To implement our hand recognition model, five different modules are proposed: data acquisition, pre-processing, feature extraction, classification, and post-processing. The data acquisition module is in charge of gathering the signals returned by the EMG sensor. The collected EMGs are related to five hand gestures executed for 5 s each. The gestures that we use for this work are the same ones recognized by the proprietary recognition system of the Myo armband. The pre-processing module is responsible for preparing and cleaning the collected EMG data. Typical approaches used at this module include filtering [30], offset compensation [7], rectification [31], normalization [32], and segmentation [22]. The feature extraction and feature selection module allowed us to extract independent features that represent accurately each EMG to be processed. The main challenge of this module is to determine the most significant and meaningful features to be fed to the classification module. Performing feature selection is a difficult task because it is a combinatorial problem [33]. The feature extraction methods can provide time, frequency, and time-frequency features from the EMGs. Some of the feature extraction methods that can be used are the mean absolute value (MAV), root mean square (RMS), variance (VAR), standard deviation (SD), among others [13; 34; 35]. Once the features are selected, this information is classified in different classes using the classification module. Some of the classifiers that can be used are K-nearest neighbor [36], decision trees [37], and Artificial Neural Networks (ANN) [38]. Finally, the post-processing module consists of refining the classifier responses by smoothing or filtering spurious labels [39]  
The collected EMGs are related to five hand gestures executed for 5 s each. The gestures that we use for this work are the same ones recognized by the proprietary recognition system of the Myo armband. The pre-processing module is responsible for preparing and cleaning the collected data in order to reduce noise. The feature extraction and feature selection module allowed us to extract independent features that represent accurately each EMG to be processed. The main challenge of this module is to determine the most significant and meaningful features to be fed to the classification module. Performing feature selection is a difficult task because it is a combinatorial problem [33]. Once the features are selected, this information is classified in different classes using the classification module. Finally, the post-processing module consists of refining the classifier responses by smoothing or filtering spurious labels [39]. The main contributions of this paper include: (i) a user-specific hand gesture recognition model together with (ii) an algorithm for the correction of sensor orientation. The proposed recognition model is based on the use of a shallow feed-forward artificial neural network that takes as input a feature vector composed of the covariances between the channels of an EMG and a bag of five functions applied to the channels of an EMG. To reproduce the results obtained in this paper and analyzing the fine details of the proposed model, we have made the code and dataset publicly available.