A Deep CNN-Based Salinity and Freshwater Fish Identification and Classification Using Deep Learning and Machine Learning
Abstract
:1. Introduction
- The research focused primarily on collecting datasets on Bangladeshi freshwater and saltwater fish.
- The study outlines a multilevel classification pipeline using cutting-edge technologies, such as ML and DL. The first level of classification focuses on binary classification, determining whether a fish belongs to freshwater or salinity waters. After analyzing the fish categories, the system performs a multiclass classification in order to track the fish species.
- We also conducted numerous experiments on the trained models and enumerated the results accordingly.
2. Related Works
3. Materials and Method
3.1. Dataset Description
3.2. Proposed Method
Algorithm 1. Overall proposed pipeline and working principles |
Input: Fish images captured via Android phones. |
Output: Fish identification: freshwater/salinity water and species classification. |
1. BEGIN |
2. // Step 1: Image Acquisition |
3. Input: fish_images[] = Capture images using Android phones |
4. |
5. // Step 2: Image Preprocessing |
6. FOR each image in fish_images[] DO |
7. preprocessed_image = ApplyFiltering(image) |
8. Load(preprocessed_image) |
9. END FOR |
10. |
11. // Step 3: Feature Extraction using CNN Models |
12. features[] = [] |
13. cnn_models[] = {DenseNet121, EfficientNetB0, InceptionV3, ResNet50, VGG16, VGG19, Xception} |
14. |
15. FOR each model IN cnn_models[] DO |
16. FOR each preprocessed_image IN fish_images[] DO |
17. feature_vector = ExtractFeatures(model, preprocessed_image) |
18. Append(features[], feature_vector) |
19. END FOR |
20. END FOR |
21. |
22. // Step 4: Store and Merge Features |
23. Save features[] AS CSV |
24. merged_features[] = MergeFeaturesByClass(features[]) |
25. |
26. // Step 5: Multilevel Classification |
27. // Level 1: Binary Classification (Freshwater/Salinity) |
28. binary_classifiers[] = {SVC, RF, DT, GNB, XGB, LR} |
29. binary_results[] = [] |
30. |
31. FOR each classifier IN binary_classifiers[] DO |
32. result = ClassifyBinary(classifier, merged_features[]) |
33. Append(binary_results[], result) |
34. END FOR |
35. |
36. // Level 2: Multiclass Classification (Freshwater: 08, Salty water: 05) |
37. multiclass_results[] = [] |
38. |
39. FOR each classifier IN binary_classifiers[] DO |
40. result = ClassifyMulticlass(classifier, merged_features[]) |
41. Append(multiclass_results[], result) |
42. END FOR |
43. |
44. // Step 6: Output Results |
45. Output: binary_results[], multiclass_results[] |
46. END |
4. Experimental Outcomes
4.1. Experimental Results on Fish Indentifcation
4.2. Multiclass Classification of Fish Species
4.2.1. Eight Freshwater Fish Classifications
4.2.2. Five Salinity Fish Classifications
4.3. Comprehensive Analysis of the Current Work
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Majumder, A.; Rajbongshi, A.; Rahman, M.; Biswas, A.A. Local Freshwater Fish Recognition Using Different CNN Architectures with Transfer Learning. Int. J. Adv. Sci. Eng. Inf. Technol. 2021, 11, 1078–1083. [Google Scholar] [CrossRef]
- Bangladesh, I. Red List of Bangladesh Volume 5: Freshwater Fishes; IUCN, International Union for Conservation of Nature, Bangladesh Country Office: Dhaka, Bangladesh, 2015; Volume 16, p. 360. [Google Scholar]
- Usmanova, A.; Aziz, A.; Rakhmonov, D.; Osamy, W. Utilities of Artificial Intelligence in Poverty Prediction: A Review. Sustainability 2022, 14, 14238. [Google Scholar] [CrossRef]
- Shamsuzzaman, M.M.; Islam, M.M.; Tania, N.J.; Abdullah Al-Mamun, M.; Barman, P.P.; Xu, X. Fisheries resources of Bangladesh: Present status and future direction. Aquac. Fish. 2017, 2, 145–156. [Google Scholar] [CrossRef]
- Habib, K.A.; Islam, M.J. An updated checklist of Marine Fishes of Bangladesh. Bangladesh J. Fish. 2020, 32, 357–367. [Google Scholar] [CrossRef]
- Khan, M.A.G.; Galib, S.M.; Hasnath, M.; Mia, M.R.; Kibria, R. Exotic fish and decreasing habitats vis-à-vis conservation of freshwater fish biodiversity of Bangladesh. J. Fish. 2022, 10, 101301. [Google Scholar] [CrossRef]
- Timoti’s. The Difference Between Saltwater and Freshwater Fish. 23 September 2021. Available online: http://www.timotis.com/news-1/saltwater-freshwater-fish-real-differences (accessed on 15 April 2024).
- Sharmin, I.; Islam, N.F.; Jahan, I.; Joye, T.A.; Rahman, R.; Habib, T. Machine vision based local fish recognition. SN Appl. Sci. 2019, 1, 1529. [Google Scholar] [CrossRef]
- Fanning, L.P.; Chowdhury, S.R.; Uddin, M.S.; Al-Mamun, M.A. Marine Fisheries Survey Reports and Stock Assessment 2019; Department of Fisheries, Government of Bangladesh: Dhaka, Bangladesh, 2019. [Google Scholar]
- List of Marine Fishes Reported from Bangladesh. 24 October 2019. Available online: https://www.fishbase.se/country/CountryChecklist.php?showAll=yes&c_code=050&vhabitat=saltwater (accessed on 29 April 2024).
- Sumaila, U.R.; Cheung, W.W. Boom or Bust: The Future of Fish in the South China Sea; University of British Columbia: Vancouver, BC, Canada, 2015. [Google Scholar]
- Haghshenas, E.; Gholamalifard, M.; Mahmoudi, N.; Kutser, T. Developing a GIS-Based Decision Rule for Sustainable Marine Aquaculture Site Selection: An Application of the Ordered Weighted Average Procedure. Sustainability 2021, 13, 2672. [Google Scholar] [CrossRef]
- Ruiz, D.P.; Flores, M.L.; Silva, G.P.; Ibrahim, M. Single Valued Neutrosophic Sets Approach for Assessment Wind Power Plant. Int. J. Neutrosophic Sci. 2024, 23, 205–215. [Google Scholar] [CrossRef]
- Rahman, L.F.; Marufuzzaman, M.; Alam, L.; Bari, A.; Sumaila, U.R.; Sidek, L.M. Developing an Ensembled Machine Learning Prediction Model for Marine Fish and Aquaculture Production. Sustainability 2021, 13, 9124. [Google Scholar] [CrossRef]
- van der Sleen, P.; Albert, J.S. Patterns in freshwater fish diversity. Ref. Modul. Earth Syst. Environ. Sci. 2022, 26, 894–907. [Google Scholar]
- Maitland, P.S. The conservation of freshwater fish: Past and present experience. Biol. Conserv. 1995, 72, 259–270. [Google Scholar] [CrossRef]
- Jelks, H.L.; Walsh, S.J.; Burkhead, N.M.; Contreras-Balderas, S.; Diaz-Pardo, E.; Hendrickson, D.A.; Lyons, J.; Mandrak, N.E.; McCormick, F.; Nelson, J.S.; et al. Conservation Status of Imperiled North American Freshwater and Diadromous Fishes. Fisheries 2008, 33, 372–407. [Google Scholar] [CrossRef]
- Gupta, A.; Bringsdal, E.; Knausgård, K.M.; Goodwin, M. Accurate Wound and Lice Detection in Atlantic Salmon Fish Using a Convolutional Neural Network. Fishes 2022, 7, 345. [Google Scholar] [CrossRef]
- Gladju, J.; Kamalam, B.S.; Kanagaraj, A. Applications of data mining and machine learning framework in aquaculture and fisheries: A review. Smart Agric. Technol. 2022, 2, 100061. [Google Scholar] [CrossRef]
- Siddiqui, S.A.; Salman, A.; Malik, M.I.; Shafait, F.; Mian, A.; Shortis, M.R.; Harvey, E.S. Automatic fish species classification in underwater videos: Exploiting pre-trained deep neural network models to compensate for limited labelled data. ICES J. Mar. Sci. 2017, 75, 374–389. [Google Scholar] [CrossRef]
- Zang, X.; Yin, T.; Hou, Z.; Mueller, R.P.; Deng, Z.D.; Jacobson, P.T. Deep Learning for Automated Detection and Identification of Migrating American Eel Anguilla rostrata from Imaging Sonar Data. Remote Sens. 2021, 13, 2671. [Google Scholar] [CrossRef]
- Khan, F.F.; Li, X.; Temple, A.J.; Elhoseiny, M. FishNet: A Large-scale Dataset and Benchmark for Fish Recognition, Detection, and Functional Trait Prediction. In Proceedings of the IEEE/CVF International Conference on Computer Vision, Paris, France, 2–3 October 2023. [Google Scholar]
- Aronica, S.; Fontana, I.; Giacalone, G.; Bosco, G.L.; Rizzo, R.; Mazzola, S.; Basilone, G.; Ferreri, R.; Genovese, S.; Barra, M.; et al. Identifying small pelagic Mediterranean fish schools from acoustic and environmental data using optimized artificial neural networks. Ecol. Inform. 2019, 50, 149–161. [Google Scholar] [CrossRef]
- Kaya, V.; Akgül, I.; Tanir, Z. IsVoNet8: A Proposed Deep Learning Model for Classification of Some Fish Species. J. Agric. Sci. Bilim. Derg. 2023, 29, 298–307. [Google Scholar] [CrossRef]
- Zarantoniello, M.; Bortoletti, M.; Olivotto, I.; Ratti, S.; Poltronieri, C.; Negrato, E.; Caberlotto, S.; Radaelli, G.; Bertotto, D. Salinity, Temperature and Ammonia Acute Stress Response in Seabream (Sparus aurata) Juveniles: A Multidisciplinary Study. Animals 2021, 11, 97. [Google Scholar] [CrossRef]
- Robillard, A.J.; Trizna, M.G.; Ruiz-Tafur, M.; Panduro, E.L.D.; de Santana, C.D.; White, A.E.; Dikow, R.B.; Deichmann, J.L. Application of a deep learning image classifier for identification of Amazonian fishes. Ecol. Evol. 2023, 13, e9987. [Google Scholar] [CrossRef]
- Kandimalla, V.; Richard, M.; Smith, F.; Quirion, J.; Torgo, L.; Whidden, C. Automated Detection, Classification and Counting of Fish in Fish Passages With Deep Learning. Front. Mar. Sci. 2022, 8, 823173. [Google Scholar] [CrossRef]
- Deka, J.; Laskar, S.; Baklial, B. Automated Freshwater Fish Species Classification using Deep CNN. J. Inst. Eng. (India) Ser. B 2023, 104, 603–621. [Google Scholar] [CrossRef]
- Iqbal, M.A.; Wang, Z.; Ali, Z.A.; Riaz, S. Automatic Fish Species Classification Using Deep Convolutional Neural Networks. Wirel. Pers. Commun. 2019, 116, 1043–1053. [Google Scholar] [CrossRef]
- Srivastava, V. Classification of Fish Species Using Deep Learning Models. Master’s Thesis, NTNU, Trondheim, Norway, 2023. [Google Scholar]
- Banan, A.; Nasiri, A.; Taheri-Garavand, A. Deep learning-based appearance features extraction for automated carp species identification. Aquac. Eng. 2020, 89, 102053. [Google Scholar] [CrossRef]
- Rum, S.N.M.; Nawawi, F.A.Z. FishDeTec: A fish identification application using image recognition approach. Int. J. Adv. Comput. Sci. Appl. 2021, 12. [Google Scholar] [CrossRef]
- Suwarsito, S.; Mustafidah, H.; Pinandita, T.; Purnomo, P. Freshwater Fish Classification Based on Image Representation Using K-Nearest Neighbor Method. JUITA J. Inform. 2022, 10, 183–189. [Google Scholar] [CrossRef]
- Suharto, E.; Suhartono; Widodo, A.P.; Sarwoko, E.A. The use of mobilenet v1 for identifying various types of freshwater fish. J. Phys. Conf. Ser. 2020, 1524, 012105. [Google Scholar] [CrossRef]
- Rahman, W.; Islam, M.T.; Khan, M.R.; Rahman, M.M. BDFreshFish: A Comprehensive Image Dataset for Machine Learning Applications on Bangladeshi Freshwater Fishes. 10 January; 2024.
- Prasetyo, E.; Suciati, N.; Fatichah, C. Multi-level residual network VGGNet for fish species classification. 11 June; 2021.
SL No. | Scientific Name of the Fish | Category | Local Name of the Fish | Number of Amassed Images | Sample Images | ||
---|---|---|---|---|---|---|---|
Freshwater | Salinity | ||||||
01. | Anabus testudineus | √ | Koi | 100 | |||
02. | Batasio tengana | √ | Tengra | 125 | |||
03. | Channa puctata | √ | Taki | 112 | |||
04. | Heteropneustes fossilis | √ | Shing | 102 | |||
05. | Marcobrachium malcoimsonii | √ | Chingri | 105 | |||
06. | Mstacemblelus armatus | √ | Baim | 105 | |||
07. | Ompok bimaculatus | √ | Pabda | 105 | |||
08. | Puntius | √ | Puti | 100 | |||
09. | Nibea albiflora | √ | Poya Vola | 252 | |||
10. | Johnius trachycephalus | √ | Poya | 240 | |||
11. | Upeneus moluccensis | √ | Lal Koral | 577 | |||
12. | Rastrelliger faughni | √ | Macerel | 544 | |||
13. | Eleutheronema tetradactylum | √ | Tailla | 240 |
CNN-Based Feature Extractor | Classifiers | Avg. Accuracy (%) | Avg. Precision (%) | Avg. Recall (%) | Avg. F1-Score (%) |
---|---|---|---|---|---|
DenseNet121 | SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 |
RF | 1.0000 | 1.0000 | 1.0000 | 1.0000 | |
DT | 0.9809 | 0.9824 | 0.9700 | 0.9759 | |
GNB | 0.9656 | 0.9484 | 0.9698 | 0.9583 | |
XGB | 1.0000 | 1.0000 | 1.0000 | 1.0000 | |
LR | 1.0000 | 1.0000 | 1.0000 | 1.0000 | |
EfficientNetB0 | SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 |
RF | 0.9943 | 0.9961 | 0.9897 | 0.9928 | |
DT | 0.9503 | 0.9326 | 0.9466 | 0.9392 | |
GNB | 0.9924 | 0.9926 | 0.9884 | 0.9905 | |
XGB | 0.9981 | 0.9987 | 0.9966 | 0.9976 | |
LR | 0.9981 | 0.9987 | 0.9966 | 0.9976 | |
InceptionV3 | SVC | 0.9618 | 0.9580 | 0.9462 | 0.9519 |
RF | 0.9465 | 0.9594 | 0.9083 | 0.9298 | |
DT | 0.8738 | 0.8406 | 0.8516 | 0.8458 | |
GNB | 0.7610 | 0.7010 | 0.6580 | 0.6706 | |
XGB | 0.9598 | 0.9462 | 0.9554 | 0.9506 | |
LR | 0.9503 | 0.9326 | 0.9466 | 0.9392 | |
ResNet50 | SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 |
RF | 1.0000 | 1.0000 | 1.0000 | 1.0000 | |
DT | 0.9714 | 0.9677 | 0.9621 | 0.9648 | |
GNB | 0.9942 | 0.9921 | 0.9940 | 0.9930 | |
XGB | 0.9981 | 0.9987 | 0.9967 | 0.9977 | |
LR | 1.0000 | 1.0000 | 1.0000 | 1.0000 | |
VGG16 | SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 |
RF | 0.9943 | 0.9961 | 0.9897 | 0.9928 | |
DT | 0.9484 | 0.9265 | 0.9516 | 0.9378 | |
GNB | 0.9694 | 0.9586 | 0.9662 | 0.9623 | |
XGB | 0.9962 | 0.9952 | 0.9952 | 0.9952 | |
LR | 1.0000 | 1.0000 | 1.0000 | 1.0000 | |
VGG19 | SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 |
RF | 0.9981 | 0.9987 | 0.9966 | 0.9976 | |
DT | 0.969 | 0.9209 | 0.9227 | 0.9218 | |
GNB | 0.9598 | 0.9462 | 0.9554 | 0.9506 | |
XGB | 0.9981 | 0.9987 | 0.9966 | 0.9976 | |
LR | 1.0000 | 1.0000 | 1.0000 | 1.0000 | |
Xception | SVC | 0.9895 | 0.9899 | 0.9816 | 0.9856 |
RF | 0.9885 | 0.9857 | 0.9857 | 0.9857 | |
DT | 0.9063 | 0.8793 | 0.8930 | 0.8857 | |
GNB | 0.8757 | 0.8536 | 0.8299 | 0.8404 | |
XGB | 0.9924 | 0.9885 | 0.9926 | 0.9905 | |
LR | 0.9885 | 0.9857 | 0.9857 | 0.9857 |
Techniques | Avg. Accuracy (%) | Avg. Precision (%) | Avg. Recall (%) | Avg. F1-Score (%) | Time Complexity |
---|---|---|---|---|---|
DenseNet121 + SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 483 ms ± 11 ms |
EfficientNetB0 + SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 483 ms ± 9.39 ms |
InceptionV3 + SVC | 0.9618 | 0.9580 | 0.9462 | 0.9519 | 2.23 s ± 40.1 ms |
ResNet50 + SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 927 ms ± 8.72 ms |
VGG16 + SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 2.46 s ± 13.7 ms |
VGG19 + SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 2.39 s ± 24.7 ms |
Xception + XGB | 0.9924 | 0.9885 | 0.9926 | 0.9905 | 2.62 s ± 35.6 ms |
CNN-Based Feature Extractor | Classifiers | Avg. Accuracy (%) | Avg. Precision (%) | Avg. Recall (%) | Avg. F1-Score (%) |
---|---|---|---|---|---|
DenseNet121 | SVC | 0.8025 | 0.8186 | 0.7994 | 0.7983 |
RF | 0.8790 | 0.8856 | 0.8756 | 0.8753 | |
DT | 0.6943 | 0.7015 | 0.6870 | 0.6874 | |
GNB | 0.6624 | 0.7398 | 0.6060 | 0.6454 | |
XGB | 0.8917 | 0.89292 | 0.8839 | 0.8855 | |
LR | 0.9108 | 0.9137 | 0.9067 | 0.9069 | |
EfficientNetB0 | SVC | 0.9490 | 0.9490 | 0.9486 | 0.9481 |
RF | 0.9108 | 0.9090 | 0.9090 | 0.9079 | |
DT | 0.6624 | 0.6616 | 0.6569 | 0.6552 | |
GNB | 0.8599 | 0.8651 | 0.8582 | 0.8586 | |
XGB | 0.8917 | 0.8912 | 0.8875 | 0.8881 | |
LR | 0.9809 | 0.9799 | 0.9810 | 0.9798 | |
InceptionV3 | SVC | 0.5669 | 0.5687 | 0.5577 | 0.5410 |
RF | 0.5987 | 0.5963 | 0.5931 | 0.5706 | |
DT | 0.4331 | 0.4170 | 0.4287 | 0.4149 | |
GNB | 0.4076 | 0.3322 | 0.3978 | 0.3461 | |
XGB | 0.6369 | 0.6456 | 0.6343 | 0.6209 | |
LR | 0.6306 | 0.6319 | 0.6252 | 0.6210 | |
ResNet50 | SVC | 0.9806 | 0.9802 | 0.9813 | 0.9803 |
RF | 0.9209 | 9311 | 0.9305 | 0.9289 | |
DT | 0.7097 | 0.7097 | 0.7132 | 0.7052 | |
GNB | 0.9484 | 0.9521 | 0.9506 | 0.9499 | |
XGB | 0.9419 | 0.9443 | 0.9441 | 0.9423 | |
LR | 0.9677 | 0.9690 | 0.9710 | 0.9682 | |
VGG16 | SVC | 0.9363 | 0.9385 | 0.9311 | 0.9335 |
RF | 0.9299 | 0.9260 | 0.9215 | 0.9235 | |
DT | 0.6561 | 0.6851 | 0.6573 | 0.6633 | |
GNB | 0.7389 | 0.8631 | 0.7430 | 0.7638 | |
XGB | 0.9045 | 0.8997 | 0.8976 | 0.8978 | |
LR | 0.9554 | 0.9549 | 0.9517 | 0.9529 | |
VGG19 | SVC | 0.9745 | 0.9754 | 0.9762 | 0.9752 |
RF | 0.9363 | 0.9373 | 0.9354 | 0.9355 | |
DT | 0.6688 | 0.6692 | 0.6604 | 0.6609 | |
GNB | 0.7643 | 0.8470 | 0.7632 | 0.7762 | |
XGB | 0.9236 | 0.9240 | 0.9209 | 0.9215 | |
LR | 0.9745 | 0.9748 | 0.9738 | 0.9739 | |
Xception | SVC | 0.5096 | 0.4453 | 0.5027 | 0.4612 |
RF | 0.6561 | 0.6545 | 0.6522 | 0.6509 | |
DT | 0.5223 | 0.5189 | 0.5133 | 0.5110 | |
GNB | 0.5669 | 0.5876 | 0.5518 | 0.5399 | |
XGB | 0.7197 | 0.7115 | 0.7146 | 0.7110 | |
LR | 0.7261 | 0.7288 | 0.7227 | 0.7190 |
Techniques | Avg. Accuracy (%) | Avg. Precision (%) | Avg. Recall (%) | Avg. F1-Score (%) | Time Complexity | MACs | FLOPs |
---|---|---|---|---|---|---|---|
DenseNet121 + LR | 0.9108 | 0.9137 | 0.9067 | 0.9069 | 245 ms ± 34.4 ms | 4.144G | 8.360G |
EfficientNetB0 + LR | 0.9809 | 0.9799 | 0.9810 | 0.9798 | 233 ms ± 36.6 ms | 45.840M | 89.789M |
InceptionV3 + XGB | 0.6369 | 0.6456 | 0.6343 | 0.6209 | 11.7 s ± 180 ms | 5.840G | 11.430G |
ResNet50 + SVC | 0.9806 | 0.9802 | 0.9813 | 0.9803 | 480 ms ± 1.46 ms | 4.242G | 8.301G |
VGG16 + LR | 0.9554 | 0.9549 | 0.9517 | 0.9529 | 1.06 s ± 57.4 ms | 15.480G | 30.945G |
VGG19 + SVC | 0.9745 | 0.9754 | 0.9762 | 0.9752 | 1.14 s ± 8.33 ms | 19.482G | 39.252G |
Xception + LR | 0.7261 | 0.7288 | 0.7227 | 0.7190 | 769 ms ± 216 ms | 8.632G | 16.871G |
CNN-Based Feature Extractor | Classifiers | Avg. Accuracy (%) | Avg. Precision (%) | Avg. Recall (%) | Avg. F1-Score (%) |
---|---|---|---|---|---|
DenseNet121 | SVC | 0.7814 | 0.7665 | 0.7244 | 0.7324 |
RF | 0.9235 | 0.9205 | 0.9073 | 0.9131 | |
DT | 0.7131 | 0.6843 | 0.7040 | 0.6897 | |
GNB | 0.4836 | 0.5590 | 0.5707 | 0.4888 | |
XGB | 0.9290 | 09244 | 0.9194 | 0.9211 | |
LR | 0.9563 | 0.9599 | 0.9410 | 0.9490 | |
EfficientNetB0 | SVC | 0.9809 | 0.9788 | 0.9788 | 0.9788 |
RF | 0.9672 | 0.9685 | 0.9577 | 0.9626 | |
DT | 0.6776 | 0.6394 | 0.6271 | 0.6324 | |
GNB | 0.8607 | 0.8370 | 0.8797 | 0.8503 | |
XGB | 0.9563 | 0.9515 | 0.9526 | 0.9499 | |
LR | 0.9891 | 0.9899 | 0.9871 | 0.9884 | |
InceptionV3 | SVC | 0.6038 | 0.6085 | 0.5255 | 0.5360 |
RF | 0.6585 | 0.6607 | 0.6173 | 0.6287 | |
DT | 0.4699 | 0.4634 | 0.4703 | 0.4635 | |
GNB | 0.3880 | 0.4040 | 0.3773 | 0.3494 | |
XGB | 0.7240 | 0.7118 | 0.6928 | 0.6994 | |
LR | 0.7295 | 0.7365 | 0.7376 | 0.7343 | |
ResNet50 | SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 |
RF | 0.9891 | 0.9899 | 0.9871 | 0.9884 | |
DT | 0.8224 | 0.8108 | 0.8128 | 0.8116 | |
GNB | 0.9372 | 0.9217 | 0.9547 | 0.9333 | |
XGB | 0.9891 | 0.9904 | 0.9851 | 0.9876 | |
LR | 0.9973 | 0.9983 | 0.9982 | 0.9982 | |
VGG16 | SVC | 0.9945 | 0.9937 | 0.9964 | 0.9950 |
RF | 0.9863 | 0.9863 | 0.9836 | 0.9849 | |
DT | 0.8279 | 0.7995 | 0.8114 | 0.8046 | |
GNB | 0.8579 | 0.8723 | 0.8118 | 0.8334 | |
XGB | 0.9863 | 0.9882 | 0.9882 | 0.9882 | |
LR | 0.9945 | 0.9937 | 0.9964 | 0.9959 | |
VGG19 | SVC | 0.9945 | 0.9937 | 0.9964 | 0.9950 |
RF | 0.9918 | 0.9918 | 0.9917 | 0.9917 | |
DT | 0.8115 | 0.7927 | 0.7829 | 0.7869 | |
GNB | 0.7896 | 0.8100 | 0.7468 | 0.7607 | |
XGB | 0.9891 | 0.9851 | 0.9908 | 0.9878 | |
LR | 0.9945 | 0.9937 | 0.9964 | 0.9950 | |
Xception | SVC | 0.5847 | 0.6143 | 0.5249 | 0.5215 |
RF | 0.7186 | 0.7426 | 0.7017 | 0.7167 | |
DT | 0.5109 | 0.5089 | 0.5009 | 0.5025 | |
GNB | 0.2923 | 0.3555 | 0.3706 | 0.2792 | |
XGB | 0.7568 | 0.7583 | 0.7495 | 0.7494 | |
LR | 0.7432 | 0.7420 | 0.7689 | 0.7507 |
Techniques | Avg. Accuracy (%) | Avg. Precision (%) | Avg. Recall (%) | Avg. F1-Score (%) | Time Complexity | MACs | FLOPs |
---|---|---|---|---|---|---|---|
DenseNet121 + LR | 0.9563 | 0.9599 | 0.9410 | 0.9490 | 341 ms ± 17.6 ms | 4.134G | 8.267G |
EfficientNetB0 + LR | 0.9891 | 0.9899 | 0.9871 | 0.9884 | 324 ms ± 27 ms | 44.840M | 89.680M |
InceptionV3 + LR | 0.7295 | 0.7365 | 0.7376 | 0.7343 | 1.01 s ± 347 ms | 5.749G | 11.498G |
ResNet50 + SVC | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 1.2 s ± 8.76 ms | 4.134G | 8.267G |
VGG16 + LR | 0.9945 | 0.9937 | 0.9964 | 0.9959 | 1.24 s ± 13.6 ms | 15.470G | 30.941G |
VGG19 + SVC | 0.9945 | 0.9937 | 0.9964 | 0.9950 | 2.78 s ± 54.9 ms | 19.632G | 39.264G |
Xception + XGB | 0.7568 | 0.7583 | 0.7495 | 0.7494 | 13.7 s ± 232 ms | 8.442G | 16.884G |
Previous Works | Techniques Employed | Architectures/Frameworks | Used Dataset | Fish Class | Accuracy | ||
---|---|---|---|---|---|---|---|
DL | ML | Freshwater | Salinity | ||||
[1] | √ | × | VGG16, VGG19, abd CNN | Fish images were collected from fish tanks during October 2021 to January 2022. | × | √ | 96.7% |
[3] | √ | √ | CNN and SVM | 16 species of fish videos were collected from islands of Western Australia during 2011–2013. | × | √ | 94.3% |
[4] | √ | × | CNN | A laboratory was used to take images of American eels from tanks. | × | √ | 98% |
[6] | √ | × | Neural Network | The data were collected from surveys during 2005–2015 in the central Mediterranean Sea. | × | √ | 95% |
[7] | √ | × | ResNet50, ResNet101, and VGG16 | A fish dataset of 8 salinity species of fish was used. | × | √ | 98.62% |
[9] | √ | × | U-Net and CNN | A total of 141 freshwater species of fish images were taken from Morona River. | √ | × | 97.9% |
[10] | √ | √ | Mask-RCNN and YOLO | DIDSON dataset images of 8 freshwater fish species were captured from the Ocqueoc River. | √ | × | 66.9% |
[11] | √ | × | AlexNet, CNN, and ResNet-50 | 20 freshwater varieties of fish images were taken from the ponds of Assam. | √ | × | 100% |
[12] | √ | × | Deep CNN and AlexNet | QUT and LifeCled2015 freshwater fish datasets were used with 6 species. | √ | × | 90.48% |
[13] | √ | × | MobileNetV2, ResNet-50, MobileNetV1, and MobileNetV3 | Images of mature and immature trout were taken from the rivers of Norway. | √ | × | 90% |
[14] | √ | × | VGG16 and CNN | 4 species of freshwater fish images were used from a fish tank. | √ | × | 100% |
[15] | √ | × | VGG16 and Transfer Learning | 8 freshwater varieties of fish images were taken from Malaysia. | √ | × | N/A |
[16] | × | √ | K-Nearest Neighbor | 10 freshwater varieties of fish images were taken from various sources. | √ | × | 70% |
[17] | √ | × | MobileNetV1 | 3 freshwater varieties of fish images were used. | √ | × | 90% |
Proposed Framework | √ | √ | DenseNet121, EfficientNetB0, InceptionV3, ResNet50, VGG16, VGG19, Xception, SVC, RF, DT, GNB, XGB, and LR | The dataset “BDFreshFish” includes a collection of eight distinct kinds of local freshwater fish. The “fish-gres” dataset includes 8 different species of fish. Among these 8 varieties, the proposed system used 5 species. | √ | √ | 100% (binary classification), 98.06%, and 100% (multiclass classification of freshwater and salinity fish species) |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Rahman, W.; Rahman, M.M.; Mozumder, M.A.I.; Sumon, R.I.; Chelloug, S.A.; Alnashwan, R.O.; Muthanna, M.S.A. A Deep CNN-Based Salinity and Freshwater Fish Identification and Classification Using Deep Learning and Machine Learning. Sustainability 2024, 16, 7933. https://doi.org/10.3390/su16187933
Rahman W, Rahman MM, Mozumder MAI, Sumon RI, Chelloug SA, Alnashwan RO, Muthanna MSA. A Deep CNN-Based Salinity and Freshwater Fish Identification and Classification Using Deep Learning and Machine Learning. Sustainability. 2024; 16(18):7933. https://doi.org/10.3390/su16187933
Chicago/Turabian StyleRahman, Wahidur, Mohammad Motiur Rahman, Md Ariful Islam Mozumder, Rashadul Islam Sumon, Samia Allaoua Chelloug, Rana Othman Alnashwan, and Mohammed Saleh Ali Muthanna. 2024. "A Deep CNN-Based Salinity and Freshwater Fish Identification and Classification Using Deep Learning and Machine Learning" Sustainability 16, no. 18: 7933. https://doi.org/10.3390/su16187933