2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
- Aufgrund meines begrenzten Niveaus werden Fehler und Auslassungen zwangsläufig auftreten. Bitte kritisieren und korrigieren Sie mich.
- Für weitere spannende Inhalte klicken Sie hier, um teilzunehmenTägliche Python-OperationenSpalte,OpenCV-Python-KleinanwendungSpalte,YOLO-SerieSpalte,Verarbeitung natürlicher SpracheSpalte oder meineStartseiteÜberprüfen
- Gesichtsverdeckungserkennung basierend auf DETR
- YOLOv7 trainiert seinen eigenen Datensatz (Maskenerkennung)
- YOLOv8 trainiert seinen eigenen Datensatz (Fußballerkennung)
- YOLOv5: TensorRT beschleunigt die YOLOv5-Modellinferenz
- YOLOv5: IoU, GIoU, DIoU, CIoU, EIoU
- Spielen mit Jetson Nano (5): TensorRT beschleunigt die YOLOv5-Zielerkennung
- YOLOv5: SE-, CBAM-, CoordAtt- und ECA-Aufmerksamkeitsmechanismus hinzufügen
- YOLOv5: Interpretation der Konfigurationsdatei yolov5s.yaml und Hinzufügen einer kleinen Zielerkennungsebene
- Python konvertiert den Instanzsegmentierungsdatensatz im COCO-Format in den Instanzsegmentierungsdatensatz im YOLO-Format
- YOLOv5: Verwenden Sie Version 7.0, um Ihr eigenes Instanzsegmentierungsmodell zu trainieren (Instanzsegmentierung von Fahrzeugen, Fußgängern, Verkehrszeichen, Fahrspurlinien usw.)
- Nutzen Sie die GPU-Ressourcen von Kaggle, um das Open-Source-Projekt Stable Diffusion kostenlos zu erleben
- YOLOv10 wurde von Forschern der Tsinghua-Universität auf der Grundlage des Ultralytics-Python-Pakets erstellt. Es führte eine neue Methode zur Echtzeit-Zielerkennung ein und behob die Mängel der Nachbearbeitung und Modellarchitektur in früheren YOLO-Versionen. Durch die Eliminierung der nicht-maximalen Unterdrückung (NMS) und die Optimierung verschiedener Modellkomponenten erreicht YOLOv10 eine Leistung auf dem neuesten Stand der Technik und reduziert gleichzeitig den Rechenaufwand erheblich. Umfangreiche Experimente belegen den überlegenen Kompromiss zwischen Genauigkeit und Latenz auf mehreren Modellmaßstäben.
- [1] Adresse des YOLOv10-Quellcodes:https://github.com/THU-MIG/yolov10.git
- [2] YOLOv10-Papieradresse:https://arxiv.org/abs/2405.14458
- Überblick
Der Zweck der Echtzeit-Objekterkennung besteht darin, die Kategorie und Position von Objekten in Bildern mit geringer Latenz genau vorherzusagen. Die YOLO-Serie stand aufgrund ihres Gleichgewichts zwischen Leistung und Effizienz im Vordergrund dieser Forschung. Allerdings behindern die Abhängigkeit von NMS und architektonische Ineffizienzen eine optimale Leistung. YOLOv10 geht diese Probleme an, indem es konsistentes Dual-Tasking für nms-freies Training und eine allgemeine, auf Effizienz und Genauigkeit ausgerichtete Modellentwurfsstrategie einführt.- Die Architektur
Die Architektur von YOLOv10 baut auf den Stärken früherer YOLO-Modelle auf und führt gleichzeitig mehrere wichtige Innovationen ein. Die Modellarchitektur besteht aus folgenden Komponenten:
- Backbone: Das Backbone in YOLOv10 ist für die Merkmalsextraktion verantwortlich und verwendet eine erweiterte Version von CSPNet (Cross Stage Partial Network), um den Gradientenfluss zu verbessern und die Rechenredundanz zu reduzieren.
- Hals: Der Hals soll Merkmale verschiedener Schuppen vereinen und an den Kopf übertragen. Es enthält eine PAN-Schicht (Path Aggregation Network) für eine effektive Multiskalen-Feature-Fusion.
- One-to-Many-Kopf: Erzeugt während des Trainingsprozesses mehrere Vorhersagen für jedes Objekt, liefert umfassende Überwachungssignale und verbessert die Lerngenauigkeit.
- One-to-One Head: Erzeugt während der Inferenz eine beste Vorhersage für jedes Objekt, um NMS überflüssig zu machen, wodurch die Latenz reduziert und die Effizienz gesteigert wird.
- Hauptmerkmale
- NMS-freies Training: Nutzen Sie eine konsistente doppelte Zuweisung, um NMS überflüssig zu machen und die Inferenzlatenz zu reduzieren.
- Ganzheitliches Modelldesign: Jede Komponente ist im Hinblick auf Effizienz und Genauigkeit vollständig optimiert, einschließlich eines leichten Klassifizierungskopfes, einer räumlichen Kanalentkopplung und eines Rangführungsblockdesigns.
- Erweiterte Modellfunktionen: Kombiniert Faltung mit großem Kernel und Module mit teilweiser Selbstaufmerksamkeit, um die Leistung ohne nennenswerten Rechenaufwand zu verbessern.
- Modellvarianten: YOLOv10 ist in verschiedenen Modellen erhältlich, um unterschiedlichen Anwendungsanforderungen gerecht zu werden:
- YOLOv10-N: Nano-Version für extrem ressourcenbeschränkte Umgebungen.
- YOLOv10-S: Kleine Version vereint Geschwindigkeit und Genauigkeit.
- YOLOv10-M: Mittlere Version für den allgemeinen Gebrauch (geeignet für viele verschiedene Zwecke oder Verwendungszwecke).
- YOLOv10-B: Ausgewogene Version mit größerer Breite für höhere Genauigkeit.
- YOLOv10-L: Große Version für höhere Genauigkeit auf Kosten erhöhter Rechenressourcen.
- YOLOv10-X: Extragroße Version für maximale Genauigkeit und Leistung.
- vertrautPython
torch==2.0.1
torchvision==0.15.2
onnx==1.14.0
onnxruntime==1.15.1
pycocotools==2.0.7
PyYAML==6.0.1
scipy==1.13.0
onnxsim==0.4.36
onnxruntime-gpu==1.18.0
gradio==4.31.5
opencv-python==4.9.0.80
psutil==5.9.8
py-cpuinfo==9.0.0
huggingface-hub==0.23.2
safetensors==0.4.3
pip install ultralytics
# 或者
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple # 国内清华源,下载速度更快
- Adresse des YOLOv10-Quellcodes:https://github.com/THU-MIG/yolov10.git
git clone https://github.com/THU-MIG/yolov10.git
cd yolov10
# conda create -n yolov10 python=3.9
# conda activate yolov10
pip install -r requirements.txt
pip install -e .
Cloning into 'yolov10'...
remote: Enumerating objects: 4583, done.
remote: Counting objects: 100% (4583/4583), done.
remote: Compressing objects: 100% (1270/1270), done.
remote: Total 4583 (delta 2981), reused 4576 (delta 2979), pack-reused 0
Receiving objects: 100% (4583/4583), 23.95 MiB | 1.55 MiB/s, done.
Resolving deltas: 100% (2981/2981), done.
bitte komm
https://github.com/THU-MIG/yolov10.git
Laden Sie das Zip-Paket mit dem Quellcode von der Website herunter.
cd yolov10
# conda create -n yolov10 python=3.9
# conda activate yolov10
pip install -r requirements.txt
pip install -e .
Der in diesem Artikel verwendete Datensatz ist kostenlosDownload-Link:https://download.csdn.net/download/FriendshipTang/88045378
yolo detect train data=../datasets/Road_Sign_VOC_and_YOLO_datasets/road_sign.yaml model=yolov10n.yaml epochs=100 batch=4 imgsz=640 device=0
yolo predict model=runsdetecttrain4weightsbest.pt source=E:/mytest/datasets/Road_Sign_VOC_and_YOLO_datasets/testset/images
yolo detect val data=../datasets/Road_Sign_VOC_and_YOLO_datasets/road_sign.yaml model=runsdetecttrain4weightsbest.pt batch=4 imgsz=640 device=0
[1] Adresse des YOLOv10-Quellcodes:https://github.com/THU-MIG/yolov10.git
[2] YOLOv10-Papieradresse:https://arxiv.org/abs/2405.14458
- Aufgrund meines begrenzten Niveaus werden Fehler und Auslassungen zwangsläufig auftreten. Bitte kritisieren und korrigieren Sie mich.
- Für weitere spannende Inhalte klicken Sie hier, um teilzunehmenTägliche Python-OperationenSpalte,OpenCV-Python-KleinanwendungSpalte,YOLO-SerieSpalte,Verarbeitung natürlicher SpracheSpalte oder meineStartseiteÜberprüfen
- Gesichtsverdeckungserkennung basierend auf DETR
- YOLOv7 trainiert seinen eigenen Datensatz (Maskenerkennung)
- YOLOv8 trainiert seinen eigenen Datensatz (Fußballerkennung)
- YOLOv5: TensorRT beschleunigt die YOLOv5-Modellinferenz
- YOLOv5: IoU, GIoU, DIoU, CIoU, EIoU
- Spielen mit Jetson Nano (5): TensorRT beschleunigt die YOLOv5-Zielerkennung
- YOLOv5: SE-, CBAM-, CoordAtt- und ECA-Aufmerksamkeitsmechanismus hinzufügen
- YOLOv5: Interpretation der Konfigurationsdatei yolov5s.yaml und Hinzufügen einer kleinen Zielerkennungsebene
- Python konvertiert den Instanzsegmentierungsdatensatz im COCO-Format in den Instanzsegmentierungsdatensatz im YOLO-Format
- YOLOv5: Verwenden Sie Version 7.0, um Ihr eigenes Instanzsegmentierungsmodell zu trainieren (Instanzsegmentierung von Fahrzeugen, Fußgängern, Verkehrszeichen, Fahrspurlinien usw.)
- Nutzen Sie die GPU-Ressourcen von Kaggle, um das Open-Source-Projekt Stable Diffusion kostenlos zu erleben