← Portfolio

AI Machine Learning Model for Issues Detection in Solar Panels

Built an AI model to detect defects in solar panels from Electroluminescence (EL) processing during production-line quality inspection at Tindo Solar, South Australia.

The model was built in Python using Ultralytics YOLOv11, Pillow for image handling, and Tkinter for the prototype user interface.

Context: Tindo Solar · Manufacturing quality inspection · Machine Learning · Ultralytics YOLO

Date: February 2026

Introduction

Electroluminescence defect detection — project banner

While working at Tindo Solar as a machine operator from December 2025, I have proposed and had the opportunity to participate in a project focused on using AI to detect defects in solar panels using Electroluminescence (EL) images.

What is EL? Electroluminescence (EL) is a non-destructive testing method in which an electrical current is applied to a solar panel, causing its cells to emit infrared light. This emission is captured by a specialised camera, allowing internal defects to be identified even when they are not visible.

EL imaging can reveal several types of defects, with the most common being:

  • Cracks: affecting performance and durability
  • Soldering issues: disrupting electrical connections
  • Scratches: degrading surface quality and efficiency
EL sample T1 EL sample T2 EL sample T3
EL sample T4 EL sample T5 EL sample T6

Illustrations of issues found in scanned images from the Electroluminescence (EL) inspection process.

In practice, the inspection process heavily relies on human observation, requiring technicians to analyse hundreds of images daily. This approach is time-consuming and prone to errors due to subjectivity and fatigue.

Electroluminescence imaging context

To address these limitations, a Machine Learning-based solution was proposed to automate defect detection from EL images. The goal is to develop a model capable of accurately and efficiently identifying defects, thereby reducing inspection time, improving productivity, and supporting technicians in decision-making.

This project demonstrates the potential of applying artificial intelligence to enhance quality inspection processes in industrial environments.

EL inspection context — screenshot

System Architecture and Implementation

The project is organized into two main phases: the training phase and the implementation phase, forming a complete pipeline from data preparation to real-world deployment.

Overall diagram of training phase and implementation phase

Overall diagram of training phase and implementation phase

1. Training Phase

The training phase focuses on preparing data and building the machine learning model:

Training workflow from data to model training

Training workflow: from data, labeling, and data augmentation to model training.

  • Data Acquisition & Preprocessing — High-resolution EL images (e.g., 5336×10856 and 4796×2868 pixels) were captured from EL inspection machines. These images were divided into smaller patches of 640×640 pixels to match model input requirements.
  • Data Annotation — Technicians manually reviewed images and identified defects. They also labeled images with locations of issues and a class (crack, soldering issue, scratch).
  • Data Augmentation — Techniques such as rotation (90°, 180°), flipping, and blurring were applied to improve dataset diversity and model generalization.
  • Dataset Splitting — The dataset was split into 80% training and 20% validation sets. A YAML file was created for configuration.
  • Model Training — The model was trained using YOLOv11 small version with Python, Visual Studio Code, and Google Colab.
Visual Studio Code — training

Using Visual Studio Code for training process.

Google Colab — data in Google Drive

Using Google Colab for training process: storing data in Google Drive.

Google Colab — model setup

Using Google Colab for training process: Setup the model and configuration before training.

Google Colab — monitoring training

Using Google Colab for training process: Monitoring training process.

Model Output — The trained model weights were saved locally for deployment.

Training batch 0 Training batch 1 Training batch 2

Training Batches — Augmented image batches (Mosaic, flip, HSV) used for training.

2. Implementation Phase

This phase focuses on deploying the trained model into the production environment:

API Development

API pipeline — patches, inference, JSON

API pipeline: split images into patches, run model inference, return JSON results.

  1. Input images are split into 640×640 patches and stored in memory using Pillow library for image reading, cropping, drawing bounding boxes
  2. The trained model detects defects on each patch
  3. Results are returned in JSON format (bounding box + class + confidence)
  • Visualization — Detected defects are displayed by drawing bounding boxes and labels on the original image.
  • System Integration — The API is integrated into the production line. Each EL scan automatically triggers defect detection.
  • Human-in-the-loop Verification — The AI system supports technicians, who still perform manual verification.
  • Continuous Improvement — New or misclassified samples are stored for future retraining to improve the model.

Prototype — Video Demos

Application Interface

GUI for defect detection

Graphic User interface for detecting.

GUI — confidence and results GUI — confidence adjustment

Graphic User interface: changing confidence value and results.

V Scratch issue detected

V Scratch issue was detected

Single Scratch issue detected

Single Scratch issue was detected

Solder issues marked red

Solder issues was detected and marked by red rectangle

Scratch issues marked blue

Scratch issues was detected and marked by blue rectangle

Issues detected by trained model

Issues were detected and marked through the trained model

Different issues red and blue

Different issues were detected as red and blue color

Confidence 0.85

The confidence 0.85 which is more accuracy

Result & Conclusion

Illustrative photograph — not part of the EL detection project

Me and my colleagues in factory. (for illustration only — not related to the project).

At the current stage, the project has successfully completed the model building and the development of a prototype UI for testing and evaluation. The trained model is able to detect common defects in solar panels from EL images, and the prototype interface allows adjusting confidence thresholds (ranging from 0.5 to 0.9) to analyse detection performance. These initial results demonstrate the feasibility of applying machine learning to support defect inspection in production.

The project continues to progress, with further improvements expected over time. Future work will focus on enhancing the model, expanding the dataset, and completing the full implementation pipeline to achieve better performance and reliability.