Proyek ini adalah model deteksi objek untuk permainan Rock, Paper, Scissors menggunakan YOLOv8. Dataset yang digunakan berasal dari Roboflow. Model ini memungkinkan pendeteksian gerakan tangan yang mewakili batu, kertas, dan gunting.
Dataset yang digunakan dalam proyek ini berasal dari Roboflow Rock-Paper-Scissors, yang berisi:
- 3129 gambar
- 3 kelas:
Rock
,Paper
,Scissors
Sebelum memulai, pastikan Anda memiliki Python dan pip terinstall.
pip install roboflow ultralytics
Unduh dataset dari Roboflow menggunakan script berikut:
from roboflow import Roboflow
rf = Roboflow(api_key="PpyxJvnkU6JM6oWUppg8")
project = rf.workspace("face-woman").project("rock-paper-scissors-sxsw-rzrbf")
version = project.version(1)
dataset = version.download("yolov8")
Untuk melatih model menggunakan YOLOv8, gunakan perintah berikut:
yolo train model=yolov8s.pt data=/absolute/path/to/data.yaml epochs=25
Berikut adalah hasil visualisasi model setelah pelatihan:
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
Setelah pelatihan selesai, kompres folder hasil training dan unduh modelnya:
import shutil
from google.colab import files
folder_path = "/content/rock-paper-scissors-1/runs/detect/train"
zip_path = "/content/train.zip"
shutil.make_archive(zip_path.replace(".zip", ""), 'zip', folder_path)
files.download(zip_path)
Gunakan skrip JavaScript berikut untuk mencegah Google Colab terputus:
function keepColabAlive() {
setInterval(() => {
console.log("Menghindari disconnect Colab...");
document.querySelector("colab-toolbar-button").click();
}, 60000); // Setiap 60 detik
}
keepColabAlive();
Untuk menghentikan fungsi ini, gunakan:
clearInterval();
- Dataset: Roboflow Rock-Paper-Scissors
- Dokumentasi YOLOv8: Ultralytics
- Google Colab: Colab Notebook
- Hanif Maulana Arrasyid