# Applications of Artificial Intelligence to Photovoltaic Systems: A Review
## 3 Artificial Intelligence Applied to PV Systems
### Defects Detection  
Finding defects on the surface of the PV cells is a problem completely related to computer vision. As observed in the bibliography, the most used technique for photographing the images is electroluminescence. The datasets are usually private, but there are some exceptions. We can see in Figure 7 the most used techniques for detecting defects. Classical approaches as found in [128], which tried to detect defects in the solar modules using image processing techniques. In order to segment the different modules, they used the first derivative of the statistic curve in order to find the division line between each chip. After that, they used another technique, the otsu method, to obtain a binary image. Finally, the algorithm tries to identify the state of the module using the geometry of the resulting image. This algorithm produced interesting results, with a recognition rate of 80% on cracked modules, 95% on fragmented and 99% on good state modules. The recognition was also quite fast. The algorithms were implemented and applied via MATLAB. Another approach is found in [129]. This method combines the image processing techniques with Support Vector Machines. The dataset featured 13,392 samples of EL images of solar cells. The images are preprocessed in order to reduce spatial noises and to accurately highlight crack pixels in images. After that, binary processing is performed, and finally, the features are extracted from the image. These features are used by different SVMs in order to classify the cells. The results present that the SVM with penalty parameter weighting is the best SVM, with a correct detection rate of 91%, with specificity and accuracy of more than 97%. The experiments were run in MATLAB. In [130], the author compare Convolutional Neural Networks with SVM. The SVM is trained with data from the ELPV dataset, composed of 2624 EL images of solar cells, obtained by finding the features of the images using different feature descriptors. The CNN used was a pretrained VGG19 with the upper layers changed and trained with the examples. The models were tested with both monocrystalline and polycrystalline modules. The results show that both classifiers were useful for visual inspection, both with an average accuracy of 82.4%. The algorithms were implemented in Python, using Keras for the Neural Network. The work in [131] presented a similar approach using SVM and CNN. The CNN was composed of two convolutional layers with leaky-relu and max-pooling. The convolutional part was aided by two leaky-relu dense layers and the output layer. The SVM was trained with different features extracted from the images. The dataset was built with 90 images of full-sized commercial modules that were segmented afterward, obtaining 540 cells. The results show similar behavior in both methods, with an accuracy of 98%. The article also tackled unsupervised learning, trying to cluster the images by two features. This resulted in a model that was able to assign the correct label in 66% of cases.The algorithms were implemented in Python, using Tensorflow and OpenCV. The work found in [132] presents a CNN with 13 convolutional layers, an adaptation of the VGG16 architecture. The dataset was obtained by photographing solar modules of 6 \(\times\) 12 cells with an EL camera. The network was trained using oversampling and data augmentation in order to reduce the error. The results show that the network performed  
Figure 7: Most used IA method for defect detection. the best when both oversampling and data augmentation were presented with a Balance Error Rate of 7.73% on binary classification problems of quick convergence. The method was implemented with Keras. The preprocessing was performed with OpenCV. The authors of [133] present new models that are trained not only with images with cracks but also with corrosion. The images were obtained by photographing modules with the EL technique and performing segmentation afterward, obtaining 5400 images. The models are SVM and CNN. The CNN is composed of two convolutional layers.