Accelerate Denoising, Background Blur and Low-Light Camera Effects with KleidiAI and KleidiCV

Host machine requirements

This Learning Path demonstrates how to improve the performance of camera pipelines using KleidiAI and KleidiCV on Arm. You’ll need an Arm64 machine, preferably running an Ubuntu-based distribution. The instructions have been tested on Ubuntu 24.04.

Install required software

Make sure the following tools are installed:

  • Git – version control, for cloning the AI camera pipelines codebase
  • Git LFS – extension to Git for managing large files using lightweight pointers
  • Docker – an open-source container platform for running applications in isolated environments
  • OpenMP runtime (libomp) – LLVM’s OpenMP runtime library, required for enabling parallel execution during application performance optimization

Git and Git LFS

Install with the commands for your OS:

    

        
        

sudo apt update
sudo apt install -y git git-lfs
# one-time LFS setup on this machine:
git lfs install
  

    
    

        
        

brew install git git-lfs
# one-time LFS setup on this machine:
git lfs install
  

    

Docker

Check that Docker is installed:

    

        
        docker --version
__output__Docker version 27.3.1, build ce12230

        
    

If you see “docker: command not found,” follow the Docker Install Guide .

Note

You might need to log in again or restart your machine for the changes to take effect.

Once you have confirmed that Docker is installed on your machine, you can check that it is operating normally with the following:

    

        
        docker run hello-world
__output__Unable to find image 'hello-world:latest' locally
__output__latest: Pulling from library/hello-world
__output__c9c5fd25a1bd: Pull complete
__output__Digest: sha256:c41088499908a59aae84b0a49c70e86f4731e588a737f1637e73c8c09d995654
__output__Status: Downloaded newer image for hello-world:latest
__output__
__output__Hello from Docker!
__output__This message shows that your installation appears to be working correctly.
__output__
__output__To generate this message, Docker took the following steps:
__output__ 1. The Docker client contacted the Docker daemon.
__output__ 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
__output__    (arm64v8)
__output__ 3. The Docker daemon created a new container from that image which runs the
__output__    executable that produces the output you are currently reading.
__output__ 4. The Docker daemon streamed that output to the Docker client, which sent it
__output__    to your terminal.
__output__
__output__To try something more ambitious, you can run an Ubuntu container with:
__output__ $ docker run -it ubuntu bash
__output__
__output__Share images, automate workflows, and more with a free Docker ID:
__output__ https://hub.docker.com/
__output__
__output__For more examples and ideas, visit:
__output__ https://docs.docker.com/get-started/

        
    

OpenMP library

libomp is the OpenMP library developed by the LLVM project. It provides the necessary support for executing OpenMP parallel programs.

libomp can be installed by running the following command, depending on your OS:

    

        
        

sudo apt install libomp-19-dev -y
  

    
    

        
        

brew install libomp
  

    
Back
Next