BestYOLO は、科学的研究と競争を指向したベスト YOLO 実践フレームワークです。
現在、BestYOLO は YOLOv5 v7.0 をベースに完全に改良されたオープンソース ライブラリであり、移植性と使いやすさを目指し、常に実用的なアプリケーションを指向し、さまざまなモジュールの改良を簡素化します。現在、torchvision.models モデル バックボーンに基づく YOLOv5 ターゲット検出アルゴリズムが統合されており、より多くの YOLOv5 アプリケーションが徐々にオープンソース化される予定です。
?改善する
- Backbone-ResNet18 は resnet18 と連携します
- バックボーン RegNet_y_400mf 整列 regnet_y_400mf
- バックボーン-MobileNetV3 small 整列 mobilenet_v3_small
- バックボーン-EfficientNet_B0 に調整された効率的な net_b0
- Backbone-ResNet34 は resnet34 と連携します
- バックボーン-ResNet50 align resnet50
- バックボーンと EfficientNetV2_s の調整された効率的な net_v2_s
- バックボーンと EfficientNet_B1 の整合性効率的な net_b1
- Backbone-MobileNetV2 は mobilenet_v2 と連携します
- バックボーン-wide_resnet50_2 整列 Wide_resnet50_2
- バックボーン-VGG11_BN 整列 vgg11_bn
- バックボーン-Convnext Tiny align convnext_tiny
すべてのバックボーン モデルは、各 common.py モデルにpretrained=True
追加することで、事前トレーニングされた重みの有効化をサポートします。 torchvision.models
の事前トレーニングされた重みはすべて ImageNet-1K データ セットに基づいてトレーニングされています。
モデル | レイヤー | パラメータ | モデルサイズ(MB) |
---|
ヨロフ5n | 214 | 1766623 | 3.9 |
MobileNetV3 | 313 | 2137311 | 4.7 |
効率的なネット_b0 | 443 | 6241531 | 13.0 |
RegNety400 | 450 | 5000191 | 10.5 |
レスネット18 | 177 | 12352447 | 25.1 |
レスネット34 | 223 | 22460607 | 45.3 |
レスネット50 | 258 | 27560895 | 55.7 |
EfficientNetV2_s | 820 | 22419151 | 45.8 |
効率的なネット_b1 | 539 | 6595615 | 13.8 |
モバイルネット_v2 | 320 | 4455295 | 9.4 |
ワイドレスネット50_2 | 258 | 70887103 | 142.3 |
vgg11_bn | 140 | 10442879 | 21.9 |
convnext_tiny | 308 | 29310175 | 59.0 |
.yaml
構成ファイルのdepth_multiple
とwidth_multiple
同時に 1 に設定してみると、おそらく良い結果が得られるでしょう。
SPP は空間ピラミッド プーリングであり、適応サイズの出力を実現するために使用されます。 (最大プーリングや平均プーリングなどの従来のプーリング層の出力サイズは入力サイズにリンクされていますが、最終的に全結合層を作成して分類を実装する場合は、全結合入力を指定する必要があるため、ニューラルネットワークに任せる ネットワークは特定の層で固定次元の出力を取得しますが、この方法はサイズ変更しないのが最善です (サイズ変更すると歪みが発生します)。そのため、SPP は He Kaiming によって最初に提案され、RCNN に適用されました。モデル)。現在の SPP は、faster-rcnn では現在の Multi-Scale-ROI-Align に発展し、Yolo では SPPF に発展しました。
- yolov5n(SPPF)
- yolov5n-SPP
- yolov5n-SimSPPF
- yolov5n-ASPP
- yolov5n-RFB
- yolov5n-SPPCSPC
- yolov5n-SPPCSPC_グループ
- yolov5n-SimCSSPSPPF
モデル | レイヤー | パラメータ |
---|
yolov5n(SPPF) | 214 | 1766623 |
yolov5n-SPP | 217 | 1766623 |
yolov5n-SimSPPF | 216 | 1766623 |
yolov5n-ASPP | 214 | 3831775 |
yolov5n-RFB | 251 | 1932287 |
yolov5n-SPPCSPC | 232 | 3375071 |
yolov5n-SPPCSPC_グループ | 232 | 2047967 |
yolov5n-SimCSSPSPPF | 229 | 3375071 |
- ヨロフ5n
- yolov5n-FPN-AC
- yolov5n-PAN-AC
- yolov5n-FPN+PAN-AC
- yolov5n-FPN-AS
- yolov5n-PAN-AS
- yolov5n-FPN+PAN-AS
モデル | レイヤー | パラメータ |
---|
ヨロフ5n | 214 | 1766623 |
yolov5n-FPN-AC | 188 | 1858399 |
yolov5n-PAN-AC | 186 | 1642591 |
yolov5n-FPN+PAN-AC | 160 | 1734367 |
yolov5n-FPN-AS | 204 | 2106847 |
yolov5n-PAN-AS | 194 | 1891039 |
yolov5n-FPN+PAN-AS | 184 | 2231263 |
- 最適なトランスポート割り当て
- トレーニング支援 最適な輸送割り当て
- ソフトNMS
Soft-NMS
トレーニングに使用しないでください。時間がかかりすぎるため、 val
段階で有効にしてください。小規模なターゲットの重複データに適しています。
応用
?スキル
- YOLOv5 モデルのトレーニングとテスト、およびマルチターミナル展開の教育コンテンツ
- YOLOv5-OneFlow 実装をゼロから 1 まで理解する
- YOLOV5 FPS計算問題
- YOLOシリーズのネックモジュールのご紹介
- YOLOv5 データ拡張の詳細な説明 (hyp.scratch-low.yaml および augmentations.py)
- YOLOv5 のどのバージョンにも Grad-CAM ヒート マップ視覚化が追加されています
- YOLOv5 によってトレーニングされたモデルの重み暗号化および復号化メソッド
- YOLOv5 シリーズ: 6. Soft-NMS、Soft-CIoUNM を変更する...
- YOLOv5 シリーズ: 空間ピラミッド プーリングにより SPPF/SPPFCSPC が改善されました...
- YOLOv5 | 視覚タスク用の独立した自己注意レイヤー
- YOLOv5 プロジェクト コードの暗号化
- YOLOv5: 見逃し検出率と誤検出率の出力を追加
- YOLOv5 分析 | Draw results.csv ファイルのデータ比較表
- YOLOv5 のコツ - 画像サンプリング戦略 - データセットの各カテゴリの重みに応じたサンプリング
- YOLOv5 が地域ターゲット検出を実行する方法 (ステップバイステップのチュートリアル)
- 2D ターゲット検出論文の包括的なレビュー (37 件)
- 私は YOLO を一夜にして改善した中国のコアジャーナルを 30 冊以上読みました。
- CNKI の YOLO に対する最新の改善に関するコア ペーパーのコレクション 22 のイノベーションの概要 |
- 小型ターゲット検出キラー: yolov5-pip と sahi
- 小さなターゲット検出の最大の要因: 詰め込みデータの強化
トレーニング データと推論データは同じデータ形式のままであることに注意してください。つまり、カットされていないグラフを通じてトレーニングし、カット グラフに基づいて推論することはできません。
- 未熟なオプティマイザ選択のリファレンス:
?参照
- https://github.com/ultralytics/yolov5/tree/v7.0
- https://github.com/ppogg/YOLOv5-Lite
- https://github.com/deepcam-cn/yolov5-face
- https://github.com/Gumpest/YOLOv5-Multibackbone-Compression
- https://github.com/jizhishutong/YOLOU
- https://github.com/Bobo-y/flexible-yolov5
- https://github.com/iscyy/yoloair
- https://github.com/WangQvQ/Yolov5_Magic
- https://github.com/Hongyu-Yue/yoloV5_modify_smalltarget
- https://github.com/wuzhihao7788/yolodet-pytorch
- https://github.com/iscyy/yoloair2
- https://github.com/positive666/yolo_research
- https://github.com/Javacr/PyQt5-YOLOv5
- https://github.com/yang-0201/YOLOv6_pro
- https://github.com/yhwang-hub/dl_model_deploy
- https://github.com/FeiYull/TensorRT-Alpha
- https://github.com/sjinzh/awesome-yolo-object-detection
- https://github.com/z1069614715/objectdetection_script
- https://github.com/icey-zhang/SuperYOLO
- https://github.com/akashAD98/awesome-yolo-object-detection
?仕事
- https://github.com/cv516Buaa/tph-yolov5
- https://github.com/icey-zhang/SuperYOLO
- https://github.com/luogen1996/OneTeacher
- https://github.com/AlibabaResearch/efficientTeacher
- https://github.com/YOLOonMe/EMA-attention-module
- https://github.com/maggiez0138/yolov5_quant_sample
- https://github.com/OutBreak-hui/YoloV5-Flexible-and-Inference
- https://github.com/Johnathan-Xie/ZSD-YOLO
- https://github.com/chengshuxiao/YOLOv5-ODConvNeXt
- https://github.com/LSH9832/edgeyolo
- https://github.com/Koldim2001/YOLO-Patch-Based-Inference
?引用
@ article { 2023 bestyolo ,
title = {{ BestYOLO }: Making research and competition easier },
author = { Rongsheng Wang },
repo = { github https : // github . com / WangRongsheng / BestYOLO },
year = { 2023 }
}
貢献する