BestYOLO ist ein Best-YOLO-Praxis-Framework, das sich an wissenschaftlicher Forschung und Wettbewerb orientiert!
Derzeit ist BestYOLO eine Open-Source-Bibliothek, die auf Basis von YOLOv5 v7.0 vollständig verbessert wurde. Die Bibliothek ist stets auf praktische Anwendungen ausgerichtet, zielt auf Portabilität und Benutzerfreundlichkeit ab und vereinfacht die Verbesserung verschiedener Module. Derzeit wurde der YOLOv5-Zielerkennungsalgorithmus basierend auf dem Backbone-Modell von Torchvision.models integriert, und nach und nach werden weitere YOLOv5-Anwendungen als Open Source verfügbar sein.
?verbessern
- Backbone-ResNet18 stimmt mit resnet18 überein
- Backbone-RegNet_y_400mf richtet regnet_y_400mf aus
- Backbone-MobileNetV3 small align mobilenet_v3_small
- Backbone-EfficientNet_B0 ist aufefficientnet_b0 ausgerichtet
- Backbone-ResNet34 stimmt mit resnet34 überein
- Backbone-ResNet50 richtet Resnet50 aus
- Backbone-EfficientNetV2_s ausgerichtet aufefficientnet_v2_s
- Backbone-EfficientNet_B1 ist aufefficientnet_b1 ausgerichtet
- Backbone-MobileNetV2 stimmt mit mobilenet_v2 überein
- Backbone-wide_resnet50_2 richtet wide_resnet50_2 aus
- Backbone-VGG11_BN vgg11_bn ausrichten
- Backbone-Convnext Tiny richtet convnext_tiny aus
Alle Backbone-Modelle unterstützen die Aktivierung vorab trainierter Gewichte durch Hinzufügen von pretrained=True
zu jedem common.py-Modell. Die vorab trainierten Gewichte in torchvision.models
werden alle basierend auf dem ImageNet-1K-Datensatz trainiert!
Modelle | Schichten | Parameter | Modellgröße (MB) |
---|
yolov5n | 214 | 1766623 | 3.9 |
MobileNetV3s | 313 | 2137311 | 4.7 |
effizientnet_b0 | 443 | 6241531 | 13.0 |
RegNety400 | 450 | 5000191 | 10.5 |
ResNet18 | 177 | 12352447 | 25.1 |
ResNet34 | 223 | 22460607 | 45.3 |
ResNet50 | 258 | 27560895 | 55,7 |
EfficientNetV2_s | 820 | 22419151 | 45,8 |
effizientnet_b1 | 539 | 6595615 | 13.8 |
mobilenet_v2 | 320 | 4455295 | 9.4 |
wide_resnet50_2 | 258 | 70887103 | 142,3 |
vgg11_bn | 140 | 10442879 | 21.9 |
convnext_tiny | 308 | 29310175 | 59,0 |
Sie können versuchen, depth_multiple
und width_multiple
in der .yaml
Konfigurationsdatei gleichzeitig auf 1 zu setzen. Möglicherweise führt dies zu guten Ergebnissen.
SPP ist ein räumliches Pyramiden-Pooling, das verwendet wird, um eine Ausgabe mit adaptiver Größe zu erreichen. (Die Ausgabegröße herkömmlicher Pooling-Schichten wie maximales Pooling und durchschnittliches Pooling ist mit der Eingabegröße verknüpft. Wenn wir jedoch schließlich eine vollständig verbundene Schicht erstellen, um die Klassifizierung zu implementieren, müssen wir die vollständig verbundene Eingabe angeben, daher benötigen wir eine Möglichkeit dazu Lassen Sie das neuronale Netzwerk Das Netzwerk erhält eine Ausgabe mit fester Dimension auf einer bestimmten Ebene, und diese Methode lässt sich am besten nicht ändern (eine Größenänderung führt zu Verzerrungen), daher wurde SPP zuerst von He Kaiming vorgeschlagen und auf das RCNN angewendet Modell). Das heutige SPP hat sich auf Faster-rcnn zum heutigen Multi-Scale-ROI-Align und auf Yolo zum SPPF entwickelt.
- yolov5n(SPPF)
- yolov5n-SPP
- yolov5n-SimSPPF
- yolov5n-ASPP
- yolov5n-RFB
- yolov5n-SPPCSPC
- yolov5n-SPPCSPC_group
- yolov5n-SimCSSPSPPF
Modelle | Schichten | Parameter |
---|
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_group | 232 | 2047967 |
yolov5n-SimCSSPSPPF | 229 | 3375071 |
- yolov5n
- yolov5n-FPN-AC
- yolov5n-PAN-AC
- yolov5n-FPN+PAN-AC
- yolov5n-FPN-AS
- yolov5n-PAN-AS
- yolov5n-FPN+PAN-AS
Modelle | Schichten | Parameter |
---|
yolov5n | 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 |
- Optimale Transportbelegung
- Unterstützte Schulung zur optimalen Transportzuweisung
- Soft-NMS
Verwenden Sie Soft-NMS
nicht für das Training. Es dauert zu lange. Bitte aktivieren Sie es in val
. Es ist für kleine Zielüberlappungsdaten geeignet.
- Entkoppelter Kopf
- DCNv2
- WBF
- DCNv3
- NWD
Anwendung
- Assistent zur Erstellung von YOLOv5-Datensätzen
- YOLOv5 einzelne Box mit mehreren Etiketten
?Fähigkeit
- Schulungs- und Testinhalte für YOLOv5-Modelle sowie Lehrinhalte für die Bereitstellung mehrerer Terminals
- Verstehen Sie die YOLOv5-OneFlow-Implementierung von Null auf Eins
- YOLOV5 FPS-Berechnungsproblem
- Einführung in das Neck-Modul der YOLO-Serie
- Detaillierte Erläuterung der YOLOv5-Datenverbesserung (hyp.scratch-low.yaml und augmentations.py)
- Jede Version von YOLOv5 fügt die Grad-CAM-Heatmap-Visualisierung hinzu
- Modellgewichtsverschlüsselungs- und -entschlüsselungsmethode, trainiert von YOLOv5
- YOLOv5-Serie: 6. Ändern Sie Soft-NMS, Soft-CIoUNM ...
- YOLOv5-Serie: Räumliches Pyramiden-Pooling verbessert SPPF/SPPFCSPC ...
- YOLOv5 |. Unabhängige Selbstaufmerksamkeitsschicht für visuelle Aufgaben
- Verschlüsselung des YOLOv5-Projektcodes
- YOLOv5: Ausgabe der Rate verpasster Erkennungen und falscher Erkennungen hinzufügen
- YOLOv5-Analyse |. Zeichnen Sie ein Datenvergleichsdiagramm der Datei results.csv
- Tricks der YOLOv5-Bild-Sampling-Strategie – Sampling entsprechend dem Gewicht jeder Kategorie des Datensatzes
- Wie YOLOv5 die regionale Zielerkennung durchführt (Schritt-für-Schritt-Anleitung)
- Eine umfassende Übersicht über 2D-Zielerkennungspapiere (37 Artikel)
- Ich habe über 30 chinesische Kernzeitschriften gelesen, die YOLO über Nacht verbessert haben.
- Eine Sammlung von Kernpapieren zu den neuesten Verbesserungen von CNKI an YOLO |. Ein kurzer Überblick über 22 Innovationen
- Kleiner Zielerkennungskiller: yolov5-pip und sahi
- Der große Killer bei der Erkennung kleiner Ziele: die Datenverbesserung
Es ist zu beachten, dass Trainings- und Inferenzdaten in derselben Datenform verbleiben, das heißt, Sie können nicht durch nicht geschnittene Diagramme trainieren und auf der Grundlage geschnittener Diagramme schließen!
- Eine Referenz zur Auswahl unausgereifter Optimierer:
?beziehen
- 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
?Arbeiten
- 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
?Zitat
@ article { 2023 bestyolo ,
title = {{ BestYOLO }: Making research and competition easier },
author = { Rongsheng Wang },
repo = { github https : // github . com / WangRongsheng / BestYOLO },
year = { 2023 }
}
beitragen