/Object-Detection-yolov7-ML.NET-onnx

Yolov7 ONNX model process with NET 7.0 ML.NET

Primary LanguageC#

Object-Detection-Yolov7-ML.NET-onnx

Yolov7 Deep MI Onnx model process with ML.NET machine learning framework, C# in Windows 10.
Base is Yolov7
Onnx model format description: Open Neural Network Exchange.
ML.NET
ML.NET office
Emgu
Emgu office

Enviroment

  • Windows 10 64-bit
  • NVIDIA Geforce GTX 960 2 Gbyte RAM
  • Microsoft Visual Studio Community 2022
  • CUDA Toolkit v11.8:
    c:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\

Installation

Nuget Package :
- Yolov5Net, Version="1.0.9
- Microsoft.ML.OnnxRuntime.Gpu, Version="1.13.1"
- Microsoft.ML.CpuMath, Version="2.0.0"
- Emgu.CV Version="4.6.0.5131"
- Emgu.CV.Bitmap Version="4.6.0.5131"
- Emgu.CV.runtime.mini.windows Version="4.6.0.5131"
- System.CommandLine Version="2.0.0-beta4.22272.1"

Building the Object-Detection-yolov7-ML.NET VS2022 project

-VS2022 started.
-"Open a project or solution".
-in Browse to search the "Object-Detection-yolov7-ML.NET.sln" file, and it open that.
-Build->Build Solution (F7).
Builded in ".\bin\Release\net6.0\Object-Detection-yolov7-ML.NET.exe".

Running the "Object-Detection-yolov7-ML.NET.exe" app.

Program arguments:

Examples: Image:

Object-Detection-yolov7-ML.NET_image.bat

Result image:

Video:

Object-Detection-yolov7-ML.NET_video.bat

Result video:
YouTube video (click):

YouTube video


Inference time is 50-100 ms per image.