Saltar para o conteúdo

Ultralytics Android Aplicação: Deteção de objectos em tempo real com YOLO Models

Ultralytics Imagem de pré-visualização do HUB

Ultralytics GitHub espaço Ultralytics LinkedIn espaço Ultralytics Twitter espaço Ultralytics YouTube espaço Ultralytics TikTok espaço Ultralytics BiliBili espaço Ultralytics Discórdia

Google Loja de jogos 

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.

  1. CPU: A opção predefinida, com um desempenho razoável na maioria dos dispositivos.
  2. 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.
  3. 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.
  4. 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:

  1. Descarregar a aplicação Ultralytics a partir da Google Play Store.

  2. 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.

  3. Depois de iniciar sessão, verá uma lista dos seus modelos YOLO treinados. Selecione um modelo para utilizar na deteção de objectos.

  4. Conceda permissão à aplicação para aceder à câmara do seu dispositivo.

  5. 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.

  6. 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.

📅C riado há 1 ano ✏️ Atualizado há 2 meses

Comentários