OpenCV GSoC 2019 Proposal - huningxin/opencv GitHub Wiki
Area: Programming Language
IDEA: Improve the performance of JavaScript version of OpenCV (OpenCV.js)
Description: OpenCV.js makes OpenCV functions available to JavaScript developers by compiling its C++ implementation to WebAssembly (or Asm.js) and exposing them through a JavaScript binding. However the current version of OpenCV.js only runs in single thread and doesn't use SIMD instructions. This causes the performance of OpenCV.js is far below the native version and prevents some real-time use cases to be deployed in web browser. This task aims to improve the performance of OpenCV.js by exploiting parallelism of CPU. This requires to port the parallel implementations of OpenCV source code to web by leveraging Threads and SIMD features of WebAssembly.
Expected Outcomes:
Speedup OpenCV.js by multi-threading
Speedup OpenCV.js by SIMD
Speedup OpenCV.js by both multi-threading and SIMD
Create OpenCV.js benchmark and profile the performance on multiple platforms
Create a real-time demo by leveraging parallel version of OpenCV.js