Objekterkennung mit YOLOv3 in C# unter Verwendung des OpenVINO Execution Providers
-
Das Beispiel zur Objekterkennung verwendet das YOLOv3 Deep Learning ONNX Modell aus dem ONNX Model Zoo.
-
Das Beispiel umfasst die Übergabe eines Bildes an die ONNX Runtime (RT), die den OpenVINO Execution Provider für ONNX RT verwendet, um Inferenz auf einem Intel® NCS2 Stick (MYRIADX-Gerät) durchzuführen. Das Beispiel verwendet ImageSharp für die Bildverarbeitung und ONNX Runtime OpenVINO EP für die Inferenz.
Der Quellcode für dieses Beispiel ist hier verfügbar.
Aufbau
Voraussetzungen
-
Installieren Sie .NET Core 3.1 oder höher für Ihr Betriebssystem (Mac, Windows oder Linux).
-
Verwenden Sie ein beliebiges Beispielbild als Eingabe für das Beispiel.
-
Laden Sie das neueste YOLOv3-Modell aus dem ONNX Model Zoo herunter. Dieses Beispiel wurde aus dem ONNX Model Zoo übernommen. Laden Sie hier die neueste Version des YOLOv3-Modells herunter.
ONNX Runtime für OpenVINO Execution Provider installieren
Aufbau-Schritte
Referenzdokumentation
Um NuGet-Pakete von onnxruntime mit OpenVINO-Flavour zu erstellen
./build.sh --config Release --use_openvino MYRIAD_FP16 --build_shared_lib --build_nuget
Beispiel-C#-Anwendung erstellen
- Neues Konsolenprojekt erstellen
dotnet new console
-
NuGet-Pakete von Onnxruntime und ImageSharp installieren
- Visual C#-Projektdatei (.csproj) mit VS19 öffnen.
- Rechtsklick auf das Projekt, zu NuGet-Pakete verwalten navigieren.
- SixLabors.ImageSharp Paket von nuget.org installieren.
- Microsoft.ML.OnnxRuntime.Managed und Microsoft.ML.OnnxRuntime.Openvino aus Ihrem Build-Verzeichnis nuget-artifacts installieren.
-
Beispiel kompilieren
dotnet build
- Beispiel ausführen
dotnet run [path-to-model] [path-to-image] [path-to-output-image]