Ultralytics Android Aplicação: Deteção de objectos em tempo real com YOLO Models
A aplicação Ultralytics Android é uma ferramenta poderosa que lhe permite executar modelos YOLO diretamente no seu dispositivo Android para deteção de objectos em tempo real. Esta aplicação utiliza o TensorFlow Lite para otimização de modelos e vários delegados de hardware para aceleração, permitindo uma deteção de objectos rápida e eficiente.
Ver: Começar a utilizar a aplicação Ultralytics HUB (IOS & Android)
Quantização e aceleração
Para obter um desempenho em tempo real no seu dispositivo Android , os modelos YOLO são quantizados para uma precisão FP16 ou INT8. A quantização é um processo que reduz a precisão numérica do modelo weights and biases, reduzindo assim o tamanho do modelo e a quantidade de computação necessária. Isto 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 meia precisão) converte os números de ponto flutuante de 32 bits do modelo em números de ponto flutuante de 16 bits. Isto reduz o tamanho do modelo para metade e acelera o processo de inferência, mantendo um bom equilíbrio entre precisão e desempenho.
INT8 Quantização
A quantização INT8 (ou número inteiro de 8 bits) reduz ainda mais o tamanho do modelo e os requisitos de cálculo, convertendo os números de vírgula flutuante de 32 bits em números inteiros de 8 bits. Este método de quantização pode resultar num aumento significativo da velocidade, mas pode levar a uma ligeira redução da precisão média (mAP) devido à menor precisão numérica.
Redução de mAP em modelos INT8
A precisão numérica reduzida nos modelos INT8 pode levar a alguma perda de informação durante o processo de quantização, o que pode resultar numa ligeira diminuição do mAP. No entanto, este compromisso é frequentemente aceitável, tendo em conta os ganhos substanciais de desempenho proporcionados pela quantização INT8.
Delegados e variabilidade do desempenho
Estão disponíveis diferentes delegados nos dispositivos Android para acelerar a inferência de modelos. Estes delegados incluem CPU, GPU, Hexagon e NNAPI. O desempenho destes delegados varia consoante o fornecedor de hardware do dispositivo, a linha de produtos e os chipsets específicos utilizados no dispositivo.
- CPU: A opção predefinida, com um desempenho razoável na maioria dos dispositivos.
- GPU: Utiliza o GPU do dispositivo para uma inferência mais rápida. Pode proporcionar um aumento significativo do desempenho em dispositivos com GPUs potentes.
- Hexagon: Aproveita o DSP Hexagon da Qualcomm para um processamento mais rápido e eficiente. Esta opção está disponível em dispositivos com processadores Qualcomm Snapdragon.
- NNAPI: A Android Neural Networks API (NNAPI) funciona 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, Google's Edge TPU, ou o Pixel Neural Core).
Aqui está uma tabela que mostra os principais fornecedores, as suas linhas de produtos, dispositivos populares e delegados suportados:
Vendedor | Linhas de produtos | Dispositivos populares | Delegados apoiados |
---|---|---|---|
Qualcomm | Snapdragon (por exemplo, série 800) | Samsung Galaxy S21, OnePlus 9, Google Pixel 6 | CPU, GPU, Hexágono, NNAPI |
Samsung | Exynos (por exemplo, Exynos 2100) | Samsung Galaxy S21 (versão global) | CPU, GPU, NNAPI |
MediaTek | Dimensidade (por exemplo, Dimensidade 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 (por exemplo, Tegra X1) | NVIDIA Shield TV, Nintendo Switch | CPU, GPU, NNAPI |
Tenha em atenção que a lista de dispositivos mencionados não é exaustiva e pode variar consoante os chipsets específicos e os modelos de dispositivos. Teste sempre os seus modelos nos dispositivos de destino para garantir a compatibilidade e o desempenho ideal.
Tenha em atenção que a escolha do delegado pode afetar o desempenho e a compatibilidade do modelo. Por exemplo, alguns modelos podem não funcionar com determinados delegados, ou um delegado pode não estar disponível num dispositivo específico. Como tal, é essencial testar o seu modelo e o delegado escolhido nos dispositivos de destino para obter os melhores resultados.
Começar a utilizar a aplicação Ultralytics Android
Para começar a utilizar a aplicação Ultralytics Android , siga estes passos:
-
Descarregar a aplicação Ultralytics a partir da Google Play Store.
-
Inicie a aplicação no seu dispositivo Android e inicie sessão com a sua conta Ultralytics . Se ainda não tem uma conta, crie uma aqui.
-
Depois de iniciar sessão, verá uma lista dos seus modelos YOLO treinados. Selecione um modelo para utilizar na deteção de objectos.
-
Conceda permissão à aplicação para aceder à câmara do seu dispositivo.
-
Aponte a câmara do seu dispositivo para os objectos que pretende detetar. A aplicação apresentará caixas delimitadoras e etiquetas de classe em tempo real à medida que detecta os objectos.
-
Explore as definições da aplicação para ajustar o limite de deteção, ativar ou desativar classes de objectos específicas e muito mais.
Com a aplicação Ultralytics Android , tem agora na ponta dos dedos o poder da deteção de objectos em tempo real utilizando os modelos YOLO . Desfrute da exploração das funcionalidades da aplicação e da otimização das definições para se adequar aos seus casos de utilização específicos.