From 58b0cfe7f5bd463c7d9aa56575269a4f544bf8a2 Mon Sep 17 00:00:00 2001
From: Jamjamjon <51357717+jamjamjon@users.noreply.github.com>
Date: Sun, 14 Apr 2024 15:29:09 +0800
Subject: [PATCH] Revert "Add YOLOPv2 & Face-Parsing model (#3)"
This reverts commit 51b75e9a210d667c8aeb344755b85a2a31d9b788.
---
README.md | 120 ++++----
assets/car.jpg | Bin 67278 -> 0 bytes
assets/nini.png | Bin 417337 -> 0 bytes
convert2f16.py | 8 -
examples/blip/README.md | 32 ++-
examples/clip/README.md | 40 ++-
examples/db/README.md | 21 +-
examples/db/main.rs | 2 +-
examples/face-parsing/README.md | 93 -------
examples/face-parsing/demo.png | Bin 458433 -> 0 bytes
examples/face-parsing/main.rs | 33 ---
examples/fastsam/README.md | 19 +-
examples/rtdetr/README.md | 17 +-
examples/rtmo/README.md | 33 ++-
examples/svtr/README.md | 22 +-
examples/yolo-world/README.md | 29 +-
examples/yolop/README.md | 14 -
examples/yolop/demo.png | Bin 943609 -> 0 bytes
examples/yolop/main.rs | 26 --
examples/yolov8-face/README.md | 21 +-
examples/yolov8-falldown/README.md | 20 +-
examples/yolov8-head/README.md | 20 +-
examples/yolov8-trash/README.md | 20 +-
examples/yolov8/README.md | 33 ++-
examples/yolov8/demo-det.jpg | Bin 0 -> 239181 bytes
examples/yolov8/demo-det.png | Bin 1890318 -> 0 bytes
examples/yolov8/demo-pose.jpg | Bin 0 -> 244905 bytes
examples/yolov8/demo-pose.png | Bin 1901072 -> 0 bytes
examples/yolov8/demo-seg.jpg | Bin 0 -> 242638 bytes
examples/yolov8/demo-seg.png | Bin 1687043 -> 0 bytes
examples/yolov8/main.rs | 16 +-
examples/yolov9/README.md | 17 +-
src/annotator.rs | 339 +++++++++++++++++++++++
src/{core => }/bbox.rs | 1 -
src/core/annotator.rs | 429 -----------------------------
src/core/keypoint.rs | 63 -----
src/core/mask.rs | 28 --
src/core/mod.rs | 45 ---
src/{core => }/dataloader.rs | 0
src/{core => }/device.rs | 0
src/{core => }/dynconf.rs | 0
src/{core => }/embedding.rs | 0
src/{core => }/engine.rs | 9 +-
src/keypoint.rs | 35 +++
src/lib.rs | 42 ++-
src/{core => }/logits_sampler.rs | 0
src/{core => }/metric.rs | 0
src/{core => }/min_opt_max.rs | 0
src/models/db.rs | 19 +-
src/models/mod.rs | 2 -
src/models/rtdetr.rs | 9 +-
src/models/rtmo.rs | 2 -
src/models/yolo.rs | 77 +++---
src/models/yolop.rs | 162 -----------
src/{core => }/ops.rs | 40 +--
src/{core => }/options.rs | 11 +-
src/{core => }/point.rs | 0
src/{core => }/polygon.rs | 11 +-
src/{core => }/rect.rs | 4 +-
src/{core => }/rotated_rect.rs | 0
src/{core => }/tokenizer_stream.rs | 0
src/{core => }/utils.rs | 20 --
src/{core => }/ys.rs | 47 ++--
63 files changed, 884 insertions(+), 1167 deletions(-)
delete mode 100644 assets/car.jpg
delete mode 100644 assets/nini.png
delete mode 100644 convert2f16.py
delete mode 100644 examples/face-parsing/README.md
delete mode 100644 examples/face-parsing/demo.png
delete mode 100644 examples/face-parsing/main.rs
delete mode 100644 examples/yolop/README.md
delete mode 100644 examples/yolop/demo.png
delete mode 100644 examples/yolop/main.rs
create mode 100644 examples/yolov8/demo-det.jpg
delete mode 100644 examples/yolov8/demo-det.png
create mode 100644 examples/yolov8/demo-pose.jpg
delete mode 100644 examples/yolov8/demo-pose.png
create mode 100644 examples/yolov8/demo-seg.jpg
delete mode 100644 examples/yolov8/demo-seg.png
create mode 100644 src/annotator.rs
rename src/{core => }/bbox.rs (99%)
delete mode 100644 src/core/annotator.rs
delete mode 100644 src/core/keypoint.rs
delete mode 100644 src/core/mask.rs
delete mode 100644 src/core/mod.rs
rename src/{core => }/dataloader.rs (100%)
rename src/{core => }/device.rs (100%)
rename src/{core => }/dynconf.rs (100%)
rename src/{core => }/embedding.rs (100%)
rename src/{core => }/engine.rs (97%)
create mode 100644 src/keypoint.rs
rename src/{core => }/logits_sampler.rs (100%)
rename src/{core => }/metric.rs (100%)
rename src/{core => }/min_opt_max.rs (100%)
delete mode 100644 src/models/yolop.rs
rename src/{core => }/ops.rs (72%)
rename src/{core => }/options.rs (95%)
rename src/{core => }/point.rs (100%)
rename src/{core => }/polygon.rs (98%)
rename src/{core => }/rect.rs (98%)
rename src/{core => }/rotated_rect.rs (100%)
rename src/{core => }/tokenizer_stream.rs (100%)
rename src/{core => }/utils.rs (92%)
rename src/{core => }/ys.rs (59%)
diff --git a/README.md b/README.md
index 4c4b618..5c23bfe 100644
--- a/README.md
+++ b/README.md
@@ -1,50 +1,49 @@
# usls
-A Rust library integrated with **ONNXRuntime**, providing a collection of **Computer Vison** and **Vision-Language** models including [YOLOv8](https://github.com/ultralytics/ultralytics), [YOLOv9](https://github.com/WongKinYiu/yolov9), [RTDETR](https://arxiv.org/abs/2304.08069), [CLIP](https://github.com/openai/CLIP), [DINOv2](https://github.com/facebookresearch/dinov2), [FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM), [YOLO-World](https://github.com/AILab-CVC/YOLO-World), [BLIP](https://arxiv.org/abs/2201.12086), [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR) and others.
-
+A Rust library integrated with **ONNXRuntime**, providing a collection of **Computer Vison** and **Vision-Language** models including [YOLOv8](https://github.com/ultralytics/ultralytics), [YOLOv9](https://github.com/WongKinYiu/yolov9), [RTDETR](https://arxiv.org/abs/2304.08069), [CLIP](https://github.com/openai/CLIP), [DINOv2](https://github.com/facebookresearch/dinov2), [FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM), [YOLO-World](https://github.com/AILab-CVC/YOLO-World), [BLIP](https://arxiv.org/abs/2201.12086), [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR) and others. Many execution providers are supported, sunch as `CUDA`, `TensorRT` and `CoreML`.
## Supported Models
-| Model | Task / Type | Example | CUDA
f32 | CUDA
f16 | TensorRT
f32 | TensorRT
f16 |
-| :---------------------------------------------------------------: | :------------------------------------------------------------------------: | :----------------------: | :-----------: | :-----------: | :------------------------: | :-----------------------: |
-| [YOLOv8-detection](https://github.com/ultralytics/ultralytics) | Object Detection | [demo](examples/yolov8) | ✅ | ✅ | ✅ | ✅ |
-| [YOLOv8-pose](https://github.com/ultralytics/ultralytics) | Keypoint Detection | [demo](examples/yolov8) | ✅ | ✅ | ✅ | ✅ |
-| [YOLOv8-classification](https://github.com/ultralytics/ultralytics) | Classification | [demo](examples/yolov8) | ✅ | ✅ | ✅ | ✅ |
-| [YOLOv8-segmentation](https://github.com/ultralytics/ultralytics) | Instance Segmentation | [demo](examples/yolov8) | ✅ | ✅ | ✅ | ✅ |
-| [YOLOv9](https://github.com/WongKinYiu/yolov9) | Object Detection | [demo](examples/yolov9) | ✅ | ✅ | ✅ | ✅ |
-| [RT-DETR](https://arxiv.org/abs/2304.08069) | Object Detection | [demo](examples/rtdetr) | ✅ | ✅ | ✅ | ✅ |
-| [FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM) | Instance Segmentation | [demo](examples/fastsam) | ✅ | ✅ | ✅ | ✅ |
-| [YOLO-World](https://github.com/AILab-CVC/YOLO-World) | Object Detection | [demo](examples/yolo-world) | ✅ | ✅ | ✅ | ✅ |
-| [DINOv2](https://github.com/facebookresearch/dinov2) | Vision-Self-Supervised | [demo](examples/dinov2) | ✅ | ✅ | ✅ | ✅ |
-| [CLIP](https://github.com/openai/CLIP) | Vision-Language | [demo](examples/clip) | ✅ | ✅ | ✅ visual
❌ textual | ✅ visual
❌ textual |
-| [BLIP](https://github.com/salesforce/BLIP) | Vision-Language | [demo](examples/blip) | ✅ | ✅ | ✅ visual
❌ textual | ✅ visual
❌ textual |
-| [DB](https://arxiv.org/abs/1911.08947) | Text Detection | [demo](examples/db) | ✅ | ✅ | ✅ | ✅ |
-| [SVTR](https://arxiv.org/abs/2205.00159) | Text Recognition | [demo](examples/svtr) | ✅ | ✅ | ✅ | ✅ |
-| [RTMO](https://github.com/open-mmlab/mmpose/tree/main/projects/rtmo) | Keypoint Detection | [demo](examples/rtmo) | ✅ | ✅ | ❌ | ❌ |
-| [YOLOPv2](https://arxiv.org/abs/2208.11434) | Panoptic driving Perception | [demo](examples/yolop) | ✅ | ✅ | ✅ | ✅ |
+| Model | Task / Type | Example | CUDA
f32 | CUDA
f16 | TensorRT
f32 | TensorRT
f16 |
+| :---------------------------------------------------------------: | :----------------------: |:----------------------: | :-----------: | :-----------: | :------------------------: | :-----------------------: |
+| **[YOLOv8-detection](https://github.com/ultralytics/ultralytics)** | Object Detection | [demo](examples/yolov8) | ✅ | ✅ | ✅ | ✅ |
+| **[YOLOv8-pose](https://github.com/ultralytics/ultralytics)** | Keypoint Detection | [demo](examples/yolov8) | ✅ | ✅ | ✅ | ✅ |
+| **[YOLOv8-classification](https://github.com/ultralytics/ultralytics)** | Classification | [demo](examples/yolov8) | ✅ | ✅ | ✅ | ✅ |
+| **[YOLOv8-segmentation](https://github.com/ultralytics/ultralytics)** | Instance Segmentation | [demo](examples/yolov8) | ✅ | ✅ | ✅ | ✅ |
+| **[YOLOv9](https://github.com/WongKinYiu/yolov9)** | Object Detection | [demo](examples/yolov9) | ✅ | ✅ | ✅ | ✅ |
+| **[RT-DETR](https://arxiv.org/abs/2304.08069)** | Object Detection | [demo](examples/rtdetr) | ✅ | ✅ | ✅ | ✅ |
+| **[FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM)** | Instance Segmentation | [demo](examples/fastsam) | ✅ | ✅ | ✅ | ✅ |
+| **[YOLO-World](https://github.com/AILab-CVC/YOLO-World)** | Object Detection | [demo](examples/yolo-world) | ✅ | ✅ | ✅ | ✅ |
+| **[DINOv2](https://github.com/facebookresearch/dinov2)** | Vision-Self-Supervised | [demo](examples/dinov2) | ✅ | ✅ | ✅ | ✅ |
+| **[CLIP](https://github.com/openai/CLIP)** | Vision-Language | [demo](examples/clip) | ✅ | ✅ | ✅ visual
❌ textual | ✅ visual
❌ textual |
+| **[BLIP](https://github.com/salesforce/BLIP)** | Vision-Language | [demo](examples/blip) | ✅ | ✅ | ✅ visual
❌ textual | ✅ visual
❌ textual |
+| [**DB**](https://arxiv.org/abs/1911.08947) | Text Detection | [demo](examples/db) | ✅ | ❌ | ✅ | ✅ |
+| [**SVTR**](https://arxiv.org/abs/2205.00159) | Text Recognition | [demo](examples/svtr) | ✅ | ❌ | ✅ | ✅ |
+| [**RTMO**](https://github.com/open-mmlab/mmpose/tree/main/projects/rtmo) | Keypoint Detection | [demo](examples/rtmo) | ✅ | ✅ | ❌ | ❌ |
+
## Solution Models
Additionally, this repo also provides some solution models.
-| Model | Example | Result |
-| :------------------------------------------------------------: | :------------------------------: | :------------------------------: |
-| Lane Line Segmentation
Drivable Area Segmentation
Car Detection
车道线-可行驶区域-车辆检测 | [demo](examples/yolov8-plastic-bag) ||
-| Face Parsing
人脸解析 | [demo](examples/face-parsing) | |
-| Text Detection
(PPOCR-det v3, v4)
通用文本检测 | [demo](examples/db) ||
-| Text Recognition
(PPOCR-rec v3, v4)
中英文-文本识别 | [demo](examples/svtr) ||
-| Face-Landmark Detection
人脸 & 关键点检测 | [demo](examples/yolov8-face) ||
-| Head Detection
人头检测 | [demo](examples/yolov8-head) ||
-| Fall Detection
摔倒检测 | [demo](examples/yolov8-falldown) | |
-| Trash Detection
垃圾检测 | [demo](examples/yolov8-plastic-bag) ||
+| Model | Example |
+| :--------------------------------------------------------------------------------: | :------------------------------: |
+| **text detection
(PPOCR-det v3, v4)**
**通用文本检测** | [demo](examples/db) |
+| **text recognition
(PPOCR-rec v3, v4)**
**中英文-文本识别** | [demo](examples/svtr) |
+| **face-landmark detection**
**人脸 & 关键点检测** | [demo](examples/yolov8-face) |
+| **head detection**
**人头检测** | [demo](examples/yolov8-head) |
+| **fall detection**
**摔倒检测** | [demo](examples/yolov8-falldown) |
+| **trash detection**
**垃圾检测** | [demo](examples/yolov8-plastic-bag) |
## Demo
```
-cargo run -r --example yolov8 # yolov9, blip, clip, dinov2, svtr, db, yolo-world...
+cargo run -r --example yolov8 # fastsam, yolov9, blip, clip, dinov2, yolo-world...
```
-## Installation
+## Integrate into your own project
+
+#### 1. Install [ort](https://github.com/pykeio/ort)
check **[ort guide](https://ort.pyke.io/setup/linking)**
@@ -59,16 +58,13 @@ check **[ort guide](https://ort.pyke.io/setup/linking)**
-
-## Integrate into your own project
-
-#### 1. Add `usls` as a dependency to your project's `Cargo.toml`
+#### 2. Add `usls` as a dependency to your project's `Cargo.toml`
```shell
cargo add --git https://github.com/jamjamjon/usls
```
-#### 2. Set `Options` and build model
+#### 3. Set `Options` and build model
```Rust
let options = Options::default()
@@ -77,29 +73,32 @@ let mut model = YOLO::new(&options)?;
```
- If you want to run your model with TensorRT or CoreML
+ ```Rust
+ let options = Options::default()
+ .with_trt(0) // using cuda by default
+ // .with_coreml(0)
+ ```
+
- ```Rust
- let options = Options::default()
- .with_trt(0) // using cuda by default
- // .with_coreml(0)
- ```
- If your model has dynamic shapes
+ ```Rust
+ let options = Options::default()
+ .with_i00((1, 2, 4).into()) // dynamic batch
+ .with_i02((416, 640, 800).into()) // dynamic height
+ .with_i03((416, 640, 800).into()) // dynamic width
+ ```
- ```Rust
- let options = Options::default()
- .with_i00((1, 2, 4).into()) // dynamic batch
- .with_i02((416, 640, 800).into()) // dynamic height
- .with_i03((416, 640, 800).into()) // dynamic width
- ```
- If you want to set a confidence level for each category
+ ```Rust
+ let options = Options::default()
+ .with_confs(&[0.4, 0.15]) // person: 0.4, others: 0.15
+ ```
- ```Rust
- let options = Options::default()
- .with_confs(&[0.4, 0.15]) // person: 0.4, others: 0.15
- ```
- Go check [Options](src/options.rs) for more model options.
-#### 3. Prepare inputs, and then you're ready to go
+
+
+#### 4. Prepare inputs, and then you're ready to go
- Build `DataLoader` to load images
@@ -120,9 +119,22 @@ let x = vec![DataLoader::try_read("./assets/bus.jpg")?];
let y = model.run(&x)?;
```
-#### 4. Annotate and save results
-
+#### 5. Annotate and save results
```Rust
let annotator = Annotator::default().with_saveout("YOLOv8");
annotator.annotate(&x, &y);
```
+
+
+## Script: converte ONNX model from `float32` to `float16`
+
+```python
+import onnx
+from pathlib import Path
+from onnxconverter_common import float16
+
+model_f32 = "onnx_model.onnx"
+model_f16 = float16.convert_float_to_float16(onnx.load(model_f32))
+saveout = Path(model_f32).with_name(Path(model_f32).stem + "-f16.onnx")
+onnx.save(model_f16, saveout)
+```
diff --git a/assets/car.jpg b/assets/car.jpg
deleted file mode 100644
index 8981747b7db21888ed464e9780f8887e3c2af5e0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 67278
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