How to run hardware accelerated image processing on the i.MX8 Plus NPU

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to run hardware accelerated image processing on the i.MX8 Plus NPU

2,666 次查看
mz-fixposition
Contributor II

I found good documentation on how to deploy machine learning models on the i.MX (https://www.nxp.com/docs/en/user-guide/IMX-MACHINE-LEARNING-UG.pdf)

What I am interested in is how to run classical image processing algorithms with hardware acceleration. There are plenty of classical computer vision tasks that are highly concurrent and that benefit greatly from hw acceleration. To name some of them:

  • Image feature extraction (FAST, SIFT, SURF)
  • Feature descriptor matching
  • Lucas Kanade optical flow estimation

I was wondering if there is a way to run tasks like these on the NPUs that come with some of the i.MX8 SoMs. It would be highly appreciated if anybody could point to some reference implementations or on what libs could be use for this purpose.

As reference you can have a look at the CUDA module from OpenCV (https://opencv.org/platforms/cuda/), which can be used to run selected OpenCV functionality with nivida HW.

0 项奖励
回复
2 回复数

2,652 次查看
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello mz-fixposition,

There is an application note that explain how to use NPU in i.MX8 processors:

https://www.nxp.com/docs/en/application-note/AN12964.pdf.

 

Best regards

 

0 项奖励
回复

2,625 次查看
mz-fixposition
Contributor II

Hello, thanks for the feedback!

I went through the application note.

  • For machine learning one can use the TF Lite or ARM NN frameworks
  • For other applications than ML, one has to implement everything in OpenVX. There is no native support of OpenCV

Is that correct?

I am wondering if there are application examples for developing applications directly with OpenVX, especially for common tasks such as matrix multiplication, SVD problems or image processing?

I found a lot of application examples for TF Lite or ARM NN in the application note that you linked and in the other documentation for the i.MX8, something similar for directly developing with OpenVX would be really nice.

Best regards

0 项奖励
回复