Institute for Communication Technologies and Embedded Systems

AI compiler intergration for vision applications with OpenCV

Background

OpenCV is one of the most used image processing tools. It allows to run AI models on different targets using a custom interface. This interface is not flexible to migrate from NVidia to other GPUs and CPUs, as only three backend options are offered: CUDA, OpenVINO (for Intel), and Halide (for hand-written kernels). None of these options offer a fully-compiled solution for different systems from one interface.

 

In this thesis, you will implement a novel MLIR-based AI compiler backend for OpenCV. This will enable to execute ML models with OpenCV for various targets at improved latency and memory footprint.

 

Reference implementation:

https://docs.opencv.org/4.x/d2/d58/tutorial_table_of_content_dnn.html

 

Tasks

  • Develop integration of LLVM and MLIR extensions to OpenCV
  • Build a runtime for image data sets to execute ML models
  • Demonstrate real-world applications

Requirements

Must have:

  • Good C++ and Python knowledge
  • Interest in computer architectures and compilers