Привет, Хабр! Меня зовут Кирилл Колодяжный, я разрабатываю системы хранения данных в YADRO и изучаю нестандартные подходы к машинному обучению: создаю ML-проекты на С++.
Это вторая часть цикла о разработке приложения для обнаружения предметов на С++. В прошлом материале мы выяснили, как создать проект в IDE Android Studio, реализовать сессию непрерывного захвата и преобразовать изображение в матрицу OpenCV. Ссылку вы найдете в конце статьи.
В этой статье продолжим реализацию проекта и обсудим следующие шаги:
• Как подключить к проекту библиотеки машинного обучения PyTorch и NCNN.
• Как получить модели YOLOv5 и YOLOv4 для использования на мобильном устройстве.
• Как реализовать инференс моделей для обнаружения объектов.
• Как обработать результаты работы моделей YOLO, реализовав алгоритмы Non-Maximum-Suppression и Intersection-Over-Union.
В конце сравним производительность PyTorch и NCNN и решим, какой фреймворк подойдет для задачи лучше.