Ao clicar em "Aceitar todos os cookies", concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Definições de cookies
Ao clicar em "Aceitar todos os cookies", concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Veja como é fácil levar o Ultralytics YOLO11 para dispositivos Apple com CoreML e permitir tarefas rápidas de visão computacional offline para aplicações iOS em tempo real.
Com a introdução pela Apple de funcionalidades como a Apple Intelligence, é evidente que a IA no dispositivo está a tornar-se uma parte central da forma como utilizamos os nossos telefones. Para os programadores, esta mudança significa que os utilizadores estão a adotar aplicações iOS que utilizam capacidades como a visão por computador para proporcionar experiências mais inteligentes e com maior capacidade de resposta.
A visão computacional é um tipo de inteligência artificial (IA) que permite aos computadores compreender e analisar informações visuais, como imagens ou vídeos. Nos dispositivos móveis, pode ser utilizada em tempo real para detetar, classificar e interagir com objectos através da câmara do telemóvel. Os modelos de IA de visão, como o Ultralytics YOLO11, podem ser treinados de forma personalizada para reconhecer objectos específicos, dependendo das necessidades da sua aplicação.
No entanto, o YOLO11 não está preparado para ser executado no iOS logo à partida. Para implementar o YOLO11 em iPhones ou outros dispositivos Apple, especialmente para utilização offline, é necessário convertê-lo num formato optimizado para o ecossistema da Apple.
Este é exatamente o tipo de problema que o CoreML foi criado para resolver. O CoreML é a estrutura de aprendizagem automática da Apple, criada para executar modelos localmente e integrar-se perfeitamente em aplicações iOS e macOS. A integração do CoreML, suportada pelo Ultralytics, facilita a exportação do seu modelo para implementação local em iPhones.
Neste artigo, veremos mais detalhadamente como exportar o modelo YOLO11 para o formato CoreML. Também vamos explorar casos de utilização em tempo real que mostram as vantagens de executar modelos de visão por computador diretamente em dispositivos iOS. Vamos começar!
O que é o CoreML?
O CoreML é uma estrutura de aprendizagem automática (ML) desenvolvida pela Apple que permite aos programadores integrar modelos ML treinados diretamente em aplicações do ecossistema da Apple, incluindo iOS (iPhone e iPad), macOS (Mac), watchOS (Apple Watch) e tvOS (Apple TV). Foi concebido para tornar a aprendizagem automática acessível e eficiente nos dispositivos Apple, permitindo que os modelos sejam executados diretamente no dispositivo, sem necessidade de uma ligação à Internet.
No centro do CoreML está um formato de modelo unificado que suporta uma vasta gama de tarefas de IA, como classificação de imagens, deteção de objectos, reconhecimento de voz e processamento de linguagem natural. A estrutura é optimizada para tirar o máximo partido do hardware da Apple, utilizando a CPU (unidade central de processamento), a GPU (unidade de processamento gráfico) e o ANE (Apple Neural Engine) para executar modelos de forma rápida e eficiente.
O CoreML suporta uma variedade de tipos de modelos e é compatível com bibliotecas populares de aprendizagem automática, incluindo TensorFlow, PyTorch, scikit-learn, XGBoost e LibSVM. Isto facilita aos programadores a introdução de capacidades avançadas de ML nas aplicações quotidianas, assegurando que funcionam sem problemas nos dispositivos Apple.
Fig. 1. O CoreML suporta modelos de outros quadros de IA populares(Fonte).
Principais caraterísticas do CoreML
Eis algumas das principais caraterísticas que fazem do CoreML uma ferramenta fiável para integrar a IA nas aplicações Apple:
Otimização do modelo: O CoreML suporta técnicas de compressão como a quantização e a poda para reduzir o tamanho do modelo e melhorar a eficiência do tempo de execução.
Personalização no dispositivo: A estrutura de ML da Apple suporta a personalização no dispositivo, permitindo que os modelos sejam treinados e actualizados localmente com base nas interações dos utilizadores.
Previsões assíncronas: Esta estrutura permite que a sua aplicação execute previsões em segundo plano, mantendo a interface do utilizador fluida e reactiva enquanto lida com tarefas de IA.
Aprendizagem multi-tarefa: O CoreML suporta modelos que podem executar várias tarefas ao mesmo tempo, como a deteção de objectos e o reconhecimento de texto na mesma imagem.
Como exportar o YOLO11 para o formato CoreML
Agora que temos uma melhor compreensão da estrutura CoreML, vamos ver como usar a integração CoreML suportada pelo Ultralytics para exportar um modelo YOLO11 para o formato CoreML.
Passo 1: Configurar o seu ambiente
Para aceder às funcionalidades de integração fornecidas pelo Ultralytics, comece por instalar o pacote Ultralytics Python. Trata-se de uma biblioteca leve e fácil de utilizar que simplifica tarefas como a formação, a avaliação, a previsão e a exportação de modelos YOLO do Ultralytics.
Pode instalar o pacote Ultralytics Python executando "pip install ultralytics" no seu terminal de comandos. Se estiver a utilizar um ambiente como o Jupyter Notebook ou o Google Colab, inclua um ponto de exclamação (!) antes do comando: "!pip install ultralytics".
Se tiver algum problema durante a instalação ou durante a exportação para o CoreML, consulte a documentação oficial do Ultralytics ou o guia Problemas comuns para obter ajuda.
Passo 2: Exportar YOLO11 para CoreML
Quando o pacote estiver instalado com sucesso, está pronto para carregar um modelo YOLO11 e convertê-lo para o formato CoreML.
Se não tiver a certeza de qual o modelo YOLO11 pré-treinado a utilizar, pode explorar a gama de modelos suportados pelo Ultralytics. Cada um deles oferece um equilíbrio diferente entre velocidade, tamanho e precisão, e pode escolher o mais adequado para o seu projeto. Também pode utilizar um modelo YOLO11 treinado à medida se tiver treinado um no seu próprio conjunto de dados.
No trecho de código abaixo, é utilizado um ficheiro de modelo YOLO11 pré-treinado denominado "yolo11n.pt". Durante o processo de exportação, este é convertido num pacote CoreML denominado "yolo11n.mlpackage".
O modelo "yolo11n" é a versão nano, optimizada para velocidade e baixa utilização de recursos. Dependendo das necessidades do seu projeto, pode também escolher outros tamanhos de modelo, como "s" para pequeno, "m" para médio, "l" para grande ou "x" para extra-grande. Cada versão oferece um equilíbrio diferente entre desempenho e precisão.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="coreml")
Passo 3: Executar a inferência utilizando o modelo CoreML exportado
Após a exportação para o formato CoreML, o YOLO11 pode ser facilmente integrado em aplicações iOS, permitindo tarefas de visão computacional em tempo real, como a deteção de objectos em dispositivos como iPhones, iPads e Macs.
Por exemplo, o trecho de código abaixo demonstra como carregar o modelo CoreML exportado e realizar a inferência. A inferência é o processo de usar um modelo treinado para fazer previsões em novos dados. Nesse caso, o modelo analisa uma imagem de uma família brincando com uma bola.
Depois de executar o código, a imagem de saída será guardada na pasta "runs/detect/predict".
Fig. 2. Utilização de um modelo YOLO11 exportado no formato CoreML para detetar objectos. Imagem do autor.
Onde podem ser utilizados os modelos CoreML exportados?
A exportação do YOLO11 para o CoreML traz a flexibilidade para criar diversas aplicações de visão computacional que podem ser executadas de forma eficiente em iPhones, iPads e Macs. De seguida, vamos analisar alguns cenários do mundo real em que esta integração pode ser especialmente útil.
Realidade aumentada e aplicações de jogos baseadas em modelos CoreML
A realidade aumentada (RA) mistura conteúdos digitais com o mundo real, sobrepondo elementos virtuais a imagens de câmaras em direto. Está a tornar-se uma parte essencial dos jogos móveis, criando experiências mais interactivas e envolventes.
Com o YOLO11 exportado para o formato CoreML, os programadores iOS podem criar jogos de RA que reconhecem objectos do mundo real, como bancos, árvores ou sinais, utilizando a câmara do telemóvel. O jogo pode então sobrepor itens virtuais, como moedas, pistas ou criaturas, a esses objectos para melhorar o ambiente do jogador.
Nos bastidores, isto funciona através da deteção e seguimento de objectos. O YOLO11 detecta e identifica objectos em tempo real, enquanto o seguimento mantém esses objectos à vista à medida que a câmara se move, assegurando que os elementos virtuais se mantêm alinhados com o mundo real.
Os jogadores podem apontar os seus telemóveis, explorar o ambiente e interagir com o que vêem para recolher itens ou completar desafios rápidos. Tudo isto pode ser executado diretamente no dispositivo sem necessitar de uma ligação à Internet, tornando a experiência suave e envolvente.
Aplicações iOS integradas com modelos CoreML para ANPR em tempo real
O reconhecimento automático de matrículas (ANPR) é uma aplicação de visão por computador utilizada para detetar e ler matrículas de veículos. É normalmente utilizada em sistemas de segurança, monitorização de tráfego e controlo de acesso. Com o CoreML e modelos como o YOLO11, o ANPR pode agora ser executado de forma eficiente em dispositivos iOS.
Ter uma aplicação ANPR no iPhone pode ser especialmente útil em ambientes centrados na segurança. Por exemplo, pode ajudar as equipas a determinar rapidamente se um veículo que entra numa área restrita está autorizado ou não.
Essa aplicação pode utilizar um modelo de IA de visão como o YOLO11, integrado através do CoreML, para detetar veículos e localizar as respectivas matrículas em tempo real utilizando a câmara do dispositivo. Uma vez detectada uma matrícula, a tecnologia de reconhecimento ótico de caracteres (OCR) pode ler o número da matrícula. A aplicação pode então comparar este número com uma base de dados local ou baseada na nuvem para verificar o acesso ou assinalar veículos não autorizados.
Fig. 3. A IA de visão pode ser utilizada para detetar e ler números de matrículas.(Fonte).
As aplicações centradas na acessibilidade podem tirar partido dos modelos CoreML
A IA teve um enorme impacto na acessibilidade, ajudando a derrubar barreiras para pessoas com deficiências visuais. Com ferramentas como o CoreML e modelos de visão por computador como o YOLO11, os programadores podem criar aplicações iOS que descrevem o mundo à volta dos utilizadores em tempo real, tornando as tarefas diárias mais fáceis e independentes.
Por exemplo, uma pessoa com deficiência visual pode apontar a câmara do iPhone para o ambiente que a rodeia. A aplicação utiliza a deteção de objectos para reconhecer elementos-chave, como veículos, pessoas ou sinais de trânsito, e narra o que vê. Isto pode ser utilizado em situações como navegar numa rua movimentada ou compreender uma emergência.
Fig. 4. Um exemplo de utilização do YOLO11 para detetar pessoas
Principais conclusões
A exportação do YOLO11 para o formato CoreML cria novas oportunidades para aplicações em tempo real, incluindo a deteção de objectos offline em dispositivos iOS. Desde a agricultura e a segurança até à acessibilidade, esta combinação permite aos programadores criar aplicações inteligentes, eficientes e centradas na privacidade que funcionam inteiramente no dispositivo.
Com apenas alguns passos simples, pode converter o seu modelo YOLO11 e adicionar funcionalidades fiáveis de visão por computador aos iPhones. O melhor de tudo é que funciona sem necessitar de uma ligação à Internet. Em geral, a integração do CoreML traz o poder da IA avançada para as aplicações móveis quotidianas, tornando-as mais rápidas, mais reactivas e prontas a funcionar em qualquer lugar.