Ultralytics Android App: Обнаружение объектов в реальном времени с помощью моделей YOLO
Приложение Ultralytics Android — это мощный инструмент, который позволяет запускать модели YOLO непосредственно на вашем Android-устройстве для обнаружения объектов в реальном времени. Это приложение использует TensorFlow Lite для оптимизации модели и различные аппаратные делегаты для ускорения, обеспечивая быстрое и эффективное обнаружение объектов.
Смотреть: Начало работы с приложением Ultralytics HUB (IOS и Android)
Квантование и ускорение
Для достижения производительности в реальном времени на вашем Android-устройстве модели YOLO квантуются до точности FP16 или INT8 precision. Квантование — это процесс, который снижает числовую точность весов и смещений модели, тем самым уменьшая размер модели и объем необходимых вычислений. Это приводит к более быстрому времени вывода без существенного влияния на точность модели.
Квантование FP16
Квантование FP16 (или половинной точности) преобразует 32-битные числа с плавающей запятой модели в 16-битные числа с плавающей запятой. Это уменьшает размер модели вдвое и ускоряет процесс вывода, сохраняя при этом хороший баланс между точностью и производительностью.
Квантование INT8
Квантование INT8 (или 8-битное целое число) еще больше уменьшает размер модели и вычислительные требования, преобразуя ее 32-битные числа с плавающей запятой в 8-битные целые числа. Этот метод квантования может привести к значительному увеличению скорости, но может привести к небольшому снижению средней точности (mAP) из-за более низкой числовой точности.
Снижение mAP в моделях INT8
Уменьшенная числовая точность в моделях INT8 может привести к некоторой потере информации в процессе квантования, что может привести к небольшому снижению mAP. Однако этот компромисс часто приемлем, учитывая существенные выигрыши в производительности, предлагаемые квантованием INT8.
Делегаты и изменчивость производительности
На устройствах Android доступны различные делегаты для ускорения вывода модели. Эти делегаты включают CPU, GPU, Hexagon и NNAPI. Производительность этих делегатов варьируется в зависимости от поставщика оборудования устройства, линейки продуктов и конкретных чипсетов, используемых в устройстве.
- CPU: Опция по умолчанию с приемлемой производительностью на большинстве устройств.
- GPU: Использует GPU устройства для более быстрого вывода. Он может обеспечить значительный прирост производительности на устройствах с мощными GPU.
- Hexagon: Использует Hexagon DSP от Qualcomm для более быстрой и эффективной обработки. Эта опция доступна на устройствах с процессорами Qualcomm Snapdragon.
- NNAPI: Android Neural Networks API (NNAPI) служит уровнем абстракции для запуска моделей ML на устройствах Android. NNAPI может использовать различные аппаратные ускорители, такие как CPU, GPU и специализированные AI-чипы (например, Google 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. Если у вас еще нет учетной записи, создайте ее на https://hub.ultralytics.com/.
-
После входа в систему вы увидите список ваших обученных моделей YOLO. Выберите модель для использования в задачах обнаружения объектов.
-
Предоставьте приложению разрешение на доступ к камере вашего устройства.
-
Направьте камеру вашего устройства на объекты, которые вы хотите обнаружить. Приложение будет отображать ограничивающие рамки и метки классов в режиме реального времени по мере обнаружения объектов.
-
Изучите настройки приложения, чтобы настроить порог обнаружения, включить или отключить определенные классы объектов и многое другое.
С помощью приложения Ultralytics Android у вас теперь есть возможность обнаружения объектов в реальном времени с использованием моделей YOLO прямо у вас под рукой. Наслаждайтесь изучением функций приложения и оптимизацией его настроек в соответствии с вашими конкретными случаями использования.