#onnx #object-detection #yolo #computer-vision

yolov10

YOLOv10 object detection implementation in Rust with ONNX Runtime

3 unstable releases

Uses new Rust 2024

0.2.0 Oct 5, 2025
0.1.2 Sep 28, 2025
0.1.1 Sep 28, 2025

#907 in Images

Download history 9/week @ 2025-10-17 1/week @ 2025-10-24

106 downloads per month

Apache-2.0

105KB
285 lines

YOLOv10 Object Detection in Rust

This project implements YOLOv10 object detection model inference using Rust programming language with ONNX Runtime.

Usage

As a library crate, you can integrate this into your own Rust projects by adding it as a dependency:

[dependencies]
yolov10 = {version = "*" } # * means latest

Then use it in your code:

use yolov10::{InferenceEngine, draw_labels};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut engine = InferenceEngine::new("yolov10s.onnx")?;
    let input_data = std::fs::read("input.jpg")?;
    let results = engine.run_inference(&input_data, 0.3)?;
    
    let image = image::load_from_memory(&input_data)?;
    let img = draw_labels(&image, &results);
    img.save("result.jpg")?;
    
    Ok(())
}

Important Notice

The YOLOv10 model weights are licensed under AGPL-3.0, which is a copyleft license. If you use these weights in your project, your project may need to be released under the same or a compatible license. Please review the AGPL-3.0 license terms carefully before using the model weights.

This project's code is licensed under the Apache License 2.0. However, if you use the YOLOv10 model weights, the combined work may be subject to the AGPL-3.0 license terms.

Requirements

  • Rust 1.80+ (2024 edition)
  • ONNX Runtime
  • Python with ultralytics package (for model export)

License

This project's code is licensed under the Apache License 2.0 - see the LICENSE file for details. The YOLOv10 model weights are under AGPL-3.0 license.

Dependencies

~25MB
~421K SLoC