mirror of
https://github.com/mii443/usls.git
synced 2025-12-03 02:58:22 +00:00
Initial
This commit is contained in:
37
examples/rtdetr/README.md
Normal file
37
examples/rtdetr/README.md
Normal file
@@ -0,0 +1,37 @@
|
||||
## Quick Start
|
||||
|
||||
```shell
|
||||
cargo run -r --example rtdetr
|
||||
```
|
||||
|
||||
## Or you can manully
|
||||
|
||||
### 1. Donwload or export ONNX Model
|
||||
|
||||
- Export
|
||||
|
||||
```bash
|
||||
pip install -U ultralytics
|
||||
yolo export model=rtdetr-l.pt format=onnx simplify dynamic opset=16
|
||||
```
|
||||
- Download
|
||||
|
||||
[rtdetr-l-f16 model](https://github.com/jamjamjon/assets/releases/download/v0.0.1/rtdetr-l-f16.onnx)
|
||||
|
||||
### 2. Specify the ONNX model path in `main.rs`
|
||||
|
||||
```Rust
|
||||
let options = Options::default()
|
||||
.with_model("ONNX_MODEL") // <= modify this
|
||||
.with_saveout("RT-DETR");
|
||||
```
|
||||
|
||||
### 3. Then, run
|
||||
|
||||
```bash
|
||||
cargo run -r --example rtdetr
|
||||
```
|
||||
|
||||
## Results
|
||||
|
||||

|
||||
BIN
examples/rtdetr/demo.jpg
Normal file
BIN
examples/rtdetr/demo.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 258 KiB |
19
examples/rtdetr/main.rs
Normal file
19
examples/rtdetr/main.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
use usls::{models::RTDETR, DataLoader, Options, COCO_NAMES_80};
|
||||
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
// build model
|
||||
let options = Options::default()
|
||||
.with_model("../models/rtdetr-l-f16.onnx")
|
||||
.with_confs(&[0.4, 0.15]) // person: 0.4, others: 0.15
|
||||
.with_names(&COCO_NAMES_80)
|
||||
.with_saveout("RT-DETR");
|
||||
let mut model = RTDETR::new(&options)?;
|
||||
|
||||
// build dataloader
|
||||
let mut dl = DataLoader::default().load("./assets/bus.jpg")?;
|
||||
|
||||
// run
|
||||
model.run(&dl.next().unwrap().0)?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user