Riset

Komputer Visi (Computer Vision)

Pemantauan Kepatuhan Protokol Keselamatan

Mendeteksi orang dalam kerumunan disertai penggunaan piranti keamanan (safety gear) seperti helm dan sepatu safety di lingkungan proyek konstruksi atau pertambangan menjadi langkah penting untuk meningkatkan keselamatan pekerja. Python, bersama dengan model deteksi objek modern seperti YOLOv8, dapat digunakan untuk mengembangkan solusi yang efektif dalam skenario ini. Berikut adalah panduan langkah-langkah untuk membangun sistem deteksi tersebut:


1. Persiapan Data

Data pelatihan yang baik adalah kunci keberhasilan model deteksi objek. Untuk kasus ini, diperlukan dataset gambar yang mencakup:

  • Gambar kerumunan pekerja tambang.
  • Anotasi untuk objek-objek berikut:
    • Orang tanpa helm.
    • Orang menggunakan helm.
    • Orang tanpa sepatu safety.
    • Orang menggunakan sepatu safety.

Jika tidak ada dataset publik yang sesuai, bisa membuat dataset sendiri menggunakan alat anotasi seperti LabelImg , VGG Image Annotator (VIA) , atau Roboflow .

Format anotasi harus sesuai dengan format YOLO (misalnya: <class_id> <x_center> <y_center> <width> <height>).


2. Instalasi YOLOv8

YOLOv8 adalah versi terbaru dari keluarga YOLO, dikembangkan oleh Ultralytics. Model ini cepat, akurat, dan mudah digunakan. Berikut langkah instalasinya:

# Install library Ultralytics

pip install ultralytics

# Verifikasi instalasi

from ultralytics import YOLO

print(YOLO.__version__) # Pastikan versi terbaru terinstall


3. Pra-pemrosesan Data

Sebelum melatih model, pastikan data telah diproses dengan benar. Pisahkan dataset dengan Pareto Rule’s menjadi training set (80%) dan validation set (20%). Simpan gambar dan file anotasi dalam direktori.

Gunakan skrip Python untuk memeriksa validitas dataset dan memastikan semua gambar memiliki anotasi yang sesuai.


4. Melatih Model YOLOv8

Langkah berikut menjelaskan cara melatih model YOLOv8 menggunakan dataset custom:

a. Konfigurasi File YAML

Buat file konfigurasi safety_gear.yaml untuk mendefinisikan dataset:

yaml

train: dataset/images/train

val: dataset/images/val

nc: 4 # Jumlah kelas (contoh: helm, no_helm, sepatu_safety, no_sepatu_safety)

names: [‘helm’,’no_helm’,’sepatu_safety’,’no_sepatu_safety’]

b. Pelatihan Model

Gunakan perintah berikut untuk melatih model:

Parameter penting:

  • model: Pilih model pre-trained (contoh: yolov8n.pt, yolov8s.pt, dll.).
  • epochs: Jumlah iterasi pelatihan.
  • imgsz: Ukuran gambar input (misalnya: 640×640).
  • batch: Ukuran batch saat pelatihan.

Selama pelatihan, model akan menyimpan checkpoint terbaik berdasarkan metrik evaluasi seperti mAP (mean Average Precision).


5. Evaluasi Model

Setelah pelatihan selesai, evaluasi performa model menggunakan validation set:

bash

yolo detect val model=runs/detect/train/weights/best.pt data=safety_gear.yaml

Perhatikan metrik seperti:

  • mAP : Akurasi deteksi keseluruhan.
  • Precision & Recall : Seberapa baik model mengenali objek yang benar.
  • F1-Score : Keseimbangan antara precision dan recall.


Pengenalan Emosi Wicara + Suara (Speech/Auditory Emotion Recognition)

<..>