Приложение Ultralytics дляAndroid : Обнаружение объектов в реальном времени с помощью моделей YOLO
Приложение Ultralytics Android - это мощный инструмент, позволяющий запускать модели YOLO непосредственно на вашем устройстве Android для обнаружения объектов в режиме реального времени. Это приложение использует TensorFlow Lite для оптимизации модели и различные аппаратные делегаты для ускорения, что позволяет быстро и эффективно обнаруживать объекты.
Смотреть: Начало работы с приложением Ultralytics HUB (IOS и Android)
Квантование и ускорение
Для достижения производительности в реальном времени на устройстве Android модели YOLO квантуются до точности FP16 или INT8. Квантование - это процесс, который снижает точность вычислений в модели weights and biases, тем самым уменьшая размер модели и объем необходимых вычислений. Это приводит к ускорению вычислений без существенного влияния на точность модели.
Квантование FP16
Квантование FP16 (или квантование с половинной точностью) преобразует 32-битные числа модели с плавающей точкой в 16-битные числа с плавающей точкой. Это уменьшает размер модели в два раза и ускоряет процесс вывода, сохраняя при этом хороший баланс между точностью и производительностью.
INT8 Квантование
Квантование INT8 (или 8-битное целое число) еще больше уменьшает размер модели и требования к вычислениям, преобразуя 32-битные числа с плавающей точкой в 8-битные целые числа. Этот метод квантования может привести к значительному ускорению, но может привести к небольшому снижению средней точности (mAP) из-за более низкой точности вычислений.
Снижение МПД в моделях INT8
Снижение точности в моделях INT8 может привести к некоторой потере информации в процессе квантования, что может привести к небольшому снижению mAP. Однако этот компромисс часто оказывается приемлемым, учитывая значительный прирост производительности, обеспечиваемый квантованием INT8.
Делегаты и изменчивость производительности
Для ускорения вывода модели на устройствах Android доступны различные делегаты. К таким делегатам относятся CPU, GPU, Hexagon и NNAPI. Производительность этих делегатов зависит от производителя оборудования, линейки продуктов и используемых в устройстве чипсетов.
- CPU: Вариант по умолчанию, обеспечивающий приемлемую производительность на большинстве устройств.
- GPU: Использует GPU устройства для ускорения вычислений. Это может обеспечить значительный прирост производительности на устройствах с мощными графическими процессорами.
- Hexagon: Использует DSP Hexagon от Qualcomm для более быстрой и эффективной обработки данных. Эта опция доступна на устройствах с процессорами Qualcomm Snapdragon.
- NNAPI: APIнейронных сетей Android (NNAPI) служит в качестве уровня абстракции для запуска ML-моделей на устройствах Android . NNAPI может использовать различные аппаратные ускорители, такие как CPU, GPU, и специализированные чипы ИИ (например, Google's Edge TPU, или Pixel Neural Core).
Вот таблица, в которой представлены основные поставщики, их линейки продуктов, популярные устройства и поддерживаемые делегаты:
Поставщик | Линии продуктов | Популярные устройства | Поддержка делегатов |
---|---|---|---|
Qualcomm | Snapdragon (например, 800-й серии) | Samsung Galaxy S21, OnePlus 9, Google Pixel 6 | CPU, GPU, Hexagon, NNAPI |
Samsung | Exynos (например, Exynos 2100) | Samsung Galaxy S21 (глобальная версия) | CPU, GPU, NNAPI |
MediaTek | Dimensity (например, Dimensity 1200) | Realme GT, Xiaomi Redmi Note | CPU, GPU, NNAPI |
HiSilicon | Kirin (например, Kirin 990) | Huawei P40 Pro, Huawei Mate 30 Pro | CPU, GPU, NNAPI |
NVIDIA | Tegra (например, Tegra X1) | NVIDIA Shield TV, Nintendo Switch | CPU, GPU, NNAPI |
Обратите внимание, что приведенный список устройств не является исчерпывающим и может отличаться в зависимости от конкретного чипсета и модели устройства. Всегда тестируйте свои модели на целевых устройствах, чтобы убедиться в их совместимости и оптимальной производительности.
Помните, что выбор делегата может повлиять на производительность и совместимость моделей. Например, некоторые модели могут не работать с определенными делегатами, или делегат может быть недоступен на конкретном устройстве. Поэтому для достижения наилучших результатов необходимо протестировать модель и выбранный делегат на целевых устройствах.
Начало работы с приложением Ultralytics Android
Чтобы начать работу с приложением Ultralytics Android , выполните следующие действия:
-
Загрузите приложение Ultralytics из магазинаGoogle Play Store.
-
Запустите приложение на своем устройстве Android и войдите в систему, используя свою учетную запись Ultralytics . Если у вас еще нет учетной записи, создайте ее здесь.
-
После входа в систему вы увидите список обученных моделей YOLO . Выберите модель, которая будет использоваться для обнаружения объектов.
-
Предоставьте приложению разрешение на доступ к камере вашего устройства.
-
Наведите камеру вашего устройства на объекты, которые вы хотите обнаружить. Приложение будет отображать ограничительные рамки и метки классов в режиме реального времени по мере обнаружения объектов.
-
Изучите настройки приложения, чтобы настроить порог обнаружения, включить или отключить определенные классы объектов и многое другое.
С помощью приложения Ultralytics Android вы сможете обнаруживать объекты в режиме реального времени с помощью моделей YOLO прямо у себя под рукой. Наслаждайтесь изучением возможностей приложения и оптимизируйте его настройки под свои конкретные задачи.