Yolo26-Depth / README.md
KevinHsuWavematrix's picture
First release
6cdca59
|
Raw History Blame Contribute Delete
3.27 kB
---
license: bsd-3-clause
language:
- en
base_model:
- YOLO26
pipeline_tag: depth-estimation
tags:
- WaveMatrix
- NPU
- yolo26-depth
---
# YOLO26-Depth
This repository provides an WaveMatrix NPU inference deployment example for the Ultralytics YOLO26-Depth depth-estimation model, including model conversion and WM9955 Python inference examples.
This version of YOLO26-Depth has been converted to run on the WaveMatrix NPU using mixed U8/U16 quantization for improved performance.
## Convert tools links:
For those who are interested in model conversion, you can try to export axmodel through
- [Pulsar2 Link, How to Convert ONNX to axmodel](https://pulsar2-docs.readthedocs.io/en/latest/pulsar2/introduction.html)
## Support Platform
- WM9955
- M.2 Accelerator card
- WM8845
- Demo board
### Performance Statistics
WM9955 (NPU3 mode)
| ζ¨‘εž‹ | εˆ†θΎ¨ηŽ‡ | θ€—ζ—Ά(ms) | FPS | CMM(MiB) |
|---|---:|---:|---:|---:|
| yolo26n-depth | 768x768 | 5.83 | 171.53 | 7.97 |
| yolo26s-depth | 768x768 | 8.33 | 120.05 | 14.90 |
| yolo26m-depth | 768x768 | 16.37 | 61.09 | 36.36 |
| yolo26l-depth | 768x768 | 20.74 | 48.22 | 41.12 |
| yolo26x-depth | 768x768 | 39.19 | 25.52 | 93.37 |
WM8845 (NPU2 mode)
| ζ¨‘εž‹ | εˆ†θΎ¨ηŽ‡ | θ€—ζ—Ά(ms) | FPS | CMM(MiB) |
|---|---:|---:|---:|---:|
| yolo26n-depth | 768x768 | 27.67 | 36.14 | 15.65 |
| yolo26s-depth | 768x768 | 41.68 | 23.99 | 22.75 |
| yolo26m-depth | 768x768 | 74.02 | 13.51 | 47.10 |
| yolo26l-depth | 768x768 | 94.04 | 10.63 | 44.77 |
| yolo26x-depth | 768x768 | 169.09 | 5.91 | 84.50 |
## How to use
Download all files from this repository to the device
```shell
root@wm9955~/root/yolo26-depth# tree -L 2
.
β”œβ”€β”€ asserts
β”‚Β Β  β”œβ”€β”€ bus.jpg
β”‚Β Β  β”œβ”€β”€ ssd_car_depth_heatmap_ax.png
β”‚Β Β  β”œβ”€β”€ ssd_car_depth_heatmap_onnx.png
β”‚Β Β  └── ssd_car.jpg
β”œβ”€β”€ wm8845
β”‚Β Β  β”œβ”€β”€ config.json
β”‚Β Β  β”œβ”€β”€ yolo26l-depth_w8a8_mix.axmodel
β”‚Β Β  β”œβ”€β”€ yolo26m-depth_w8a8_mix.axmodel
β”‚Β Β  β”œβ”€β”€ yolo26n-depth_w8a8_mix.axmodel
β”‚Β Β  β”œβ”€β”€ yolo26s-depth_w8a8_mix.axmodel
β”‚Β Β  └── yolo26x-depth_w8a8_mix.axmodel
β”œβ”€β”€ wm9955
β”‚Β Β  β”œβ”€β”€ config.json
β”‚Β Β  β”œβ”€β”€ yolo26l-depth_w8a8_mix.axmodel
β”‚Β Β  β”œβ”€β”€ yolo26m-depth_w8a8_mix.axmodel
β”‚Β Β  β”œβ”€β”€ yolo26n-depth_w8a8_mix.axmodel
β”‚Β Β  β”œβ”€β”€ yolo26s-depth_w8a8_mix.axmodel
β”‚Β Β  └── yolo26x-depth_w8a8_mix.axmodel
β”œβ”€β”€ axengine-0.1.3-py3-none-any.whl
β”œβ”€β”€ calib_data.zip
β”œβ”€β”€ fold_depth_log.py
β”œβ”€β”€ infer_depth.py
β”œβ”€β”€ onnx
β”‚Β Β  β”œβ”€β”€ yolo26l-depth.onnx
β”‚Β Β  β”œβ”€β”€ yolo26m-depth.onnx
β”‚Β Β  β”œβ”€β”€ yolo26n-depth.onnx
β”‚Β Β  β”œβ”€β”€ yolo26s-depth.onnx
β”‚Β Β  └── yolo26x-depth.onnx
β”œβ”€β”€ README.md
└── requirements.txt
```
Inference with WM9955 Host, such as demo board
```shell
cd /root/yolo26-depth
pip3 install -r requirements.txt
pip3 install axengine-0.1.3-py3-none-any.whl
# wavematrix npu infer
python3 infer_depth.py --model ./wm9955/yolo26n-depth_w8a8_mix.axmodel --source ./asserts/ssd_car.jpg
# onnxtuntime cpu infer
python3 infer_depth.py --model ./onnx/yolo26n-depth.onnx --source ./asserts/ssd_car.jpg
```
wavematrix npu output:
![](./asserts/ssd_car_depth_heatmap_ax.png)