This is a research project submitted to the Faculty of Computer Science and Information Technology, University of Malaya in partial requirements for the Master of Data Science 2024.
The dust detection method on solar photovoltaic panels is important since the solar photovoltaic system will generate less power if the solar panel is dusty. One of the dust detection methods on the solar photovoltaic panel is using a deep learning approach, specifically a computer vision technique using the pre-trained Convolutional Neural Network (CNN) models. Therefore, this project seeks to do dust detection on solar panels by using pre-trained Convolutional Neural Networks (CNN) which are the EfficientNet-BO model, Visual Geometry Group (VGG) -16 model, and Residual Neural Network (ResNet) -50 model. 2 models have been created from each pre-trained Convolutional Neural Network (CNN) models for transfer learning and fine-tuning process, making a total of 6 models that have been experimented. In addition, the dataset of solar panel images has been acquired from the researcher who created a Convolutional Neural Network for solar, which can be a baseline model to beat since this project were using the same dataset. The result shows Model 2, which is the EfficientNet-BO model that has gone through a transfer learning and fine-tuning process achieved the best result due to its robustness, high accuracy, and high precision. Model 2 also has managed to beat the SolNet model, which was developed by the researcher who provided the dataset used in this research. Future study may take pre-trained Convolutional Neural Network (CNN) model from EfficientNet family into model consideration for any image classification tasks. Lastly, the best model in this research may be a benchmark state-of-the-art (SOTA) model to detect dust on solar photovoltaic panels.
Computer Vision, Solar Photovoltaics, EfficientNet-BO, ResNet-50, VGG-16.
- image/
Contains images for streamlit UI andREADME.md
file. - README.md
Repository documentation - model/
Containsmodel.h5
andbest_model.json
file. - app_module.py
Contains functions for the streamlit web application code inapp.py
. - app.py
Script for the streamlit web application - detect-dust-solar-pv.ipynb
Kaggle Jupyter Notebook that contains the code for this project. Checkout the notebook here! - requirements.txt
Contains list of the libraries and their respective versions required for the project.
.
├── README.md
├── image/
├── model/
├── .gitignore
├── app_module.py
├── app.py
├── detect-dust-solar-pv.ipynb
└── requirements.txt
@Article{SolNet2022,
AUTHOR = {Onim, Md Saif Hassan and
Sakif, Zubayar Mahatab Md and
Ahnaf, Adil and
Kabir, Ahsan and
Azad, Abul Kalam and
Oo, Amanullah Maung Than and
Afreen, Rafina and
Hridy, Sumaita Tanjim and
Hossain, Mahtab and
Jabid, Taskeed and
Ali, Md Sawkat},
TITLE = {SolNet: A Convolutional Neural Network for Detecting Dust on Solar Panels},
JOURNAL = {Energies},
VOLUME = {16},
YEAR = {2023},
NUMBER = {1},
ARTICLE-NUMBER = {155},
URL = {https://www.mdpi.com/1996-1073/16/1/155},
ISSN = {1996-1073},
DOI = {10.3390/en16010155}
}
Check out the researchers GitHub repositories by clicking this link.
I have uploaded the image dataset, open sourced by the researchers on Kaggle (click the Kaggle badge below) for utilization of the free GPUs offered by Kaggle to speed up your computation process.