Objekterkennung mit YOLOv3 in C# unter Verwendung des OpenVINO Execution Providers

  1. Das Beispiel zur Objekterkennung verwendet das YOLOv3 Deep Learning ONNX Modell aus dem ONNX Model Zoo.

  2. 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

  1. Installieren Sie .NET Core 3.1 oder höher für Ihr Betriebssystem (Mac, Windows oder Linux).

  2. Das Intel® Distribution of OpenVINO Toolkit

  3. Verwenden Sie ein beliebiges Beispielbild als Eingabe für das Beispiel.

  4. 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

Aufbauanleitungen

Referenzdokumentation

Dokumentation

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

  1. Neues Konsolenprojekt erstellen
dotnet new console
  1. NuGet-Pakete von Onnxruntime und ImageSharp installieren

    1. Visual C#-Projektdatei (.csproj) mit VS19 öffnen.
    2. Rechtsklick auf das Projekt, zu NuGet-Pakete verwalten navigieren.
    3. SixLabors.ImageSharp Paket von nuget.org installieren.
    4. Microsoft.ML.OnnxRuntime.Managed und Microsoft.ML.OnnxRuntime.Openvino aus Ihrem Build-Verzeichnis nuget-artifacts installieren.
  2. Beispiel kompilieren

dotnet build
  1. Beispiel ausführen
dotnet run [path-to-model] [path-to-image] [path-to-output-image]

Referenzen

fasterrcnn_csharp

resnet50_csharp