Skip to content
/ usls Public

A Rust library integrated with ONNXRuntime, providing a collection of Computer Vison and Vision-Language models.

License

Notifications You must be signed in to change notification settings

jamjamjon/usls

Repository files navigation

usls

Static Badge Static Badge Static Badge Static Badge
Static Badge Static Badge

A Rust library integrated with ONNXRuntime, providing a collection of Computer Vison and Vision-Language models including YOLOv5, YOLOv6, YOLOv7, YOLOv8, YOLOv9, YOLOv10, RTDETR, SAM, MobileSAM, EdgeSAM, SAM-HQ, FastSAM, CLIP, BLIP, DINOv2, YOLO-World, PaddleOCR, Depth-Anything, GroundingDINO and others.

Segment Anything
YOLO + SAM
Monocular Depth Estimation
Panoptic Driving Perception Text-Detection-Recognition

Supported Models

Model Task / Type Example CUDA
f32
CUDA
f16
TensorRT
f32
TensorRT
f16
YOLOv5 Classification
Object Detection
Instance Segmentation
demo
YOLOv6 Object Detection demo
YOLOv7 Object Detection demo
YOLOv8 Object Detection
Instance Segmentation
Classification
Oriented Object Detection
Keypoint Detection
demo
YOLOv9 Object Detection demo
YOLOv10 Object Detection demo
RTDETR Object Detection demo
FastSAM Instance Segmentation demo
SAM Segment Anything demo
MobileSAM Segment Anything demo
EdgeSAM Segment Anything demo
SAM-HQ Segment Anything demo
YOLO-World Object Detection demo
DINOv2 Vision-Self-Supervised demo
CLIP Vision-Language demo ✅ visual
❌ textual
✅ visual
❌ textual
BLIP Vision-Language demo ✅ visual
❌ textual
✅ visual
❌ textual
DB Text Detection demo
SVTR Text Recognition demo
RTMO Keypoint Detection demo
YOLOPv2 Panoptic Driving Perception demo
Depth-Anything
(v1, v2)
Monocular Depth Estimation demo
MODNet Image Matting demo
GroundingDINO Open-Set Detection With Language demo

Installation

Refer to ort docs

For Linux or MacOS users
  • Download from ONNXRuntime Releases
  • Then linking
    export ORT_DYLIB_PATH=/Users/qweasd/Desktop/onnxruntime-osx-arm64-1.17.1/lib/libonnxruntime.1.17.1.dylib

Quick Start

cargo run -r --example yolo   # blip, clip, yolop, svtr, db, ...

Integrate into your own project

# Add `usls` as a dependency to your project's `Cargo.toml`
cargo add usls

# Or you can use specific commit
usls = { git = "https://github.com/jamjamjon/usls", rev = "???sha???"}