Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Configuración de cookies
Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Vea lo fácil que es llevar Ultralytics YOLO11 a los dispositivos Apple con CoreML y habilitar tareas rápidas de visión artificial fuera de línea para aplicaciones iOS en tiempo real.
Con la introducción por parte de Apple de funciones como Apple Intelligence, está claro que la IA en el dispositivo se está convirtiendo en una parte central de cómo usamos nuestros teléfonos. Para los desarrolladores, este cambio significa que los usuarios están adoptando aplicaciones de iOS que utilizan capacidades como la visión artificial para ofrecer experiencias más inteligentes y con mayor capacidad de respuesta.
La visión artificial es un tipo de inteligencia artificial (IA) que permite a las computadoras comprender y analizar información visual, como imágenes o videos. En los dispositivos móviles, se puede utilizar en tiempo real para detectar, clasificar e interactuar con objetos a través de la cámara del teléfono. Los modelos de Vision AI como Ultralytics YOLO11 se pueden entrenar a medida para reconocer objetos específicos, según las necesidades de su aplicación.
Sin embargo, YOLO11 no está configurado para ejecutarse en iOS de forma predeterminada. Para implementar YOLO11 en iPhones u otros dispositivos Apple, particularmente para uso sin conexión, debe convertirse a un formato optimizado para el ecosistema de Apple.
Este es exactamente el tipo de problema para el que se creó CoreML. CoreML es el framework de aprendizaje automático de Apple, creado para ejecutar modelos localmente e integrarse perfectamente en aplicaciones iOS y macOS. La integración de CoreML, soportada por Ultralytics, facilita la exportación de su modelo para la implementación local en iPhones.
En este artículo, analizaremos más de cerca cómo exportar su modelo YOLO11 al formato CoreML. También exploraremos casos de uso en tiempo real que muestran las ventajas de ejecutar modelos de visión artificial directamente en dispositivos iOS. ¡Empecemos!
¿Qué es CoreML?
CoreML es un framework de aprendizaje automático (ML) desarrollado por Apple que permite a los desarrolladores integrar modelos de ML entrenados directamente en aplicaciones en todo el ecosistema de Apple, incluyendo iOS (iPhone y iPad), macOS (Mac), watchOS (Apple Watch) y tvOS (Apple TV). Está diseñado para hacer que el aprendizaje automático sea accesible y eficiente en los dispositivos de Apple, permitiendo que los modelos se ejecuten directamente en el dispositivo, sin necesidad de una conexión a Internet.
En el núcleo de CoreML se encuentra un formato de modelo unificado que admite una amplia gama de tareas de IA, como la clasificación de imágenes, la detección de objetos, el reconocimiento de voz y el procesamiento del lenguaje natural. El framework está optimizado para aprovechar al máximo el hardware de Apple, utilizando la CPU (unidad central de procesamiento), la GPU (unidad de procesamiento gráfico) y el ANE (Apple Neural Engine) para ejecutar modelos de forma rápida y eficiente.
CoreML admite una variedad de tipos de modelos y es compatible con bibliotecas populares de aprendizaje automático, incluyendo TensorFlow, PyTorch, scikit-learn, XGBoost y LibSVM. Esto facilita a los desarrolladores llevar capacidades avanzadas de ML a las aplicaciones cotidianas, al tiempo que garantiza que se ejecuten sin problemas en los dispositivos de Apple.
Fig. 1. CoreML admite modelos de otros frameworks de IA populares (Fuente).
Características clave de CoreML
Estas son algunas de las características clave que hacen de CoreML una herramienta fiable para integrar la IA en las aplicaciones de Apple:
Optimización de modelos: CoreML admite técnicas de compresión como la cuantización y la poda para reducir el tamaño del modelo y mejorar la eficiencia del tiempo de ejecución.
Personalización en el dispositivo: El marco ML de Apple admite la personalización en el dispositivo, lo que permite que los modelos se entrenen y actualicen localmente en función de las interacciones del usuario.
Predicciones asíncronas: Este framework permite que tu aplicación ejecute predicciones en segundo plano, manteniendo la interfaz de usuario fluida y receptiva mientras gestiona las tareas de IA.
Aprendizaje multitarea: CoreML admite modelos que pueden realizar múltiples tareas a la vez, como detectar objetos y reconocer texto en la misma imagen.
Cómo exportar YOLO11 al formato CoreML
Ahora que comprendemos mejor el framework CoreML, veamos cómo utilizar la integración de CoreML soportada por Ultralytics para exportar un modelo YOLO11 al formato CoreML.
Paso 1: Configuración de su entorno
Para acceder a las funciones de integración que proporciona Ultralytics, comience por instalar el paquete de Python de Ultralytics. Es una biblioteca ligera y fácil de usar que simplifica tareas como el entrenamiento, la evaluación, la predicción y la exportación de modelos YOLO de Ultralytics.
Puede instalar el paquete de Python Ultralytics ejecutando “pip install ultralytics” en su terminal de comandos. Si está utilizando un entorno como Jupyter Notebook o Google Colab, incluya un signo de exclamación (!) antes del comando: “!pip install ultralytics”.
Si tiene algún problema durante la instalación o al exportar a CoreML, consulte la documentación oficial de Ultralytics o la guía de problemas comunes para obtener ayuda.
Paso 2: Exportando YOLO11 a CoreML
Una vez que el paquete se ha instalado correctamente, está listo para cargar un modelo YOLO11 y convertirlo al formato CoreML.
Si no está seguro de qué modelo YOLO11 pre-entrenado usar, puede explorar la gama de modelos compatibles con Ultralytics. Cada uno ofrece un equilibrio diferente de velocidad, tamaño y precisión, y puede elegir el que mejor se adapte a su proyecto. También puede usar un modelo YOLO11 entrenado a medida si ha entrenado uno en su propio conjunto de datos.
En el fragmento de código a continuación, se utiliza un archivo de modelo YOLO11 pre-entrenado llamado "yolo11n.pt". Durante el proceso de exportación, se convierte en un paquete CoreML llamado "yolo11n.mlpackage".
El modelo "yolo11n" es la versión nano, optimizada para la velocidad y el bajo uso de recursos. Dependiendo de las necesidades de su proyecto, también puede elegir otros tamaños de modelo como "s" para pequeño, "m" para mediano, "l" para grande o "x" para extra grande. Cada versión ofrece un equilibrio diferente entre rendimiento y precisión.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="coreml")
Paso 3: Ejecución de la inferencia utilizando el modelo CoreML exportado
Después de exportar al formato CoreML, YOLO11 se puede integrar fácilmente en aplicaciones iOS, lo que permite tareas de visión artificial en tiempo real como la detección de objetos en dispositivos como iPhones, iPads y Macs.
Por ejemplo, el siguiente fragmento de código muestra cómo cargar el modelo CoreML exportado y realizar la inferencia. La inferencia es el proceso de utilizar un modelo entrenado para hacer predicciones sobre nuevos datos. En este caso, el modelo analiza una imagen de una familia jugando con una pelota.
Después de ejecutar el código, la imagen de salida se guardará en la carpeta "runs/detect/predict".
Fig 2. Utilizando un modelo YOLO11 exportado en formato CoreML para detectar objetos. Imagen del autor.
¿Dónde se pueden utilizar los modelos CoreML exportados?
Exportar YOLO11 a CoreML aporta la flexibilidad necesaria para crear diversas aplicaciones de visión artificial que puedan ejecutarse de forma eficiente en iPhones, iPads y Macs. A continuación, veamos algunos escenarios del mundo real en los que esta integración puede ser especialmente útil.
Aplicaciones de realidad aumentada y juegos impulsados por modelos CoreML
La realidad aumentada (RA) combina contenido digital con el mundo real superponiendo elementos virtuales en vistas de cámara en vivo. Se está convirtiendo en una parte clave de los juegos móviles, creando experiencias más interactivas e inmersivas.
Con YOLO11 exportado al formato CoreML, los desarrolladores de iOS pueden crear juegos de realidad aumentada que reconozcan objetos del mundo real como bancos, árboles o señales utilizando la cámara del teléfono. El juego puede entonces superponer elementos virtuales, como monedas, pistas o criaturas, sobre estos objetos para mejorar el entorno del jugador.
Entre bastidores, esto funciona mediante la detección y el seguimiento de objetos. YOLO11 detecta e identifica objetos en tiempo real, mientras que el seguimiento mantiene esos objetos a la vista a medida que la cámara se mueve, asegurándose de que los elementos virtuales permanezcan alineados con el mundo real.
Los jugadores pueden apuntar con sus teléfonos, explorar su entorno e interactuar con lo que ven para recoger objetos o completar desafíos rápidos. Todo esto puede ejecutarse directamente en el dispositivo sin necesidad de una conexión a Internet, lo que hace que la experiencia sea fluida y atractiva.
Aplicaciones iOS integradas con modelos CoreML para ANPR en tiempo real
El Reconocimiento Automático de Matrículas (ANPR) es una aplicación de visión artificial utilizada para detectar y leer matrículas de vehículos. Se utiliza comúnmente en sistemas de seguridad, monitoreo de tráfico y control de acceso. Con CoreML y modelos como YOLO11, ANPR ahora puede ejecutarse de manera eficiente en dispositivos iOS.
Tener una aplicación ANPR en tu iPhone puede ser especialmente útil en entornos centrados en la seguridad. Por ejemplo, puede ayudar a los equipos a determinar rápidamente si un vehículo que entra en una zona restringida está autorizado o no.
Dicha aplicación puede utilizar un modelo de Visión Artificial como YOLO11, integrado a través de CoreML, para detectar vehículos y localizar sus matrículas en tiempo real utilizando la cámara del dispositivo. Una vez que se detecta una placa, la tecnología de Reconocimiento Óptico de Caracteres (OCR) puede leer el número de la licencia. La aplicación puede entonces comparar este número con una base de datos local o basada en la nube para verificar el acceso o marcar vehículos no autorizados.
Fig. 3. La IA de visión se puede utilizar para detectar y leer números de matrículas. (Fuente).
Las aplicaciones centradas en la accesibilidad pueden aprovechar los modelos CoreML
La IA ha tenido un gran impacto en la accesibilidad, ayudando a derribar barreras para las personas con discapacidad visual. Con herramientas como CoreML y modelos de visión artificial como YOLO11, los desarrolladores pueden crear aplicaciones para iOS que describan el mundo que rodea a los usuarios en tiempo real, facilitando las tareas cotidianas y haciéndolas más independientes.
Por ejemplo, una persona con discapacidad visual puede apuntar la cámara de su iPhone a su entorno. La aplicación utiliza la detección de objetos para reconocer elementos clave, como vehículos, personas o señales de tráfico, y narra lo que ve. Esto se puede utilizar en situaciones como navegar por una calle concurrida o comprender una emergencia.
Fig. 4. Un ejemplo del uso de YOLO11 para detectar personas.
Conclusiones clave
La exportación de YOLO11 al formato CoreML abre nuevas oportunidades para aplicaciones en tiempo real, incluyendo la detección de objetos offline en dispositivos iOS. Desde la agricultura y la seguridad hasta la accesibilidad, esta combinación permite a los desarrolladores crear aplicaciones inteligentes, eficientes y centradas en la privacidad que se ejecutan completamente en el dispositivo.
Con solo unos sencillos pasos, puede convertir su modelo YOLO11 y añadir funciones fiables de visión artificial a los iPhones. Lo mejor de todo es que funciona sin necesidad de conexión a Internet. En general, la integración de CoreML aporta la potencia de la IA avanzada a las aplicaciones móviles cotidianas, haciéndolas más rápidas, con mayor capacidad de respuesta y listas para ejecutarse en cualquier lugar.