
Lakukan serangkaian percobaan ablasi pada YOLOV5 untuk membuatnya lebih ringan (jepit yang lebih kecil, memori yang lebih rendah, dan parameter lebih sedikit) dan lebih cepat (tambahkan saluran shuffle, yolov5 head untuk pengurangan saluran. Ini dapat menyimpulkan setidaknya 10+ fps pada raspberry pi 4b ketika input bingkai dengan 320 × 320) dan lebih mudah untuk di -deploy (Repover Pi 4b ketika input bingkai dengan 320 × 320) dan lebih mudah untuk di -Deploy (RepoV Pi. rentang yang dapat diterima).

| PENGENAL | Model | Input_size | Jepit | Params | Ukuran (M) | [email protected] | [email protected]: 0.95 |
|---|---|---|---|---|---|---|---|
| 001 | tercepat yolo | 320 × 320 | 0.25g | 0,35m | 1.4 | 24.4 | - |
| 002 | Yolov5-lite e kami | 320 × 320 | 0.73g | 0.78m | 1.7 | 35.1 | - |
| 003 | Nanodet-m | 320 × 320 | 0.72g | 0,95m | 1.8 | - | 20.6 |
| 004 | Yolo-Fastest-XL | 320 × 320 | 0.72g | 0.92m | 3.5 | 34.3 | - |
| 005 | Nano YOLOX | 416 × 416 | 1.08g | 0,91m | 7.3 (FP32) | - | 25.8 |
| 006 | YOLOV3 kecil | 416 × 416 | 6.96g | 6.06m | 23.0 | 33.1 | 16.6 |
| 007 | YOLOV4 kecil | 416 × 416 | 5.62g | 8.86m | 33.7 | 40.2 | 21.7 |
| 008 | Yolov5-lite milik kita | 416 × 416 | 1.66g | 1.64m | 3.4 | 42.0 | 25.2 |
| 009 | Yolov5-lite c milik kami | 512 × 512 | 5.92g | 4.57m | 9.2 | 50.9 | 32.5 |
| 010 | Nanodet-efisienlite2 | 512 × 512 | 7.12g | 4.71m | 18.3 | - | 32.6 |
| 011 | YOLOV5S (6.0) | 640 × 640 | 16.5g | 7.23m | 14.0 | 56.0 | 37.2 |
| 012 | Yolov5-lite g milik kami | 640 × 640 | 15.6g | 5.39m | 10.9 | 57.6 | 39.1 |
Lihat wiki: https://github.com/ppogg/yolov5-lite/wiki/test-the-map-of-models-about-coco
| Peralatan | Menghitung backend | Sistem | Masukan | Kerangka | v5lite-e | v5lite-s | v5lite-c | v5lite-g | YOLOV5S |
|---|---|---|---|---|---|---|---|---|---|
| Antar | @i5-10210u | jendela (x86) | 640 × 640 | Openvino | - | - | 46ms | - | 131ms |
| Nvidia | @RTX 2080TI | Linux (x86) | 640 × 640 | obor | - | - | - | 15ms | 14ms |
| Redmi K30 | @Snapdragon 730g | Android (ARMV8) | 320 × 320 | ncnn | 27ms | 38ms | - | - | 163ms |
| Xiaomi 10 | @Snapdragon 865 | Android (ARMV8) | 320 × 320 | ncnn | 10ms | 14ms | - | - | 163ms |
| Raspberrypi 4b | @Arm Cortex-A72 | Linux (ARM64) | 320 × 320 | ncnn | - | 84ms | - | - | 371ms |
| Raspberrypi 4b | @Arm Cortex-A72 | Linux (ARM64) | 320 × 320 | mnn | - | 71ms | - | - | 356ms |
| AXERA-PI | Cortex A7@CPU 3.6tops @npu | Linux (ARM64) | 640 × 640 | AXPI | - | - | - | 22ms | 22ms |
https://zhuanlan.zhihu.com/p/672633849
入群答案: 剪枝 atau 蒸馏 atau 量化 atau 低秩分解(任意其一均可)
| Model | Ukuran | Tulang punggung | Kepala | Kerangka | Desain untuk |
|---|---|---|---|---|---|
| v5lite-e.pt | 1.7m | shufflenetv2 (megvii) | v5litee-head | Pytorch | Lengan-cpu |
| v5lite-e.bin v5lite-e.param | 1.7m | shufflenetv2 | v5litee-head | ncnn | Lengan-cpu |
| v5lite-e-int8.bin v5lite-e-int8.param | 0,9m | shufflenetv2 | v5litee-head | ncnn | Lengan-cpu |
| v5lite-e-fp32.mnn | 3.0m | shufflenetv2 | v5litee-head | mnn | Lengan-cpu |
| v5lite-e-fp32.tnnmodel v5lite-e-fp32.tnnproto | 2.9m | shufflenetv2 | v5litee-head | tnn | lengan-cpu |
| v5lite-e-320.onnx | 3.1m | shufflenetv2 | v5litee-head | onnxruntime | x86-cpu |
| Model | Ukuran | Tulang punggung | Kepala | Kerangka | Desain untuk |
|---|---|---|---|---|---|
| v5lite-s.pt | 3.4m | shufflenetv2 (megvii) | v5lites-head | Pytorch | Lengan-cpu |
| V5Lite-S.Bin v5lite-s.param | 3.3m | shufflenetv2 | v5lites-head | ncnn | Lengan-cpu |
| v5lite-s-int8.bin v5lite-s-int8.param | 1.7m | shufflenetv2 | v5lites-head | ncnn | Lengan-cpu |
| v5lite-s.mnn | 3.3m | shufflenetv2 | v5lites-head | mnn | Lengan-cpu |
| v5lite-s-int4.mnn | 987K | shufflenetv2 | v5lites-head | mnn | Lengan-cpu |
| v5lite-s-fp16.bin v5lite-s-fp16.xml | 3.4m | shufflenetv2 | v5lites-head | OpenVivo | x86-cpu |
| v5lite-s-fp32.bin v5lite-s-fp32.xml | 6.8m | shufflenetv2 | v5lites-head | OpenVivo | x86-cpu |
| v5lite-s-fp16.tflite | 3.3m | shufflenetv2 | v5lites-head | tflite | lengan-cpu |
| v5lite-s-fp32.tflite | 6.7m | shufflenetv2 | v5lites-head | tflite | lengan-cpu |
| v5lite-s-int8.tflite | 1.8m | shufflenetv2 | v5lites-head | tflite | lengan-cpu |
| v5lite-s-416.onnx | 6.4m | shufflenetv2 | v5lites-head | onnxruntime | x86-cpu |
| Model | Ukuran | Tulang punggung | Kepala | Kerangka | Desain untuk |
|---|---|---|---|---|---|
| V5Lite-C.PT | 9m | Pplcnet (baidu) | v5s-head | Pytorch | x86-cpu / x86-vpu |
| v5lite-c.bin v5lite-c.xml | 8.7m | Pplcnet | v5s-head | OpenVivo | x86-cpu / x86-vpu |
| v5lite-c-512.onnx | 18m | Pplcnet | v5s-head | onnxruntime | x86-cpu |
| Model | Ukuran | Tulang punggung | Kepala | Kerangka | Desain untuk |
|---|---|---|---|---|---|
| v5lite-g.pt | 10.9m | Repvgg (tsinghua) | v5liteg-head | Pytorch | X86-GPU / ARM-GPU / ARM-NPU |
| v5lite-g-int8.engine | 8.5m | Repvgg-yolov5 | v5liteg-head | Tensorrt | X86-GPU / ARM-GPU / ARM-NPU |
| v5lite-g-int8.tmfile | 8.7m | Repvgg-yolov5 | v5liteg-head | Tengine | ARM-NPU |
| V5Lite-G-640.onnx | 21m | Repvgg-yolov5 | yolov5-head | onnxruntime | x86-cpu |
| V5Lite-G-640.Joint | 7.1m | Repvgg-yolov5 | yolov5-head | AXPI | ARM-NPU |
v5lite-e.pt: | Baidu Drive | Google Drive || ──────
ncnn-fp16: | Baidu Drive | Google Drive |
| ──────ncnn-int8: | Baidu Drive | Google Drive |
| ──────mnn-e_bf16: | Google Drive |
| ──────mnn-d_bf16: | Google Drive |
└──────onnx-fp32: | Baidu Drive | Google Drive |
v5lite-s.pt: | Baidu Drive | Google Drive || ──────
ncnn-fp16: | Baidu Drive | Google Drive |
| ──────ncnn-int8: | Baidu Drive | Google Drive |
└──────tengine-fp32: | Baidu Drive | Google Drive |
v5lite-c.pt: Baidu Drive | Google Drive |└──────
openvino-fp16: | Baidu Drive | Google Drive |
v5lite-g.pt: | Baidu Drive | Google Drive |└──────
axpi-int8: Google Drive |
Kata Sandi Drive Baidu: pogg
https://github.com/pinto0309/pinto_model_zoo/tree/main/180_yolov5-lite
Python> = 3.6.0 diperlukan dengan semua persyaratan.txt diinstal termasuk pytorch> = 1.7 :
$ git clone https://github.com/ppogg/YOLOv5-Lite
$ cd YOLOv5-Lite
$ pip install -r requirements.txt detect.py menjalankan inferensi pada berbagai sumber, mengunduh model secara otomatis dari rilis YOLOV5-Lite terbaru dan menghemat hasil untuk runs/detect .
$ python detect.py --source 0 # webcam
file.jpg # image
file.mp4 # video
path/ # directory
path/ * .jpg # glob
' https://youtu.be/NUsoVlDFqZg ' # YouTube
' rtsp://example.com/media.mp4 ' # RTSP, RTMP, HTTP stream$ python train.py --data coco.yaml --cfg v5lite-e.yaml --weights v5lite-e.pt --batch-size 128
v5lite-s.yaml v5lite-s.pt 128
v5lite-c.yaml v5lite-c.pt 96
v5lite-g.yaml v5lite-g.pt 64Jika Anda menggunakan Multi-GPU. Lebih cepat beberapa kali:
$ python -m torch.distributed.launch --nproc_per_node 2 train.pySet pelatihan dan distribusi set tes (jalur dengan xx.jpg)
train: ../coco/images/train2017/
val: ../coco/images/val2017/├── images # xx.jpg example
│ ├── train2017
│ │ ├── 000001.jpg
│ │ ├── 000002.jpg
│ │ └── 000003.jpg
│ └── val2017
│ ├── 100001.jpg
│ ├── 100002.jpg
│ └── 100003.jpg
└── labels # xx.txt example
├── train2017
│ ├── 000001.txt
│ ├── 000002.txt
│ └── 000003.txt
└── val2017
├── 100001.txt
├── 100002.txt
└── 100003.txtTautan : https: //github.com/ppogg/autolabelimg
Anda dapat menggunakan labelimg berbasis yolov5-5.0 dan yolov5-lite untuk autoannotate, biubiubiu 
Di sini, komponen asli YOLOV5 dan komponen yang direproduksi dari YOLOV5-Lite diatur dan disimpan di Hub Model :

$ python main.py --type all
Memperbarui ...
NCNN untuk ARM-CPU
MNN untuk ARM-CPU
Openvino x86-cpu atau x86-vpu
Tensorrt (C ++) untuk ARM-GPU atau ARM-NPU atau X86-GPU
Tensorrt (Python) untuk ARM-GPU atau ARM-NPU atau X86-GPU
Android untuk ARM-CPU
Ini adalah ponsel Redmi, prosesornya adalah Snapdragon 730g, dan Yolov5-lite digunakan untuk deteksi. Kinerja adalah sebagai berikut:
Tautan: https://github.com/ppogg/yolov5-lite/tree/master/android_demo/ncnn-android-v5lite
Android_v5lite-s: https://drive.google.com/file/d/1ctohy68n2b9xyuqflitp-nd2kufwgaur/view?usp=sharing
Android_v5lite-g: https://drive.google.com/file/d/1fnvkwxxp_azwhi000xjiuhj_ohqoUJcj/view?usp=sharing
Aplikasi Android Baru: [tautan] https://pan.baidu.com/s/1prhw4fi1jq8vbopyishciq [kata kunci] pogg

Apa itu model s/e yolov5-lite: zhihu link (Cina): https://zhuanlan.zhihu.com/p/400545131
Apa itu model C yolov5-lite: Zhihu Link (Cina): https://zhuanlan.zhihu.com/p/420737659
Apa itu model g yolov5-lite: zhihu link (Cina): https://zhuanlan.zhihu.com/p/410874403
Cara menggunakan NCNN dengan fp16 atau int8: csdn link (Cina): https://blog.csdn.net/weixin_45829462/article/details/119787840
Cara menggunakan Mnn dengan fp16 atau int8: zhihu link (Cina): https://zhuanlan.zhihu.com/p/672633849
Cara Menyebarkan Onnxruntime: Zhihu Link (Cina): https://zhuanlan.zhihu.com/p/476533259uk versi) versi)
Cara menggunakan Tensorrt: Zhihu Link (Cina): https://zhuanlan.zhihu.com/p/478630138
Cara Mengoptimalkan Tensorrt: Zhihu Link (Cina): https://zhuanlan.zhihu.com/p/463074494
https://github.com/ultralytics/yolov5
https://github.com/megvii-model/shufflenet-series
https://github.com/tencent/ncnn
Jika Anda menggunakan yolov5-lite dalam penelitian Anda, silakan kutip pekerjaan kami dan berikan bintang:
@misc{yolov5lite2021,
title = {YOLOv5-Lite: Lighter, faster and easier to deploy},
author = {Xiangrong Chen and Ziman Gong},
doi = {10.5281/zenodo.5241425}
year={2021}
}