Skip to content

Demonstrate Yolov9 model with Qualcomm Hexagon NPU and DirectML

Notifications You must be signed in to change notification settings

fobrs/yolov9_npu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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