Projects/Minecraft Mob Detection

Minecraft Mob Detection

Real-time object detection of 15 Minecraft mobs from live screen capture using YOLOv8s fine-tuned on a custom merged dataset.

PythonPyTorchYOLOv8RoboflowCUDA

About this project

Built to satisfy the Neural Network course's CNN requirement, this fine-tunes YOLOv8s (CSPDarknet backbone) on a 15-class Minecraft mob dataset — 8 classes from a Roboflow base plus 7 extras (bee, goat, polar_bear, skeleton, slime, spider, villager) merged via a custom remapping script. The detector runs against a live `mss` screen capture and displays bounding boxes in a tkinter window with FPS counter, deliberately avoiding `cv2.imshow` because OpenCV's GUI module conflicts with the headless wheel many Python environments ship. After 100 epochs at imgsz=640 the model reached mAP50 ≈ 0.47, Precision ≈ 0.82, Recall ≈ 0.75.

  • YOLOv8s fine-tuned on 15 Minecraft mob classes (Roboflow base + 4 merged extras)
  • Custom class-ID remapping across heterogeneous sources
  • Real-time inference loop: mss screen capture → YOLO → tkinter display
  • tkinter chosen over cv2.imshow to dodge opencv-python vs opencv-python-headless conflict

Key features

YOLOv8s

CSPDarknet + PANet + decoupled head

15 mob classes

Creeper, enderman, villager, …

Live capture

mss screen grab @ ~30fps

mAP50 0.47

After 100-epoch fine-tune


Screenshots

Detecting polar bear

Detecting slime


Tech stack

Python
PyTorch
YOLOv8
Roboflow
CUDA

Other projects