
ทำการทดลองด้วยการระเหยบน YOLOV5 เพื่อให้เบาลง (รองเท้าแตะขนาดเล็ก, หน่วยความจำที่ต่ำกว่าและพารามิเตอร์น้อยลง) และเร็วขึ้น (เพิ่มช่อง shuffle, หัว yolov5 สำหรับช่องลดลงมันสามารถอนุมานได้อย่างน้อย 10+ fps บน Raspberry Pi 4B ช่วงที่ยอมรับได้)

| รหัสประจำตัว | แบบอย่าง | input_size | ความกระฉับกระเฉง | พารามิเตอร์ | ขนาด (m) | [email protected] | แผนที่@.5: 0.95 |
|---|---|---|---|---|---|---|---|
| 001 | yolo-fair | 320 × 320 | 0.25 กรัม | 0.35m | 1.4 | 24.4 | - |
| 002 | yolov5-lite e ของเรา | 320 × 320 | 0.73G | 0.78m | 1.7 | 35.1 | - |
| 003 | Nanodet-M | 320 × 320 | 0.72 กรัม | 0.95m | 1.8 | - | 20.6 |
| 004 | YOLO-FASTEST-XL | 320 × 320 | 0.72 กรัม | 0.92m | 3.5 | 34.3 | - |
| 005 | Yolox Nano | 416 × 416 | 1.08g | 0.91m | 7.3 (FP32) | - | 25.8 |
| 006 | YOLOV3-TINY | 416 × 416 | 6.96G | 6.06m | 23.0 | 33.1 | 16.6 |
| 007 | YOLOV4-TINY | 416 × 416 | 5.62G | 8.86m | 33.7 | 40.2 | 21.7 |
| 008 | yolov5-lite s ของเรา | 416 × 416 | 1.66G | 1.64m | 3.4 | 42.0 | 25.2 |
| 009 | yolov5-lite c ของเรา | 512 × 512 | 5.92G | 4.57m | 9.2 | 50.9 | 32.5 |
| 010 | Nanodet-EfficientLite2 | 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 ของเรา | 640 × 640 | 15.6g | 5.39m | 10.9 | 57.6 | 39.1 |
ดู wiki: https://github.com/ppogg/yolov5-lite/wiki/test-the-map-of-models-about-coco
| อุปกรณ์ | การคำนวณแบ็กเอนด์ | ระบบ | ป้อนข้อมูล | กรอบ | v5lite-e | v5lite-s | v5lite-c | v5lite-g | YOLOV5S |
|---|---|---|---|---|---|---|---|---|---|
| ระหว่างกัน | @i5-10210U | หน้าต่าง (x86) | 640 × 640 | Openvino | - | - | 46ms | - | 131ms |
| Nvidia | @rtx 2080ti | Linux (x86) | 640 × 640 | คบเพลิง | - | - | - | 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 | มินนิโซตา | - | 71ms | - | - | 356ms |
| axera-pi | Cortex A7@CPU 3.6TOPS @NPU | Linux (ARM64) | 640 × 640 | axpi | - | - | - | 22ms | 22ms |
https://zhuanlan.zhihu.com/p/672633849
入群答案: 剪枝หรือ蒸馏หรือ量化หรือ 低秩分解(任意其一均可)
| แบบอย่าง | ขนาด | กระดูกสันหลัง | ศีรษะ | กรอบ | ออกแบบสำหรับ |
|---|---|---|---|---|---|
| v5lite-e.pt | 1.7m | shufflenetv2 (megvii) | V5litee-head | pytorch | ARM-CPU |
| v5lite-e.bin v5lite-e.param | 1.7m | Shufflenetv2 | V5litee-head | ncnn | ARM-CPU |
| v5lite-e-int8.bin v5lite-e-int8.param | 0.9m | Shufflenetv2 | V5litee-head | ncnn | ARM-CPU |
| v5lite-e-fp32.mnn | 3.0m | Shufflenetv2 | V5litee-head | มินนิโซตา | ARM-CPU |
| v5lite-e-fp32.tnnmodel v5lite-e-fp32.tnnproto | 2.9m | Shufflenetv2 | V5litee-head | tnn | ARM-CPU |
| v5lite-e-320.onnx | 3.1m | Shufflenetv2 | V5litee-head | onnxruntime | x86-cpu |
| แบบอย่าง | ขนาด | กระดูกสันหลัง | ศีรษะ | กรอบ | ออกแบบสำหรับ |
|---|---|---|---|---|---|
| v5lite-s.pt | 3.4m | shufflenetv2 (megvii) | V5lites-head | pytorch | ARM-CPU |
| v5lite-s.bin v5lite-s.param | 3.3m | Shufflenetv2 | V5lites-head | ncnn | ARM-CPU |
| v5lite-s-int8.bin v5lite-s-int8.param | 1.7m | Shufflenetv2 | V5lites-head | ncnn | ARM-CPU |
| v5lite-s.mnn | 3.3m | Shufflenetv2 | V5lites-head | มินนิโซตา | ARM-CPU |
| v5lite-s-int4.mnn | 987K | Shufflenetv2 | V5lites-head | มินนิโซตา | ARM-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 | ARM-CPU |
| v5lite-s-fp32.tflite | 6.7m | Shufflenetv2 | V5lites-head | tflite | ARM-CPU |
| v5lite-s-int8.tflite | 1.8m | Shufflenetv2 | V5lites-head | tflite | ARM-CPU |
| v5lite-s-416.onnx | 6.4m | Shufflenetv2 | V5lites-head | onnxruntime | x86-cpu |
| แบบอย่าง | ขนาด | กระดูกสันหลัง | ศีรษะ | กรอบ | ออกแบบสำหรับ |
|---|---|---|---|---|---|
| v5lite-c.pt | 9m | Pplcnet (Baidu) | หัว V5S | pytorch | X86-CPU / X86-VPU |
| v5lite-c.bin v5lite-c.xml | 8.7m | pplcnet | หัว V5S | Openvivo | X86-CPU / X86-VPU |
| v5lite-c-512.onnx | 18m | pplcnet | หัว V5S | onnxruntime | x86-cpu |
| แบบอย่าง | ขนาด | กระดูกสันหลัง | ศีรษะ | กรอบ | ออกแบบสำหรับ |
|---|---|---|---|---|---|
| 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 | เทนดีน | ARM-NPU |
| v5lite-g-640.onnx | 21m | repvgg-yolov5 | โยลอฟ 5-head | onnxruntime | x86-cpu |
| v5lite-g-640.joint | 7.1m | repvgg-yolov5 | โยลอฟ 5-head | axpi | ARM-NPU |
v5lite-e.pt: | Baidu Drive | Google Drive || ────7
ncnn-fp16: | Baidu Drive | Google Drive |
| ────7ncnn-int8: | Baidu Drive | Google Drive |
| ─────mnn-e_bf16: | Google Drive |
| ────7mnn-d_bf16: | Google Drive |
onnx-fp32Baidu Drive | Google Drive |
v5lite-s.pt: | Baidu Drive | Google Drive || ────7
ncnn-fp16: | Baidu Drive | Google Drive |
| ────7ncnn-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 |
รหัสผ่าน Baidu Drive: pogg
https://github.com/pinto0309/pinto_model_zoo/tree/main/180_yolov5-lite
Python> = 3.6.0 เป็นสิ่งจำเป็นสำหรับข้อกำหนดทั้งหมดที่ติดตั้ง txt รวมถึง pytorch> = 1.7 :
$ git clone https://github.com/ppogg/YOLOv5-Lite
$ cd YOLOv5-Lite
$ pip install -r requirements.txt detect.py เรียกใช้การอนุมานในแหล่งข้อมูลที่หลากหลายดาวน์โหลดโมเดลโดยอัตโนมัติจากการเปิดตัว YOLOV5-Lite ล่าสุดและการบันทึกผลลัพธ์เพื่อ 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 64หากคุณใช้ Multi-GPU เร็วกว่าหลายครั้ง:
$ python -m torch.distributed.launch --nproc_per_node 2 train.pyชุดฝึกอบรมและชุดทดสอบการกระจาย (เส้นทางด้วย 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.txtลิงค์ : https: //github.com/ppogg/autolabelimg
คุณสามารถใช้ labelimg ที่ใช้ YOLOV5-5 
ที่นี่ส่วนประกอบดั้งเดิมของ YOLOV5 และส่วนประกอบที่ทำซ้ำของ YOLOV5-LITE ถูกจัดระเบียบและเก็บไว้ในฮับโมเดล::

$ python main.py --type all
อัปเดต ...
ncnn สำหรับ arm-cpu
MNN สำหรับ ARM-CPU
OpenVino X86-CPU หรือ X86-VPU
Tensorrt (C ++) สำหรับ ARM-GPU หรือ ARM-NPU หรือ X86-GPU
Tensorrt (Python) สำหรับ ARM-GPU หรือ ARM-NPU หรือ X86-GPU
Android สำหรับ ARM-CPU
นี่คือโทรศัพท์ Redmi โปรเซสเซอร์คือ Snapdragon 730g และ Yolov5-Lite ใช้สำหรับการตรวจจับ ประสิทธิภาพมีดังนี้:
ลิงค์: https://github.com/ppogg/yolov5-lite/tree/master/android_demo/ncnnnndroid-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
แอพ Android ใหม่: [ลิงก์] https://pan.baidu.com/s/1prhw4fi1jq8vbopyishciq [คำหลัก] pogg

รุ่น YOLOV5-LITE S/E คืออะไร: Zhihu Link (ภาษาจีน): https://zhuanlan.zhihu.com/p/400545131
รุ่น Yolov5-Lite C คืออะไร: Zhihu Link (ภาษาจีน): https://zhuanlan.zhihu.com/p/420737659
รุ่น YOLOV5-LITE G คืออะไร: Zhihu Link (ภาษาจีน): https://zhuanlan.zhihu.com/p/410874403
วิธีการปรับใช้บน NCNN ด้วย FP16 หรือ INT8: CSDN LINK (ภาษาจีน): https://blog.csdn.net/weixin_45829462/article/details/119787840
วิธีปรับใช้ MNN ด้วย FP16 หรือ Int8: Zhihu Link (ภาษาจีน): https://zhuanlan.zhihu.com/p/672633849
วิธีการปรับใช้ onnxruntime: Zhihu Link (ภาษาจีน): https://zhuanlan.zhihu.com/p/476533259( Rold)
วิธีการปรับใช้บน tensorrt: zhihu link (ภาษาจีน): https://zhuanlan.zhihu.com/p/478630138
วิธีการเพิ่มประสิทธิภาพใน Tensorrt: Zhihu Link (ภาษาจีน): https://zhuanlan.zhihu.com/p/463074494
https://github.com/ultralytics/yolov5
https://github.com/megvii-model/shufflenet-series
https://github.com/tencent/ncnn
หากคุณใช้ YOLOV5-LITE ในการวิจัยของคุณโปรดอ้างอิงงานของเราและให้ดาว:
@misc{yolov5lite2021,
title = {YOLOv5-Lite: Lighter, faster and easier to deploy},
author = {Xiangrong Chen and Ziman Gong},
doi = {10.5281/zenodo.5241425}
year={2021}
}