Skip to main content

Develop your own deep learning application

info
  • New Axis products released on AXIS OS 12.x will not have container support.
  • All products with existing container support will be supported until end of 2031 when AXIS OS 2026 LTS reaches end of life.
  • The recommended way to build analytics, computer vision and machine learning applications on Axis devices with ACAP support, is to use the ACAP Native SDK. For usage see the acap-native-sdk-examples repo.
  • The ACAP Computer Vision SDK has been archived as its components have been refactored: utility libraries and scripts are now available in ACAP Runtime. For usage of the new setup, see the examples repository.

As a developer, you have the ability to build your own application and run it directly on an Axis device. This allows you to create custom applications tailored to your specific needs.

To accomplish this, you can build your application and package it as an ACAP (Axis Camera Application Platform) application. ACAP provides a framework for developing and deploying applications on Axis devices. You can learn more about ACAP applications in What is an ACAP?.

There are two main approaches for developing ACAP applications: using the Native SDK or leveraging the ACAP Computer Vision solution. Both enable you to build computer vision applications, but there are some differences between them.

The Native SDK allows you to build applications that run directly on the Axis device. It supports C/C++ programming languages and provides direct access to the device's computer vision capabilities. On the other hand, the ACAP Computer Vision solution allows you to build applications that run in a Docker container deployed on the Axis device. It primarily supports Python applications. For more details and a comprehensive overview of ACAP development options, refer to ACAP SDK Overview.

To get started, you can explore the examples of deep learning applications available in our GitHub repositories. The acap-native-sdk-examples repository contains examples that use the Native SDK to run deep learning applications directly on the Axis device. Examples such as vdo-larod and object-detection showcase the capabilities of the Native SDK.

Alternatively, the acap-computer-vision-sdk-examples repository contains examples that utilize the ACAP Computer Vision solution to run deep learning applications in a Docker container on the Axis device. Examples like minimal-ml-inference and object-detector-python demonstrate the capabilities of this approach.

These examples 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. In the case of containerized applications, the ACAP Runtime is used as an interface to the machine learning API. The ACAP Runtime facilitates communication with the machine learning API from a Docker container, allowing you to use any programming language.

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