Downloads · 30 days
39
30% of all-time downloads
G2mus/night-vehicle-yolov8s
night-vehicle-yolov8s is a object detection model from G2mus. Use it when you need objects located in an image. It is set up for ultralytics. The card lists the license as mit.
YOLOv8s trained to detect car, truck and bus in traffic scenes, with half of its training set drawn from real night frames. It exists as the treatment arm of an ablation asking whether darkened daytime images can subs…
Downloads · 30 days
39
30% of all-time downloads
All-time downloads
128
Public
Repo size
22.7 MB
Likes
0
Public
Click a slice to open those files.
.pt22.5 MB · 99%
From the Hugging Face model README
YOLOv8s trained to detect car, truck and bus in traffic scenes, with half of its training set drawn from real night frames. It exists as the treatment arm of an ablation asking whether darkened daytime images can substitute for night data. They cannot — the companion repository has the control arms and the numbers.
Held-out BDD100K test images, mAP@50, by condition:
| Model | daytime | dawn/dusk | night | night mAP@50-95 |
|---|---|---|---|---|
| this model (half real night) | 0.517 | 0.542 | 0.535 | 0.344 |
| the same recipe, daytime only | 0.592 | 0.569 | 0.416 | 0.258 |
| the same recipe, synthetic night | 0.569 | 0.560 | 0.410 | 0.257 |
Night, per class:
| class | this model | daytime-only baseline |
|---|---|---|
| car | 0.732 | 0.635 |
| truck | 0.413 | 0.277 |
| bus | 0.459 | 0.336 |
Night precision 0.645 (baseline 0.555), night recall 0.488 (baseline 0.388). The gain is mostly recall: this model finds vehicles the daytime-only model does not register at all.
from ultralytics import YOLO
from huggingface_hub import hf_hub_download
weights = hf_hub_download("G2mus/night-vehicle-yolov8s", "night-vehicle-yolov8s.pt")
model = YOLO(weights)
results = model.predict("night_street.jpg", imgsz=640, conf=0.35)
results[0].show()
Classes are 0: car, 1: truck, 2: bus.
| Base | yolov8s.pt (COCO pretrained) |
| Data | 1,829 daytime + 1,829 night images from the BDD100K validation split |
| Epochs | 50, batch 32, 640px, seed 17 |
| Augmentation | Ultralytics defaults (hsv_v=0.4, mosaic, flips) |
| Hardware | One RTX 5090, 9 minutes |
It trades daytime accuracy for night accuracy. 0.517 against the daytime-only baseline's 0.592 — a 12.7% loss. That is a consequence of the experiment holding the training-set size constant: half the daytime images were swapped out, not added to. If you want both, train on daytime plus night rather than instead of.
It is small. 3,658 training images and 50 epochs answer a question; they do not produce a state-of-the-art detector. Anything trained on the full 100k BDD100K split will beat it on every row of the table above.
It is one seed. Differences of a couple of percent between these models are not meaningful. The 28.6% night gap is.
Three classes only. Motorcycle, bicycle and rider were dropped: with 99, 196 and 131 night instances respectively, a per-condition AP for them would be measuring the sample, not the model.
Domain: BDD100K is US dashcam footage. A fixed traffic camera looking down at a junction is a different viewpoint and a different distribution; expect to fine-tune.
MIT. Trained on BDD100K (BSD-3), via the
dgural/bdd100k mirror.