# Bag-of-Visual-Words for Cattle Identification from Muzzle Print Images
## 2 Related Work  
Cattle muzzle prints have received considerable research attention compared to the other animal biometric identifiers [26]. Some approaches for muzzle print images have been used for feature extraction and matching. A joint pixel approach of skin grooves was utilized by [PERSON] et al. [19] as a key feature for muzzle print matching. This approach achieved matching scores of 60% and 12%. A database of 170 images collected from 43 animals was used, and 13 samples were excluded due to a feature extraction failure. The rest of the database was matched against itself. Twenty animals were correctly identified with 66.6 % total accuracy. [PERSON] and [PERSON] [23] applied SURF and its variant, upright SURF (U-SURF), in cattle identification for extracting muzzle print image features. A database of 120 muzzle print images was collected from 8 animals (15 images of each animal). The main experimental scenario considered 10 muzzle print images for the training sample, while 5 images were used as testing samples. This method achieved 90% identification accuracy under rotation conditions. [PERSON] et al. [22] applied SIFT, followed by the random sample consensus (RANSAC) algorithm to improve the robustness of SIFT feature matching. The identification scenario considered a database of 105 muzzle print images collected from 15 cattle (7 muzzle print images from each animal). The 7 images of each animal were swapped between the enrollment and the identification phases and therefore a confusion matrix with a dimension of 105 \(\times\) 105 was created from the calculated similarity scores. The proposed SIFT with the RANSAC method achieved an identification accuracy of 93.3%. In Reference [27], a cattle classification approach was proposed based on utilizing multiclass support vector machines (SVMs) and texture features extracted by a box-counting scheme. Furthermore, a SIFT-based method combined with a matching refinement technique and orientation information was introduced by [PERSON] and [PERSON] [28]. The proposed refinement technique was evaluated against the SIFT features using a database of 160 muzzle prints collected from 20 cattle. The achieved accuracy was measured in terms of the equal error rate (EER), where SIFT achieved an EER of 0.0167, while the application of the refinement technique resulted in an EER of 0.0028. [PERSON] et al. [29] employed Weber's local descriptor (WLD) for feature extraction from muzzle print images combined with the AdaBoost classifier for developing a cattle identification system. The maximum obtained identification accuracy was 99% using a database of 217 muzzle print images from 31 animals. Recently, convolutional neural networks (CNNs) and deep learning (DL) methods have been introduced and used in many computer vision-related applications, achieving the most success in object detection, auto-driving and text-processing applications [30; 31; 32; 33]. Consequently, deep learning has gained attention in animal biometrics from some research groups [34; 35]. For instance, [PERSON] et al. [36] applied deep learning methods to bovine identification. The authors showed that the off-the-shelf networks have the ability to perform end-to-end individual identification from top-down images acquired by fixed cameras. To address the problem of swapped and missed animals as well as false insurance claims, [PERSON] et al. [37] introduced a DL-based approach for cattle identification using the primary patterns of muzzle print images. In this method, the well-known stacked denoising autoencoder scheme was utilized for encoding the extracted features of the muzzle point images. In Reference [38], a neural network and rolling skew histogram were fused for cow identification in the rotary milking parlor. [PERSON] et al. [39] proposed another automated method based on CNNs for the precise identification of dairy cows. Through the cross-validation of a training set and a test set, the recognition accuracy could reach 87% for a single image.