Fish Species Image Classification Using Convolutional Neural Networks
DOI:
https://doi.org/10.47611/jsrhs.v11i3.3058Keywords:
image classification, , cnn, fish image classificationAbstract
This paper demonstrates the classification of various fish species using different machine learning methods. By incorporating machine learning algorithms, modeling, and training, the project classifies fish species using neural networks with the help of multiple features like length, width, and more. Ultimately, this project attempts to analyze the differences between determining fish species with PyTorch and TensorFlow. Convolutional Neural Networks (CNN) is a powerful algorithm used in image classification problems. Python has various libraries which can be used to build a model for the same purpose; the ultimate goal of this study is to see whether using different libraries will affect the accuracy. I would like to see whether new and more advanced methods can be used to classify large schools of fish rather than only in labs. I developed separate Python codes using PyTorch and TensorFlow individually. Using each code, I obtained results and, in the end, performed a comparative study between both to come to my conclusion. My main findings were that PyTorch gave a more accurate prediction than TensorFlow. I believe this was the case because the PyTorch code incorporated neural networks with more layers, so it increased the training and validation accuracy. From here, it is evident that while neither method necessarily possesses setbacks, PyTorch has a significant edge in accuracy (99.75% to 87.22%). Therefore, when scientists apply classification with CNN, PyTorch may be more optimal for producing better results.
Downloads
References or Bibliography
GERON, A. (2019). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems. O'Reilly.
Ulucan, O. (2021, April 28). A Large Scale Fish Dataset. Kaggle. Retrieved June 23, 2022, from https://www.kaggle.com/crowww/a-large-scale-fish-dataset
Manure, A., & Singh, P. (2020). Learn tensorflow 2.0: Implement machine learning and deep learning models with python. Apress.
Stevens, E., Antiga, L., Viehmann, T., & Chintala, S. (2020). Deep learning with pytorch: Build, train, and tune neural networks using python tools. Manning Publications.
Menard, S. W. (2010). Logistic regression: From introductory to advanced concepts and applications. SAGE.
Haykin, S. S. (2016). Neural Networks and Learning Machines, 3d Edition. Pearson.
Gulli, A., & Pal, S. (2017). Deep learning with keras: Implementing deep learning models and neural networks with the power of python. Packt Publishing.
G. Chen, P. Sun and Y. Shang, "Automatic Fish Classification System Using Deep Learning," 2017 IEEE 29th International Conference on Tools with Artificial Intelligence (ICTAI), 2017, pp. 24-29, doi: https://doi.org/10.1109/ICTAI.2017.00016.
S. Liawatimena et al., "A Fish Classification on Images using Transfer Learning and Matlab," 2018 Indonesian Association for Pattern Recognition International Conference (INAPR), 2018, pp. 108-112, doi: https://doi.org/10.1109/INAPR.2018.8627007.
Xiu Li, Min Shang, H. Qin and Liansheng Chen, "Fast accurate fish detection and recognition of underwater images with Fast R-CNN," OCEANS 2015 - MTS/IEEE Washington, 2015, pp. 1-5, doi: https://doi.org/10.23919/OCEANS.2015.7404464.
Published
How to Cite
Issue
Section
Copyright (c) 2022 Anishka Mohanty; Professor Guillermo Goldsztein, Mr. Raphaël Pellegrin
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Copyright holder(s) granted JSR a perpetual, non-exclusive license to distriute & display this article.