Skip to main content

Develop your own deep learning application

The Axis Camera Application Platform (ACAP) is the native development framework for deploying applications on Axis cameras. ACAP provides access to camera resources, including the image pipeline, processing power, and network interfaces, enabling seamless integration of deep learning models with on-device AI processing.

Workflow to deploy a deep learning model

1. Train a model

  • Use the standard deep learning framework TensorFlow to train your model.
  • Choose a model architecture that is optimized for Axis DLPU. Refer to:

2. Convert the model for deployment

  • Axis cameras of different system-on-chip (SoC) have different DLPU. Ensure compatibility by following the guidelines for model conversion:
  • Optimize the model by using techniques such as quantization and pruning to ensure efficient execution on the camera.

3. Integrate the model with an ACAP application

  • Develop a custom ACAP application to manage video input, run inference, and handle outputs.
  • Use ACAP APIs to access image data, event handling, and network communication.
  • See ACAP SDK Examples for sample implementations of ACAP applications.

4. Deploy and run on the camera

  • Package the application and deploy it directly onto the Axis camera.
  • Run real-time inference with minimal latency, enabling immediate event triggers, metadata generation, or integration with external systems.

Get started with ACAP and deep learning

To get started, you can explore the examples of deep learning applications available in our GitHub repositories. The ACAP SDK Examples repository contains examples to run deep learning applications directly on the Axis device.

Examples such as vdo-larod and object-detection demonstrate the usage of our Machine Learning API also called Larod. Larod is a C API that enables you to run deep learning models in the TensorFlow Lite format.

Before diving into the development of your application, we recommend that you continue reading the rest of this documentation to understand the advantages and limitations of deploying a deep learning model on an Axis device.