AI Personal Learning
und praktische Anleitung
Ressource Empfehlung 1

YOLOv12: ein Open-Source-Tool für die Echtzeit-Erkennung von Bild- und Videozielen

Allgemeine Einführung

YOLOv12 ist ein Open-Source-Projekt, das vom GitHub-Benutzer sunsmarterjie entwickelt wurde und sich auf Echtzeit-Zielerkennungstechnologie konzentriert. Das Projekt basiert auf YOLO (You Only Look Once) Reihe von Frameworks, die Einführung der Aufmerksamkeit Mechanismus, um die Leistung der traditionellen Faltungs neuronale Netze (CNN) zu optimieren, nicht nur bei der Erkennung von verbesserter Genauigkeit, sondern unterhält auch eine hohe Inferenz Geschwindigkeit. YOLOv12 für eine Vielzahl von Szenarien, wie Überwachungssysteme, automatisiertes Fahren und Bildanalyse, etc. zu bieten Nano, Small, Medium, Large und Extra-Large Modellgrößen zur Verfügung zu stellen, um unterschiedlichen Anforderungen an Rechenleistung und Anwendungen gerecht zu werden. Das Projekt steht unter der GNU AGPL-3.0-Lizenz, die es den Nutzern erlaubt, den Code kostenlos herunterzuladen und ihn an ihre Bedürfnisse anzupassen. Zum Entwicklerteam gehören Forscher der University of Buffalo und der Chinesischen Akademie der Wissenschaften. Die technische Dokumentation und die Installationsanleitung sind detailliert, so dass die Benutzer schnell loslegen können.

YOLOv12: Open-Source-Tool für Bild- und Video-Zielerkennung in Echtzeit-1


 

Funktionsliste

  • Effiziente Zielerfassung in EchtzeitAuf einer T4-GPU erreicht YOLOv12-N 40,6% mAP mit einer Inferenzlatenz von nur 1,64ms.
  • Multimodell-AuswahlFünf Modelle (Nano bis Extra-Large) stehen zur Verfügung, um eine breite Palette von Hardwareumgebungen abzudecken, von Geräten mit geringem Stromverbrauch bis hin zu Hochleistungsservern.
  • Optimierung des AufmerksamkeitsmechanismusEinführung von Area Attention- und R-ELAN-Modulen zur Verbesserung der Erkennungsgenauigkeit und zur Verringerung des Rechenaufwands.
  • Modell ExportUnterstützung für den Export von Trainingsmodellen in das ONNX- oder TensorRT-Format zur einfachen Bereitstellung in Produktionsumgebungen.
  • Individuelles DatensatztrainingBenutzer können Modelle mit ihren eigenen Datensätzen trainieren, die für bestimmte Zielerfassungsaufgaben geeignet sind.
  • Unterstützung bei der Visualisierung:: Integration von Überwachungsinstrumenten zur einfachen Darstellung von Testergebnissen und Leistungsbewertung.

 

Hilfe verwenden

Ablauf der Installation

YOLOv12 verfügt derzeit nicht über ein eigenständiges PyPI-Paket und muss aus der GitHub-Quelle installiert werden. Im Folgenden finden Sie die detaillierten Installationsschritte für Linux (Windows- oder Mac-Benutzer müssen ihre Umgebungskonfiguration anpassen):

  1. Vorbereiten der Umgebung
    • Stellen Sie sicher, dass Python 3.11 oder höher auf Ihrem System installiert ist.
    • Git installieren:sudo apt install git(Beispiel Ubuntu).
    • Optional: Installieren Sie den NVIDIA GPU-Treiber und CUDA (empfohlene Version 11.8 oder höher), um Training und Inferenz zu beschleunigen.
  2. Klon-Lager
    Laden Sie das YOLOv12-Repository lokal herunter, indem Sie den folgenden Befehl in einem Terminal ausführen:

    git clone https://github.com/sunsmarterjie/yolov12.git
    cd yolov12
  1. Erstellen einer virtuellen Umgebung
    Verwenden Sie Conda oder venv, um separate Python-Umgebungen zu erstellen und Abhängigkeitskonflikte zu vermeiden:

    conda create -n yolov12 python=3.11
    conda activate yolov12
    
  2. Installation von Abhängigkeiten
    Installieren Sie die erforderlichen Abhängigkeiten für das Projekt, einschließlich PyTorch, flash-attn, supervision, etc:

    wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.3/flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311- linux_x86_64.whl
    pip install flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
    pip install -r anforderungen.txt
    pip install -e .
    
  3. Überprüfen der Installation
    Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Umgebung richtig konfiguriert ist:

    python -c "from ultralytics import YOLO; print('YOLOv12 erfolgreich installiert')"
    

Verwendung

Training benutzerdefinierter Modelle

YOLOv12 unterstützt den Benutzer beim Training mit eigenen Datensätzen, die für szenenspezifische Zielerfassungsaufgaben geeignet sind. Die Arbeitsschritte sind wie folgt:

  1. Vorbereiten des Datensatzes
    • Die Daten sollten im YOLO-Format vorliegen (mit Bild- und Beschriftungsordnern, Beschriftungen als .txt-Dateien, beschriftet mit Zielkategorien und Bounding-Box-Koordinaten).
    • einrichten. data.yaml Datei, die den Trainingssatz, den Pfad zum Validierungssatz und den Kategorienamen angibt. Beispiel:
      Zug: . /dataset/train/images
      val: . /datensatz/val/images
      nc: 2 # Anzahl der Kategorien
      names: ['Katze', 'Hund'] # Kategorienamen
      
  2. Laden Sie das Modell und trainieren Sie es
    Verwenden Sie ein Python-Skript, um das vortrainierte Modell zu laden und mit dem Training zu beginnen:

    von ultralytics importieren YOLO
    model = YOLO('yolov12s.pt') # optional n/s/m/l/x model
    Ergebnisse = model.train(data='path/to/data.yaml', epochs=250, imgsz=640)
    
    • EpochenAnzahl der Trainingsrunden, mehr als 250 werden für bessere Ergebnisse empfohlen.
    • imgszBildgröße: Geben Sie die Bildgröße ein, Standard 640x640.
  3. Schulungsergebnisse anzeigen
    Nach Abschluss des Trainings werden die Ergebnisse in der Datei läuft/detektiert/trainiert einschließlich der Modellgewichte (best.pt) und Verschleierungsmatrizen, usw. Führen Sie den folgenden Code aus, um die Verwechslungsmatrix zu sehen:

    from IPython.display import Image
    Image(filename='runs/detect/train/confusion_matrix.png', width=600)
    

Begründungen und Tests

Das trainierte Modell kann zur Zielerkennung in Bildern oder Videos verwendet werden:

  1. Einzelbild-Erkennung
    model = YOLO('pfad/zum/besten.pt')
    ergebnisse = model('test.jpg')
    results.show() # Testergebnisse anzeigen
    results.save() # Ergebnisse in runs/detect/predict speichern
    
  2. Video-Erkennung
    Verwenden Sie die Befehlszeile, um Videodateien zu verarbeiten:

    python app.py --source 'video.mp4' --model 'path/to/best.pt'
    
  3. Leistungsbewertung
    Der Validierungssatz wird ausgewertet, um Metriken wie mAP zu erhalten:

    Ergebnisse = model.val(data='path/to/data.yaml')
    print(results.box.map) #-Ausgabe mAP@0.5:0.95
    

Modell Export

Exportieren Sie das Modell in ein Format, das in der Produktionsumgebung verwendet werden kann:

model.export(format='onnx', half=True) # exportiert als ONNX, unterstützt FP16-Beschleunigung

Die exportierten Modelle können auf Edge-Geräten oder Servern bereitgestellt werden.

Featured Function Bedienung

  • Optimierung des Aufmerksamkeitsmechanismus
    Das Modul "Area Attention" von YOLOv12 muss nicht manuell konfiguriert werden, sondern optimiert automatisch die Merkmalsextraktion während des Trainings und der Inferenz, um die Erkennung kleiner Ziele zu verbessern. Benutzer wählen einfach die richtige Modellgröße (z. B. Nano für Geräte mit geringem Stromverbrauch), um von der verbesserten Genauigkeit dieser Funktion zu profitieren.
  • Echtzeit-Erkennung
    Die Inferenz ist extrem schnell, wenn sie auf CUDA-fähigen GPUs ausgeführt wird. Die Ausführung des YOLOv12-N-Modells auf einem T4-Grafikprozessor führt beispielsweise zu einer Einzelbild-Erkennung in nur 1,64 ms, und die Benutzer können den Erkennungsrahmen und das Konfidenzniveau in Echtzeit mit dem Überwachungswerkzeug visualisieren:

    ergebnisse = model('bild.jpg')
    results.plot() # Beschriftetes Bild anzeigen
    
  • Mehrszenen-Adaption
    Durch Anpassung der Modellgröße und der Trainingsdaten kann YOLOv12 leicht an verschiedene Aufgaben angepasst werden. Zum Beispiel die Erkennung von Fußgängern in einem Überwachungssystem oder die Erkennung von Fahrzeugen und Verkehrszeichen beim autonomen Fahren.
Inhalt 1
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " YOLOv12: ein Open-Source-Tool für die Echtzeit-Erkennung von Bild- und Videozielen

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)