YOLOv9s Finetuned on KITTI

Fine-tuned YOLOv9s object detector on the KITTI benchmark dataset, trained and evaluated as part of DetectionBench -- a framework for reproducibly benchmarking modern object detectors with identical training recipes and evaluation metrics across multiple real-world datasets.


Task Framework Base Model
mAP@50 mAP@50:95 Params
License Source

Performance

Metric Score (%)
mAP@50 40.84
mAP@50-95 25.92
Precision 54.27
Recall 41.51
F1 Score 47.04
Parameters 7.3M
FLOPs 27.6B (at 640 px)

Evaluation Protocol

Metrics reported in this model card are computed on the KITTI val split, using DetectionBench's standard evaluation pipeline (detectionbench-evaluate).


KITTI Model Zoo

Every model DetectionBench has trained and evaluated on KITTI so far, for full transparency -- see DetectionBench for the smaller, curated comparison set used on the project README.

Model mAP@50 mAP@50-95 Precision Recall
YOLO26n 42.54 25.43 48.62 42.84
YOLO11s 42.0 25.1 47.27 43.71
YOLOv8s 41.99 25.2 49.02 43.66
YOLO26m 41.91 25.78 63.34 39.71
YOLO26s 41.79 26.54 59.64 42.42
YOLOv9t 41.6 25.73 48.3 44.2
YOLOv9s 40.84 25.92 54.27 41.51
YOLOv8m 40.48 25.37 50.81 39.86
YOLOv8n 40.11 24.75 46.05 41.85
YOLO11x 39.18 23.6 46.28 41.69
YOLO11n 38.77 23.97 52.84 40.19

Per-Class Performance

Class mAP@50 mAP@50-95
Car 90.05 69.57
Cyclist 51.82 31.47
Misc 12.76 7.79
Pedestrian 63.84 31.1
Person_sitting 13.42 4.08
Tram 26.29 16.81
Truck 30.3 20.64
Van 38.22 25.86

Evaluation Visualizations

Precision-Recall Curve

PR Curve

F1 Curve

F1 Curve

Confusion Matrix

Confusion Matrix

Normalized Confusion Matrix

Normalized Confusion Matrix


Dataset

This model was trained on KITTI. For the full dataset description, provenance, license, and citation, see the dataset card:

https://huggingface.co/datasets/dronefreak/KITTI

Classes

  • Car
  • Cyclist
  • Misc
  • Pedestrian
  • Person_sitting
  • Tram
  • Truck
  • Van

Usage

Install Dependencies

pip install ultralytics huggingface_hub

Load Model from Hugging Face

from huggingface_hub import hf_hub_download
from ultralytics import YOLO

weights = hf_hub_download(
    repo_id="dronefreak/kitti-yolov9s",
    filename="best.pt"
)

model = YOLO(weights)

Run Inference

results = model.predict(
    source="image.jpg",
    conf=0.25
)

results[0].show()

Training Configuration

Setting Value
Dataset KITTI
Framework Ultralytics YOLO
Training Toolkit DetectionBench
Epochs (configured max) 100
Epochs (actually trained) 80
Early Stopping Patience 20
Batch Size 4
Image Size 1280
Optimizer AdamW
Initial Learning Rate 0.001
Seed 0

Repository Contents

best.pt
results.csv
args.yaml
BoxPR_curve.png
BoxF1_curve.png
BoxP_curve.png
BoxR_curve.png
confusion_matrix.png
confusion_matrix_normalized.png
val_batch0_pred.jpg
kitti_yolov9s_showcase.jpg
assets/demo_banner.mp4
assets/demo_banner_poster.jpg
README.md

Related Resources


Training Framework

This model was trained using DetectionBench, an open-source framework for benchmarking object detectors across multiple real-world datasets with a common pipeline.

Features include:

  • A dataset-adapter registry for converting real-world datasets into a canonical format
  • Identical training/evaluation recipes across model families (Ultralytics YOLO/RT-DETR, RF-DETR)
  • Hardware profiling (latency, FPS, VRAM, parameters, FLOPs)
  • One-command reproducibility via versioned Hydra configs

If you find this model useful, please consider starring the repository.


Known Limitations

  • No official test-set labels: KITTI's real held-out test images have never had public ground truth, so this adapter (following the field-standard Chen et al. 2015 3DOP split) uses train (3,712) / valid (3,769) only -- "valid" is both the early-stopping signal and the split all metrics on this card are computed on, the same convention the wider KITTI detection literature uses.
  • Severe class imbalance across 8 classes: Car is 70.8% of all boxes, while Person_sitting has only 222 instances (0.5%) across all 7,481 images -- its per-class score is measured on very few examples and should be read with caution.
  • Unusual native aspect ratio: frames are 1242x375 (3.3:1, not the usual 4:3/16:9), so square-letterboxed training/inference wastes canvas on padding above and below the real content; a higher input resolution (see Training Configuration) partly compensates for the resulting loss of effective resolution.
  • Small dataset for the task's difficulty: only 3,712 training images across a real (non-memorization-prone) street-scene detection task, so absolute scores are lower than on datasets with more training data or an easier task shape.
  • Demo banner is not KITTI's own labelled data: the video above uses KITTI's official but unlabelled tracking-benchmark sequences (0000-0028.mp4) for illustration, run through the model at inference time -- it is not part of the train/valid split and the boxes shown are the model's raw predictions, not checked against ground truth.

Citation

If you use this model in your research, please consider citing:

  1. The KITTI dataset (see below)
  2. The original YOLOv9s architecture (see below)
  3. The other model architectures shown in the Model Zoo/External Comparison tables above, if you reference their results
  4. DetectionBench, the training/evaluation framework used to produce this checkpoint
@inproceedings{geiger2012kitti,
  title={Are we ready for autonomous driving? The KITTI vision benchmark suite},
  author={Geiger, Andreas and Lenz, Philip and Urtasun, Raquel},
  booktitle={2012 IEEE Conference on Computer Vision and Pattern Recognition},
  pages={3354--3361},
  year={2012},
  organization={IEEE},
  doi={10.1109/CVPR.2012.6248074}
}
@article{wang2024yolov9,
  title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
  author={Wang, Chien-Yao and Yeh, I-Hau and Liao, Hong-Yuan Mark},
  journal={arXiv preprint arXiv:2402.13616},
  year={2024}
}

Other architectures compared against on KITTI in this model card:

YOLO11

No official YOLO11 research paper has been published by Ultralytics; the most commonly cited independent architectural analysis is used instead:

@article{khanam2024yolov11,
  title={YOLOv11: An Overview of the Key Architectural Enhancements},
  author={Khanam, Rahima and Hussain, Muhammad},
  journal={arXiv preprint arXiv:2410.17725},
  year={2024}
}

YOLO26

@article{jocher2026yolo26,
  title={Ultralytics YOLO26: Unified Real-Time End-to-End Vision Models},
  author={Jocher, Glenn and Qiu, Jing and Liu, Mengyu and Lyu, Shuai and Akyon, Fatih Cagatay and Kalfaoglu, Muhammet Esat},
  journal={arXiv preprint arXiv:2606.03748},
  year={2026}
}

YOLOv8

No official YOLOv8 research paper has been published by Ultralytics; this is their own recommended software citation instead:

@software{jocher2023yolov8,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  license = {AGPL-3.0}
}
@software{Saksena_DetectionBench_2026,
  author = {Saksena, Saumya Kumaar},
  title = {DetectionBench: Reproducible Benchmarks for Modern Object Detectors on Real-World Datasets},
  url = {https://github.com/dronefreak/DetectionBench},
  year = {2026}
}
Downloads last month
6
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train dronefreak/kitti-yolov9s

Collection including dronefreak/kitti-yolov9s

Papers for dronefreak/kitti-yolov9s

Evaluation results