Skip to content

daniel-mooney/DistYOLO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DistYOLO

DistYOLO extends the Ultralytics YOLO implementation (YOLOv11) by augmenting the model output to include a discrete probability distribution over each predicted bounding box. This enables downstream systems to reason about detection uncertainty rather than relying solely on point estimates.

Training and inference follow the same interface as YOLOv11. For general usage patterns, CLI options, and configuration details, refer to the Ultralytics YOLOv11 documentation.

An example demonstrating how to extract the discrete bounding box distribution is included in this repository.

This work was developed as part of the engineering honours thesis Belief-Space Planning for a Vision-Guided Lunar Rover. A summary of results and application context is available here.

Training

Training uses the same interface as Ultralytics YOLOv11:

from distyolo import DistYOLO

model = DistYOLO(data="data.yaml", epochs=100, batch=12)
results = model.train(**override)

print(results)

data.yaml should follow the standard YOLO dataset format:

train: "path to training set text file"
val: "path to validation set text file"
test: "path to test set text file"

nc: <number of classes>
labels: ["class A", "class B", "..."]

The train, val, and test entries should reference text files containing paths to the corresponding image sets.

Inference

Refer to example.py for a minimal inference example, including extraction of the predicted bounding box distribution.

About

An extension of YOLOv11 which exposes the discrete distribution prediction of a bounding box. Useful for uncertainty quantification.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages