Real-time microscopic defect detection pipeline for Printed Circuit Boards (PCB) using YOLOv8-Nano. Built for Automated Optical Inspection (AOI) in smart manufacturing.
Proyek ini adalah implementasi end-to-end Machine Learning pipeline menggunakan arsitektur YOLOv8-Nano untuk mendeteksi anomali/cacat mikroskopis pada Printed Circuit Boards (PCB) secara real-time. Proyek ini dikembangkan sebagai bagian dari riset otomasi cerdas Computer Vision pada lini manufaktur.
notebook ini dirancang dengan standar industri yang mencakup:
- Bipartite Graph & Negative Mining: Pemetaan otomatis gambar cacat (positif) dan gambar background bersih (negatif) untuk melatih model mengenali noise dan mengurangi False Positives.
- Exploratory Data Analysis (EDA): Visualisasi ekstraktif berbasis kelas untuk inspeksi bounding box secara langsung sebelum pelatihan.
- Safe YOLO Format Conversion: Standardisasi domain gambar menjadi Grayscale 3-Channel dan konversi koordinat absolut ke koordinat relatif YOLO secara aman.
- Hasil Evaluasi (mAP & Metrics): Skrip analisis visual khusus untuk membandingkan fakta (Ground Truth) dengan halusinasi/prediksi salah pada area background.
Dataset yang digunakan adalah subset DeepPCB, yang memuat pasangan gambar PCB berkualitas tinggi (resolusi asli di-resize ke 640x640). Model mendeteksi 6 kelas cacat:
openshortmousebitespurcopperpin-hole
Model dilatih menggunakan akselerator GPU (NVIDIA Tesla T4 di Kaggle) dengan konfigurasi:
- Model: YOLOv8 Nano (
yolov8n.pt) - Epochs: 50
- Image Size: 640
- Batch Size: 16
- Waktu Konvergensi: ~13 Menit
Berdasarkan agregasi metrik iterasi terminal (50 Epochs):
- Model mencapai akurasi lokalisasi dasar (mAP@50) yang nyaris sempurna di angka 98.9%.
- Presisi kotak ketat (mAP@50-95) mencapai 78.4%.
Gambar: Hasil deteksi anomali mikroskopis beserta tingkat keyakinan (confidence score) pada data validasi.
Gambar: Matriks evaluasi yang menunjukkan tingginya akurasi model dalam mengklasifikasikan jenis cacat secara presisi.
Gambar: Grafik konvergensi model selama 50 epoch yang menunjukkan penurunan tingkat error dan peningkatan akurasi secara konsisten.
- Clone repository ini:
git clone https://github.com/stephrs/DeepPCB-Defect-Detection-YOLOv8.git
- Instal pustaka yang dibutuhkan:
pip install ultralytics opencv-python-headless matplotlib pandas scikit-learn
- Sesuaikan path dataset pada variabel
INPUT_DIRdi dalam notebook, lalu jalankan sel secara berurutan.
- Ashif Dyan Armawan (164241040) - IRIS Researcher 2024
- Stephen Richard Sihombing (164251055) - IRIS Researcher 2025