RU | EN

Neural Networks Use Cases

Description

The application contains examples showing the operation of neural network models (Nanodeth, YOLOv3/YOLOv7) for recognizing objects in images. The application allows you to upload photos, select a model, and visualize the detection results. It is implemented in C++/QML using the OpenCV and Ncnn libraries. It serves as a practical example of integrating computer vision into mobile applications, demonstrating the features of working with neural networks, image processing, and performance optimization.

Build status:

  • example - pipeline status
  • dev - pipeline status

Table of Contents

Compatibility

The project is compatible with all the current versions of the Aurora OS.

Build Features

To build the project it needs to increase the Build Engine virtual machine RAM. It is required to allocate 500 MB RAM to the virtual machine for each processor core. For example, if Build Engine has 4 processor cores, then its RAM must be at least 2000 MB.

To build OpenCV library it uses CMake. The Cmake running configuration is described inside the CMakeLists.txt file. The shared libraries and include files of OpenCV library will be built into the <build-project-dir>/opencv directory. The shared libraries files of OpenCV library will be installed into the /usr/share/ru.auroraos.NeuralNetworksUseCases/lib/ directory on the Aurora OS device.

The shared libraries and include files of Ncnn library will be built into the <build-project-dir>/ncnn directory. The shared libraries files of Ncnn library will be installed into the /usr/share/ru.auroraos.NeuralNetworksUseCases/lib/ directory on the Aurora OS device.

You can read more about connecting the OpenCV library to the Aurora IDE here.

Branch info

Application versions conform to the branch naming convention

Install and Run

The application is installed and launched according to the instructions Example's build.

The application needs to have permissions for UserDirs, Camera, RemovableMedia and MediaIndexing to work. These permissions are set in the .desktop file.

Screenshots

screenshots

Use Cases

The application has the following use cases:

  1. Choosing a neural network model that identifies different types of objects in images,
  2. Selecting objects in the selected image using a neural network model.

Project Structure

The project has a standard structure of an application based on C++ and QML for Aurora OS.

app subproject contains the application source code:

Terms of Use and Participation

The source code of the project is provided under the license, which allows its use in third-party applications.

The contributor agreement documents the rights granted by contributors of the Open Mobile Platform.

Information about the contributors is specified in the AUTHORS file.

Code of conduct is a current set of rules of the Open Mobile Platform which informs you how we expect the members of the community will interact while contributing and communicating.