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: Android Neural Networks API (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 App у тебя теперь есть возможность обнаруживать объекты в реальном времени с помощью моделей YOLO прямо под рукой. Наслаждайся изучением возможностей приложения и оптимизируй его настройки под свои конкретные случаи использования.