Neural Networks Use Cases
The sample application demonstrates the use of Yollov3, Yollov7, and Nanodet neural networks in computer vision.
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.
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.
Information about the contributors is specified in the AUTHORS file.
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:
- CMakeLists.txt file describes the app subproject structure for the CMake build system.
- icons directory contains the application icons for different screen resolutions.
-
qml directory contains the QML source code and the UI resources.
- cover directory contains the application cover implementations.
- icons directory contains the additional custom UI icons.
- pages directory contains the application pages.
- NeuralNetworksUseCases.qml file provides the application window implementation.
-
src directory contains the C++ source code.
- main.cpp file is the application entry point.
- translations directory contains the UI translation files.
- ru.auroraos.NeuralNetworksUseCases.desktop file defines the display and parameters for launching the application.
-
opencv subproject contains the git submodule with OpenCV library source code.
- opencv directory is a git submodule with OpenCV 4.7.0.
- CMakeLists.txt file describes the opencv subproject structure for the CMake build system.
-
ncnn subproject contains the git submodule with Ncnn library source code.
- ncnn directory is a git submodule with Ncnn.
- CMakeLists.txt file describes the ncnn subproject structure for the CMake build system.
-
network folder contains the neural network binaries, neural networks licenses, test image.
-
nanodet_m.bin file is the binary file of nanodet neural network model. (license:
Apache-2.0
) Nanodet_LICENSE -
nanodet_m.param file is the parametr file of nanodet neural network model. (license:
Apache-2.0
) Nanodet_LICENSE -
nanodet_classes.txt file is the binary files of nanodet neural network model. (license:
Apache-2.0
) Nanodet_LICENSE -
yollov7_classes.txt file is the classes file of Yollov7 neural network model. (license:
BSD-3
) Yollov7_LICENSE -
yolov7-tiny.bin file is the binary file of Yollov7 neural network model. (license:
BSD-3
) Yollov7_LICENSE -
yolov7-tiny.param fils is the parametr file of Yollov7 neural network model. (license:
BSD-3
) Yollov7_LICENSE -
mobilenetv2_yolov3.bin file is the binary file of Yollov3 neural network model. (license:
MIT
) Yollo3_LICENSE -
mobilenetv2_yolov3.param file is the parametr files of Yollov3 neural network model. (license:
MIT
) Yollo3_LICENSE -
yollov3_classes.txt file is the binary files of Yollov3 neural network model. (license:
MIT
) Yollo3_LICENSE -
yolov3-tiny.weights file contains weights for Yollov3 neural network model. (license:
MIT
) Yollo3_LICENSE -
yolov3-tiny.cfg file is the config file of Yollov3 neural network model. (license:
MIT
) Yollo3_LICENSE -
coco.names file is the list of classes for Yollov3 neural network model. (license:
MIT
)
-
nanodet_m.bin file is the binary file of nanodet neural network model. (license:
- CMakeLists.txt file describes the project structure for the CMake build system.
-
rpm directory contains the rpm-package build settings.
- ru.auroraos.NeuralNetworksUseCases.spec file is used by rpmbuild tool.
Compatibility
The project is compatible with all current versions of the Aurora OS.
Project Building
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.