Bereitstellen des YOLOv5-Modells in OpenVINO

Verwandte Tags:1.PyTorch
2. Alluxio Deep-Learning-Praktiken – 1: PyTorch-Framework auf HDFS ausführen


Zusammenfassung: OpenVINO ist eine von Intel entwickelte KI-Tool-Suite, die zur schnellen Bereitstellung von KI-Anwendungen und -Lösungen eingesetzt werden kann. Sie unterstützt mehr als 150 CNN-Netzwerkstrukturen für die Computer Vision.

Einleitung: OpenVINO ist eine von Intel entwickelte KI-Tool-Suite, die zur schnellen Bereitstellung von KI-Anwendungen und -Lösungen eingesetzt werden kann. Sie unterstützt mehr als 150 CNN-Netzwerkstrukturen für die Computer Vision. Die Suite ist mit einer Vielzahl gängiger Open-Source-Frameworks wie PyTorch, TensorFlow, Keras, MXNet, Caffe und ONNX kompatibel. Mithilfe der bereitgestellten Tools lassen sich Modelle, die mit diesen Frameworks trainiert wurden, einfach in das OpenVINO-Framework konvertieren und vortrainierte Modelle auf Intel-CPUs, -GPUs und -VPUs bereitstellen.

1: Überblick über OpenVINO



Laut Baidu Encyclopedia und weiteren Quellen ist OpenVINO eine von Intel entwickelte KI-Tool-Suite, die zur schnellen Bereitstellung von KI-Anwendungen und -Lösungen eingesetzt werden kann. Sie unterstützt mehr als 150 CNN-Netzwerkstrukturen für die Computer Vision. Die Suite ist mit einer Vielzahl gängiger Open-Source-Frameworks wie PyTorch, TensorFlow, Keras, MXNet, Caffe und ONNX kompatibel. Mithilfe der bereitgestellten Tools lassen sich Modelle, die mit diesen Frameworks trainiert wurden, einfach in das OpenVINO-Framework konvertieren und vortrainierte Modelle auf Intel-CPUs, -GPUs und -VPUs bereitstellen.

Für Entwickler, die erste Erfahrungen sammeln möchten, ist die Bereitstellung von KI-Modellen auf Intel-CPUs mit OpenVINO besonders komfortabel. Die OpenVINO-Suite umfasst außerdem das Bildverarbeitungspaket OpenCV und das Videoverarbeitungs-Toolkit Media SDK, die für die Bild- und Videodecodierung sowie die Vor- und Nachverarbeitung von Inferenzergebnissen verwendet werden. Bei der Modellinferenz sind in den meisten Fällen Vor- und Nachverarbeitungsschritte erforderlich. Die Vorverarbeitung umfasst Kanaltransformation, Größenänderung, Mittelwertbildung und Normalisierung; bei der Nachverarbeitung müssen Merkmale wie Zielerkennungsrahmen in die Bilder gezeichnet werden. Diese Vorgänge können mit OpenVINO und OpenCV durchgeführt werden.

Darüber hinaus ist zu beachten, dass unterschiedliche Hardwareumgebungen verschiedene Modelle und Eingabe-/Ausgabepräzisionen unterstützen. Die von den verschiedenen Hardwarekomponenten unterstützten Modelformate sind unten aufgeführt.

Wie aus der obigen Abbildung hervorgeht, unterstützt die VPU derzeit nur das FP16-Modellformat. Optimiert für folgende Prozessoren:
• Intel® Core™-Prozessoren der 6. bis 12. Generation und Intel® Xeon®-Prozessoren
• Intel® Xeon® Scalable-Prozessor der 3. Generation (ehemals Codename Cooper Lake)
• Intel® Xeon® Scalable-Prozessor (ehemals Skylake und Cascade Lake)
• Intel Atom®-Prozessor mit Unterstützung für Intel® Streaming SIMD Extensions 4.1 (Intel® SSE4.1)
• Intel Pentium®-Prozessor N4200/5, N3350/5 oder N3450/5 mit Intel® HD Graphics
• Intel® Iris® Xe MAX Grafik
• Intel® Neural Compute Stick 2
• Intel® Vision Accelerator Design mit Intel® Movidius™ VPUs

2: Überblick über YOLOv5



YOLOv5 ist die fünfte Version des YOLO-Algorithmus (You Only Look Once). YOLO gilt als einer der führenden Algorithmen für die Echtzeit-Objekterkennung. Der Algorithmus wurde 2016 von Redmon et al. in einem Fachartikel vorgestellt und wird heute in einer Vielzahl von KI-Objekterkennungsszenarien eingesetzt. Er ermöglicht die einfache Erkennung von Objektkategorien in Bildern, wie Personen, Fahrzeuge, Tiere usw. Obwohl die Inferenzgenauigkeit von YOLOv4 in einigen Szenarien höher ist als die von YOLOv5, bieten die neuen Funktionen von YOLOv5 entscheidende Vorteile. YOLOv5 zeichnet sich durch kleinere Modelldateien, kürzere Trainingszeiten und schnellere Inferenzgeschwindigkeiten aus, ohne die durchschnittliche Erkennungsgenauigkeit zu beeinträchtigen. Bei geringeren Genauigkeitsanforderungen ist YOLOv5 daher sowohl für den Modellaufbau als auch für die Modellbereitstellung besonders geeignet und bietet schnellere Inferenzgeschwindigkeiten.

Auf der offiziellen Website unter werden verschiedene vortrainierte Gewichtungsmodelle (YOLOv5s, YOLOv5m, YOLOv5n usw.) für YOLOv5 (Version 6.0) bereitgestellt. Für die Anpassung an OpenVINO wird hier die Version YOLOv5 v5.0 verwendet. Die Gewichtungsmodelldatei und der Quellcode für YOLOv5-5.0 können unter https://github.com/ultralytics/yolov5/releases/tag/v5.0 heruntergeladen werden.



3: Überblick über die Anpassungsumgebung


• Betriebssystem: Windows 10 (Intel CPU)
• Python-Version: Python 3.7.7
• OpenVINO Python Package: openvino 2021.4.2
• YOLOv: yolov5-5.0
• netron 5.5.3
• onnx 1.10.2
• opencv-python: 4.5.4.60
Die OpenVINO-Suite kann von der offiziellen Website heruntergeladen werden.

Zusätzlich erfordert openvino_toolkit die Installation weiterer Abhängigkeiten (C++-Umgebung). Dazu müssen cmake-3.22.1-windows-x86_64.msi und Visual Studio 2019 mit MSBuild installiert werden. Dies kann durch die Installation der Visual Studio Community Edition erfolgen, wobei die C++-Desktopentwicklungsumgebung und weitere Komponenten ausgewählt werden müssen. Weitere Informationen finden Sie in der offiziellen OpenVINO-Dokumentation:
https://docs.openvino.ai/latest/openvino_docs_install_guides_installing_openvino_windows.html. Nach der Einrichtung der Umgebung können Sie den folgenden CMD-Befehl ausführen, um zu überprüfen, ob die C++-Umgebung erfolgreich eingerichtet wurde:

# Umgebungsvariablen temporär setzen
# Verzeichnis wechseln
# Abhängigkeiten installieren
install_prerequisites.bat
# Demo kompilieren und ausführen
demo_security_barrier_camera.bat

Verwandte Artikel

Weitere Sonderangebote entdecken

  1. Kurznachrichtendienst (SMS) und E-Mail-Dienst

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone Kontakt
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.