1 Introduction

Heavy metals are natural constituents of marine environments; however, their levels have been continuously rising in recent years due to geological weathering, various anthropogenic activities such as the discharge of agricultural, municipal and industrial wastes, and direct atmospheric deposition [13, 35]. Earlier researchers have found that there is an increase in the pollution of specific heavy metals in freshwater systems around the world, notably rivers. Industrial operations and trash have been the primary sources of pollution [22, 29]. Toxic metals have affected freshwater ecosystems all around the world [12, 44]. Many studies have been organised in the past to examine the effects of heavy metals on various fish species [10, 38]. These findings highlight the key necessity of monitoring heavy metal levels in fish species to improve freshwater ecosystems [24]. Heavy metals are known to have negative implications for human health when passing through the food chain [31]. Heavy metals can also cause histopathological abnormalities in the internal structure of the gills and brain [5]. The consumption of these heavy metal-intoxicated fish can cause detrimental hazards to human health [3]. As fish is a daily food for billions in the world, it is a huge challenge for the aquaculture industry to keep track of the quality of fish for safe human consumption [11]. Heavy metal toxicity has an negative impact on the fish quality [25].

Heavy metals can be propagated into fish either through the alimentary tract or through gills or skin [49]. Then, absorbed heavy metals are transported through the bloodstream of fish to other organs and tissues, where they get bioaccumulated [19]. The bioaccumulation of heavy metals like Cd, Pb, Cu, Fe, Zn, Mn, Hg, and As in fish occurs in the liver, gills, and skin tissues [41]. Lead, cadmium, mercury and arsenic heavy metals are the main threat to human health. The harmful effects of these heavy metals have been periodically reviewed by international bodies such as WHO [28]. These heavy metals also destroy the metabolic process in human beings [20]. Other risks such as cardiovascular disorders, renal damage, cancer and diabetes are also associated with drinking contaminated water [42].

In [14], the level of exposure to mercury (Hg), lead (Pb), and cadmium (Cd) in adult population was investigated. Mercury (Hg) was found to be present in high concentration in sea foods in comparison to other Heavy metals (Cd, Hg, and Pb). In another study, probable sources of heavy metal contamination in fish through bioaccumulation have been studied to evaluate possible human health risks. It was found that gills have a high concentration of heavy metals in collected fish samples [37]. A similar pattern of bioaccumulation was also found in different species of fish found in various regions of the world [56]. Since fishes are in direct contact with water, gills are more prone to bio-accumulation [43]. Therefore, gills are considered the main area of investigation for the present study.

The classical methods for the categorisation of heavy metals exposed fish are based on the chemical testing method such as inductively coupled plasma mass spectrometry (ICP-MS), Liquid chromatography-mass spectrometry (LC-MS), and High-Performance Liquid Chromatography (HPLC). Identification and detection of heavy metal contamination in fish is a challenging task and these conventional methods need several costly devices, chemicals, laboratories and expert manpower. These techniques are also highly time-consuming, costly, and destructive, since, the sample under chemical testing becomes unusable [8]. Hence, there exist a playing field to thrive into an automatic and non-invasive method for the identification of heavy metal exposure to fish.

The advent of artificial intelligence brings a huge transformation in research and development to provide intelligent assistance and decision-making [33, 51, 59]. Machine learning classifiers and convolutional neural networks (CNNs) have recently been used in the many applications of different domains such as object classification [30], medical image analysis [34], biology [2, 7], medicine [9], and bioinformatics [39]. CNN is one of the most popular models for image processing for two reasons: there is no need for manual analysis of the features. Another reason being the models acts as a feature extractor as well as a classifier.

In the proposed work, colour and texture-based features optimised with the genetic algorithm have been used for the classification of fish sample images. The performance obtained with the proposed color and texture features-based genetically optimised feature selection method has been compared with the transfer learning-based-deep feature extraction and classification method. The proposed method at first, segments the gill region using the customised K-means clustering algorithm, and then the color and texture features extracted from the segmented gill region were fused. The fused features were further optimised using the fitness function defined for the genetic algorithm. Finally, the final classification results obtained with the classical machine learning classifiers have been compared with the state-of-the-art transfer learning-based approach. Both methods have been compared extensively to different performance metrics to prove the effectiveness of the proposed former color texture feature-based method in comparison to the deep feature-based method. The main contributions made by the present work can be summarised as follows:

  1. (i)

    An automatic cost-effective and non-destructive machine learning-based methodology has been proposed for the categorisation of normal (non-exposed) and heavy metal exposed fish.

  2. (ii)

    Suitable color and texture features have been identified that discriminate the heavy metal-exposed and non-exposed fish.

  3. (iii)

    Extracted color texture features have been optimised using the genetic algorithm for better performance.

Though the scope of the present study is limited to the identification of mercury-heavy metal exposed fish identification it can be extended to other heavy metals as well.

The rest of the paper can be systematically studied in the following fashion: Section 2 briefs the most relevant related works. Section 3 explains the materials and methods used in the present work. Section 4 presents experimental results and carries out discussions on the experimental outcomes. Section 5 compares the present work with other related works. Finally, Section 6 concludes.

2 Related works

This section summarises some research and development of new techniques which has been used to assess the different aspects of fish related issues. For the detection of heavy metals in fish tissue, a microfluidic device-based colorimetric sensor device with a highly sensitive enzyme nanoprobe has been constructed. However, nanoprobes of this type had to be stored in certain settings to be preserved. Typical devices still rely on microscopes or other readout technologies, which are challenging to include in on-site portable tests. As a result, standalone systems must be developed using new technologies to enable the creation of practical analytical platforms [54]. Furthermore, numerous previous research studies have indicated trends towards sophisticated mercury sensors-based paradigm to the active participation of state-of-the-art artificial intelligence and machine learning-based systems [32].

Image processing techniques have widely been adopted in different studies to estimate the quality of fish and exposure to toxic elements. An image processing-based framework had been presented for the evaluation of the wholesomeness of a fish using wavelet features extracted from fish gills [17]. In another work, the freshness of a fish was evaluated by analysing the changes that took place in the colour of an eye and a gill tissue [16]. Various image processing-based methods were also summarised for the assessment of fish quality and freshness [15]. Computer vision-based techniques are also studied for the quality assessment of the fish exposed to pesticides [47]. A method for identifying heavy metal-exposed fish was designed with an image processing and machine learning techniques with gills tissue as the key region of interest (ROI). The AUC value for identifying metal-exposed fish using a classification tree range from 82% to 92% [53]. Evolutionary algorithms have also been used to find the optimal set of features [26]. Sengar et al. have used the image processing-based method to analyse the freshness of a fish. They have analysed the statistical features extracted from the fish skin tissue image in HSV (Hue, Saturation, Value) colour space [48]. Banwari et al. have used the fish eyes as a region of interest and established a relation between the eye colour and storage pattern of a fish to assess the freshness of the fish sample [4].

The present work proposes a color texture feature extraction-based method in which the extracted features are optimised genetically. The genetically optimised features present better generalisation and classification accuracy due to the small number of selected features. The performance of the proposed method has been compared and analysed with the transfer learning-based method.

3 Materials and methods

3.1 Experimentation details

Freshwater fish Channa punctatus were collected from the fish farm at Noida, Uttar Pradesh. C. punctatus, a freshwater fish belonging to the Channidae family, is also referred to as the snake-headed murrel. This fish is local to India and a few other nations in the region. Certain biological characteristics that distinguish the fish as an ideal model include a wider distribution range, sensitivity to environmental toxins, ease of transportation, and maintenance in laboratory settings [50]. The average weight of the fish was 20 ± 2.0 g and the average length was 12 ± 0.5 cm. All fishes were kept in the 100 L glass aquarium (10 fishes per aquarium) filled with dechlorinated water at room temperature for 15 days. LC50 (96 h), in case of, mercuric chloride was measured using Boyd’s method [6]. Post acclimatization, fish were distributed into two classes. The first class (100 fishes) was exposed to mercuric chloride (0.10 mg/l – sublethal dose), and the second class (100 fishes) was treated as a control without any metal exposure. Fishes in the exposed group were exposed to a sublethal dose of mercury for 15 days. To keep up the concentration of metal in tanks, water in the tank was renewed daily. Water quality parameters like temperature pH and dissolved oxygen were maintained at 24 ± 2o C, 7.5 ± 0.1 and 5.5 ± 0.2 mg/L, respectively.

Fishes were anaesthetized by immersing in the solution of tricaine methane sulphonate (MS 222) (25 mg/l) for 3–5 minutes after 15 days of metal exposure. Post-acquisition of the image of fish gill, fish were dissected to preserve liver tissue for mercury estimation. 100 mg of liver tissue was exposed to 1 ml of concentrated nitric acid (water dilluted) at 80o C for an hour. Perkin Elmer AA800 (Atomic Absorption Spectrophotometer) was deployed to estimate the presence of Hg in liver. Table 1 shows precisely the concentration of metal in the liver of fish exposed to mercuric chloride for 15 days.

Table 1 Bioaccumulation of heavy metals in the liver of fish

3.1.1 Image acquisition

The 20.2. MP (megapixel) Canon IXUS 285HS digital camera has been used to capture the fish sample images. The camera has been hung from the roof of a wooden box of dimension 100X120X100 (in centimetres) and placed at a distance of 8 cm from the fish specimen. The box has been illumination with four CFLs (25 W), three tube lights each of 9 W and three LED (Light-emitting diodes) lamps (18 W) placed at a 45-degree angle to uniformly illuminate the fish sample placed under them. The acquired sample image is of size 3885X5814 pixels. The schematic representation of the image acquisition setup has been shown in Fig. 1.

Fig. 1
figure 1

The schematic representation of the fish sample image acquisition setup

3.2 Proposed methodology

The proposed methodology consists of the following steps: (i) Acquisition of fish-sample image (ii) Segmentation of the Region of Interest i.e., gill (iii) feature extraction (iv) Classification of heavy-metal exposed and non-exposed fish using genetically optimised color texture features. The proposed methodology for the current proposed work has been presented using Fig. 2. In stage I, the collected fish samples are first categorised into two groups – The exposed group and the control group. Then, images of these fish samples were passed through various image processing operations like color space conversion and clustering to segment out the gill region in stage II. In stage III, the color and textural features drawn out from the segmented gill image are given to the classifier after selecting the optimised features using a genetic algorithm. In stage IV, these extracted features are given as input to different classifiers and these classifiers after subsequent training are used for testing unseen test samples to check the efficacy of the proposed classification approaches.

Fig. 2
figure 2

Block diagram of the proposed methodology

3.2.1 Fish gill segmentation

Gill is a red-coloured respiratory organ in the fish through which blood flows directly. The colour of the fish gills varies physically, and these changes yield discriminatory characteristics, which were exploited in the proposed work. Because the proposed work involves image analysis, parameters that are easily detectable using computer vision techniques should be chosen. As a result, the gills were chosen as the region of interest in the suggested technique.

An input fish image is being analysed in different colour models for segmentation of the gill as a Region of Interest with better visibility. YCbCr color model has been used for input image processing the reason for choosing the YCbCr color model has also been described in the next subsection.

YCbCr color model

The fish image acquired from the camera is in the RGB (red green and blue) color format. The RGB color model is not appropriate for gill segmentation because this model does not work well for color-based detection as this model mixes the color (chrominance) and intensity (luminance) information present in an input image. Further, after converting the input image from RGB to the YCbCr color model, it was observed that the chrominance component of the YCbCr color model represents the marked similarity between the gills of different fish samples which can be used to distinguish the gill region from the rest of the fish body. Another reason, for selecting the YCbCr model is that the YCbCr model works well in medium light conditions. The mathematical model for the conversion of the RGB model to the YCbCr model is performed using Eq. (1) as follows:

$$ \left[\ \begin{array}{c}Y\\ {}{C}_b\\ {}{C}_r\end{array}\ \right]=\left[\ \begin{array}{ccc}0.257& 0.504& 0.098\\ {}-0.148& -0.219& 0.439\\ {}0.439& -0.368& -0.071\end{array}\ \right]\left[\ \begin{array}{c}R\\ {}G\\ {}B\end{array}\ \right]+\left[\ \begin{array}{c}16\\ {}128\\ {}128\end{array}\ \right] $$
(1)

When an image in the RGB color model is transformed into the YCbCr color model, the resultant image consists of an intensity component (Y) and chrominance components (Cb and Cr). Figure 3 visualises the R, G and B component images for the RGB color model and the Y, Cb and Cr component images for the YCbCr color model for a randomly chosen fish sample image. It can be visualised from Fig. 3 that for the given sample image the gill region is most highlighted in the Cr component image; therefore, it is the best-suited component for the segmentation of the gill area using the proposed segmentation algorithm.

Fig. 3
figure 3

Visualisation of an image of individual components of the RGB color model (first row) and YCbCr color model (second row)

The proposed segmentation algorithm

The YCbCr color model also provides better color clustering performance. Therefore, after selecting the Cr plane image center initialised K-means clustering algorithm is used to segment the pre-processed chrominance channel gill image. The proposed algorithm converges faster in comparison to the random initialisation of the center-based approach.

Input: A Chrominance (Cr) component image of YCbCr model.

Procedure:

Pre-set the total number of clusters (k = 4) and choose their values in such a manner, that the entire range of grey scale is divided into five equal parts so that it is equally spaced over the entire range of grey levels in an image. Now measure the euclidean distance between the cluster centres and the rest of the pixel values present in an image using Eq. (2).

$$ {d}_{x,y}=f\left(x,y\right)-{c}_k $$
(2)

where, dx, y is the distance of the pixel at coordinates x and y from the kth cluster centre ck.

Assign pixel to cluster which is nearest to that pixel based on Euclidean distance d from the cluster centre ck. After assigning all the pixels to their nearest cluster, cluster centres are recalculated using the relation using Eq. (3):

$$ {c}_k=\frac{\sum_{i=1}^n{f}_i\left(x,y\right)}{n} $$
(3)

where, n denotes total number of pixels in a cluster centred around ck. Repeat the last three steps till the cluster centres stop changing their positions.

Output: Segmented image.

The image formed by the fourth cluster is chosen for morphological post-processing, where hole-filling and area-based object selection procedure is used to remove the noise. The segmented gill images obtained after applying the proposed segmentation algorithm is shown in Fig. 4 which shows the good extraction of ROI for a given input image.

Fig. 4
figure 4

The output of the fish gill segmentation (a) Displays the original colour images and (b) Highlights the segmented region of the fish gill (in yellow)

Post segmentation the features are extracted from the gill region using color and texture features.

3.2.2 Suitable feature representation for segmented gill image

The discriminative features are drawn out from the segmented gill region of the fish sample by giving the segmented gill image as input to the proposed feature extraction procedure. Suitable color and texture features were extracted and further optimised for better performance using a genetic algorithm.

The proposed feature extraction process

Many studies have validated the change in colour and physical parameters of fish and their organs due to exposure to heavy metals [21, 36, 40, 45, 57, 58]. Since the accumulation of heavy metal residues occurs in fish gills, therefore, it may bring changes to the color and texture features of the heavy-metal exposed fish gills. It was observed during experiments that neither color nor texture features can individually classify the fish samples in the control and experimental group with high accuracy, therefore the combination of color and texture features has been used to classify the fish samples in the control and metal-exposed class.

In the present work, color features have been extracted using the first two-colour moments, i.e., the mean and standard deviation. The color-moments represent the distribution of color in an image. The color moments have been extracted from the red channel of the RGB (Red-Green-Blue) color model, the hue channel of the HSI (Hue-Saturation-Intensity) color model and the chrominance (Cr) channel of the YCbCr color model. The reason for choosing these channels is the dominance of red color in the image of the segmented fish-gill region. The mean and standard deviation can be calculated from each of the channels using Eq. (4) and (5) respectively.

$$ mean=\frac{1}{mn}{\sum}_{i=1}^{i=m}{\sum}_{j=1}^{j=n}{f}_{ij} $$
(4)
$$ Std. dev=\sqrt{\frac{\sum_{i=1}^{i=m}{\sum}_{j=1}^{j=n}{\left({f}_{ij}- mean\right)}^2}{\left(m-1\right)\left(n-1\right)}} $$
(5)

where, fij is the pixel intensity at ith row and jth column and mean is the average intensity value of a 2D image having m rows and n columns. The texture features from the segmented region are extracted using the Local Binary Pattern (LBP). The calculation of LBP code for a specific pixel is performed using Eq. (6):

$$ \kern0.5em LB{P}_{N,R}\left({f}_c\right)={\sum}_{N=0}^{N-1}g\left({f}_N-{f}_c\right).{2}^n $$
(6)

where, fc is the value of the central pixel and fN (N = 0, 1, 2, …N − 1) is the value of pixels located at the neighbourhood of radius R and N is the number of sampled neighbours. And g(x) = 1 for x >  = 0, otherwise,g(x) = 0. In this work, uniform LBP pattern [60] has been utilised since it reduces the size of the feature vector by only selecting those patterns which have a limited number (<=2) of bit transitions from 0 to 1 or 1 to 0 and grouping all non-uniform patterns (no. of transitions>2) into a single category. The uniform patterns are approximately accounted for 80% of the patterns present in any texture image [60]. With N (=8) neighbourhood pixels total N*(N-1) +2 (=58) different uniform bit patterns are possible. The transformation from simple LBP to uniform LBP is implemented using a lookup table having 2N entries mapping 58 different bit patterns. All uniform patterns have been shown in Fig. 5. All patterns in one row, as shown in Fig. 5, can be normalised to single pattern, therefore, total 9 patterns are possible after converting uniform patterns into rotation invariant LBP operator, denoted by LBPriu.

Fig. 5
figure 5

Different uniform local binary patterns formed for #Neighbor = 8, radius = 1

Thus, the total number of features in case of uniform LBP and rotation invariant LBP patterns when combined with the proposed color descriptors were 64 and 15 respectively. Since a large number of features affects the performance of a classifier due to the curse of dimensionality and may also result in overfitting. Therefore, the selection of highly discriminatory features is of utmost importance as it will not only reduce the complexity of a classifier but it will also improve its accuracy.

3.2.3 Feature selection using genetic algorithm

The most discriminatory features were selected using the genetic algorithm. Binary encoding has been used to encode the features. The features are selected based on the fitness measure defined for the genetic algorithm. The fitness measure used for the genetic algorithm is defined using Eq. (7):

$$ \mathit{\cos}{t}_i={w}_1\ast error\ \left({z}_i\right)+{w}_2\ast {r}_f $$
(7)

where, w1 and w2 are the weightage assign to the component of Eq. (7). These value for these weightages ranging from 0 to 1; whereas, w2 = w1 − 1 ; rf is the ratio of the length of the selected feature to the total number of features; costi is a cost function of ith selected feature for a given classifier; Cost function has two sub-component: first part of the cost function represents the weighted classification accuracy of a classifier on ith selected feature subset (chromosome) represented by zi and the second part of the Eq. (7) represents the weighted ratio of the length of selected feature. Generally, w1 can vary from 0.75 to 1 based on user requirements. If accuracy is more important than feature reduction then w1 is given more weightage than w2. The value of w1 = 0.80 and w2 = 0.20 is used for experiments in the proposed work.

3.2.4 Framework for classification

The extracted-reduced features from the earlier two approaches were used to train different machine learning classifiers; the training parameters for these classifiers are shown in Table 2.

Table 2 Training parameters of different classifiers

4 Experimental results

In this work, NVIDIA Tesla K40 GPU (12 GB RAM) has been used for execution purpose with implementation of all the methods on Python 3.5. Different performance metrics are used to assess the performance of the proposed method such as precision, recall, F1-score and AUC (Area under the curve). The experimental results for the proposed method have been presented in section 4.1 and the experimental results obtained with the transfer learning-based method have been presented in section 4.2.

4.1 Classification performance of the proposed genetically optimised color texture features-based approach

This section describes the experimental results obtained from the training of a classifier with hand-crafted color and texture features and the improvement in classifier performance before and after the selection of features using a genetic algorithm.

Table 3 represents the total number of features before and after feature selection using a genetic algorithm and the corresponding accuracy of the prediction of the classifier. It can be analysed from Table 3 that the accuracy of SVM and Random Forest classifiers improves with a significant reduction in several features. Among all the classifiers Random Forest performs well in terms of accuracy.

Table 3 Feature selected by genetic algorithm for different classifiers and the accuracy of a classifier with selected features

After applying the genetic algorithm and selection of discriminatory features, the average performance metrics of the trained SVM classifier such as recall, precision, F-score and accuracy are evaluated using a five-fold cross-validation technique for the proposed method have been shown in Table 4. The Random Forest classifier performs the best among other mentioned classifiers with an AUC score of 0.98 while the Neural Network classifier performance is the worst and achieved an AUC score of 0.94.

Table 4 Performance measurement of classifiers with feature selection

The average computation time is 1.34 seconds for processing each image using the proposed methodology. Figure 6 shows the mean ROC curve for the 5-folds for different classifiers before and after the selection of features. It can be analysed from the ROC curves of the classifier that the performance of the classifier gets improved for all the classifiers except Neural Network.

Fig. 6
figure 6

Mean ROC curve for 5-folds of the classifiers before and after features selection for different classifiers (a) SVM (b) Neural Network (c) Random Forest

A comparison between the classification performance of the SVM classifier obtained with different LBP descriptors when these features were combined with the proposed color descriptors has also been made and presented in Table 5. The number of features pre and post-selection and the corresponding classification accuracy obtained with each LBP-based descriptor has also been presented in Table 5.

Table 5 Classification performance obtained with different LBP descriptors and the number of selected features

It can be analysed from the Table 5 that rotation invariant LBP has given better performance in comparison to other LBP descriptors.

4.2 Comparison of the proposed method with the transfer learning-based approach

Pre-trained deep CNN models such as VGG16 [52], Resnet50 [23], Inception v3 [55], Mobilenet [18] are used for feature extraction. The last convolution layer of different pre-trained deep CNN models is used to draw out feature maps from an input image (RGB format) of size 224 × 224 × 3. Before drawing out the features from the gill, it is segmented out. These feature maps were further given as an input to the global average pooling (GAP) layer to obtain concise global representation of the features present in an input image. The output of the GAP layer is used to train SVM classifier for discriminating heavy-metal exposed and non-exposed fish.

4.2.1 Classification performance of the transfer learnt SVM classifier

The average performance metrics of the SVM classifier trained with the features drawn out from the pre-trained CNNs for five-fold cross-validation have been shown in Table 6. As shown in Table 6, VGG16-based features outperforms with an average classification accuracy of 93.5% for SVM. The highest value of precision and recall was obtained with the features of the VGG16 model. The discriminability of features drawn out from different pre-trained models can be ranked based on the performance of SVM classifier as shown in Table 6.

Table 6 Performance metrics for SVM on features extracted from pre-trained deep CNN models

ROC curves for each of the 5 folds for trained SVM on features drawn out from the pre-trained model are shown in Fig. 7, where the mean area under the curve (AUC) was maximum for the VGG16 model whereas it was minimum for the Inception v3 model.

Fig. 7
figure 7

ROC curves for 5 folds on features extracted from (a) VGG16 (b) Resnet50 (c) Inception v3 (d) Mobilenet

The performance of SVM with the features drawn out from different pre-trained CNNs, is almost uninterpretable. Since these deep models were trained on the ImageNet dataset which consists of millions of images of almost 1000 categories it has nothing to do with the presence of heavy metal traces in the fish gills. Therefore, certain hand-crafted features were explored to establish a discrimination between the fish samples of exposed and non-exposed groups. The performance of machine learning models on these hand-crafted features is explained in the next subsection.

4.2.2 Visualisation of the learned features using saliency-based techniques

It has been investigated and attempted to visualise the learned features using a saliency-based method [46] as shown in Fig. 8. However, due to the drawback of saliency-based methods as highlighted in [1] that sometimes these methods work independently of features learnt by the model and simply work as an edge detector. The same observation has been made in our case as saliency-based techniques cannot highlight the salient regions in an input image and work only as an edge detector. The reason for this drawback is that the gradients are calculated only for the weights learnt by the model from the last convolution layer, not for the weights learnt by the model in all other convolution layers present in the CNN. As shown in Fig. 8 that the saliency-based method only highlights the edges of a gill region present in an image which may not be the case as the exposure of heavy metals to fish bring changes in the textural and color properties of its gill region which has also been established with the experimental results presented in section 5.2.

Fig. 8
figure 8

Visualisation of gradients of the last convolution layer for class score (GradCAM saliency method)

5 Comparison with the other similar approaches

The methods earlier developed for the fish quality assessment have been described in brief with the conclusion in Table 7 and also compared with the present proposed method.

Table 7 Comparison of state-of-the-art works and proposed work

6 Conclusions and future work

The present work successfully developed a machine-learning-based method for the categorisation of heavy metal exposed and non-exposed fish using the gill tissue of the fish as a region of interest. The proposed methodology has been analysed in multiple sets of configurations and techniques. The color and texture features extracted from the segmented gill region gives better discrimination ability in comparison to the features extracted from the transfer learnt deep features extracted from pre-trained deep convolution neural networks. The color texture features after optimising using genetic algorithm give better classification performance. The methodology proposed in the present work is easy to implement in that it can be used for the classification of heavy-metal exposed fish at a commercial scale with almost no incurred cost. Large image datasets related to the fish and the effect of other heavy metals will be analysed in future work to assess the impact of heavy metals in a more efficient manner.