mmoz-root/military-vehicle-detection_yolov8
Military Vehicle Detection (YOLOv8s)
A YOLOv8s object detector for military vehicles, people, and structures in aerial and ground imagery. Fine-tuned from COCO-pretrained weights.
- Code, full methodology & experiment log: https://github.com/mmoz-root/military-vehicle-detection
- Live demo: https://huggingface.co/mmoz-root/military-vehicle-detection_yolov8
- Framework: Ultralytics YOLOv8 (PyTorch), AGPL-3.0
Results (held-out test split)
trench (only 51 instances) and vehicle (a generic, ambiguous catch-all) are trained on but excluded from the "core" headline metric, with justification.
Classes (10)
tank, truck, armored_car, car, rszo (rocket artillery), sau (self-propelled artillery), plane, person, vehicle, trench
Intended use
Educational / portfolio demonstration of an end-to-end detection pipeline with rigorous, data-centric experimentation. Not intended or validated for any operational, surveillance, or safety-critical use.
How to use
from huggingface_hub import hf_hub_download
from ultralytics import YOLO
weights = hf_hub_download(
repo_id="mmoz-root/military-vehicle-detection-yolov8",
filename="best.pt",
)
model = YOLO(weights)
results = model.predict("your_image.jpg", conf=0.25)
results[0].show()Training
- Model:
yolov8s(~11M params), fine-tuned from COCO-pretrained weights. - Image size: 640. Epochs: 50 (patience 20). Optimizer: AdamW (auto).
- Key recipe finding: mixup disabled (mixup was too aggressive for a fine-tune on a modest dataset; disabling it was the second-biggest gain).
- Hardware: Kaggle 2x Tesla T4.
- The best model came from fixing the data (taxonomy cleanup + stratified re-split) and the training recipe far more than from model size or resolution (both of which had a sweet spot and hurt when overshot). Full ablation in the GitHub repo's
docs/EXPERIMENTS.md.
Dataset & attribution
Trained on a third-party dataset from Roboflow (workspace muhammed-hocy2, project military-vehicle-detection-juleg-x1b34). The dataset is not redistributed in this repo or the demo. All credit for the underlying images and annotations belongs to the original dataset authors; please refer to the source project on Roboflow for its license and terms. This model is a derivative work produced for learning purposes, with the data cleaned and re-split by reproducible scripts (see the GitHub repo).
Limitations & ethics
- Small objects (
person) are the weakest — a known aerial-imagery challenge (objects span few pixels). - `trench` has too few examples (51) to be reliable; `vehicle` is a generic, ambiguous class.
- Some training images are video frames with player overlays / timestamps.
- The "military" domain is used purely as a computer-vision benchmark. This model should not be used for real-world targeting, surveillance, or any operational decision-making.
