Salta para o conteĆŗdo

CoreML ExportaĆ§Ć£o para YOLOv8 Modelos

A implementaĆ§Ć£o de modelos de visĆ£o computacional em dispositivos Apple, como iPhones e Macs, requer um formato que garanta um desempenho perfeito.

O formato de exportaĆ§Ć£o CoreML permite-te otimizar os teus Ultralytics YOLOv8 modelos para uma deteĆ§Ć£o de objectos eficiente em aplicaƧƵes iOS e macOS. Neste guia, vamos guiar-te atravĆ©s dos passos para converteres os teus modelos para o formato CoreML , facilitando o desempenho dos teus modelos em dispositivos Apple.

CoreML

CoreML VisĆ£o geral

CoreML Ć© a estrutura bĆ”sica de aprendizagem automĆ”tica da Apple que se baseia no Accelerate, BNNS e Metal Performance Shaders. Fornece um formato de modelo de aprendizagem automĆ”tica que se integra perfeitamente nas aplicaƧƵes iOS e suporta tarefas como a anĆ”lise de imagens, o processamento de linguagem natural, a conversĆ£o de Ć”udio para texto e a anĆ”lise de som.

As aplicaƧƵes podem tirar partido do Core ML sem necessitarem de uma ligaĆ§Ć£o Ć  rede ou de chamadas Ć  API, uma vez que a estrutura do Core ML funciona utilizando a computaĆ§Ć£o no dispositivo. Isto significa que a inferĆŖncia de modelos pode ser realizada localmente no dispositivo do utilizador.

Principais caracterĆ­sticas dos modelos CoreML

A estrutura CoreML da Apple oferece funcionalidades robustas para a aprendizagem automƔtica no dispositivo. Eis as principais caracterƭsticas que fazem do CoreML uma ferramenta poderosa para os programadores:

  • Suporte abrangente a modelos: Converte e executa modelos de estruturas populares como TensorFlow, PyTorch, scikit-learn, XGBoost e LibSVM.

CoreML Modelos suportados

  • Aprendizagem automĆ”tica no dispositivo: Garante a privacidade dos dados e um processamento rĆ”pido, executando modelos diretamente no dispositivo do utilizador, eliminando a necessidade de conetividade de rede.

  • Desempenho e otimizaĆ§Ć£o: Usa a CPU, a GPU e o Neural Engine do dispositivo para obter um desempenho ideal com o mĆ­nimo de uso de energia e memĆ³ria. Oferece ferramentas para compressĆ£o e otimizaĆ§Ć£o de modelos, mantendo a precisĆ£o.

  • Facilidade de integraĆ§Ć£o: Fornece um formato unificado para vĆ”rios tipos de modelos e uma API de fĆ”cil utilizaĆ§Ć£o para uma integraĆ§Ć£o perfeita nas aplicaƧƵes. Suporta tarefas especĆ­ficas do domĆ­nio atravĆ©s de estruturas como VisĆ£o e Linguagem Natural.

  • Funcionalidades avanƧadas: Inclui capacidades de formaĆ§Ć£o no dispositivo para experiĆŖncias personalizadas, previsƵes assĆ­ncronas para experiĆŖncias de ML interactivas e ferramentas de inspeĆ§Ć£o e validaĆ§Ć£o de modelos.

CoreML OpƧƵes de implementaĆ§Ć£o

Before we look at the code for exporting YOLOv8 models to the CoreML format, let's understand where CoreML models are usually used.

CoreML oferece vĆ”rias opƧƵes de implementaĆ§Ć£o para modelos de aprendizagem automĆ”tica, incluindo:

  • ImplementaĆ§Ć£o no dispositivo: Este mĆ©todo integra diretamente os modelos CoreML na sua aplicaĆ§Ć£o iOS. Ɖ particularmente vantajoso para garantir baixa latĆŖncia, maior privacidade (uma vez que os dados permanecem no dispositivo) e funcionalidade offline. No entanto, esta abordagem pode ser limitada pelas capacidades de hardware do dispositivo, especialmente para modelos maiores e mais complexos. A implantaĆ§Ć£o no dispositivo pode ser executada das duas maneiras a seguir.

    • Modelos incorporados: Estes modelos estĆ£o incluĆ­dos no pacote de aplicaƧƵes e estĆ£o imediatamente acessĆ­veis. SĆ£o ideais para modelos pequenos que nĆ£o requerem actualizaƧƵes frequentes.

    • Modelos descarregados: Estes modelos sĆ£o obtidos a partir de um servidor, conforme necessĆ”rio. Esta abordagem Ć© adequada para modelos maiores ou para aqueles que necessitam de actualizaƧƵes regulares. Ajuda a manter o tamanho do pacote de aplicaƧƵes mais pequeno.

  • Cloud-Based Deployment: CoreML models are hosted on servers and accessed by the iOS app through API requests. This scalable and flexible option enables easy model updates without app revisions. It's ideal for complex models or large-scale apps requiring regular updates. However, it does require an internet connection and may pose latency and security issuesā€‹.

ExportaĆ§Ć£o de modelos YOLOv8 para CoreML

A exportaĆ§Ć£o de YOLOv8 para CoreML permite um desempenho optimizado da aprendizagem automĆ”tica no dispositivo no ecossistema da Apple, oferecendo vantagens em termos de eficiĆŖncia, seguranƧa e integraĆ§Ć£o perfeita com as plataformas iOS, macOS, watchOS e tvOS.

InstalaĆ§Ć£o

Para instalar o pacote necessƔrio, executa:

InstalaĆ§Ć£o

# Install the required package for YOLOv8
pip install ultralytics

Para obter instruƧƵes detalhadas e melhores prĆ”ticas relacionadas com o processo de instalaĆ§Ć£o, consulta o nosso guia de instalaĆ§Ć£oYOLOv8 . Durante a instalaĆ§Ć£o dos pacotes necessĆ”rios para YOLOv8, se tiveres alguma dificuldade, consulta o nosso guia de Problemas comuns para obteres soluƧƵes e sugestƵes.

UtilizaĆ§Ć£o

Antes de mergulhar nas instruƧƵes de utilizaĆ§Ć£o, nĆ£o te esqueƧas de verificar a gama de modelosYOLOv8 oferecidos por Ultralytics. Isto ajudar-te-Ć” a escolher o modelo mais adequado Ć s necessidades do teu projeto.

UtilizaĆ§Ć£o

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to CoreML format
model.export(format="coreml")  # creates 'yolov8n.mlpackage'

# Load the exported CoreML model
coreml_model = YOLO("yolov8n.mlpackage")

# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to CoreML format
yolo export model=yolov8n.pt format=coreml  # creates 'yolov8n.mlpackage''

# Run inference with the exported model
yolo predict model=yolov8n.mlpackage source='https://ultralytics.com/images/bus.jpg'

Para obter mais detalhes sobre o processo de exportaĆ§Ć£o, visita a pĆ”gina de documentaĆ§Ć£oUltralytics sobre exportaĆ§Ć£o.

ImplantaĆ§Ć£o de modelos exportados YOLOv8 CoreML

Depois de exportar com sucesso os modelos Ultralytics YOLOv8 para CoreML, a prĆ³xima fase crĆ­tica Ć© implantar esses modelos de forma eficaz. Para obter orientaƧƵes detalhadas sobre a implantaĆ§Ć£o de modelos CoreML em vĆ”rios ambientes, consulta estes recursos:

  • CoreML Ferramentas: Este guia inclui instruƧƵes e exemplos para converter modelos de TensorFlow, PyTorch, e outras bibliotecas para o Core ML.

  • ML e VisĆ£o: Uma coleĆ§Ć£o de vĆ­deos abrangentes que cobrem vĆ”rios aspectos da utilizaĆ§Ć£o e implementaĆ§Ć£o de modelos CoreML .

  • Integrar um modelo principal de ML na tua aplicaĆ§Ć£o: Um guia completo sobre a integraĆ§Ć£o de um modelo CoreML numa aplicaĆ§Ć£o iOS, detalhando os passos desde a preparaĆ§Ć£o do modelo atĆ© Ć  sua implementaĆ§Ć£o na aplicaĆ§Ć£o para vĆ”rias funcionalidades.

Resumo

Neste guia, explicƔmos como exportar modelos Ultralytics YOLOv8 para o formato CoreML . Se seguires os passos descritos neste guia, podes garantir a mƔxima compatibilidade e desempenho ao exportar modelos YOLOv8 para CoreML.

Para mais informaƧƵes sobre a utilizaĆ§Ć£o, visita a documentaĆ§Ć£o oficialCoreML .

Also, if you'd like to know more about other Ultralytics YOLOv8 integrations, visit our integration guide page. You'll find plenty of valuable resources and insights there.



Created 2024-02-07, Updated 2024-06-10
Authors: glenn-jocher (5), RizwanMunawar (1), abirami-vina (1)

ComentƔrios