1 Introduction

Cricket is a bat-and-ball sport which is played between two teams on a cricket ground. Each team consists of eleven players. At the centre of the cricket ground is a twenty two yard rectangular pitch with a set of three vertical wooden posts at each end called wicket. The team designated for batting, always has two players on the pitch called batsmen while the opponent team fields its eleven players. The match begins when a bowler, a designated player of the fielding team, runs towards his wicket and bowls the ball from one end of the pitch towards the batsman standing in front of the wicket at the other end. The batsman’s intention is to prevent the ball from hitting the wickets with his bat and score as many runs as possible with the bat after hitting the ball. The bowler attempts to both stop the batsman from scoring the runs and to dismiss the batsman. The dismissed batsman is replaced by another player of his team at the pitch. The batsman is dismissed by a bowler when he is bowled, the batsman failed to prevent the ball from hitting the stumps, leg before wicket, when the bowler hits the batsman with the ball in front of the stumps without touching the bat, and caught, when the ball goes into the air after touching batsman’s bat and is caught by a fielder before touching the ground. There are two phases in the cricket game, each called an innings. An inning is completed either when a defined limit of overs has been reached or the ten batsmen of the batting team have been dismissed. The batting team then becomes the bowling team and vice versa. The team running the most score is declared the winner. The International Cricket Council (ICC) and Marylebone Cricket Club (MCC) maintain the laws of cricket. The bowler is restricted to deliver the ball overarm with a straight arm and cannot throw the ball. If the bowler bends his arm, the other team is given one run and he has to bowl the ball again.

Activity recognition is an active domain of research with its root in the field of computing and multimedia (Casale et al. 2011). Activity recognition aids in recognizing different activities of a subject under study. Activity recognition has made it possible to identify human activity by attaching sensors to the human body (Altun et al. 2010), and thus has extensive applications in the field of medicine (Akay 2011), detecting and classifying human physical activity such as walking, running and sitting (Casale et al. 2011; Altun et al. 2010; Wang et al. 2011; Ayu et al. 2012; Preece et al. 2009; Mannini and Sabatini 2011; Anguita et al. 2012; Garcia-Ceja and Brena 2013; Mannini and Sabatini 2010, detecting user’s motion type (Bedogni et al. 2012), traffic security in networks (Weaver et al. 2011), bio-mechanics and sports science (Wixted et al. 2010, 2011a, b; Qaisar et al. 2013; Ghasemzadeh et al. 2010; Ghasemzadeh and Jafari 2011). Activity recognition has been used in a lot of sports, particularly swimming and jogging etc. for measuring different traits of athletes like their body temperature, velocity and acceleration. Recently, inertial sensors have seen their utility in many applications of activity recognition. Inertial sensors have previously been used in the aircraft navigation (Frew et al. 2004), autopilot (Wu et al. 2013), satellite systems (Hofmann-Wellenhof et al. 2007), land vehicles (Niu et al. 2012) and ships (Johnson et al. 2012). The gyroscope measures changes in orientation, whereas the accelerometer measures the acceleration around an axis. Some of these inertial sensor devices measure the changes along one single axis (1-dimensional) whereas others measure the sensitivity around multiple axes (2-dimensional, 3-dimensional; Altun et al. 2010). Accelerometer and the gyroscope are usually used together to ensure higher accuracy. The fast establishment of Micro-electro-mechanical systems (MEMS) has resulted in the decrease of size, weight and cost of inertial sensors. Market proliferation of inertial sensors has given rise to renewed interest in research community in their application to a wide range of problems (Titterton and Weston 2004). The application of inertial sensors in activity recognition has been extended to many sports such as tennis, swimming and running to name a few.

Cricket is one of the major sports where inertial sensors have been deployed for the training of the players and detecting the legality of their moves (Wixted et al. 2010, 2011a, b; Qaisar et al. 2013). Wixted et al. (2010, 2011a, b) are working to develop a light weight, inexpensive, wearable device for the bowlers which will detect the legality of the bowling action in real time instead of doing it in the laboratories dedicated for this task. The matter of bowlers throwing an illegal delivery, commonly known as throwing or chucking, gives an unfair advantage to the bowler to deliver the ball at high speed (Wixted et al. 2011b). This topic has been controversial over the last few decades, leading the International Cricket Council (ICC) to bring changes to the rules of cricket by allowing a bowler to extend the elbow to 15\(^\circ \). However, due to the complexities involved in the movement of the arm, it is yet not possible to make a quick decision over the legality of the bowling action. When a bowler is suspected of throwing, he is sent to one of the ICC approved international laboratories, where the bowling action is assessed with the help of motion capture system, radar and a high speed video. The bowler has to go through the complex process of bio-mechanical analysis and is required to bowl a series of deliveries with his normal speed in the laboratory environment where 20 motion cameras, 2–3 high speed cameras and a radar gun is installed (Wixted et al. 2011b). It is pertinent to keep in consideration the assessment cost, travel cost, time and a temporary ban on the bowler for that particular action until the results are out. Also, there is a possibility that the bowler will deliver balls in a different manner during the study.

The inertial sensor can be easily used with objects without creating any blockades in the movement (Altun et al. 2010). This is a big advantage over video cameras, which require a free line of sight for capturing significant information. Also, some features may be lost when 3D scene view is projected onto 2D. Another disadvantage of using the video based system is the cost of storing and processing the video (Altun et al. 2010). In many research studies, video cameras have been used as a reference for the data collected from inertial sensors (Uiterwaal et al. 1998). A commonly proposed solution in the literature (Aginsky and Noakes 2010; Chin et al. 2010; Yeadon and King 2015; Middleton et al. 2015) uses a marker-based approach. The reflective markers are commonly affixed to different body parts of an athlete before being analyzed using a motion analysis system. The disadvantage of this method is that the system cost is high, the assessment procedure is lengthy and the system is unlikely to be applicable in competitive play to detect the legality of bowling action on the field.

A recent research work (Ahmed et al. 2015) used flex sensors to check the validity of bowling action by measuring arm angle at ball release. However, it does not discuss specific points of bowling action particularly the carry angle, the start of the arm action is not identified and the critical aspect of elbow extension is not monitored between the start and the end of the arm action. Therefore, a simple orientation based detection of the legality of the bowling action is not feasible. Wixted et al. (2010) determined whether the current technology is capable of capturing significant acceleration and orientation changes by comparing the data captured from the MEMS device with the data received from the Vicon markers (Wixted et al. 2011a). In a recent experiment, Wixted et al. (Spratford et al. 2015) investigated the utility of peak outward acceleration plotted against the data received from inertial sensors mounted on the wrist, which is a critical aspect in detecting the illegal bowling action. However, their output is limited to the visual analysis by the human eye to make a decision regarding the legality. Qaisar et al. (2013) have worked on the legality of the bowling action and proposed a method to train the bowler for a specific bowling action using the same MEMS inertial sensors. However, they did not work on the validity of the arm extension. Thus having a low cost wearable inertial sensor device to detect an illegal bowling action in real time is of high importance since the technology is cheap and can be used by both professional as well as amateur players.

Although designing a precise and reliable device to detect the illegal bowling action and the training of a bowler has been addressed by many researchers (Wixted et al. 2010, 2011a, b; Qaisar et al. 2013; Ahmed et al. 2015), yet, the use of machine learning with inertial sensors for training and detecting the moves has got little attention. Qaisar et al. (2013) used unsupervised machine learning to train a bowler over a specific action getting an acceptable accuracy. Our work is different from the aforementioned studies. To the best of our knowledge, legality analysis of cricket bowling action using inertial sensors mounted onto the bowler’s arm (known as Body Sensor Network) while applying supervised machine learning technique has not been studied previously by other researchers. Following are the main contributions of this paper:

  • We present a low cost mobile decision system for the detection of the illegal bowling action. The system could be used to help quarantine the suspected bowling actions. It could be easily used both at the street and the club level cricket and would certainly help in early detection. The bowling action of most of the players are reported illegal at a later stage of their professional carrier where it is very hard for them to remodel and keep the effectiveness of their new bowling action.

  • We introduce action profiling that computes profiles from the sensor readings and specify the events of interest.

  • We develop an application where the data from the sensors is reported to a computing core which conducts the classification process and displays the result in real time.

2 Action profiling

The idea of action profiling has been inspired from the concept of data profiling. Just like the analysis in data profiling is performed to assess the data quality for a data warehouse to simplify the content, relationships, and structure of the data in order to discover and validate metadata; action profiling is performed to simplify the complex bio-mechanical movement and clarify the relationship between different moving joints of the bowling arm to investigate whether the bowling arm conforms with the standards dictated by the regulating authority for a legal bowling action. We aim to develop different profiles of the events that can be used to assess the legality of the bowling action, as well as analyze the arm extension. The key events in a bowling action are run-up, pre-delivery stride, the start of the arm action, the end of the arm action (ball release), and follow through, as shown in Fig. 1. The movements performed by an athlete during the key events may or may not follow the standards set by the regularity authority. For example, the problem with arm movement during the arm actions may include extending the arm beyond an angle of 15\(^\circ \).

Fig. 1
figure 1

Key events of bowling action

A profile of action is a data recorded in time of different movements performed by several joints of the bowling arm during a bowling action. The profile describes the order and the occurrence of the events along with the relationship between different joints involved in the event, thus reducing the complexity of the bio-mechanical movement with the help of a simple representation of data. For example, a profile for an arm during the bowling action consists of (1) Lifting the arm (2) Rotating the arm clockwise (3) Moving the arm rigidly once it reaches the level of your shoulder till the ball release. This order and sequence is followed in all of the legal bowling actions.

To detect the legality of the bowling action, it is critical to identify the start and the end of the arm action with the help of sensors’ data. In our work, we are able to identify the key events of the bowling action. This helps us to focus only on the data related to the events in order to find useful patterns of the moving joints by visualization. Moreover, it also reduces the size of raw data provided to the classifier which greatly minimizes the complexity and the computation needed for classification.

2.1 Profile computation

Using action profiles, we divide the sensor readings into several windows. Each window contains a short-interval sensor reading that corresponds to an event (phase) of the bowling action. The corresponding window may contain important information about the key event at any given time. Tags are used to assign individual labels to every window. Tagging helps in the identification of the events of interest. An example of a profile computed from a sensor node placed on the wrist is shown in Fig. 2. This figure illustrates the angular velocity of the wrist at X, Y and Z axes during a bowling action. We detect the value of the ball released from our training data from the node placed on the wrist. The ball release point, highlighted as a maxima in Fig. 2 is used as a detonator to start the process of windowing and tagging the sensor readings recorded during a bowling action. The bar at the top shows the tags assigned to different windows based on several events identified in the bowling action. The data samples of the corresponding events are tagged to create a window of the specific sensor reading.

Fig. 2
figure 2

Profile tagging in order to identify events of interest

We have introduced an algorithm for profile computation after extensive analysis. We detected a close correlation between the peak acceleration (maxima) and the ball release during our analysis as shown in Fig. 2. The maxima occurs in the data when the ball is about to be released during the arm action. This information is used by our algorithm to tag the data samples around this point as the arm action window. Other windows are computed in a relative manner to the start and end of the arm action window. The direct extraction of the start of the arm action is not possible due to many forces acting along the moving arm (Wixted et al. 2010). Also, we only need the data collected from the bowler during the arm action to check for the possible elbow extension. We need to crop the arm action data in order to look at the critical aspects of the arm orientation and movement during this phase. This whole concept is incorporated in the Algorithm 1 provided next.

figure a

Algorithm 1 takes the complete sensors reading recorded during the bowling action of a bowler as an input. As discussed previously, the extension in the arm for performing the legality analysis of a bowler is checked during the arm action phase only; therefore we need to identify the different phases of the bowling action first in order to focus on the concerned phase. The key point that determines the various phases is the maxima which occurs just before the ball release (during the arm action) as evident from Fig. 2. Our algorithm considers the maxima as a starting point for profiling the data. Therefore, Algorithm 1 starts searching for the maxima first by initializing the Max(x) variable to the first index of the \(G_{x}\) column vector and then incrementally search for the next higher value by passing the \(G_{x}\) vector to searchMaxima function which returns the index of \(G_{x}\) vector where maxima occurs. The arm action window is tagged in an approximate manner around the maxima by tagging the previous and the following adjacent data samples as arm action data. Algorithm 1 uses this information to enforce the grouping of data sample to different windows prior to and after the occurrence of the arm extension so as to compute the profile of the data. The other phases are identified in a relative manner to the arm action phase but they do not contribute towards the output.

The gyroscope mounted at the wrist of a bowler gives the highest value along x-axis due to the physical position of the gyroscope relative to the accelerometer during the arm action just before the ball release. This is due to the fact that the gyroscope output changes during the rotation around a particular axis. The gyroscope will give a high value as long as the arm is rotating.

We evaluated the performance of the Algorithm 1 with the data (150 samples) collected in Sect. 4. The two important points in the bowling action where the legality is checked is the start of the arm action and the end of the arm action (ball release). The Algorithm 1 gives 100% performance in detecting the ball release point where the start of the arm action is calculated in an approximate manner around the ball release point as mentioned previously.

2.2 Profile analysis

A good bowling action requires proper and timely movement of different body parts. According to the ICC laws of cricket (MCC 2013), a legal bowling action involves moving the arm rigidly during the arm action, and the bowler is not permitted to partially or completely extend his arm during this phase. Our algorithm computes a profile with key events of the bowling action identified and outputs the arm action sensor reading as a result. The arm action event data is analyzed by the action profiler to show the articulation of the elbow, the fundamental difference between throwing and bowling.

In Fig. 3, we have shown the representative deliveries of both, the legal and the illegal bowling action where the dotted line represents the upper arm plot and the continuous line represents the forearm plot. The gyroscope reading from the upper arm and the forearm is displayed after taking a vector \(V_G\) of the 3-axes reading with Eq. 1. The triaxial gyroscope detects the orientation changes along \(G_x\), \(G_y\), and \(G_z\). Although a triaxial gyroscope can measure the changes in orientation, the complex forces involved with the moving arm makes it very difficult to detect the elbow extension based on the analysis of the values of the 3-axes individually. Therefore, in order to minimize the effect of complex forces (which occurs as a consequence of the orientation changes) in the analysis, we take the magnitude of the three axes. In Eq. 1, \(V_G\) is the orientation vector that the gyroscope is measuring whereas \(G_x\), \(G_y\), \(G_z\) are the 3 axes that define our orientation vector. The vector \(V_G\) represents a unit vector and may be regarded as the Direction Cosine.

$$\begin{aligned} V_{G} = \sqrt{G_{x}^2 + G_{y}^2+ G_{z}^2} \end{aligned}$$
(1)
Fig. 3
figure 3

Legality analysis of the data collected from synchronous inertial sensors mounted onto the bowler’s arm for legal and illegal bowling action. a Legal bowling delivery b Suspected illegal delivery

Initially, in our analysis, we displayed the magnitude vectors of both the accelerometer and gyroscopes, individually, for all the three sensors’ placement i.e. upper arm, forearm and wrist. Interestingly, we found a strong correlation between the upper arm and the forearm during arm action as the bowler has to rotate his arm (upper arm and forearm) rigidly during the arm action whereas there is no restriction on the movement of the wrist. In Fig. 3, we have shown only the arm action data which is given as an output by Algorithm 1, thus eliminating other phases of the bowling action. It can be seen clearly in the legal bowling actions (Fig. 3a) that the upper arm and the forearm stay aligned (positively correlated) during the arm action. However, in case of illegal bowling action, where the elbow is extended to involve chucking (throwing), the upper arm and the forearm move independently (negatively correlated) during the arm action, as evident from Fig. 3b. The deviation in Fig. 3b shows the amount of arm extension during the arm action. This is verified with the help of frame by frame video analysis. The sensor output provides a basis for an early decision on the legality or the extension of the arm during an arm action at minimum. This analysis also confirms the capability of our mobile sports system to detect the extension in the arm movement.

3 Material and methods

Our process starts with collecting the sensors’ data for the various bowling actions followed by pre-processing. The pre-processing steps involve calibration, removal of missing values and outlier detection. This is then followed by action profiling, feature extraction and evaluation. A classifier is then trained based on the training set to build a computational model for classification. A conceptual scheme of the classification process for the assessment of a given bowling action is shown in Fig. 4.

Fig. 4
figure 4

Conceptual scheme of bowling action classification system

3.1 Experimental setup

We use body worn miniature inertial sensors known as Body Sensor Network to examine the legality of the bowling action. We design a sensor board that consists of a tri-axial accelerometer, a tri-axial gyroscope, a microprocessor for interfacing with sensors and a Bluetooth module for data transfer as shown in Fig. 5.

Fig. 5
figure 5

Custom manufactured sensor board

We use custom manufactured sensor board \(1.75in \times 1.75in\) where each board consists of a micro-controller, IMU module, Bluetooth module, voltage regulators and a rechargeable battery placed at the bottom of the device. The IMU is interfaced with the micro-controller via I2C interface while the Bluetooth is interfaced with micro-controller via serial interface. The IMU sends the data of the accelerometer and gyroscope to the micro-controller. After processing the data received from IMU, the micro-controller sends the value of the respective axis of the accelerometer and gyroscope to Bluetooth for wireless communication.

We placed our custom-made sensor board at three different points (upper arm, forearm and wrist) onto the bowler’s arm after careful consideration, to ensure maximum accuracy and to detect any anomaly in the bowling action, as shown in Fig. 6. The wrist sensor is necessary in addition to the forearm sensor because there is an extensive movement of sensor placed at the elbow due to the muscle tension and wrist rotation which affects the sensor orientation (Wixted et al. 2011a). The data rate of inertial sensors are kept at 150 Hz, since at this rate we can capture the key information of the subject arm during bowling (Wixted et al. 2010) while keeping the power consumption very low. We can increase the date rate up to 400 Hz at the cost of more battery usage (Qaisar et al. 2013). All of the data from the sensors is transmitted to a computer via Bluetooth serial communication, where it is stored in a file to be processed later for further analysis. We also video recorded each bowling data, which is used to help in analysis and validation of different results obtained from our proposed system.

Fig. 6
figure 6

Position of sensors placed on Bowler’s arm

3.2 Reliability assessment

Despite the widespread use of anthropometrical applications in industry, it is believed that there exists an error margin in the measurements. There is a variability in the anthropometrical measurements when repeated for different subjects. This is due to different physical characteristics which are not possible to avoid or due to technical or measurement error which could be avoided (Perini 2005). This variation in the measurement caused by the technique or measurement is highly responsible for the error in results. The most common way to assess the reliability and precision of the anthropometrical measurements is by means of the technical error of measurement (TEM) (Miguel-Etayo et al. 2014). The TEM index [advocated by the International Society for the Advancement of Kinanthropometry (ISAK)] is used to calculate the standard deviation between the repeated measures performed by the same anthropometrist for the same athlete (or group of athletes) and the standard deviation between the repeated measures performed by different anthropometrist in the same group of anthropometrist. The TEM index allows anthropometrists to verify the accuracy when performing and repeating anthropometrical measurements.

In order to calculate the TEM index for intra-evaluator results, the measurements recorded from the gyroscope mounted at the wrist during the bowling action of 10 athletes listed in Table 1 were considered. All of the steps to calculate the intra-evaluator TEM based on Table 1 are given next:

  • \(\sum (Deviations)^2 = 0.012\)

  • Absolute Technical Error Of Measurement \(=\) 0.204

  • Variable Average Value(VAV) \(=\) 2.937

  • Relative Technical Error Of Measurement \(=\) 6.94

Table 1 Measurements taken from 10 different volunteers for a bowling action
Table 2 Measurements taken from 10 different volunteers (1–5) for a bowling action by different anthropometrists
Table 3 Measurements taken from 10 different volunteers (6–10) for a bowling action by different anthropometrists

These values are obtained based on the techniques mentioned in (Perini 2005). The same procedure must be followed in order to calculate the inter-evaluator TEM but the measurements should be performed by different anthropometrists in the same group of athletes by adopting the same procedure and equipment. The following inter-evaluator TEM value is calculated based on the measurements listed in Tables 2 and 3.

  • \(\sum (Deviations)^2 = 0.012\)

  • Absolute Technical Error Of Measurement \(=\) 0.023

  • Variable Average Value(VAV) \(=\) 0.284

  • Relative Technical Error Of Measurement \(=\) 8.25

It is worth mentioning that a higher deviation of the relative TEM may be observed for the same bowling action where the arm is slightly extended. The relative TEM values therefore are closer to the cut point (15% to be acceptable) in bowling actions where the arm is slightly extended for the same bowling action. The anthropometrists were encouraged to improve the procedure and measurements where the TEM results were classified as non-acceptable (greater than 15%). These reliability values should be considered when evaluating the bowling action of cricket players within a competition.

3.3 Pre-processing

The basic purpose of pre-processing is to remove any inconsistency in the data and refine the data to a form that is suitable for subsequent analysis. For this purpose, the data collected from various sensors is first preprocessed by calibration and then passed through a filter. The output of the filter gave six dimensional data as a result i.e. the accelerometer (\(A_x\), \(A_y\), \(A_z\)) and the gyroscope (\(G_x\), \(G_y\), \(G_z\)). A check is required on the dataset to avoid any inconsistency in the data due to the presence of missing values and outliers, which is sometimes a common problem while collecting data from sensors. Outlier is an attribute value that lies outside a defined range of normal values, therefore the outliers are considered as kind of noise (Bashir et al. 2015). Outliers often occur in the data due to experimental or measurement error but can also occur by chance in the distribution. The outlier detection is useful in such cases when there is an error in the data due to a faulty instrument or experiment and minimize the chances of incorrect classification of data. They are detected and removed from each attribute using a standard procedure of Inter-Quartile Range (IQR) (Rousseeuw and Hubert 2011). Any value that falls outside the range of ±3 IQR is replaced with the average field value. A box plot of IQR for the wrist’s data is shown in Fig. 7. Each box in Fig. 7 corresponds to a dimension of the wrist’s data. The central mark of the box represents the median where as the edges represent the 25th and 75th percentiles. Similarly, the whiskers indicate the borderline for the normal data. The outliers are plotted separately as shown in the box plot of \(G_y\) in Fig. 7.

Fig. 7
figure 7

Box plot analysis of the wrist data for outliers

The pre-processing module of the proposed system also involves handling missing values in each attribute. The missing values are replaced with the corresponding mean values of the attribute. The removal of missing values in bowling action data is very critical and need to be handled carefully because they can directly effect the classification and analysis of the bowling action. Therefore, we have put a limit on the percentage (10%) of the missing values in a attribute. If the percentage of the missing values exceeds the 10% threshold, then the particular attribute will be discarded and will not be considered for classification and analysis. This is because in bowling action, the bowler can perform chucking within a 1 sec duration and we can miss important information if the missing values in an attribute exceeds the specified threshold. Each entry in the data set \(D^S_B\) is given the following structure:

$$\begin{aligned} D_{B}^{S}&=\langle A_{(x,w)},~A_{(y,w)},~A_{(z,w)},~G_{(x,w)},~G_{(y,w)},~G_{(z,w)} \rangle \nonumber \\&\quad \cup \langle A_{(x,e)},~A_{(y,e)},~A_{(z,e)},~G_{(x,e)},~G_{(y,e)},~G_{(z,e)} \rangle \nonumber \\&\quad ~ \cup \langle A_{(x,u)},~A_{(y,u)},~A_{(z,u)},~G_{(x,u)},~G_{(y,u)},~G_{(z,u)} \rangle \end{aligned}$$
(2)

We can summarize Eq. 2 in the following way:

$$\begin{aligned} \forall p \in \{w, e, u\} \{S_{(x,p)},~S_{(y,p)},~S_{(z,p)}\} \end{aligned}$$
(3)

where S is the value of the respective sensor on x, y, and z axes and P is the position, i.e. wrist, forearm or the upper arm.

3.4 Profiling

The next step in our process was the identification of the key events. The identification of the key events, especially the start of the arm action and the end of the arm action (ball release) is very important since the bowling arm needs to be monitored during this phase of the bowling action for legality analysis. The profiles were computed based on Algorithm 1 described in Sect. 2.1. The key events were identified and their respective data samples were tagged by a unique label to make a data window. The key events in our system are identified with two labels demonstrating a transition from one phase of the bowling action to the other. The window containing the arm action reading is cropped for analysis and classification purposes.

3.5 Feature extraction

Since three inertial sensors were attached to each subject’s arm, each with two tri-axial devices (accelerometer and gyroscope), a total of six signals were received from each inertial sensor unit, resulting in 18 signals (3 sensor units \(\times \) 6 axes) from the whole arm. After an extensive research, we extracted the following set of features initially before feature reduction that have proved to be useful from both computational and accuracy point of view with the state of the art wearable system for human activity recognition (Casale et al. 2011; Altun et al. 2010; Wang et al. 2011; Ayu et al. 2012; Preece et al. 2009; Mannini and Sabatini 2011; Anguita et al. 2012; Garcia-Ceja and Brena 2013; Mannini and Sabatini 2010; Bedogni et al. 2012). For example, Preece et al. (2009) have reported high levels of classification accuracy using time-domain features such as mean, standard deviation and median against a number of novel wavelet features for classifying dynamic activities from accelerometer data. Similarly (Altun et al. 2010) used minimum and maximum values, the mean value, variance, skewness, and kurtosis from a number of body-worn miniature inertial sensors to classify a wide range of activities accurately (\({\textit{accuracy}}>\)95%). The features are extracted from the data, keeping in view that we cannot apply machine learning algorithm directly to the raw sensor data for classification (Mannini and Sabatini 2010).

$$\begin{aligned} \langle mean_{(s,p)},~med_{(s,p)},~std_{(s,p)},~skew_{(s,p)},~kurt_{(s,p)}, min_{(s,p)},~max_{(s,p)} \rangle \end{aligned}$$
(4)

where s represents the type of the sensor i.e. accelerometer or gyroscope, p represents the location of the sensor placement on the bowler’s arm whereas mean, med, std, skew, kurt, min, max are the mean, median, standard deviation, skewness, kurtosis, minimum and maximum value, respectively, extracted from each axis of the accelerometer and the gyroscope. After acquiring the signals with 150 Hz data rate for a 10-s bowling action, we obtain a time sequenced data of \(E_{s}=150\) elements for each of the 18 signals where each signal can be represented as \(E_{s}\) \(\times \) 1 vector where \(s= [s_{1}, s_{2}, s_{3}, \ldots , s_{Es}]^T\). All of the statistical features are computed over s vector of corresponding signal as follows:

$$\begin{aligned} \text {mean(s)}= & {} \,\mu _{s}= \frac{1}{E_{s}}\sum _{i=1}^{E_{s}} s_{i}\\ \text {standard deviation(s)}= & {} \,\sigma = \sqrt{\frac{1}{E_{s}}\sum \nolimits _{i=1}^{E_{s}} (s_{i} - \mu _{s})^{2}}\\ \text {skewness(s)}= & {} \, \frac{1}{E_{s}\sigma ^{3}}\sum _{i=1}^{E_{s}} (s_{i} - \mu _{s})^{3}\\ \text {kurtosis(s)}= & {} \,\frac{1}{E_{s}\sigma ^{4}}\sum _{i=1}^{E_{s}} (s_{i} - \mu _{s})^{4} \end{aligned}$$

When a feature such as the mean, is extracted from a record, 18 (1 feature \(\times \) 18 signals) different values are obtained. When we calculate the seven features mentioned above, from a single record, a total of 126 features (18 signals \(\times \) 7 features) are obtained. These features are placed in a feature vector in the following order: the upper arm, the forearm and the wrist, with accelerometer features placed first; followed by the gyroscope for each sensor unit. The features are extracted from the sensors’ data after cropping the tagged arm action from the profile, as discussed previously. For the sake of simplicity, we use some notations in this paper: the features extracted from accelerometer values on a position P are presented in Eq. 5.

$$\begin{aligned} F_{p}^{A}= & {} \,\{mean_{(p,A)},~med_{(p,A)},~std_{(p,A)},~skew_{(p,A)}, \nonumber \\&\quad kurt_{(p,A)},~min_{(p,A)},~max_{(p,A)}\} \end{aligned}$$
(5)

Similarly, we denote the set of features extracted from the gyroscope with:

$$\begin{aligned} F_{p}^{G}= & {} \,\{mean_{(p,G)},~med_{(p,G)},~std_{(p,G)},~skew_{(p,G)}, \nonumber \\&\quad kurt_{(p,G)},~min_{(p,G)},~max_{(p,G)}\} \end{aligned}$$
(6)

We combine both of the feature sets to make a feature vector and denote it as follows:

$$\begin{aligned} V_{p}^{AG}=\,F_{p}^{A} \cup F_{p}^{G} \end{aligned}$$
(7)

Lastly, the set of feature vectors used in classification is denoted by:

$$\begin{aligned} T_{V}=\, U_p \langle V_p^{AG},~B \rangle \end{aligned}$$
(8)

3.6 Feature selection

When the dimension of the feature space is high, learning the parameters of a classifier becomes a difficult task, especially when the size of the training set is small (the curse of dimensionality; Mannini and Sabatini 2010; Altun et al. 2010). The feature reduction process consists of selecting only those features which have a greater impact on the classification of the data, discarding those which minimally help the classifier towards the correct response. Due to the high computation involved in searching through a number of high dimensional subsets, this process is not always considered optimal (Mannini and Sabatini (2010)). Since the feature set that we extracted from the tag data was quite big (126 features), and not all of the features contributed in classification, which makes the process computationally expensive and difficult for the classifiers to learn from the data. Feature selection reduce the dimension of the data such that the overall accuracy is improved (Dash and Liu 2003). As discussed earlier, in case of illegal bowling action, where the elbow is extended to involve chucking (throwing), the upper arm and the forearm move independently during the arm action. Therefore the features extracted around the upper arm and the forearm data will contribute more than the others. However, certain other factors are also important to keep in view; one such factor is the speed of the bowler bowling a legal delivery. If a bowler delivers a bowl with a much higher speed than his previous deliveries, then there is also a chance of chucking. In such case, the data collected from the wrist can be very significant along with that of the upper arm and the forearm since the speed is directly proportional with the movement of the bowler’s wrist. Since we have extracted a large set of features where there is a high chance of irrelevant features that contribute very less towards the outcome. Therefore we looked into different feature reduction and selection techniques to select only those features that contribute more towards the classification to make the learning process optimal and accurate. We use a Correlation-based Feature Selection (CFS) algorithm to create reduced feature sets. The motivation behind selecting CFS is that the redundant, noisy and irrelevant features are filtered out quickly. CFS identifies an optimal feature set by evaluating different combination of features and taking into account the predictive ability of each feature individually (Hall and Smith 1998). The basic difference between CFS and other feature selection techniques is that CFS provides a heuristic merit for a feature subset. Hence, the algorithm can decide to choose that option during its next iteration which maximizes the output of the given function(heuristic). Furthermore, it uses different search techniques to generate the feature subsets that are to be evaluated. We used a Greedy search method. The greedy search method evaluates the parent set by examining all of the possible child subsets by either adding or removing features to the subset. The subset that shows the highest correlation with the output class replaces the parent set. The process continues till no further improvements can be made (Williams et al. 2006).

We run CFS subset evaluation procedure over the training datasets to get the most significant attributes. The test data was excluded during feature selection process. The CFS subset evaluation selected the top 21 features based on their highest contribution towards the output class, thus reducing the number of features to 21 from 126. As a result of this feature selection, we get a \(21 \times 1\) feature vector. The results obtained when the classification techniques are applied on test data with and without feature selection are discussed in Sect. 4.

3.7 Classification techniques

A classifier takes as input a feature vector \(V^{AG}_p\) for sensor placements P and a feature training set \(T_{V}\), and outputs a value (\(V^{AG}_p\), \(T_V\)) B that estimates the Bowling Action as legal or illegal. The training set \(T_V\) contains a number of feature vectors \(V = V_1 + V_2 + V_3+ \cdots V_c\) where each feature vector V is associated with an output class B. An output class B is assigned to each instance of the test set which is used to evaluate the performance of the classifier. We consider five classifiers in our study: Support Vector Machines (SVM), k-Nearest Neighbor (k-NN), Naïve Bayes, Random Forest (RF) and Artificial Neural Network (ANN).

We use SVM in our study to discover potential spatial relationships throughout the feature sets. A library LibSVM is used using Java language in the ECLIPSE environment for this purpose.

The classification process of the k-NN works by selecting a feature vector V in the training set \(T_V\) and then assigning a label to the feature vector based on the majority vote of its k nearest neighbors. When the parameter value of k is equal to 1, it means that the feature vector V will be assigned the class of its nearest neighbor, but if the value of k is equal to 3 or more, the feature vector will be assigned the class of the most common neighbors. The selection of the value of k is a critical issue and can significantly influence the decision made by algorithm. Since no standard method exists for the determination of k, we select the value of k experimentally by evaluating the performance of the classification technique over different values of k. The performance of k-NN over different values of k is shown in Fig. 8. The accuracy of k-NN gradually decreases when the value of k increases as evident from Fig. 8. The value of k for k-NN was optimized on separate training datasets.

Fig. 8
figure 8

Performance of k-NN over different values of k

In our problem, Naïve Bayes classifier was introduced in order to reflect the stochastic nature of the environment where the training set was built.

Moreover, we used a three-layered feed-forward Artificial Neural Network for the classification of the bowling action. The input layer is composed of as many neurons as the dimension of the input feature vector (10, after feature reduction). The hidden layer is composed of twelve neurons, while the output layer is composed of two neurons which are equal to the number of output classes. We have an additional neuron in both the input and hidden layers with a bias value of 1. The neurons in the output layer can take any value between 0 and 1. The target output for a neuron for an input feature vector V is 1 when it belongs to that class and 0 for the other neuron.

4 Results and discussion

We developed a Java desktop application that facilitates in making a dataset and save the incoming data in a log file. The data collection process obtains the data from different subjects. As mentioned earlier, we mount the inertial sensor devices on the subject’s arm at three different places: \(P = \) {Wrist (w), Forearm (e), Upper arm (u)}. The inertial sensor device consists of two types of sensors: \(S = \) {Accelerometer (A), Gyroscope (G)}. The data is collected from 14 different subjects with ages ranging from 15 to 30 years, all of whom were males. The subjects were directed to bowl a series of deliveries in their regular style in both the legal and illegal ways: \(B = \) {Legal (L), Illegal (I)} and were not restricted to perform the activity in a certain way. The activity was carried out in a cricket ground with flat pitch. We collected the data from equal number of fast and medium-pace bowlers for both the visual and the boundary-line legal and illegal bowling actions under the supervision of expert cricketers. We made three datasets: simple, moderate, and complex. The simple dataset is composed of 100 instances of visually legal and illegal bowling actions, whereas the complex dataset is composed of 50 instances of boundary-line legal and illegal bowling actions. The moderate dataset is composed of 150 instance of both the simple and boundary-line legal and illegal bowling actions. The datasets strictly follow the rules dictated by the regulatory authority (ICC) and extreme care is taken that the arm extension angle is not violated.

We perform a baseline analysis to check how the alternative approaches would perform at this task. Without such a baseline, it is not possible to decide whether classifiers are useful. The baseline analysis also helps us in assessing the difficulty of the original problem. We calculate the correlation between the upper arm as well as forearm sensor. The correlation is one of the most useful and valued statistics. It is a single number between −1 and +1 that measures the strength and the direction of a relationship between two variables, with +1 being the highest indicating that the two variables are in a strong positive linear relationship, −1 being the lowest value indicating that the two variables are in a negative linear relationship, and 0 shows that there is no linear relationship between the two variables. If the correlation between the upper arm sensor and the lower arm sensor readings during the arm action is low, the bowling action is declared illegal and vice versa. For example, in Fig. 3a (Legal bowling delivery) the upper arm record and the forearm record are much correlated whereas in Fig. 3b (Suspected illegal delivery) the upper arm record and the forearm record are not correlated.

We perform the correlation analysis (represented as CA in Table 5) on all the three datasets and present the results obtained in Table 5. It seems that distinguishing the illegal bowling action is relatively difficult in comparison to the legal bowling action by correlation analysis. Based on a very preliminary examination of some of the illegal bowing actions that were classified as Legal by the correlation analysis, we found that the upper arm and the forearm have a positive relationship even in the case of phase shift (illegal bowling action) when chucking occurs resulting in a high value of correlation coefficient. Two such cases are shown in Fig. 9. This analysis provides us with a baseline for comparison with other techniques.

Fig. 9
figure 9

Incorrectly classified illegal bowling actions

The classification algorithms described in Sect. 3.7 are applied to the three cricket bowling datasets having different number of instances to build a computational model for the classification of bowling action. Each training set consists of unique feature vectors, and each one has the CFS selected features of the arm action data. Keeping the nature of experiments in view, we used leave-one-subject-out cross-validation (LOSOCV) approach to evaluate the performance of the classification techniques. The LOSOCV is mostly used for machine learning experiments that involves human subjects. The benefit of using LOSOCV over other validation techniques is the tendency to allow subject-to-subject variation by leaving out all observations from the same human subject altogether in the cross-validation. Also the auto-correlation for in case of time series data involving a single subject makes the LOSOCV more appealing.

The proposed framework is applied on each test instance to process and classify each instance into legal or illegal action based on the model developed by the classifier on training dataset. The LOSOCV used input feature vectors from all subjects except one in the dataset for training and then the feature vectors of the excluded subject are used to test the performance of the classifier. Since the datasets contain multiple examples from a single test subject, we ensured that all of the examples from one test subject are in the same fold of test or training data thus developing a model which gives the best performance on unseen data. The process is repeated until each of the subject in the dataset is used exactly once to test the performance of the classifier. An average accuracy is calculated for all the train-test repetitions and are given in Tables 4 and 5. We have used multiple bowling action datasets in order to show robustness of the proposed system and to give representative results when applied to different kinds of bowling action datasets.

Table 4 shows the comparison of correct differentiation rates (accuracy) along with standard deviation (SD), recall, precision and F-measure of the classification techniques before feature selection. A significant improvement is observed in the performance of the classifiers when feature selection is performed as shown in Table 5. Tables 4 and 5 depict that the classification performed on 21 features is better than the original 126 features. For example, the accuracy of k-NN in simple dataset (before feature selection: \(94 \pm 3.45\), after feature selection: \(98.50 \pm 0.70\)), moderate dataset (before feature selection: \(87.67 \pm 4.10\), after feature selection: 91.50 ± 3.10) and complex dataset (before feature selection: 72.50 ± 5.35, after feature selection: 79.67 ± 4.65) has been improved with feature selection. It can be observed from Table 5 that the highest accuracy is achieved by all of the algorithms when applied to simple dataset. The proposed system produces significant results with an acceptable accuracy with the moderate and complex datasets as well.

As evident from the results presented in Table 5, all of the algorithms were able to improve the results obtained with the baseline approach for all of the data sets. The best classification is performed by k-NN and SVM which outperform other classifiers. The comparison of the results show that SVM and k-NN give a consistent performance for all of the three datasets whereas they perform relatively worse in case of complex data. It can be observed from Table 5 that

Table 4 Performance evaluation of different classification techniques before feature selection
Table 5 Performance evaluation of different classification techniques after feature selection

A significance test is performed in order to ascertain the significance of the difference in the accuracy of the algorithms. In Machine Learning, a significance test is often performed between two algorithms to support the claim that one algorithm generalizes better than the other (Nadeau and Bengio 2003). We run Corrected Paired T test over the data to check the significance of the difference between the performance of various algorithms that we tested for classification. We prefer to use the Corrected Paired T test for the significance test rather than the Paired T test because the latter does not assume any dependency between the attributes, which often leads to high errors. We get the following findings based on the percentage correct score assigned by the Corrected Paired T test with a 5% significance level when applied to simple, moderate and complex datasets respectively.

$$\begin{aligned}&\{ANN,~k-NN,~SVM,~RF\}> \{CA\}\\&\quad \{ANN,~SVM,~k-NN\}> \{RF,~NB\}> \{CA\}\\&\quad \{SVM,~k-NN\}> \{RF,~ANN\}> \{NB\} > \{CA\} \end{aligned}$$

where “>” indicates that the classifier on the left-hand side provides better generalization and that it is significantly better than the classifier on the right-hand side, whereas the classifier within the same “{}” indicates no significant statistical difference between their results.

The classification techniques applied in our study show a good rate of classification for both legal and illegal bowling actions, with some classifiers showing a small error while classifying the illegal bowling action, as evident from the recall of k-NN and SVM in Table 5. This is because some of the illegal bowling actions tend to give a big phase shift in the data signal, whereas some give a very small variation from the normal. The k-NN algorithm has some limitations such as it requires a lot of storage space and is also computationally expensive. On the other hand, SVM had acceptable accuracy, speed and also requires less training time. One of the most important observations which can be drawn from Table 5 is that significantly good results with higher accuracy are produced when we use joint sensor’s data (upper arm, forearm, and wrist), as compared to the work done by Saad et al. (Qaisar et al. 2013) in which case separate datasets of upper arm, forearm and wrist were used giving an average accuracy of 90%.

Accuracy is also highly dependent on the training dataset and the placement of the sensors. The sensors should be placed at the right point on the bowler’s arm and care has to be taken that the bowlers follow the ICC rules for legal bowling action while collecting the data. The more accurate the training data, the higher are the chances of correct classification.

The choice of different parameters affects the performance of the model. Enhancing the performance of a model is a challenging task. It is important to gain the domain knowledge first and spend much time analysing the given problem. Some of the methods that help us in improving the model performance are treating outlier and missing values, profiling, feature extraction and selection, applying multiple algorithms and algorithm tuning. All of the methods except algorithm tuning are discussed previously in the paper. The algorithm tuning refers to selecting the best parameters of the algorithm. These parameters strongly influence the outcome of the learning process. For example, in k-NN, we try different values of k’s in our model and noted the output of the model as we vary k as shown in Fig. 8. We also fine tune the distance metric of k-NN which determines the neighbor in order to classify an instance of a dataset. Let us consider SVM as another example. SVM adjusts the classification parameters by using the training data since it requires an initial learning phase. One of the main parameters to tune is the selection of the kernel type. We selected radial basis function(RBF) for the kernel to perform classification. This is one way of doing this; there are several other methods to fine tune the algorithms and increase the accuracy of a model. However, this is not the main focus of this paper.

5 Evaluation

We used SVM during evaluation of the proposed system. SVM is a machine learning classifier widely used for classification and regression analysis problems. Support Vector Machine was first presented by Cortes and Vapnik (1995). SVM is basically a supervised learning model that has the ability to recognize patterns and analyze data with the help of the associated learning algorithms. SVM was initially proposed for binary classification only, but later it was adjusted for addressing multi-class problems also. For a binary classification task, SVM represents the feature vectors on a plane in order to make it linearly separable. Each instance on the plane is associated to one of the two classes i.e. positive or negative by introducing a separation gap between them. The unknown instances are classified based on the side of the gap they fall on. The dimension of the resulting space is sometimes greater than the original plane. The space is defined by a weight vector w and a bias b. SVM can work as a non-linear classifier in addition to linear classification, using kernel methods to map the feature vector into a sufficiently higher dimensional space where the data is made separable by a hyperplane (Altun et al. 2010). The following rule is used by the SVM to classify an unknown instance (Bashir et al. 2015):

$$\begin{aligned}&cr(f(v,w,b)) \end{aligned}$$
(9)
$$\begin{aligned}&f(v,w,b) =\, \langle w.x \rangle +~b \end{aligned}$$
(10)

where v denotes the instance to be classified and f(w,b) represents the space constructed by hyperplane.

In order to evaluate the proposed system, we use an unseen test set that helps us to assess the effectiveness of the system and to fine tune our parameters. The unseen test set consists of 30 instances that are collected from various cricket bowlers in real time in the presence of a panel of expert cricketers according to the mechanism discussed in Sect. 4. Each instance of the test set was provided to the system for classification, and the results were recorded. The panel of expert cricketers provided their feedback on each instance of the bowling action. The decision provided by the panel of cricketers was matched with the decision provided by the proposed system in order to calculate the accuracy of the system. The confusion matrix obtained as a result of the decisions provided by the panel and the proposed system is shown in Table 6.

Table 6 Confusion matrix for evaluation of proposed system

The confusion matrix shows a high level of agreement between the panel’s decisions and those of the proposed system. The main reason behind a different decision provided by the system is the presence of the outlier values in some attributes of the system. The process is shown in the case analysis provided next for some representative bowling actions with visual inspection of the data generated during the action profiling phase.

Case 1: the arm was rotated rigidly in an ideal way by the bowler during the bowling action. Both the panel and proposed system predicted the bowling action as Legal. The visual output of the bowling action’s data for forearm and upper arm displayed in Fig. 10 also confirms the rigid movement of the arm. When the arm is kept rigid during the bowling action, the sensor output for the upper arm and the forearm is closely aligned.

Fig. 10
figure 10

Rigid movement of the bowling arm during bowling action

Case 2: the arm was extended by the bowler during the bowling action. The extension in the arm occurs just before the ball release point. The panel predicted the bowling action as Illegal. The proposed system also classifies the bowling action as Illegal. The deviation in the sensor’s output of the upper arm and forearm at the ball release point is shown in Fig. 11.

Fig. 11
figure 11

Extension in the bowling arm before ball release point

Case 3: the arm was extended in an acceptable way by the bowler during the bowling action such that the extension remains less than 15\(^\circ \) of the arm angle. The panel predicted the bowling action as Legal. The proposed system also classifies the bowling action as Legal. The little deviation in the sensor’s output for the forearm and the upper arm displayed in Fig. 12 is an evidence of the arm extension during the bowling action.

Fig. 12
figure 12

An acceptable extension in the bowling arm

Case 4: The arm was extended by the bowler during the bowling action at the start of the arm action and then flexed at the moment of the ball release. The panel predicted the bowling action as Illegal. The proposed system also classifies the bowling action as Illegal. The deviation in the sensor output of the upper arm and the forearm at the start of the arm action is shown in Fig. 13.

Fig. 13
figure 13

Extension in the bowling arm at the start of arm action

Case 5: The arm was extended by the bowler during the bowling action at the start of the arm action and the extension in the elbow was carried till the ball release. The panel predicted the bowling action as Illegal. However, the proposed system classifies the bowling action as Legal. The panel was able to observe the extension in the arm at the start of the arm action but the extension was not detected by the system since the angle was carried in a way giving the perception of a rigid arm movement. According to ICC, this bowling action is illegal. The visual output of the bowling action’s data for the forearm and the upper arm displayed in Fig. 14 clearly shows that the deviation started at the start of the arm action and was carried till the ball is released.

Fig. 14
figure 14

Extension in the bowling arm till ball release point

The results obtained during the validation phase are encouraging and reflect the effectiveness of the proposed system.

6 Application

We developed Cricket Bowling Legality Analysis (CiBLA) as a desktop application that streamlines the flow of information between the sensors mounted onto the bowler’s arm to collect important aspects of the arm movement. Both, the Graphical User Interface as well as the middleware, is implemented in Java language. Standard Widget Toolkit (SWT) is a widget library (providing text-boxes, drop-down menus, check-boxes etc.) that is used to build all of the user interfaces in our system. The Rich Client Platform (RCP) is used as part of the application development environment. It is basically a modular UI framework that integrates many lower level frameworks, including SWT to provide a workbench. The applications developed with RCP are compatible with many operating systems and greatly facilitate in the rapid development of client-side applications.

CiBLA can work in two different modes: training and detector. When the training mode is selected, it collects the sensors’ data samples in real time from the bowler’s arm at each position P where sensors are placed, performs action profiling of the data, crops the arm action window from the bowling action, extracts the statistical features \(F^{S}_P\) from each sensor axes to create a feature vector \(V^{AG}_P\) and gets the user input concerning the recently delivered bowling action to store the labeled feature vector \(\langle V^{AG}_P\), \(B \rangle \) in the training set \(T_V\). Finally, the classifier is trained over the standard training set to develop a reference model. In the detector mode, CiBLA works in the similar manner except that the legality of bowling action B is determined with the help of a reference model developed on stored knowledge. SVM is used as the classification algorithm in CiBLA since it gives the highest accuracy and speed as discussed in Sect. 4. The application visualizes the arm action data (after the events of interest are identified in the action profiling phase) in addition to the output class of the observation (legal, illegal) to show the extension in the arm action, indicating the deviation from the legal bowling action when the arm is not moved rigidly during the arm action as shown in Fig. 3.

7 Limitations

The system is presently going through further field testing. We seek international cricketing academies to work with us along-side their bio-mechanical experts to profile their legal and illegal bowling actions so that we can train our system with the defined system parameters. The system is currently limited to detect chucking only. Research needs to be carried out to measure the degree of deviation from the defined limits of legality by the ICC bowling law. The system should be able to determine the change in the angle between the upper arm and the lower arm about the elbow axis. It is evident that this is a tool that can be used on-field in real conditions to tackle suspected illegal bowling action as well as a coaching tool for amateur players to help them correct, improve and remodel their bowling action.

8 Conclusion and future work

In this paper, we have addressed the problem of detecting the legality of a bowling action in the game of cricket. For this purpose, we have introduced a mobile sports system that acquires data in real time from various inertial sensors mounted onto the bowler’s arm. We have proposed a novel technique for identifying and cropping the key events from the raw sensor reading. To achieve this target, we generated tags of the key events from the raw sensor data to group the corresponding data samples in a single window and provide a visual analysis to point out the relationship between different parts of the arm during the bowling action. We evaluated a number of feature extraction techniques, and based on our research, we figure out a set of features which are highly acceptable, both computationally and in terms of accuracy. We use CFS algorithm to reduce the dimensionality of the feature vectors by selecting only the most important features. Moreover, we have developed an innovative application that acquires real-time data from sensors and conducts the classification process using supervised machine learning. We have also demonstrated that the use of combined datasets obtained from multiple sensors’ placement (on the bowler’s arm) significantly improves the classification. A very high classification accuracy has been achieved as a result of the proposed system.

Future works include the development of a system classifying the spin bowling as well as the female bowlers’ bowling action. The accuracy of the system could may be further improved with other approaches such as Hidden Markov Model (HMM), SVM-struct or by implementing an ensemble of different classifiers with an insightful analysis by discussing the impact of the different features on accuracy. A possible extension includes the support to classify the harmful movements of bowlers during their bowling to prevent major injuries (hamstring strain, shoulder pain, sprained ankle etc.) which often occurs at a later stage of their professional career. The system can also be extended to other sports.