Skip to content

Latest commit

 

History

History
 
 

mivisionx_winml_yolov2

YoloV2 using AMD WinML Extension

This application shows how to run tiny yolov2 (20 classes) with MIVisionX RunTime:

  • A c/c++ implementation for region layer of yolov2
  • A sample for running yolov2 with MIVisionX

Pre-requisites

  • Visual Studio extension for C++/WinRT
  • Set OpenCV_DIR environment variable to OpenCV/build folder
  • Add OpenCV_DIR\x64\vc14\bin or OpenCV_DIR\x64\vc15\bin to your PATH

Run

Step 1. Get ONNX model

Train your YoloV2 ONNX model or get it from onnx github. ONNX version 1.3 is recommended.

Step 2. Build the app using MIVisionX_winml_YoloV2.sln on Visual Studio.

Step 3. Run tests

Open up the command line prompt or Windows Powershell and use the following commands to run the tests.

Usage:

  • Image
 .\MIVisionX_winml_YoloV2.exe --image [image - required] --modelLoc [modelLocation - required] --confidence [1-100 - optional, default: 20]
  • Camera Capture
 .\MIVisionX_winml_YoloV2.exe --capture [0 - required] --modelLoc [modelLocation - required] --confidence [1-100 - optional, default: 20]
  • Video
 .\MIVisionX_winml_YoloV2.exe --video [video - required] --modelLoc [modelLocation - required] --confidence [1-100 - optional, default: 20]

The confidence parameter is an optional parameter that sets the confidence level of detection. Lower the confidence level if the detection is not good enough.

Example

.\MIVisionX_winml_YoloV2.exe --image image\cat.jpg --modelLoc model.onnx

Update parameters

Please update parameters (biases, object names, etc) in /source/Region.cpp, and parameters (dim, blockwd, targetBlockwd, classes, etc) in /source/AnnieYoloDetect.cpp