Aplicativo Android Ultralytics: Detecção de Objetos em Tempo Real com Modelos YOLO
O Ultralytics Android App é uma ferramenta poderosa que permite executar modelos YOLO diretamente no seu dispositivo Android para detecção de objetos em tempo real. Este aplicativo utiliza TensorFlow Lite para otimização de modelo e vários delegados de hardware para aceleração, permitindo uma detecção de objetos rápida e eficiente.
Assista: Começando com o Aplicativo Ultralytics HUB (IOS e Android)
Quantização e Aceleração
Para alcançar um desempenho em tempo real no seu dispositivo Android, os modelos YOLO são quantizados para precisão FP16 ou INT8 precision. A quantização é um processo que reduz a precisão numérica dos pesos e vieses do modelo, reduzindo assim o tamanho do modelo e a quantidade de computação necessária. Isso resulta em tempos de inferência mais rápidos sem afetar significativamente a precisão do modelo.
Quantização FP16
A quantização FP16 (ou de meia precisão) converte os números de ponto flutuante de 32 bits do modelo em números de ponto flutuante de 16 bits. Isso reduz o tamanho do modelo pela metade e acelera o processo de inferência, mantendo um bom equilíbrio entre precisão e desempenho.
Quantização INT8
A quantização INT8 (ou inteiro de 8 bits) reduz ainda mais o tamanho do modelo e os requisitos de computação, convertendo seus números de ponto flutuante de 32 bits em inteiros de 8 bits. Este método de quantização pode resultar em um aumento significativo na velocidade, mas pode levar a uma ligeira redução na precisão média (mAP) devido à menor precisão numérica.
Redução do mAP em Modelos INT8
A precisão numérica reduzida em modelos INT8 pode levar a alguma perda de informação durante o processo de quantização, o que pode resultar em uma ligeira diminuição no mAP. No entanto, essa compensação é frequentemente aceitável considerando os ganhos substanciais de desempenho oferecidos pela quantização INT8.
Delegados e Variabilidade de Desempenho
Diferentes delegados estão disponíveis em dispositivos Android para acelerar a inferência do modelo. Esses delegados incluem CPU, GPU, Hexagon e NNAPI. O desempenho desses delegados varia dependendo do fornecedor de hardware do dispositivo, da linha de produtos e dos chipsets específicos usados no dispositivo.
- CPU: A opção padrão, com desempenho razoável na maioria dos dispositivos.
- GPU: Utiliza a GPU do dispositivo para inferência mais rápida. Pode fornecer um aumento de desempenho significativo em dispositivos com GPUs poderosas.
- Hexagon: Aproveita o Hexagon DSP da Qualcomm para um processamento mais rápido e eficiente. Esta opção está disponível em dispositivos com processadores Qualcomm Snapdragon.
- NNAPI: A API Neural Networks do Android (NNAPI) serve como uma camada de abstração para executar modelos de ML em dispositivos Android. A NNAPI pode utilizar vários aceleradores de hardware, como CPU, GPU e chips de IA dedicados (por exemplo, o Edge TPU do Google ou o Pixel Neural Core).
Aqui está uma tabela mostrando os principais fornecedores, suas linhas de produtos, dispositivos populares e delegados suportados:
Fornecedor | Linhas de Produto | Dispositivos Populares | Delegados Suportados |
---|---|---|---|
Qualcomm | Snapdragon (por exemplo, série 800) | Samsung Galaxy S21, OnePlus 9, Google Pixel 6 | CPU, GPU, Hexagon, NNAPI |
Samsung | Exynos (por exemplo, Exynos 2100) | Samsung Galaxy S21 (versão global) | CPU, GPU, NNAPI |
MediaTek | Dimensity (por exemplo, Dimensity 1200) | Realme GT, Xiaomi Redmi Note | CPU, GPU, NNAPI |
HiSilicon | Kirin (por exemplo, Kirin 990) | Huawei P40 Pro, Huawei Mate 30 Pro | CPU, GPU, NNAPI |
NVIDIA | Tegra (e.g., Tegra X1) | NVIDIA Shield TV, Nintendo Switch | CPU, GPU, NNAPI |
Por favor, note que a lista de dispositivos mencionados não é exaustiva e pode variar dependendo dos chipsets e modelos de dispositivos específicos. Sempre teste seus modelos em seus dispositivos de destino para garantir a compatibilidade e o desempenho ideal.
Tenha em mente que a escolha do delegate pode afetar o desempenho e a compatibilidade do modelo. Por exemplo, alguns modelos podem não funcionar com certos delegates, ou um delegate pode não estar disponível num dispositivo específico. Como tal, é essencial testar o seu modelo e o delegate escolhido nos seus dispositivos de destino para obter os melhores resultados.
Começando com o Aplicativo Ultralytics Android
Para começar a usar o aplicativo Ultralytics Android, siga estes passos:
-
Baixe o aplicativo Ultralytics na Google Play Store.
-
Inicie o aplicativo no seu dispositivo Android e faça login com sua conta Ultralytics. Se você ainda não tem uma conta, crie uma em https://hub.ultralytics.com/.
-
Depois de iniciar a sessão, você verá uma lista de seus modelos YOLO treinados. Selecione um modelo para usar na detecção de objetos.
-
Conceda à aplicação permissão para aceder à câmara do seu dispositivo.
-
Aponte a câmera do seu dispositivo para os objetos que deseja detectar. O aplicativo exibirá caixas delimitadoras e rótulos de classe em tempo real à medida que detecta objetos.
-
Explore as configurações do aplicativo para ajustar o limite de detecção, ativar ou desativar classes de objetos específicos e muito mais.
Com o aplicativo Ultralytics Android, você agora tem o poder da detecção de objetos em tempo real usando modelos YOLO na ponta dos dedos. Aproveite para explorar os recursos do aplicativo e otimizar suas configurações para atender aos seus casos de uso específicos.