Skip to content

Latest commit

 

History

History
48 lines (33 loc) · 2.13 KB

Readme.md

File metadata and controls

48 lines (33 loc) · 2.13 KB
page_type languages products name urlFragment
sample
cpp
windows
Qualcomm X Elite Device
DirectML ONNX YOLOv9 NPU sample
DirectML-YOLOv9

YOLOv9 NPU sample

Implements the YOLOv9 real-time object detection model using DirectML, DirectMLX and Onnx runtime with the Qualcomm Hexagon NPU (and other NPU's?)

YOLOv9 is an object detection model capable of recognizing up to 80 different classes of objects in an image. This sample contains a complete end-to-end implementation of the model using DirectML, and is able to run in real time on a user-provided video stream.

Screenshot

Downloading ONNX model

This sample requires an external download of the ONNX YOLOv9 model, which are roughly 50MB large. The .vcxproj file is configured to download the file automatically, but it can also be downloaded manually here:

The file should be placed in a "Data" subdirectory. e.g.

<repo root>/Data/Model_Yolo_v9c_f16.onnx

New Version

Some more models are located in the Data folder in the release files.

Now supporting yolo segment models: Screenshot

Power usage and performance

This sample demonstrates real time perfromance on a Snapdragon X Elite Dev Box. Compared to the original YOLOv4 DirectML Sample running on the GPU, this implementation runs more than twice as fast using less than half the power (15W compated to 40W on the GPU)

External links