System and method for detecting bright spots in photovoltaic solar panels

By extracting the optimal block from the electroluminescent images of photovoltaic solar panels and generating synthetic bright spots, the classification model is trained using convolutional neural networks and generative adversarial networks, the accuracy and reliability of bright spot detection of photovoltaic solar panels is solved, reducing the risk of short circuit and fire.

CN120380468APending Publication Date: 2025-07-25JIO PLATFORMS LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480005685.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-05-31
Filing Date
2024-05-14
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

The prior art is difficult to effectively detect bright spot defects in photovoltaic solar panels, resulting in short circuits, heating and potential fire risks, and traditional methods cannot accurately identify bright spots in electroluminescent images.

Method used

By extracting the optimal blocks from the electroluminescent images of photovoltaic solar panels, generating synthetic bright spots and training classification models, the detection capabilities are enhanced by using convolutional neural networks and generative adversarial networks, noise removal and bright spot characteristics are simulated.

Benefits of technology

It realizes efficient automatic detection of bright spots of photovoltaic solar panels, reduces short circuit and fire risks, and improves the accuracy and reliability of detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120380468A_ABST
    Figure CN120380468A_ABST
Patent Text Reader

Abstract

The present invention relates to systems and methods for detecting bright spots in photovoltaic (PV) solar panels. The system receives an electroluminescent (EL) image of the PV solar panel, extracts one or more optimal tiles from the received EL image of the PV solar panel, extracts one or more features from the extracted one or more optimal tiles, generates five one or more composite bright spots based on the extracted one or more features to train a classification model, and generates a plurality of composite bright spots based on the five composite bright spots. And detecting bright spots in the PV solar panel via the classification model.
Need to check novelty before this filing date? Find Prior Art

Description

Reserved Rights

[0001] Portions of this patent document contain material that is subject to intellectual property rights, such as, but not limited to, copyright, design, trademark, integrated circuit (IC) layout design, and / or trade dress protection, which are owned by JioPlatforms Limited (JPL) or its affiliates (hereinafter referred to as the owner). The owner does not object to the reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, by facsimile, but reserves all other rights. All rights in such intellectual property are reserved entirely by the owner. Technical Field

[0002] Embodiments of the present disclosure generally relate to the inspection of photovoltaic (PV) solar panels. Specifically, the present disclosure relates to systems and methods for detecting bright spots in PV solar panels. Background of the Invention

[0003] The following description of the related art is intended to provide background information related to the field of the present disclosure. This section may include certain aspects of the field that may be related to various features of the present disclosure. However, it should be understood that this section is only for enhancing the reader's understanding of the present disclosure and is not an admission of prior art.

[0004] Generally, a solar panel or a photovoltaic (PV) panel is an electronic device that directly converts incident solar energy (sunlight) into electrical energy through the photovoltaic effect. Since solar energy reduces the dependence on non-renewable fossil fuels that emit greenhouse gases, thereby mitigating climate change, it is increasingly becoming an important energy source. In recent years, due to improved cost-effectiveness, scalability, and sustainability, the production and adoption of PV solar panels that utilize solar energy have grown rapidly. To ensure that PV solar panels generate electricity safely and efficiently, it is crucial to quickly detect defects in the PV solar panels themselves during the manufacturing process. Defects such as cracks, voids, and impurities on PV solar panels can significantly affect the performance of PV solar panels and shorten the service life and power output of PV solar panels. A "bright spot" defect that occurs when a local area on the surface of a PV solar panel has low resistance and generates excessive energy can cause short circuits, heating, and potential fires. Therefore, it is important to implement effective quality control during the manufacturing process to automatically and accurately detect bright spots.

[0005] Traditional methods and systems identify defects including temperature hotspots by performing infrared imaging on a set of solar panels and based on comparison with a threshold. Additionally, traditional methods and systems identify individual PV solar panels from a set of solar panels through edge detection, but do not detect bright spots found in the electroluminescence (EL) images of PV solar panels during their production or manufacturing process, leading to short circuits, overheating, and potential fires in PV solar panels.

[0006] Accordingly, there is a need in the art to provide a system and method for effectively detecting bright spot defects in PV solar panels to overcome the deficiencies of the prior art. Objects of the Invention

[0007] Some of the objects of the present disclosure satisfied by at least one embodiment are listed below.

[0008] An object of the present disclosure is to discriminatively extract optimal blocks from the input electroluminescence (EL) images of photovoltaic (PV) solar panels to train a detection system.

[0009] An object of the present disclosure is to determine features that enable the detection system to effectively distinguish bright spots from regular regions on the surface of PV solar panels.

[0010] An object of the present disclosure is to create synthetic bright spots to generate more realistic labeled data for more effectively training a classification model.

[0011] An object of the present disclosure is to extract blocks with bright spots while removing noise in the data to avoid any false positives.

[0012] An object of the present disclosure is to capture the inherent characteristics of bright spots to personalize these features and enhance the discrimination ability of the detection system.

[0013] An object of the present disclosure is to extract and utilize the unique attributes of real bright spot EL images to simulate bright spots.

[0014] An object of the present disclosure is to effectively detect bright spots in PV solar panels through a classification model during the manufacturing process, thereby avoiding short circuits, overheating, and potential fires in PV solar panels. Summary of the Invention

[0015] This section provides in a simplified form certain objects and aspects of the present disclosure, which are further described in the detailed description below. The summary of the invention is not intended to identify the key features or scope of the claimed subject matter.

[0016] In one aspect, the present disclosure relates to a system for detecting hotspots in a photovoltaic (PV) solar panel. The system includes one or more processors and a memory operably coupled to the one or more processors, where the memory includes processor-executable instructions that, when executed, cause the one or more processors to receive an electroluminescence (EL) image of the PV solar panel, extract one or more optimal blocks from the received EL image of the PV solar panel, extract one or more features from the extracted one or more optimal blocks, generate one or more synthetic hotspots based on the extracted one or more features to train a classification model, and detect hotspots in the PV solar panel via the classification model.

[0017] In an embodiment, the received EL image of the PV solar panel may include one or more optimal blocks having hotspots and one or more blocks without hotspots marked with one or more colored bounding boxes.

[0018] In an embodiment, the processor may extract one or more optimal blocks from the received EL image of the PV solar panel by being configured to: detect one or more colored pixels in the received EL image of the PV solar panel, identify one or more colored bounding boxes based on the one or more colored pixels, convert the pixel intensities of the one or more colored bounding boxes to 0 to remove noise from the received EL image of the PV solar panel, and extract one or more optimal blocks from the received EL image of the PV solar panel based on the pixel intensities.

[0019] In an embodiment, the memory includes processor-executable instructions that, when executed, may cause the one or more processors to extract one or more PV cells from the PV solar panel.

[0020] In an embodiment, the processor may extract one or more PV cells from the PV solar panel by being configured to: identify the number of modules in the PV solar panel, divide the EL image of the PV solar panel into one or more PV module EL images based on the number of modules in the PV solar panel, identify the number of cells in at least one PV module EL image among the one or more PV module EL images, divide the at least one PV module EL image into one or more PV cell EL images, and extract one or more PV cells based on the one or more PV cell EL images.

[0021] In an embodiment, the memory includes processor-executable instructions that, when executed, may cause the one or more processors to divide one or more PV cell EL images into blocks of equal size and identify the exact location of at least one hotspot in the PV solar panel.

[0022] In an embodiment, the memory includes processor-executable instructions that, when executed, cause one or more processors to identify the size of one or more optimal blocks, where the one or more optimal blocks can be one or more blocks having bright spots.

[0023] In an embodiment, the processor can identify the size of one or more optimal blocks by being configured to: divide one or more PV cell EL images into at least one grid that maximizes the difference between one or more blocks having bright spots and one or more blocks having no bright spots, determine the average distance between one or more blocks having bright spots and one or more blocks having no bright spots, determine the average value of the average distances between one or more blocks having bright spots and one or more blocks having no bright spots over all one or more PV cell EL images, and identify the size of one or more blocks having bright spots based on the average value.

[0024] In an embodiment, the processor can extract one or more features from the one or more extracted optimal blocks by being configured to: use an Inverse Cumulative Density Function (ICDF) to determine whether the pixel intensity of each pixel of one or more blocks is greater than a pre-configured value, detect one or more blocks including bright spots as one or more optimal blocks in response to determining that the pixel intensity of each pixel of one or more blocks is greater than the pre-configured value, extract the one or more optimal blocks based on the detection, and extract one or more features from the one or more extracted optimal blocks based on the pixel intensity of each pixel of the extracted blocks and the gradient of the ICDF.

[0025] In an embodiment, the one or more features can include at least one of the value of the maximum pixel intensity, a flag indicating high pixel intensity, the slope of the ICDF between any intervals of pixel intensity percentiles, and the ratio of the ICDF between any intervals of pixel intensity percentiles.

[0026] In an embodiment, the processor can generate one or more synthetic bright spots by being configured to: extract at least one bright spot region for each block including a bright spot, determine the spatial probability distribution of the bright spots, determine the probability distribution of at least one bright spot region by detecting the number of elements in the at least one bright spot region, generate at least one synthetic bright spot region based on the spatial probability distribution of the bright spots and the probability distribution of the at least one bright spot region, and generate one or more synthetic bright spots by capturing and preprocessing the at least one synthetic bright spot region.

[0027] In an embodiment, the memory includes processor-executable instructions that, when executed, can cause one or more processors to receive one or more extracted optimal blocks as input, extract image embeddings from the received EL images of the PV solar panel via a pre-trained convolutional neural network (CNN) model, enhance the one or more extracted features with the extracted image embeddings, and train an anomaly detection model to detect bright spots.

[0028] In an embodiment, the anomaly detection model can be trained on one or more blocks without bright spots.

[0029] In an embodiment, the processor can detect bright spots in the PV solar panel by being configured to: generate real bright spot images for one or more synthetic bright spots by training a Generative Adversarial Network (GAN) with one or more synthetic bright spots, mix the real bright spot images on top of one or more blocks without bright spots to simulate bright spots, extract one or more features from one or more blocks with bright spots and one or more features from one or more blocks without bright spots in response to mixing the real bright spot images, and train a classification model based on the one or more extracted features of the one or more blocks with bright spots and the one or more extracted features of the one or more blocks without bright spots.

[0030] In another aspect, the present disclosure relates to a method for detecting bright spots in a PV solar panel. The method includes: receiving, by a processor associated with the system, an EL image of the PV solar panel; extracting, by the processor, one or more optimal blocks from the received EL image of the PV solar panel; extracting, by the processor, one or more features from the one or more extracted optimal blocks; generating, by the processor, one or more synthetic bright spots based on the one or more extracted features to train a classification model; and detecting, by the processor, bright spots in the PV solar panel via the classification model.

[0031] In an embodiment, the received EL image of the PV solar panel can include one or more optimal blocks with bright spots and one or more blocks without bright spots marked with one or more colored bounding boxes.

[0032] In an embodiment, extracting, by the processor, one or more optimal blocks from the received EL image of the PV solar panel can include: detecting, by the processor, one or more colored pixels from the received EL image of the PV solar panel; identifying, by the processor, one or more colored bounding boxes based on the one or more colored pixels; converting, by the processor, the pixel intensities of the one or more colored bounding boxes to 0 to remove noise from the received EL image of the PV solar panel; and extracting, by the processor, one or more optimal blocks from the received EL image of the PV solar panel.

[0033] In an embodiment, the method may include extracting, by a processor, one or more PV cells from a PV solar panel.

[0034] In an embodiment, extracting, by a processor, one or more PV cells from a PV solar panel may include the processor identifying the number of modules in the PV solar panel, the processor dividing the EL image of the PV solar panel into one or more PV module EL images based on the number of modules in the PV solar panel, the processor identifying the number of cells in at least one PV module EL image among the one or more PV module EL images, the processor dividing the at least one PV module EL image into one or more PV cell EL images, and the processor extracting one or more PV cells based on the one or more PV cell EL images.

[0035] In an embodiment, the method may include the processor dividing the one or more PV cell EL images into blocks of equal size and the processor identifying the exact location of at least one bright spot in the PV solar panel.

[0036] In an embodiment, the method may include the processor identifying the size of one or more optimal blocks, where the one or more optimal blocks may be one or more blocks including the bright spot.

[0037] In an embodiment, the processor identifying the size of one or more optimal blocks may include: the processor dividing the one or more PV cell EL images into at least one grid that maximizes the difference between one or more blocks having a bright spot and one or more blocks having no bright spot, the processor determining the average distance between one or more blocks having a bright spot and one or more blocks having no bright spot, the processor determining the average value of the average distances between one or more blocks having a bright spot and one or more blocks having no bright spot over all PV cell EL images, and the processor identifying the size of one or more blocks having a bright spot based on the average value.

[0038] In an embodiment, the processor extracting one or more features from the one or more extracted optimal blocks may include: the processor determining, via ICDF, whether the pixel intensity of each pixel of the one or more blocks is greater than a preconfigured value, in response to determining that the pixel intensity of each pixel of the one or more blocks is greater than the preconfigured value, the processor detecting one or more blocks including the bright spot as the one or more optimal blocks, the processor extracting the one or more optimal blocks based on the detection, and the processor extracting one or more features from the one or more extracted optimal blocks based on the pixel intensity of each pixel of the extracted blocks and the gradient of the ICDF.

[0039] In an embodiment, one or more features may include at least one of a value of a maximum pixel intensity, a flag indicating a high pixel intensity, a slope of an ICDF between any intervals of pixel intensity percentiles, and a ratio of an ICDF between any intervals of pixel intensity percentiles.

[0040] In an embodiment, generating one or more synthetic bright spots by a processor may include: the processor extracting at least one bright spot region for each block including a bright spot, the processor determining a spatial probability distribution of the bright spot, the processor determining a probability distribution of at least one bright spot region by detecting a number of elements in the at least one bright spot region, the processor generating at least one synthetic bright spot region based on the spatial probability distribution of the bright spot and the probability distribution of the at least one bright spot region, and the processor generating one or more synthetic bright spots by preprocessing the at least one synthetic bright spot region.

[0041] In an embodiment, the method may include: the processor receiving one or more extracted optimal blocks as input, the processor extracting an image embedding from the received EL image of the PV solar panel via a pre-trained CNN model, the processor enhancing the one or more extracted features using the extracted image embedding, and the processor training an anomaly detection model to detect bright spots.

[0042] In an embodiment, the anomaly detection model may be trained on one or more blocks without bright spots.

[0043] In an embodiment, detecting a bright spot in a PV solar panel by a processor may include: the processor generating a real bright spot image for one or more synthetic bright spots by training a GAN with the one or more synthetic bright spots, the processor mixing the real bright spot image over one or more blocks without bright spots to simulate a bright spot, in response to mixing the real bright spot image, the processor extracting one or more features from one or more blocks with bright spots and extracting one or more features from one or more blocks without bright spots, and the processor training a classification model based on the one or more extracted features of the one or more blocks with bright spots and the one or more extracted features of the one or more blocks without bright spots.

[0044] In another aspect, the present disclosure relates to a user equipment. The user equipment includes one or more processors, and a memory operably coupled to the one or more processors, wherein the memory includes processor-executable instructions that, when executed, cause the one or more processors to capture an electroluminescence (EL) image of a PV solar panel and send the EL image of the PV solar panel to a system. The one or more processors are communicatively coupled to the system, and the system is configured to receive the EL image of the PV solar panel, extract one or more optimal blocks from the received EL image of the PV solar panel, extract one or more features from the extracted one or more optimal blocks, generate one or more synthetic bright spots based on the extracted one or more features to train a classification model, and detect bright spots in the PV solar panel via the classification model.

[0045] In one aspect, the present disclosure relates to a non-transitory computer-readable medium including processor-executable instructions that cause a processor to receive an EL image of a PV solar panel, extract one or more optimal blocks from the received EL image of the PV solar panel, extract one or more features from the extracted one or more optimal blocks, generate one or more synthetic bright spots based on the extracted one or more features to train a classification model, and detect bright spots in the PV solar panel via the classification model. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] The accompanying drawings are incorporated herein and constitute a part of the present disclosure, showing exemplary embodiments of the disclosed methods and systems, wherein the same reference numerals refer to the same parts in different drawings. The components in the drawings are not necessarily drawn to scale, and emphasis is placed on clearly showing the principles of the present invention. Some of the drawings may use block diagrams to indicate components and may not represent the internal circuits of each component. Those skilled in the art should understand that the inventions in such drawings include inventions of the electrical components, electronic components or circuits commonly used to implement such components.

[0047] The drawings are for illustrative purposes only and thus do not constitute a limitation of the present disclosure, and wherein:

[0048] Figure 1 An exemplary system architecture (100) of a bright spot detection module is shown, in or by which embodiments of the present disclosure can be implemented.

[0049] Figure 2 An exemplary block diagram (200) of a bright spot detection system according to an embodiment of the present disclosure is shown.

[0050] Figure 3 An exemplary flowchart (300) for capturing an electroluminescence (EL) image of a photovoltaic (PV) cell panel according to an embodiment of the present disclosure is shown.

[0051] Figure 4 Shows an exemplary representation (400) of a PV cell extracted from an EL image of a PV solar panel according to an embodiment of the present disclosure.

[0052] Figure 5 Shows an exemplary flowchart (500) for determining an optimal block size for block extraction according to an embodiment of the present disclosure.

[0053] Figure 6A and Figure 6B Shows exemplary representations (600A, 600B) of dividing a PV cell into optimal blocks of equal size according to an embodiment of the present disclosure.

[0054] Figure 7 Shows an example graph (700) representing the probability distribution of blocks with bright spots and the probability distribution of blocks without bright spots according to an embodiment of the present disclosure.

[0055] Figure 8 Shows an exemplary graphical view (800) representing a comparison between blocks with bright spots and blocks without bright spots according to an embodiment of the present disclosure.

[0056] Figure 9 Shows an exemplary flowchart (900) for training an anomaly detection module according to an embodiment of the present disclosure.

[0057] Figure 10A and Figure 10B Shows exemplary flowcharts (1000A, 1000B) for generating synthetic bright spots according to an embodiment of the present disclosure.

[0058] Figure 11 Shows an exemplary view (1100) representing the spatial probability distribution of bright spots according to an embodiment of the present disclosure.

[0059] Figure 12 Shows an exemplary view (1200) representing the probability distribution of bright spot regions according to an embodiment of the present disclosure.

[0060] Figure 13 Shows an exemplary flowchart (1300) for generating a synthetic bright spot image according to an embodiment of the present disclosure.

[0061] Figure 14 Shows an exemplary flowchart (1400) representing the preprocessing of a synthetic bright spot image according to an embodiment of the present disclosure.

[0062] Figure 15 Shows an exemplary flowchart (1500) for training a classification model according to an embodiment of the present disclosure.

[0063] Figure 16An exemplary computer system (1600) is shown in which or with which embodiments of the present disclosure may be implemented.

[0064] The above will become more apparent from the following more detailed description of the present disclosure. Detailed Description

[0065] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. However, it is apparent that the embodiments of the present disclosure may be practiced without these specific details. Several features described below may be used independently of each other or in any combination with other features. A single feature may not solve all of the problems discussed above or may only solve some of the problems discussed above. Some of the problems discussed above may not be fully solved by any of the features described herein.

[0066] The following description provides only exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the present disclosure. Instead, the following description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing the exemplary embodiments. It should be understood that various changes may be made in the functions and arrangements of the elements without departing from the spirit and scope of the present disclosure as set forth.

[0067] Specific details are provided in the following description to provide a thorough understanding of the embodiments. However, those of ordinary skill in the art will understand that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form to avoid obscuring the embodiments with unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail to avoid obscuring the embodiments.

[0068] In addition, it should be noted that individual embodiments may be described as a process which is depicted as a flowchart, a process schematic diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process terminates when the operations are completed, but may have additional steps not included in the figures. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to the function returning to the calling function or the main function.

[0069] As used herein, the terms "exemplary" and / or "illustrative" mean serving as an example, instance, or illustration. To avoid doubt, the subject matter disclosed herein is not limited to such examples. Additionally, any aspect or design described herein as "exemplary" and / or "illustrative" need not be construed as being superior to or more advantageous than other aspects or designs, nor is it intended to exclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Further, to the extent that the terms "comprising," "having," "including," and other similar terms are used in the detailed description or claims, such terms are intended to be inclusive in a manner similar to the open transitional term "comprising" and do not exclude any additional or other elements.

[0070] References to "one embodiment" or "an embodiment" or "an instance" or "one instance" throughout this specification mean that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" throughout this specification are not necessarily all referring to the same embodiment. Additionally, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0071] The terms used herein are for the purpose of describing particular embodiments only and are not intended to limit the present disclosure. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should be further understood that the terms "comprising" and / or "including" when used in this specification specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0072] In recent years, due to improvements in cost - effectiveness, scalability, and sustainability, the production and adoption of photovoltaic (PV) solar panels that utilize solar energy have grown rapidly. To ensure that PV solar panels generate electricity safely and efficiently, it is necessary to quickly detect defects in PV solar panels during the PV panel manufacturing process itself. Defects such as cracks, voids, and impurities on PV solar panels can significantly affect performance and shorten the service life of PV solar panels and reduce their power output. Additionally, "hot - spot" defects, which occur when local areas on the surface of a PV solar panel have low resistance and generate excessive energy, lead to short - circuits, overheating, and potential fires. Therefore, it is important to implement effective quality control during the manufacturing process to automatically and accurately detect hot - spots. However, these hot - spots are very rare, so it is very challenging to build a reliable model for detecting hot - spots.

[0073] The present disclosure discloses a robust trinary method to enhance the accuracy and reliability of a bright spot detection system, which has the following components: optimal block extraction, feature extraction, and synthetic bright spot generation. The optimal block extraction differentially extracts optimal blocks from the input electroluminescence (EL) image of a PV solar panel to train the bright spot detection system. The feature extraction calculates features that enable the bright spot detection system to effectively distinguish bright spots on the surface of the PV solar panel from regular regions. The synthetic bright spot generation creates synthetic bright spots to generate more realistic labeled data, thereby more effectively training the classification model.

[0074] Accordingly, embodiments of the present disclosure relate to effectively detecting bright spot defects in a PV solar panel by overcoming the extreme imbalance of data between PV solar panels with bright spots and those without bright spots.

[0075] In an embodiment, the present disclosure detects bright spots that occur in a PV solar panel during the manufacturing process of the PV solar panel itself. Thereby, short - circuits and local heating of the PV solar panel caused by bright spots in the PV solar panel are prevented, and the risk of fire is reduced. The bright spot defect detection system automatically detects bright spots that occur in the PV solar panel in order to reduce the time and effort required to identify defective PV solar panels.

[0076] Certain terms and phrases have been used throughout the disclosure and will have the following meanings in the context of the ongoing disclosure.

[0077] The term "PV solar panel" may refer to a solar panel or a photovoltaic (PV) panel, which is an electronic device that directly converts incident solar energy (sunlight) into electricity through the photovoltaic effect.

[0078] The term "bright spot" may refer to a defect that rarely occurs in a PV solar panel and causes short - circuits and heating of the PV solar panel.

[0079] Reference will be made to Figures 1-16 explain the various embodiments of the present disclosure in detail.

[0080] Figure 1 An exemplary system architecture (100) of a bright spot detection module is shown, in or by which embodiments of the present disclosure can be implemented.

[0081] Reference Figure 1 , the system architecture (100) may include one or more components, which include but are not limited to a block extraction module (104), a feature extraction module (106), a synthetic bright spot image generation module (108), an anomaly detection module (110), and an image classification module (112).

[0082] In an embodiment, the block extraction module (104) may receive an EL image (102) of a PV solar panel as input and return an annotated EL image (102) having bounding boxes at positions where bright spots are detected. The presence of the bounding boxes may act as noise during bright spot detection. The block extraction module (104) may remove the noise from the EL image (102).

[0083] In an embodiment, a PV solar panel may be composed of a plurality of PV cells connected in series or parallel to add up the voltage and current to match the output power requirement. The block extraction module (104) may extract PV cell images by dividing the EL image (102) into a plurality of PV cell images. Each PV cell may include one or more blocks having bright spots and one or more blocks without bright spots. The block extraction module (104) may determine the size of each block having a bright spot and extract the blocks having bright spots based on the size of the blocks.

[0084] In an embodiment, the block extraction module (104) may also extract image embeddings from PV cell blocks based on a Convolutional Neural Network (CNN).

[0085] In an embodiment, a PV cell block may include a plurality of pixels. The feature extraction module (106) may determine the pixel intensity and brightness gradient of each pixel of the PV cell block. In addition, the feature extraction module (106) may extract features from the PV cell block based on the pixel intensity and brightness gradient of each pixel of the PV cell block.

[0086] In an embodiment, the synthetic bright spot image generation module (108) may receive the extracted PV cell images from the block extraction module (104) and generate a synthetic bright spot image based on the received PV cell images.

[0087] In an embodiment, the anomaly detection module (110) may receive the extracted image embeddings of PV cell blocks from the block extraction module (104) and receive the extracted features of PV cell blocks from the feature extraction module (106). Further, the anomaly detection module (110) may enhance the extracted image embeddings of PV cell blocks with the extracted features of PV cell blocks to train an anomaly detection model. The anomaly detection module (110) may predict the probability of bright spots based on the enhanced data via the anomaly detection model.

[0088] In an embodiment, an image classification module (112) may receive a synthetic PV cell image including bright spots from a synthetic bright spot image generation module (108), and preprocess the synthetic PV cell image including bright spots via a Generative Adversarial Network (GAN). The image classification module (112) may also receive features of the extracted PV cell blocks from a feature extraction module (106). The image classification module (112) may predict the probability of bright spots based on the preprocessed image and the features of the PV cell blocks via a CNN.

[0089] In an embodiment, the system (100) may combine the probability of bright spots predicted by the anomaly detection module (110) and the probability of bright spots predicted by the image classification module (112) to output an image (114) of a PV cell grid with bright spots.

[0090] Although Figure 1 exemplary components of the system architecture (100) are shown, in other embodiments, the system architecture (100) may include fewer components, different components, differently arranged components, or additional functional components than Figure 1 those depicted. Additionally or alternatively, one or more components of the system architecture (100) may perform functions described as being performed by one or more other components of the system architecture (100).

[0091] Figure 2 FIG. shows an exemplary block diagram of a bright spot detection system (200) according to an embodiment of the present disclosure. It can be understood that the system (200) may be functionally similar to Figure 1 the system (100).

[0092] In an embodiment, and as Figure 2 shown, the system (200) may include one or more processors (202). The one or more processors (202) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuits, and / or any device that manipulates data based on operational instructions. Among other capabilities, the one or more processors (202) may be configured to obtain and execute computer-readable instructions stored in a memory (204) of the system (200). The memory (204) may store one or more computer-readable instructions or routines that may be obtained and executed to create or share data units on a network service. The memory (204) may include any non-transitory storage device, including, for example, volatile memory such as random access memory (RAM), or non-volatile memory such as erasable programmable read-only memory (EPROM), flash memory, etc.

[0093] In an embodiment, the system (200) may further include an interface (206). The interface (206) may include various interfaces, such as interfaces for data input and output devices (referred to as I / O devices), storage devices, and the like. The interface (206) may facilitate communication between the system (200) and various devices coupled to it. The interface (206) may also provide a communication path for one or more components of the system (200). Examples of such components include, but are not limited to, a processing engine (208) and a database (210).

[0094] In an embodiment, the processing engine (208) may be implemented as a combination of hardware and programming (e.g., programmable instructions) to implement one or more functions of the processing engine (208). In the examples described herein, such a combination of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine (208) may be processor-executable instructions stored on a non-transitory machine-readable storage medium, and the hardware for one or more processors (202) may include processing resources (e.g., one or more processors) to execute such instructions. In this example, the machine-readable storage medium may store instructions that, when executed by the processing resources, implement the processing engine (208). In such examples, the system (200) may include a machine-readable storage medium storing the instructions and processing resources for executing the instructions, or the machine-readable storage medium may be separate but accessible by the system (200) and the processing resources. In other examples, the processing engine (208) may be implemented by electronic circuitry.

[0095] In an embodiment, the database (210) may include data stored or generated as a result of functions implemented by the processor (202) or the processing engine (208) or any component of the system (200). In an exemplary embodiment, the processing engine (208) may include a block extraction engine (212), a feature extraction engine (214), a synthetic bright spot generation engine (216), and other engines (218). The other engines (218) may also include, but are not limited to, an anomaly detection engine and an image classification engine. The other engines (218) may supplement the functions of the processing engine (208) or the system (200). The system (200) may be implemented using either hardware components and software components or a combination thereof.

[0096] In an embodiment, the block extraction engine (212) may receive an EL image (102) of a PV solar panel as input and remove noise from the EL image (102). The block extraction engine (212) may extract PV cell images by dividing the EL image (102) into a plurality of PV cell images. Each PV cell may include one or more blocks with bright spots and one or more blocks without bright spots. The block extraction engine (212) may determine the size of each block with a bright spot and extract the blocks with bright spots based on the size of the blocks. Further, the block extraction engine (212) may also extract image embeddings from the PV cell blocks based on a CNN.

[0097] In an embodiment, a PV cell block may include a plurality of pixels. The feature extraction engine (214) may determine the pixel intensity and brightness gradient of each pixel of the PV cell block. Further, the feature extraction engine (214) may extract features from the PV cell block based on the pixel intensity and brightness gradient of each pixel of the PV cell block.

[0098] In an embodiment, the synthetic bright spot generation engine (216) may receive the extracted PV cell images from the block extraction engine (212) and generate a synthetic bright spot image based on the received PV cell images. Further, the synthetic bright spot generation engine (216) may generate synthetic bright spots based on the synthetic bright spot image.

[0099] In an embodiment, the anomaly detection engine may receive the image embeddings of the extracted PV cell blocks from the block extraction engine (212) and receive the features of the extracted PV cell blocks from the feature extraction engine (214). Further, the anomaly detection engine may enhance the image embeddings of the extracted PV cell blocks with the features of the extracted PV cell blocks to train an anomaly detection model. The anomaly detection engine may predict the probability of a bright spot based on the enhanced data via the anomaly detection model.

[0100] In an embodiment, the image classification engine may receive a synthetic PV cell image including a bright spot from the synthetic bright spot generation engine (216) and preprocess the synthetic PV cell image including the bright spot via a generative adversarial network (GAN). The image classification engine may also receive the features of the extracted PV cell blocks from the feature extraction engine (214). The image classification engine may predict the probability of a bright spot based on the preprocessed image and the features of the PV cell blocks via a CNN.

[0101] Although Figure 2 an exemplary block diagram (200) of a bright spot detection system is shown, in other embodiments, the bright spot detection system (200) may include more than Figure 1Fewer components, different components, differently arranged components, or additional functional components as depicted. Additionally or alternatively, one or more components of the bright spot detection system (200) may perform functions described as being performed by one or more other components of the bright spot detection system (200).

[0102] Figure 3 An exemplary flowchart (300) for capturing an electroluminescence (EL) image of a photovoltaic (PV) cell panel in accordance with an embodiment of the present disclosure is shown. With respect to Figure 3 , at (302), a dedicated device (304) is used to capture an EL image during the PV solar panel manufacturing process. When a voltage is applied to the PV solar panel, the dedicated device (304) can measure the light emitted by the PV solar panel. The PV solar panel may include a plurality of PV cells. The EL image can be used to evaluate the quality of the PV cells.

[0103] In an embodiment, the dedicated device (304) may be coupled with standard EL defect detection software (306) to detect and annotate different types of defects (other than "bright spots") on the PV cells. These defects can be marked using colored bounding boxes around the PV cells. The presence of these bounding boxes may act as noise for any method for bright spot detection.

[0104] In an embodiment, a noise reduction module can be developed to remove the effect of pre - existing bounding boxes on bright spot detection. The method is defined as follows: a. Identify colored bounding boxes: In a red, green, and blue (RGB) color image, each pixel is represented as a combination of three color channels (red, green, and blue). A pixel in any RGB image can be colored only when all of its channels have different values. The characteristics of the colored pixels can be used to identify colored bounding boxes. b. Convert the colored pixels of the bounding box to "black": To convert the colored pixels of the bounding box to "black", the pixel intensity of the bounding box can be converted to "0". Since bright spots are regions of high pixel intensity, a classification model can be trained to distinguish between bright spots and bounding boxes.

[0105] Figure 4 An exemplary flowchart (400) for extracting PV cells from an EL image of a PV solar panel in accordance with an embodiment of the present disclosure is shown. With respect to Figure 4 , a PV cell (402) can be a basic building block of a PV system. A PV cell (402) can be a small device that directly converts sunlight into electricity. A PV panel (406) can be composed of a plurality of PV cells in series or parallel to add up the voltage and current to match the output power requirements and form an array (408).

[0106] In an embodiment, PV cell extraction can scan a PV panel (406) and extract individual EL images of PV cells (402). PV cell extraction can involve the following steps: · Identify the number of modules (404) in the PV panel (406) and divide the EL image of the PV panel (406) into individual PV module EL images. · Identify the number of PV cells (402) in the PV module EL image and divide the EL image of the PV module (404) into individual PV cell (402) EL images.

[0107] Figure 5 An exemplary flowchart (500) for determining an optimal block size for block extraction according to an embodiment of the present disclosure is shown. Regarding Figure 5 , the PV cell EL image can be divided into blocks of equal size to improve the recognition accuracy of the position of bright spots in the PV panel. The PV cell EL image can be divided into blocks of any given size. Blocks containing bright spots can be different from blocks without bright spots.

[0108] The size of the block can be a basic hyperparameter that needs to be adjusted. The optimal block size for block extraction can be determined as follows: a. At 502, a random sample of PV cell images including bright spots can be received as input, and the PV cell EL image can be divided into a grid that maximizes the difference between blocks containing bright spots and adjacent blocks without bright spots. b. At 504, for a single PV cell image and a given grid size (k1, k2), the average distance between blocks containing bright spots and adjacent blocks without bright spots can be determined, and c. At 506, for a given grid size (k1, k2), the average value of the average distance between blocks containing bright spots and adjacent blocks without bright spots over all PV cell images can be determined to determine the optimal block size. Optimal grid size = (k1*, k2*) = arg max(D(k1, k2))

[0109] Figure 6A and Figure 6B Exemplary representations (600A, 600B) for dividing PV cells into optimal blocks of equal size according to an embodiment of the present disclosure are shown.

[0110] Regarding Figure 6A , a PV cell image with a bright spot (602) is depicted, a PV cell (604) divided using a (2, 2) grid, and a PV cell (606) divided using a (4, 4) grid. Several distance metrics can be utilized to measure the difference between any two blocks. The following is an indicative (non-exhaustive) list of metrics that can be used. · Jensen-Shannon (JS) divergence, · the entropy difference between two blocks, and · the variance difference between two blocks.

[0111] Regarding Figure 6B , a PV cell (608) using an (8, 8) grid segmentation is shown, and an example using the entropy difference as a distance metric can be depicted. · A high entropy value may indicate that the EL image has a large degree of variation in pixel intensity and contains a large amount of information. · Shannon's entropy can be determined by analyzing the distribution of pixel intensities. This entropy can be calculated as: where p(x) is the probability of a specific pixel intensity value x occurring in the EL image. · The EL image of the PV cell can be divided into a grid that maximizes the entropy difference between a block including a bright spot and an adjacent block without a bright spot. In other words, the grid size that maximizes the entropy difference can be selected. Entropy difference = Entropy (block with bright spot) - Average entropy of adjacent blocks (Equation 2) · Once the optimal grid size is determined, the EL image of the PV cell can be divided into optimal blocks with a pixel size of P×Q.

[0112] Figure 7 An exemplary graph (700) showing the probability distributions of a block with a bright spot and a block without a bright spot according to an embodiment of the present disclosure is shown. Regarding Figure 7 , each extracted block can be a matrix of P×Q pixels. The value of each pixel can describe the brightness / darkness of that pixel. A smaller number closer to zero can represent black, i.e., a block without a bright spot, while a larger number closer to 255 can represent white, i.e., a block with a bright spot. The probability distribution of the pixels can show that the bright spot is represented by outliers with pixel intensities close to 255.

[0113] Figure 8 An exemplary graphical view (800) showing a comparison between a block with a bright spot and a block without a bright spot according to an embodiment of the present disclosure is shown. Regarding Figure 8, the Inverse Cumulative Density Function (ICDF) plot can represent pixel intensities at each percentile level. The ICDF plot can be derived from an EL image patch with bright spots. In this example, a steep slope after the 95th percentile can indicate the presence of bright spots. However, generally for any bright spot including a patch, a steep slope can be observed after the p-th percentile, where p ∈ [0, 1]. This observation can be used to generate features that can serve as keys to distinguish bright patches from non-bright patches. Based on the above analysis, the following features can be extracted from a PV cell patch based on pixel intensity and the gradient of the ICDF, as shown in Table 1: Table 1

[0114] By extracting the above features from a PV cell patch, a high-dimensional feature space can be created that captures the most discriminative features of bright spots. Using these features as inputs to a classification / anomaly detection model, bright spots can be effectively and reliably detected in any RGB PV cell / panel EL image.

[0115] Figure 9 An exemplary flowchart (900) for training an anomaly detection module according to an embodiment of the present disclosure is shown. Regarding Figure 9 , the anomaly detection method can be an unsupervised machine learning model aimed at identifying rare or unusual patterns in data. The methodology can be summarized as follows:

[0116] Feature extraction: A deep CNN model trained on a large image dataset (e.g., ImageNet) can be used to extract (902) image embeddings. The main advantage of using a pre-trained model can be the ability to identify complex patterns and extract high-quality features without the need for feature engineering. Further, the image embeddings can be enhanced (904) with the features extracted in the previous step as shown Figure 8 .

[0117] Model training: An anomaly detection model (e.g., Isolation Forest) can be trained (906) based on the enhanced data, only on PV cell patches without bright spots.

[0118] Bright spot detection: The trained anomaly detection model can be used to detect bright spots. If the trained anomaly detection model detects a pattern that is significantly different from the normal state (without bright spots), the trained anomaly detection model can label it as an anomaly (bright spot).

[0119] Figure 10A and Figure 10BExemplary flowcharts (1000A, 1000B) for generating synthetic bright spots according to embodiments of the present disclosure are shown. Regarding Figure 10A , for each real bright patch, the counter g = 0 and g with the number of required synthetic images can be initialized max .

[0120] At 1010, for each real bright patch, the bright spot region (B) may be extracted by the following steps: a. Create a zero array with a size matching the block size (P×Q). b. If the pixel intensity of any element in the block is higher than the input brightness threshold (α), the corresponding element in the array can be set to 1. For 1 ≤ x ≤ P, 1 ≤ y ≤ Q, Otherwise} where n is the number of blocks with bright spots, is the pixel intensity at the (x, y) coordinates of the i-th bright patch

[0121] The threshold α value for extracting the bright spot region (B) is as Figure 10B depicted.

[0122] At 1020, the spatial probability distribution of the bright spots can be determined in response to the extraction of the bright spot region (B).

[0123] At 1030, the probability distribution of the bright spot region (B) can be determined by detecting the number of elements in the bright spot region (B).

[0124] At 1040, a synthetic bright spot region can be generated by randomly selecting bright spots and randomly selecting the positions of the bright spots based on the spatial probability distribution of the bright spots and the probability distribution of the bright spot region (B).

[0125] At 1050, one or more synthetic bright spots can be generated by receiving the synthetic bright spot image and preprocessing the synthetic bright spot region.

[0126] Figure 11 An example diagram (1100) representing the spatial probability distribution of bright spots according to embodiments of the present disclosure is shown. Regarding Figure 11 , assuming there are n bright patches with a size of P×Q, the spatial probability distribution (1120) of the bright spots can be determined from the brightness region (1110) using the following equation 3 where n is the number of blocks with bright spots.

[0127] The spatial probability distribution of the bright spots can have the same dimensions as the blocks (i.e., P×Q).

[0128] Figure 12 FIG. (1200) shows an example diagram representing the probability distribution of the bright spot regions according to an embodiment of the present disclosure. Regarding Figure 12 , in order to determine the bright spot regions (1210) within the blocks, the number of elements having a value of 1 in the bright spot region (B) can be counted. Using this information from all n blocks having bright spots, the distribution (A dist )(1220) of the bright spot area can be created and determined as follows: A dist ~N(i) where and i ∈ [1, n] ∩ Z (Equation 4) where n is the number of blocks having bright spots.

[0129] Figure 13 FIG. (1300) shows an exemplary flowchart for generating a synthetic bright spot image according to an embodiment of the present disclosure. Regarding Figure 13 , the synthetic bright spot image (1340) can be generated by the following steps: a. Create a zero array (S) having dimensions matching the block dimensions (P×Q) (1310). b. Randomly sample (1320) values for the bright spot area, A dist for "a" in it. c. Randomly sample "a" (x, y) coordinates from the probability distribution P dist (1330). d. For all the selected coordinates, set S_((x,y)) to 255 to generate the synthetic bright spot image (1340).

[0130] Figure 14 FIG. (1400) shows an exemplary flowchart representing the preprocessing of the synthetic bright spot image according to an embodiment of the present disclosure. Regarding Figure 14 , dilation (1410) can be performed on the synthetic bright spot image, followed by erosion (1420). By performing dilation (1410) followed by erosion (1420) on the synthetic bright spot image, a fine irregular shape for the synthetic bright spot can be generated. Further, max pooling can be performed on the eroded image, followed by linear interpolation (1430) to return the image to its original dimensions P×Q.

[0131] Figure 15 FIG. (1500) shows an exemplary flowchart for training a classification model according to an embodiment of the present disclosure. Regarding Figure 15, the synthesized bright spot image (1510) and non-bright patches (1540) can be processed using image classification methods, summarized as follows:

[0132] Generative adversarial network (GAN) post-processing (1520): The GAN can be trained with synthesized bright spot samples. The main purpose of training the GAN is to enable the generator to generate new but realistic bright spot images when fed with synthesized bright spot samples.

[0133] Overlay (1530): The synthesized bright spot image can basically be bright pixels on a black / dark background. The synthesized bright spot image can be overlaid on top of the non-bright patches to simulate bright spots. The overlay / blending can be achieved through a weighted sum of two image arrays. The brightness of the synthesized bright spot image can be adjusted before or after blending to handle the brightness reduction caused by the black / dark background in the synthesized bright spot image.

[0134] Classification model training (1560): The classification model can be trained on the features extracted (1550) from the synthesized bright spot image (1510) and the non-bright patches (1540).

[0135] Bright spot detection: The trained classification model (1560) can be used to predict the probability of having bright spots in the PV solar panel.

[0136] Figure 16 An exemplary computer system (1600) is shown in which or with which embodiments of the present disclosure can be implemented.

[0137] As Figure 16 shown, the computer system (1600) can include an external storage device (1610), a bus (1620), a main memory (1630), a read-only memory (1640), a mass storage device (1650), a communication port (1660), and a processor (1670).

[0138] Those skilled in the art will understand that the computer system (1600) can include more than one processor and communication port. The processor (1670) can include various modules associated with the embodiments of the present disclosure.

[0139] In an embodiment, the communication port (1660) can be any port such as an RS-232 port used with a modem-based dial-up connection, a 10 / 100 Ethernet port, a gigabit or 10-gigabit port using copper or fiber optic, a serial port, a parallel port, or any other existing or future port. The communication port (1660) can be selected according to the network, such as a local area network (LAN), a wide area network (WAN), or any network to which the computer system (1600) is connected.

[0140] In an embodiment, the memory (1630) may be a random access memory (RAM), or any other dynamic storage device known in the art. The read-only memory (1640) may be any static storage device, such as, but not limited to, a programmable read-only memory (PROM) chip for storing static information, such as the startup or basic input / output system (BIOS) instructions of the processor (1670).

[0141] In an embodiment, the mass storage (1650) may be any current or future mass storage solution that can be used to store information and / or instructions. Exemplary mass storage solutions include, but are not limited to, parallel advanced technology attachment (PATA) or serial advanced technology attachment (SATA) hard disk drives or solid state drives (internal or external, such as having a universal serial bus (USB) and / or FireWire interface), one or more optical disks, redundant array of independent disks (RAID) memories, such as disk arrays (e.g., SATA arrays).

[0142] In an embodiment, the bus (1620) communicatively couples the processor (1670) with other memory, storage, and communication blocks. The bus (1620) may be, for example, a peripheral component interconnect (PCI) / PCI extended (PCI-X) bus, a small computer system interface (SCSI), a universal serial bus (USB, etc.), for connecting expansion cards, drives, and other subsystems, and other buses, such as the front-side bus (FSB) that connects the processor (1670) to the computer system (1600).

[0143] Optionally, an operator and management interface (e.g., a display, keyboard, joystick, and cursor control device) may also be coupled to the bus (1620) to support direct operator interaction with the computer system (1600). Other operator and management interfaces may be provided via a network connection connected through the communication port (1660). The components described above are merely for illustrative purposes of various possibilities. The above-described exemplary computer system (1600) should in no way limit the scope of the present disclosure.

[0144] Although the foregoing describes various embodiments of the present invention, other and further embodiments of the present invention may be designed without departing from the basic scope of the present invention. The scope of the present invention is determined by the appended claims. The present invention is not limited to the described embodiments, versions, or examples, which are included to enable a person of ordinary skill in the art to make and use the present invention in light of the information and knowledge available to a person of ordinary skill in the art. Advantages of the present disclosure

[0145] The present disclosure performs precise and reliable detection of bright spot defects in PV solar panels.

[0146] The present disclosure solves the problem of class imbalance caused by the infrequency of bright spots.

[0147] The present disclosure combines statistically derived features of bright spots to enhance the reliability of the system.

[0148] The present disclosure combines a synthetic data generation system to enhance the reliability of the system.

[0149] The present disclosure includes a multi-model voting method that combines unsupervised (anomaly detection) and supervised (classification) methods to improve system robustness.

Claims

1. A system (200) for detecting bright spots in a photovoltaic (PV) solar panel, the system (200) comprising: One or more processors (202); And A memory (204) operatively coupled to the one or more processors (202), wherein the memory (204) includes processor-executable instructions that, when executed, cause the one or more processors (202) to: Receive an electroluminescence (EL) image of the PV solar panel; Extract one or more optimal blocks from the received EL image of the PV solar panel; Extract one or more features from the one or more extracted optimal blocks; Generate one or more synthetic bright spots based on the one or more extracted features to train a classification model; And Detect bright spots in the PV solar panel via the classification model.

2. The system (200) according to claim 1, wherein the received EL image of the PV solar panel includes the one or more optimal blocks having the bright spots and one or more blocks without bright spots marked with one or more colored bounding boxes.

3. The system (200) according to claim 1, wherein the one or more processors (202) extract the one or more optimal blocks from the received EL image of the PV solar panel by being configured to: Detect one or more colored pixels in the received EL image of the PV solar panel; Identify one or more colored bounding boxes based on the one or more colored pixels; Convert the pixel intensities of the one or more colored bounding boxes to 0 to remove noise from the received EL image of the PV solar panel; And Extract the one or more optimal blocks from the received EL image of the PV solar panel based on the pixel intensities.

4. The system (200) according to claim 1, wherein the memory (204) includes processor-executable instructions that, when executed, cause the one or more processors (202) to extract one or more PV cells from the PV solar panel.

5. The system (200) according to claim 4, wherein the one or more processors (202) extract the one or more PV cells from the PV solar panel by being configured to: Identify the number of modules in the PV solar panel; Divide the EL image of the PV solar panel into one or more PV module EL images based on the number of modules in the PV solar panel; Identify the number of cells in at least one of the one or more PV module EL images; Divide the at least one PV module EL image into one or more PV cell EL images; And Extract the one or more PV cells based on the one or more PV cell EL images.

6. The system (200) according to claim 5, wherein the memory (204) includes processor-executable instructions that, when executed, cause the one or more processors (202) to divide the one or more PV cell EL images into equally sized blocks and identify the exact location of at least one bright spot in the PV solar panel.

7. The system (200) according to claim 1, wherein the memory (204) includes processor-executable instructions that, when executed, cause the one or more processors (202) to identify the size of the one or more optimal blocks, and wherein the one or more optimal blocks are the one or more blocks having the bright spots.

8. The system (200) according to claim 7, wherein the one or more processors (202) identify the size of the one or more optimal blocks by being configured to: Divide one or more PV cell EL images into at least one grid that maximizes the difference between the one or more blocks having the bright spots and the one or more blocks without bright spots; Determine the average distance between the one or more blocks having the bright spots and the one or more blocks without bright spots; Determine the average value of the average distances between the one or more blocks having the bright spots and the one or more blocks without bright spots over all the one or more PV cell EL images; And Based on the average value, identify the size of the one or more blocks having the bright spots.

9. The system (200) according to claim 1, wherein the one or more processors (202) extract the one or more features from the one or more extracted optimal blocks by being configured to: Use the inverse cumulative density function (ICDF) to determine whether the pixel intensity of each pixel of one or more blocks is greater than a pre-configured value; In response to determining that the pixel intensity of each pixel of the one or more blocks is greater than the pre-configured value, detect the one or more blocks including the bright spots as the one or more optimal blocks; Based on the detection, extract the one or more optimal blocks; And Based on the pixel intensity of each pixel of the one or more extracted optimal blocks and the gradient of the ICDF, extract the one or more features from the one or more extracted optimal blocks.

10. The system (200) according to claim 9, wherein the one or more features include at least one of the following: the value of the maximum pixel intensity, a flag indicating high pixel intensity, the slope of the ICDF between any intervals of the pixel intensity percentile, and the ratio of the ICDF between any intervals of the pixel intensity percentile.

11. The system (200) according to claim 1, wherein the one or more processors (202) generate the one or more synthetic bright spots by being configured to: For each block including the bright spot, extract at least one bright spot region; Determine the spatial probability distribution of the bright spot; Determine the probability distribution of the at least one bright spot region by detecting the number of elements in the at least one bright spot region; Generate at least one synthetic bright spot region based on the spatial probability distribution of the bright spots and the probability distribution of the at least one bright spot region; And Generate the one or more synthetic bright spots by capturing and preprocessing the at least one synthetic bright spot region.

12. The system (200) according to claim 1, wherein the memory (204) comprises processor-executable instructions which, when executed, cause the one or more processors (202) to: Receive the one or more optimal blocks that have been extracted as input; Extract image embeddings from the received EL image of the PV solar panel via a pre-trained convolutional neural network (CNN) model; Enhance the one or more features that have been extracted with the extracted image embeddings, and Train an anomaly detection model to detect the bright spots.

13. The system (200) according to claim 12, wherein the anomaly detection model is trained on one or more blocks without bright spots.

14. The system (200) according to claim 1, wherein the one or more processors (202) detect the bright spots in the PV solar panel by being configured to: Train a generative adversarial network (GAN) with the one or more synthetic bright spots to generate real bright spot images for the one or more synthetic bright spots; Mix the real bright spot images above one or more blocks without bright spots to simulate the bright spots; In response to mixing the real bright spot images, extract one or more features from one or more blocks with the bright spots and extract one or more features from the one or more blocks without bright spots; And Train the classification model based on the one or more features extracted from the one or more blocks with the bright spots and the one or more features extracted from the one or more blocks without bright spots.

15. A method for detecting bright spots in a photovoltaic (PV) solar panel, the method comprising: Receiving, by a processor (202) associated with a system (200), an electroluminescence (EL) image of a PV solar panel; Extracting, by the processor (202), one or more optimal blocks from the received EL image of the PV solar panel; Extracting, by the processor (202), one or more features from the one or more optimal blocks that have been extracted; Generating, by the processor (202), one or more synthetic bright spots based on the one or more features that have been extracted to train a classification model; And Detecting, by the processor (202), the bright spots in the PV solar panel via the classification model.

16. The method according to claim 15, wherein the received EL image of the PV solar panel comprises the one or more optimal blocks with the bright spots and the one or more blocks without bright spots marked with one or more colored bounding boxes.

17. The method according to claim 15, wherein extracting, by the processor (202), the one or more optimal blocks from the received EL image of the PV solar panel comprises: detecting, by the processor (202), one or more colored pixels from the received EL image of the PV solar panel; identifying, by the processor (202), one or more colored bounding boxes based on the one or more colored pixels; converting, by the processor (202), the pixel intensity of the one or more colored bounding boxes to 0 to remove noise from the received EL image of the PV solar panel; and extracting, by the processor (202), the one or more optimal blocks from the received EL image of the PV solar panel based on the pixel intensity.

18. The method according to claim 15, comprising extracting, by the processor (202), one or more PV cells from the PV solar panel.

19. The method according to claim 18, wherein extracting, by the processor (202), the one or more PV cells from the PV solar panel comprises: identifying, by the processor (202), the number of modules in the PV solar panel; dividing, by the processor (202), the EL image of the PV solar panel into one or more PV module EL images based on the number of modules in the PV solar panel; identifying, by the processor (202), the number of cells in at least one PV module EL image among the one or more PV module EL images; dividing, by the processor (202), the at least one PV module EL image into one or more PV cell EL images; and extracting, by the processor (202), the one or more PV cells based on the one or more PV cell EL images.

20. The method according to claim 19, comprising: dividing, by the processor (202), the one or more PV cell EL images into blocks of equal size; and identifying, by the processor (202), the exact position of at least one bright spot in the PV solar panel.

21. The method according to claim 15, comprising: identifying, by the processor (202), the size of the one or more optimal blocks, wherein the one or more optimal blocks are one or more blocks including the bright spot.

22. The method according to claim 21, wherein identifying, by the processor (202), the size of the one or more optimal blocks comprises: dividing, by the processor (202), one or more PV cell EL images into at least one grid that maximizes the difference between one or more blocks having the bright spot and one or more blocks without the bright spot; determining, by the processor (202), the average distance between the one or more blocks having the bright spot and the one or more blocks without the bright spot; The processor (202) determines an average value of the average distances between the one or more blocks having the bright spots and the one or more blocks without bright spots on all the one or more PV cell EL images; and The processor (202) identifies the sizes of the one or more blocks having the bright spots based on the average value.

23. The method according to claim 15, wherein the processor (202) extracting the one or more features from the one or more extracted optimal blocks comprises: The processor (202) determines whether the pixel intensity of each pixel of the one or more blocks is greater than a preconfigured value via an inverse cumulative density function (ICDF); The processor (202) detects one or more blocks including bright spots as the one or more optimal blocks in response to determining that the pixel intensity of each pixel of the one or more blocks is greater than the preconfigured value; The processor (202) extracts the one or more optimal blocks based on the detection; and The processor (202) extracts the one or more features from the one or more extracted optimal blocks based on the pixel intensity of each pixel of the one or more extracted optimal blocks and the gradient of the ICDF.

24. The method according to claim 23, wherein the one or more features include at least one of the following: the value of the maximum pixel intensity, a flag indicating a high pixel intensity, the slope of the ICDF between any intervals of pixel intensity percentiles, and the ratio of the ICDF between any intervals of pixel intensity percentiles.

25. The method according to claim 15, wherein the processor (202) generating the one or more synthetic bright spots comprises: The processor (202) extracts at least one bright spot region for each block including the bright spot; The processor (202) determines the spatial probability distribution of the bright spot; The processor (202) determines the probability distribution of the at least one bright spot region by detecting the number of elements in the at least one bright spot region; The processor (202) generates at least one synthetic bright spot region based on the spatial probability distribution of the bright spot and the probability distribution of the at least one bright spot region; and The processor (202) generates the one or more synthetic bright spots by preprocessing the at least one synthetic bright spot region.

26. The method according to claim 15, comprising: The processor (202) receives the one or more extracted optimal blocks as input; The processor (202) extracts image embeddings from the received EL images of the PV solar panel via a pre-trained convolutional neural network (CNN) model; The processor (202) enhances the one or more extracted features with the extracted image embeddings, and The processor (202) trains an anomaly detection model to detect the bright spots.

27. The method according to claim 26, wherein the anomaly detection model is trained on one or more blocks without bright spots.

28. The method according to claim 15, wherein detecting the bright spots in the PV solar panel by the processor (202) includes: generating, by the processor (202), real bright spot images for the one or more synthetic bright spots by training a generative adversarial network (GAN) with the one or more synthetic bright spots; mixing, by the processor (202), the real bright spot images over one or more blocks without bright spots to simulate the bright spots; extracting, by the processor (202), one or more features from one or more blocks with the bright spots and one or more features from the one or more blocks without bright spots in response to mixing the real bright spot images; and training, by the processor (202), the classification model based on the one or more extracted features of the one or more blocks with the bright spots and the features extracted from the one or more blocks without bright spots.

29. A user equipment, comprising: one or more processors; and a memory operably coupled to the one or more processors, wherein the memory includes processor-executable instructions that, when executed, cause the one or more processors to: capture an electroluminescence (EL) image of a photovoltaic (PV) solar panel; and send the EL image of the PV solar panel to a system (200); wherein the one or more processors are communicatively coupled to the system (200), and wherein the system (200) is configured to: receive the EL image of the PV solar panel; extract one or more optimal blocks from the received EL image of the PV solar panel; extract one or more features from the one or more extracted optimal blocks; generate one or more synthetic bright spots based on the one or more extracted features to train a classification model; and detect bright spots in the PV solar panel via the classification model.

30. A non-transitory computer-readable medium, comprising processor-executable instructions that cause a processor to: receive an electroluminescence (EL) image of a photovoltaic (PV) solar panel; extract one or more optimal blocks from the received EL image of the PV solar panel; extract one or more features from the one or more extracted optimal blocks; generate one or more synthetic bright spots based on the one or more extracted features to train a classification model; and detect bright spots in the PV solar panel via the classification model.