Neural Networks Use Cases
Приложение-пример для демонстрации использования нейронных сетей Yollov3, Yollov7, Nanodet в области компьютерного зрения.
Условия использования и участия
Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.
Соглашение участника регламентирует права, предоставляемые участниками компании «Открытая Мобильная Платформа».
Кодекс поведения — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.
Информация об участниках указана в файле AUTHORS.
Структура проекта
Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.
Каталог app описывает подпроект, содержащий исходный код приложения:
- Файл CMakeLists.txt описывает структуру подпроекта приложения для системы сборки CMake.
- Каталог icons содержит иконки приложения для поддерживаемых разрешений экрана.
- Каталог qml содержит исходный код на QML и ресурсы интерфейса пользователя.
- Каталог cover содержит реализации обложек приложения.
- Каталог icons содержит дополнительные иконки интерфейса пользователя.
- Каталог pages содержит страницы приложения.
- Файл NeuralNetworksUseCases.qml предоставляет реализацию окна приложения.
- Каталог src содержит исходный код на C++.
- Файл main.cpp является точкой входа в приложение.
- Каталог translations содержит файлы перевода интерфейса пользователя.
- Файл ru.auroraos.NeuralNetworksUseCases.desktop определяет отображение и параметры запуска приложения.
- Каталог opencv описывает подпроект, содержащий исходный код библиотеки OpenCV.
- Каталог opencv содержит git подмодуль с библиотекой OpenCV 4.7.0.
- Файл CMakeLists.txt описывает структуру подпроекта opencv для системы сборки CMake.
- Каталог ncnn описывает подпроект содержит git подмодуль с исходным кодом библиотеки Ncnn.
- Каталог ncnn содержит git подмодуль с библиотекой Ncnn.
- Файл CMakeLists.txt описывает структуру подпроекта Ncnn для системы сборки CMake.
- Каталог network содержит бинарные файлы нейронных сетей, их лицензии и тестовое изображение.
- nanodet_m.bin - бинарный файл модели нейронной сети nanodet. (лицензия
Apache-2.0
) Nanodet_LICENSE - Файл nanodet_m.param содержит параметры модели нейронной сети nanodet. (лицензия:
Apache-2.0
) Nanodet_LICENSE - Файл nanodet_classes.txt содержит список классов модели нейронной сети nanodet. (лицензия:
Apache-2.0
) Nanodet_LICENSE - Файл yollov7_classes.txt содержит список классов модели нейронной сети Yollov7. (лицензия:
BSD-3
) Yollov7_LICENSE - yolov7-tiny.bin - бинарный файл модели нейронной сети Yollov7. (лицензия:
BSD-3
) Yollov7_LICENSE - Файл yolov7-tiny.param содержит параметры модели нейронной сети Yollov7. (лицензия:
BSD-3
) Yollov7_LICENSE - mobilenetv2_yolov3.bin бинарный файл модели нейронной сети Yollov3. (лицензия:
MIT
) Yollo3_LICENSE - Файл mobilenetv2_yolov3.param содержит параметры модели нейронной сети Yollov3. (лицензия:
MIT
) Yollo3_LICENSE - Файл yollov3_classes.txt содержит список классов модели нейронной сети Yollov3. (лицензия:
MIT
) Yollo3_LICENSE - Файл yolov3-tiny.weights содержит веса для модели нейронной сети Yollov3. (лицензия:
MIT
) Yollo3_LICENSE - Файл yolov3-tiny.cfg содержит информацию о конфиге для модели нейронной сети Yollov3 (лицензия:
MIT
) Yollo3_LICENSE - Файл coco.names содержит список классов для модели нейронной сети Yollov3 (лицензия:
MIT
) Yollo3_LICENSE
- nanodet_m.bin - бинарный файл модели нейронной сети nanodet. (лицензия
- Файл CMakeLists.txt описывает структуру приложения для системы сборки CMake.
- Каталог rpm содержит настройки сборки rpm-пакета.
- Файл ru.auroraos.NeuralNetworksUseCases.spec используется инструментом rpmbuild.
Совместимость
Проект совместим с актуальными версиями ОС Аврора.
Сборка проекта
Для сборки приложения требуется увеличить объём оперативной памяти виртуальной машине Build Engine. Требуется выделить по 500 МБ оперативной памяти каждому процессорному ядру. Например, если Build Engine имеет 4 процессорных ядра, то объём выделенной оперативной памяти должен быть хотя бы 2000 МБ.
Для построения библиотеки OpenCV используется CMake. Конфигурация сборки CMake описана в файле opencv/CMakeLists.txt.
Разделяемые библиотеки и заголовочные файлы библиотеки OpenCV будут собраны в дирекитории <build-project-dir>/opencv/opencv/lib
и <build-project-dir>/opencv/opencv/modules
соответственно.
Собранные разделяемые библиотеки OpenCV будут установлены по пути /usr/share/ru.auroraos.NeuralNetworksUseCases/lib/
на устройстве с Аврора ОС.
Разделяемые библиотеки и заголовочные файлы библиотеки Ncnn будут собраны в директории <build-project-dir>/ncnn/ncnn/src
.
Собранные разделяемые библиотеки Ncnn будут установлены по пути /usr/share/ru.auroraos.NeuralNetworksUseCases/lib/
на устройстве с Аврора ОС.