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