As the world’s largest photovoltaic market and production base, China boasts abundant solar resources and a favorable market environment. In recent years, the rapid growth of the solar energy industry has been vigorously promoted through policy support, industrial assistance, and market competition, making solar power increasingly important. Solar panels are typically installed outdoors and are easily affected by various natural environmental factors, leading to dust accumulation on their surfaces. This dust not only reduces the light transmittance and absorption efficiency, significantly impacting the power output of solar panels, but also causes hardware failures such as hot spots and hidden cracks, potentially leading to system paralysis. Therefore, timely and accurate identification of dust accumulation on solar panel surfaces is crucial for ensuring efficient operation of photovoltaic systems. Traditional methods relying on manual inspection suffer from low efficiency, high costs, and error-proneness, making them inadequate for the intelligent operation and maintenance requirements of real-time detection and fault diagnosis of solar panel dust conditions.
Researchers worldwide have conducted extensive studies on solar panel dust accumulation. Huadong Y et al. found through outdoor experiments that the power generation efficiency of solar panels is linearly and positively correlated with the degree of dust accumulation. Zhao Bo et al. proposed a solar panel dust status recognition method based on residual networks, using a ResNet50 neural network model. Although this method can basically meet the recognition requirements, it divides dust accumulation into 11 classification levels, which increases classification difficulty and imposes higher demands on model performance. The reported accuracy was only 81%. Sun Pengxiang et al. improved the ResNeXt network by incorporating a coordinate attention mechanism to recognize four levels of solar panel dust accumulation, achieving an accuracy of 90.7%. However, their network had many parameters, high computational complexity, and limited inference speed, making it difficult to deploy on mobile devices in photovoltaic power stations. Bai Yunduan et al. utilized an adaptive image segmentation algorithm to separate solar panels from dust based on YCbCr color space characteristics, followed by texture feature extraction using a rotation-invariant LBP algorithm. Although this method significantly improved recognition speed, its accuracy remained at only 88.56%. In summary, current methods for solar panel dust status recognition suffer from insufficient accuracy and limited speed, failing to meet the practical operation and maintenance needs of photovoltaic power stations. Therefore, this paper proposes a solar panel ash accumulation state recognition method based on the Inception network structure. The main contributions are as follows:
(1) Build a dataset through field investigations and laboratory simulations, using image processing techniques to construct a complete dataset.
(2) Improve the Stem module by increasing the convolution kernel size, thereby enlarging the effective receptive field at the early stage of the model. Adding an improved Stem module at the beginning effectively reduces the computational complexity and parameter count while enhancing the model’s generalization ability.
(3) Introduce a Swish-SE lightweight attention mechanism to enhance the model’s focus on different features. Additionally, incorporate a dropout layer and adopt Warmup and Polynomial learning rate adjustment strategies to mitigate overfitting and improve model robustness.
Inception networks originated from GoogleNet and have undergone multiple improvements. The Inception module is the basic unit of the Inception network. By combining convolution kernels and pooling kernels of different sizes along with 1×1 convolution layers to reduce dimensions and parameters, the depth and width of the network are increased while computational complexity is reduced. The use of Inception modules enables feature extraction at deeper levels with fewer parameters, thereby improving network performance. Moreover, Inception modules can be accelerated through parallel computation, increasing training speed.
The Stem module is located at the beginning of the model. Its main function is to reduce the resolution of the input image, thereby decreasing the computational load of subsequent Inception modules while increasing the nonlinearity of the entire model and enhancing its representational capacity. The optimized Stem module structure is shown in the figure below. The Stem module goes through four stages from input to output. In the first stage, three layers of 3×3 convolution kernels are used. In the third stage, the right branch uses a 1×1 convolution followed by a 3×3 convolution, while the left branch adds 7×1 and 1×7 convolutions between the 1×1 and 3×3 convolutions. Through multiple experiments, while maintaining a small number of parameters, replacing the 3×3 convolution in the first stage and the 1×1 and 3×3 convolutions in the third stage with 5×5 convolutions effectively enhances the effective receptive field in the early stage, improving the model’s ability to extract global features and thereby enhancing its performance and generalization ability.

The attention mechanism has powerful information resource allocation capabilities, allowing computational resources to be allocated to more important tasks amidst large amounts of cluttered information. Since the solar panel dust dataset contains significant noise and the differences between dust levels are subtle, and the solar panel’s own color greatly influences the results, the network must extract more useful information to make accurate judgments. This paper introduces a Swish-SE lightweight attention mechanism module. This attention mechanism combines the Swish activation function with the SE module, replacing the original ReLU activation function. By introducing more nonlinearity, more effective feature selection and reuse can be achieved, with better performance, especially in deeper neural networks, enhancing the representational capacity of the SE module.
The feature map of solar panel dust status is input into the Swish-SE module. First, through a Squeeze operation, global average pooling compresses the feature map’s height and width to 1×1. Then, through an Excitation operation, two fully connected layers and the Swish activation function establish channel connections, followed by a Sigmoid function to normalize the weights. Finally, through a Scale operation, the channel attention weights are applied to each channel’s features, emphasizing important channel features and suppressing unimportant ones. The module structure is illustrated in the figure above.
The overall network structure based on the Inception architecture consists of the Stem module, Swish-SE attention module, Inception-A, Inception-B, Inception-C modules, a fully connected layer, and Softmax. First, an image of size 299×299×3 is input into the model. The Stem module initially extracts features from the input image. Then, the Inception-A, Inception-B, and Inception-C modules extract deeper features. Finally, the output feature map is fed into the fully connected layer, and Softmax generates the probability distribution.
Inception-A, Inception-B, and Inception-C are formed by decomposing convolutions and increasing the size and number of convolution kernels in the basic Inception module. These modules improve the network’s nonlinear expressive capability while maintaining the receptive field. The model parameter settings are listed in Table 1. In Table 1, Avg represents adaptive average pooling, Max represents max pooling, S indicates padding, and V is the stride of the convolution operation, with a default of 1.
| Module | Parameter Settings |
|---|---|
| Stem | [5×5×32], V=2; [5×5×32]; [5×5×64] (S); [3×3 Max], V=2; [3×3×96], V=2; [5×5×64] (S); [5×5×96] (S); [5×5×64] (S); [7×1×64] (S); [1×7×64] (S); [5×5×96] (S); [3×3×192], V=2; [3×3 Max], V=2 |
| Inception-A | [1×1×96]; [1×1×144]; [1×1×64]; [1×1×64]; [3×3×96] (S); [1×1×192]; [1×7×84] (S); [1×7×96] (S); [1×1×96]; [1×3×64] (S); [3×1×64] (S); Avg; [1×1×96]; Avg; [1×1×48]; Avg; [1×1×64] |
| Inception-B | [1×1×64]; [3×3×96] (S); [3×3×96] (S); [1×1×72]; [1×7×72] (S); [7×1×84] (S); [1×7×84] (S); [7×1×96] (S); [1×3×112] (S); [3×1×128] (S); [1×3×64] (S); [3×1×64] (S) |
| Inception-C | Similar structures with varying kernel sizes and numbers |
The experiments were conducted using Python and the Pytorch deep learning framework. The hardware environment was a 64-bit Windows 10 operating system with an Intel Core i7-13700 CPU, 16 GB RAM, and an NVIDIA GeForce RTX 3060 Ti GPU. The dataset primarily consisted of images of solar panels with different dust accumulation states taken from a photovoltaic power station from March to September 2023, captured by surveillance cameras and mobile phones of station staff. After filtering, blurry, similar, and obstructed images were removed, resulting in 473 valid solar panel dust status images. By judging whether there is dust on the solar panel and whether the grid lines are covered by dust, the dust status was divided into three categories: no dust, dust, and heavy dust. Sample images are shown in the figure.
To avoid overfitting due to insufficient data, random scaling, brightness and contrast adjustment, rotation, and cropping were used for data augmentation, expanding the dataset to 3015 images, with 1005 images for each of the three solar panel dust status categories. The dataset was split in an 8:1:1 ratio, with 80% for training, 10% for validation, and 10% for testing.
During model training, the dataset images were resized to 299×299 to meet the input requirements of the Stem module. The batch size was set to 32, and the number of epochs was set to 60. Batch normalization was introduced between each convolution and ReLU activation function to accelerate training and mitigate overfitting. The Adam optimizer was used due to its ability to effectively improve model performance and training outcomes. The update rules of the Adam optimizer are as follows:
$$ m_t = \beta_1 m_{t-1} + (1 – \beta_1) g_t $$
$$ v_t = \beta_2 v_{t-1} + (1 – \beta_2) g_t^2 $$
$$ \hat{m}_t = \frac{m_t}{1 – \beta_1^t} $$
$$ \hat{v}_t = \frac{v_t}{1 – \beta_2^t} $$
$$ \theta_{t+1} = \theta_t – \eta \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} $$
where \( m_t \) and \( v_t \) are exponential moving averages of the gradient; \( g_t \) is the gradient of the parameter; \( \beta_1=0.9 \) and \( \beta_2=0.999 \) are decay coefficients; \( \hat{m}_t \) and \( \hat{v}_t \) are bias-corrected estimates; \( \theta_{t+1} \) is the updated parameter; \( \eta \) is the learning rate; and \( \epsilon=10^{-8} \).
The learning rate is a critical hyperparameter in deep learning. In this work, the Warmup learning rate strategy was used for the first 20 epochs, starting with a small learning rate and gradually increasing to the initial learning rate. For epochs 21 to 60, a polynomial learning rate strategy was adopted, gradually decreasing the learning rate. The learning rate update expressions are:
$$ \eta_w = \eta_{\text{start}} \left( \frac{\eta_0}{\eta_{\text{start}}} \right)^{\frac{i_{\text{epoch}}}{i_w}} $$
$$ \eta_p = \eta_0 \left[ 1 – \frac{i_{\text{epoch}} – i_w}{i_{\text{num}} – i_w} \right]^p $$
where \( i_{\text{epoch}} \) is the current epoch; \( \eta_w \) and \( \eta_p \) are the learning rates during the two stages; \( i_w = 20 \) is the number of epochs with Warmup; \( \eta_{\text{start}} = 0.0005 \) is the initial small learning rate; \( \eta_0 = 0.001 \) is the base learning rate; \( i_{\text{num}} = 60 \) is the total number of epochs; and \( p = 0.9 \).
The problem of solar panel dust status recognition is a multi-class classification task. The cross-entropy loss function was chosen for its good representational ability, sensitivity, and numerical stability. The cross-entropy loss is defined as:
$$ L = -\frac{1}{n} \sum_{j=0}^{n-1} \sum_{r=0}^{m-1} y_{j,r} \log p_{j,r} $$
where \( y_{j,r} \) is the true label of sample \( j \) for class \( r \); \( m \) and \( n \) are the total number of classes and samples, respectively; and \( p_{j,r} \) is the predicted probability of sample \( j \) belonging to class \( r \).
To evaluate the effectiveness of the proposed method, we used accuracy, precision, recall, and F1-score. The formulas are:
$$ \text{Accuracy} = \frac{TP + TN}{TP + FP + FN + TN} $$
$$ \text{Precision} = \frac{TP}{TP + FP} $$
$$ \text{Recall} = \frac{TP}{TP + FN} $$
$$ F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} $$
where TP, FP, FN, and TN denote true positives, false positives, false negatives, and true negatives, respectively.
The training loss and validation accuracy curves over epochs are shown in the figure. It can be observed that the proposed model converges quickly and maintains stability, achieving high accuracy.
To further verify the superiority of our method, we compared it with two classic classification models: Inception-V3 and MobileNet-V2. The optimal weights of the trained models were loaded and used to predict the test set. The results are summarized in Table 2.
| Model | Accuracy (%) | Precision (%) | Recall (%) | F1-score (%) |
|---|---|---|---|---|
| MobileNet-V2 | 91.14 | 91.14 | 100 | 95.36 |
| Inception-V3 | 95.41 | 95.08 | 100 | 97.48 |
| Proposed Model | 97.05 | 97.38 | 100 | 98.67 |
From Table 2, it is evident that the proposed model achieves the best performance across all metrics, with an accuracy of 97.05%, which is 5.91% higher than MobileNet-V2 and 1.64% higher than Inception-V3. Additionally, the number of parameters, average training time per epoch, and average prediction time per image are compared in Table 3.
| Model | Parameters (M) | Training Time (s/epoch) | Prediction Time (ms/image) |
|---|---|---|---|
| MobileNet-V2 | 2.23 | 10.89 | 5.66 |
| Inception-V3 | 20.78 | 16.47 | 11.43 |
| Proposed Model | 3.59 | 15.68 | 9.03 |
As shown in Table 3, MobileNet-V2 has the fewest parameters and fastest speed, but its accuracy is lower. Inception-V3 has higher accuracy but a large number of parameters and slower inference. The proposed model achieves a good balance, with only 3.59M parameters, an inference speed about 27% faster than Inception-V3, and the highest accuracy.
To verify the effectiveness of the improved Stem module and the attention mechanism, we conducted ablation experiments based on the basic architecture. The results are presented in Table 4.
| Model | Accuracy (%) | Precision (%) | Recall (%) | F1-score (%) |
|---|---|---|---|---|
| Basic Model | 89.83 | 89.83 | 100 | 94.64 |
| Basic Model + Improved Stem | 92.79 | 92.46 | 100 | 96.08 |
| Basic Model + Swish-SE | 95.41 | 95.41 | 100 | 97.65 |
| Proposed Model (both) | 97.05 | 97.38 | 100 | 98.67 |
From Table 4, the proposed model incorporating both the improved Stem and Swish-SE attention achieved increases of 7.22% in accuracy, 7.55% in precision, and 4.03% in F1-score compared to the basic model. This fully demonstrates that the improved Stem module and attention mechanism significantly enhance the model’s recognition performance for solar panel dust status.
In conclusion, this paper presents a solar panel ash accumulation state recognition method based on the Inception network structure. By adding an improved Stem module with larger convolution kernels, the effective receptive field is enlarged, allowing the model to capture broader input information and better extract features. The introduction of the Swish-SE lightweight attention mechanism improves model performance and generalization without increasing computational load. Experimental results show that the proposed method achieves a recognition accuracy of 97.05%, with fewer parameters and faster inference speed, effectively meeting the intelligent operation and maintenance requirements of photovoltaic power stations. During dataset construction, the classification granularity did not fully consider practical application needs; future work will further investigate based on related equipment in photovoltaic stations. The proposed method provides a practical and efficient solution for solar panel dust accumulation identification and contributes to the advancement of intelligent photovoltaic maintenance systems.
