Перейти к основному содержанию
EDU-MMCS
Вы используете гостевой доступ (Вход)

Нейронные сети для мобильных приложений

  1. В начало
  2. Курсы
  3. Осенний семестр
  4. Магистратура
  5. Разработка мобильных приложений и компьютерных игр
  6. НСМП
  7. Примеры внедрения нейронных сетей в мобильных пр...
  8. Лабораторная работа 3.1 (Запуск приложения с встро...

Лабораторная работа 3.1 (Запуск приложения с встроенной нейронной сетью на Android или iOS устройстве)

Требуемые условия завершения
Открыто с: понедельник, 7 октября 2024, 00:00
Срок сдачи: суббота, 30 ноября 2024, 23:59

Предлагается выполнять данную лабораторную работу в группах из 1-3 человек. Каждая группа, выполняющая лабораторную работу выбирает свой вариант. В соответствии с выбранным вариантом необходимо будет работать с определенными видами объектов. Также проект необходимо вести в открытом GitHub репозитории (при желании можно воспользоваться сервисом GitLab).

1. Необходимо взять за основу готовую реализацию приложения для Android/iOS с задачей детекции объектов (в лекции 3 можно найти ссылки на соответсвующие репозитории)

2. По инструкции, описанной в лабораторной работе 2 или 4 обучить собственную модель YOLOv8. Классы выбираются в соответствии с выбранным вариантом. Списки наименований классов представлены ниже в описании лабораторной работы. При желании можно воспользоваться другими архитектурами для решения задачи детекции объектов, например YoloX или YOLOv7.

3. Далее необходимо экспортировать модель в целевой фреймворк. Для iOS устройств следует выбирать CoreML, для Android можно воспользоваться либо Tensorflow-Lite, либо PyTorch Mobile. Экспортировать модель следует скриптом export.py по следующей инструкции.

4. Собрать решение и запустить на мобильном устройстве данную модель, оценить скорость работы архитектуры (добавить профилирование времени работы вызова функции с моделью). Для Android можно использовать следующий репозиторий или фреймворк PlayTorch, ссылка на реализацию с object detection (рекомендуется этот подход).

5. Необходимо продемонстрировать работу модели на тестовых изображениях. Тестовый набор данных с разметкой будет предоставляться при сдачи задания группой. Для успешной сдачи на тестовой выборке модель должна достигать значений метрики mAP@0.5 не ниже 0.8. Значения метрики могут быть скорректированы позднее.

Наборы классов для каждого варианта:

1. зубная щетка, тюбик зубной пасты, мыло (твердое, при желании можно добавить 4-й класс с тарой жидкого мыла)
2. кабачок, помидор, огурец
3. денежная купюра, монета, банковская карта
4. классическая гитара, акустическая гитара, электрогитара (при желании можно добавить 4-й класс с полуакустической гитарой)
5. стул, стол, кровать, диван

Требования к репозиторию и проводимым экспериментам:

  • Проводимые эксперименты должны быть воспроизводимы, следовательно следует прикрепить ссылку на размеченный набор данных
  • Репозиторий YOLOv8 (если выбрана другая реализация, то её репоизиторий соответственно) необходимо добавить к репозиторию в качестве submodule, про это можно почитать в данном описании.
  • Код для обучения должен запускаться из Docker контейнера, поэтому необходимо обернуть проведение экспериментов в Docker образ. При создании контейнера для экспериментов передаются следующие параметры: директория с размеченным набором данных (разбиение на тренировочную и валидационную части можно произвести заранее), директория с результатами обучения и логированием эксперимента (в неё можно скопировать всё содержимое папки runs/train/exp*/) Ознакомиться с созданием Docker образов можно по следующей ссылке.

При сильном желании можно перейти от задачи детекции к задаче выделения объектов масками (instance segmentation). Классическим приложением для разметки может выступать инструмент LabelMe, или же полуавтоматизированные инструменты, например как RITM. Также в первой ссылке этого абзаца содержится описание альтернативного инструмента для полуавтоматической разметки, также можно воспользоваться им. Соответственно пример кода приложения на iOS/Android для внедрения также нужно будет выбирать другой, ориентированный на решение instance segmentation.

◄ Лабораторная работа 2 (Конвертация модели на фреймворке PyTorch в TensorFlow-Lite)
Лабораторная работа 3.2 (Model serving) ►
Пропустить Навигация
Навигация
  • В начало

    • Страницы сайта

      • Мои курсы

      • Теги

    • Мои курсы

    • Курсы

      • Осенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

            • PD-magnus

            • НИС_1

            • GD

            • КПР

            • ЯП

            • МО (маг ФИИТ)

            • НИС_3

            • VRAR

            • AndroidSec

            • CS432

            • Game Physics

            • НСМП

              • Общее

              • Знакомство с множеством фреймворков для обучения ...

              • Технологии внедрения нейронных сетей в мобильные ...

              • Примеры внедрения нейронных сетей в мобильных пр...

                • ЗаданиеЛабораторная работа 3.1 (Запуск приложения с встро...

              • Внедрение нейронных сетей во встраиваемые устройс...

              • Лекции

          • ТОИ маг

          • Modern computer technology

          • Математика и её приложения в науке и инженерии

          • MUDP

          • ОНС-Н

          • RL

          • ИИ_НС

          • КрПр

          • КЗ

          • АДС

          • РПП

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Весенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Воскресная компьютерная школа

        • Пользователь компьютера плюс

        • Пользователь прикладных программ

        • Программирование I ступень

        • Программирование II ступень

        • Программирование III ступень

        • Архив

      • Воскресная математическая школа

        • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2025

        • Олимпиадная математическая школа

        • Повышение квалификации

        • Доступная математика

        • Лаборатория математического онлайн-образования мех...

        • Осенняя универсиада

        • Научно-практическая конференция

        • ВМШ

          • ВМШ - 24

        • Летняя олимпиадная математическая школа РНОМЦ и ме...

      • Государственная итоговая аттестация

      • Дополнительное образование

      • Олимпиады

      • Видеолекции

      • Разное

      • Архив курсов

      • Заочная школа мехмата ЮФУ

Служба поддержки сайта
Вы используете гостевой доступ (Вход)
НСМП
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика