
Yolov5で一連のアブレーション実験を実行して、より軽く(より小さなフロップ、メモリの低下、およびパラメーターを減らします)、より速く(チャッフルチャネル、Yolov5ヘッドをチャネル削減用に追加します。 範囲)。

| id | モデル | input_size | フロップ | パラメージ | サイズ(m) | [email protected] | マップ@.5:0.95 |
|---|---|---|---|---|---|---|---|
| 001 | ヨーロファースト | 320×320 | 0.25g | 0.35m | 1.4 | 24.4 | - |
| 002 | yolov5-lite e us | 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 | 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-odels-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 | MNN | - | 71ms | - | - | 356ms |
| axera-pi | 皮質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 | MNN | 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 | MNN | ARM-CPU |
| v5lite-s-int4.mnn | 987k | shufflenetv2 | v5lites-head | MNN | 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(バイドゥ) | 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 | Tensort | 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ドライブ||─#
ncnn-fp16Baidu Drive | Googleドライブ|
|─#ncnn-int8Baidu Drive | Googleドライブ|
|─mnn-e_bf16Googleドライブ|
|─#〜七スター。MNNmnn-d_bf16:| Googleドライブ|
└└└。-onnx-fp32Baidu Drive | Googleドライブ|
v5lite-s.pt:| Baidu Drive | Googleドライブ||─#
ncnn-fp16Baidu Drive | Googleドライブ|
|─#ncnn-int8Baidu Drive | Googleドライブ|
└。-tengine-fp32Baidu Drive | Googleドライブ|
v5lite-c.ptdrive | Googleドライブ|└└。-
openvino-fp16:| Baidu Drive | Googleドライブ|
v5lite-g.pt:| Baidu Drive | Googleドライブ|└└。-七面に登録されています。Axpi
axpi-int8:Google Drive |
Baiduドライブパスワード: pogg
https://github.com/pinto0309/pinto_model_zoo/tree/main/180_yolov5-lite
python> = 3.6.0は、pytorch> = 1.7を含むすべての要件でインストールされています。
$ git clone https://github.com/ppogg/YOLOv5-Lite
$ cd YOLOv5-Lite
$ pip install -r requirements.txtdetect.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 64Multi-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.0およびYolov5-Liteを使用して、biubiubiu 
ここでは、Yolov5の元のコンポーネントとYolov5-Liteの再現されたコンポーネントが編成され、モデルハブに保存されています。

$ python main.py --type all
更新...
ARM-CPUのNCNN
ARM-CPUのMNN
OpenVino X86-CPUまたはX86-VPU
ARM-GPUまたはARM-NPUまたはX86-GPUのTensort(C ++)
ARM-GPUまたはARM-NPUまたはX86-GPU用のTensort(Python)
ARM-CPUのAndroid
これはRedmi携帯電話で、プロセッサはSnapdragon 730G、Yolov5-Liteは検出に使用されます。パフォーマンスは次のとおりです。
リンク: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
新しいAndroidアプリ:[リンク] https://pan.baidu.com/s/1prhw4fi1jq8vbopyishciq [キーワード] pogg

Yolov5-Lite S/Eモデルとは:Zhihuリンク(中国語):https://zhuanlan.zhihu.com/p/400545131
Yolov5-Lite Cモデルとは:Zhihuリンク(中国):https://zhuanlan.zhihu.com/p/420737659
Yolov5-Lite Gモデルとは:Zhihuリンク(中国):https://zhuanlan.zhihu.com/p/410874403
FP16またはINT8でNCNNで展開する方法:CSDNリンク(中国語):https://blog.csdn.net/weixin_45829462/article/details/119787840
FP16またはINT8でMNNを展開する方法:Zhihuリンク(中国):https://zhuanlan.zhihu.com/p/672633849
onnxruntimeに展開する方法:zhihu link(中国語):https://zhuanlan.zhihu.com/p/476533259(oldバージョン)
Tensortで展開する方法:Zhihuリンク(中国):https://zhuanlan.zhihu.com/p/478630138
Tensortで最適化する方法:Zhihuリンク(中国):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}
}