OpenCV.js exposes JavaScript API of dnn module that allows web apps to do deep learning model inference in web browsers. This capability enables web developers to create intelligent usages, like image classification, object detection, segmentation and style transfer, with rich web contents, like images, videos and camera streams. Although OpenCV.js dnn module is using WebAssembly with multi-threading and SIMD128 optimization, there still exists a huge gap between OpenCV.js and OpenCV native. This is because OpenCV native can leverage more advanced hardware features and even ML-specific accelerators via native instructions and ML APIs. Web Neural Network API (WebNN) is an emerging web standard that allows web apps to access the AI hardware accelerations. It can get near-native performance on a variety of Intel-based platforms through the open source module oneDNN. Thus, in this proposal, I illustrate my idea about how to integrate WebNN into OpenCV.js and accelerate dnn module.



Hanxi Guo


  • Ningxin Hu