NB-NET – A Convolutional Neural Network based Classification Approach for Detecting Foot Overstep No Balls in Cricket
During the seventh match of the ongoing 12th season of the Indian Premier League between Royal Challengers Bangalore and Mumbai Indians at Bengaluru, Mumbai Indians defeated Royal Challengers Bangalore by 6 runs to register first win in IPL 2019.
In what was a nerve-wrenching match, it went down to the last ball. It was legendary batsman AB de Villiers who brought down the equation from 40 off 18 to 17 off the last over. Needing seven runs on the last ball, veteran bowler Lasith Malinga managed to win the match. However, once the match got over, replays confirmed that Malinga had bowled a front foot no-ball. With the umpire missing the same, there were some unhappy faces in the Bangalore camp.
“If this (the Malinga no-ball) had happened in the first, second or third overs of the game, I can tell you 100% surely that the umpire would have called it. The soil on the pitch becomes loose after a few overs. The line tends to go off even if it’s re-drawn. It’s too tough for the umpires to call no balls towards the end of the games. On a loose turf, when the bowler keeps landing on the pitch, the line doesn’t stay. From side view, we’ll see the line because it’s a two-dimensional image, and sometimes the lines are clearer outside the turf so the viewer thinks it’s there. There will be a parallax error.” – Says Hariharan, Former ICC Veteran Umpire
Cricket is a worldwide popular game where a single delivery can change the fate of the game. Every delivery is counted as a crucial moment for both teams. Umpires make the decisions regarding a no ball. Different technologies are being used to help the umpires to take their decisions. But often due to human perception, deciding whether a bowled delivery is a no ball or legal ball makes controversies. So, it is very important to make an accurate decision regarding a no ball Simultaneously, with advent and advances in Artificial Intelligence and Computer Vision, application of these two in different domains has become an emerging trend. Applying several computer vision techniques in analysing different Cricket events and automatically coming into decisions has become popular in recent days.
we have deployed a CNN based classification method with Resnet50 in order to automatically detect and differentiate foot overstepping no balls with fair balls. Our goal is to measure the probability of an image either it is a no-ball or not, to make the automated umpiring system and to eliminate the shortcoming of human perception.
Transfer learning uses the knowledge gained from solving one problem and apply it to another related problem. Facing the problem of collecting enough training data to rebuild models, transfer learning aims to transfer knowledge from a large dataset known as source domain to a smaller dataset named target domain. Either the feature spaces between domain data are different or the source tasks and the target tasks focus on different topics, boosting the performance of the target task.
Using the state-of-the-art deep learning techniques, we have devised a methodology to achieve our goal –
In our model to classify no-ball, we use images as input. Our input dataset contains images collected from google image search. The images are manually annotated and contain two classes: no ball and legal ball. We have used Keras and Tensorflow to build our model and generate results. Our model produces a score for both possible outcomes then each of them is converted to a probability by SoftMax.
All the collected images were resized, and the resolution of the images were enhanced using the techniques given below and were processed into the customized data augmentation pipeline. Some of the techniques used to enhance resolution of the image:
A] Contrast Limited Histogram Equalization (CLAHE)
B] Enhancing resolution of image using super resolution (OpenCV)
We have used Resnet50 as the classifying CNN as our model. In this step, we should keep the parameters of the previous layer, then remove the final layer and input our dataset to retrain the new last layer. The last layer of the model is trained by back propagation algorithm, and the cross-entropy cost function is used to synthesize the weight parameter by calculating the error between the output of the SoftMax layer and the label vector of the given test category.
To improve our results further we have used differential learning rates for the model layers. In the pretrained model, the layers closer to the input are more likely to have learned more general features. Thus, we don’t want to change them much. For these early layers, we set the LR to be very low. We increase the LR per layer gradually as we move deeper into the model.
To make the classification more robust and accurate we have used test time augmentation (TTA). Test Time Augmentation is to perform random modifications to the test images. Thus, instead of showing the regular, “clean” images, only once to the trained model, we will show it the augmented images several times. We will then average the predictions of each corresponding image and take that as our final prediction. This boost the results of the model at the testing time.
Using this model, we eliminated the shortcoming of Umpire’s perception to decide a overstep no-ball. Corresponding to many no ball detection approaches and applications, our approach is more effective and efficient.
References: