Preguntas frecuentes (FAQ) sobre Ultralytics YOLO#
Esta sección de preguntas frecuentes responde a preguntas habituales y aborda problemas con los que pueden encontrarse los usuarios al trabajar con los repositorios de Ultralytics YOLO.
Preguntas frecuentes#
Ultralytics es una empresa de IA especializada en visión artificial y en modelos de detección de objetos y segmentación de imágenes de última generación, centrada en la familia YOLO (Solo miras una vez). Su oferta incluye:
- Implementaciones de código abierto de YOLO26 (la versión más reciente) y YOLO11 (la generación anterior)
- Una amplia variedad de modelos preentrenados para distintas tareas de visión artificial
- Un completo paquete de Python para integrar fácilmente modelos YOLO en tus proyectos
- Herramientas versátiles para entrenar, probar e implementar modelos
- Documentación exhaustiva y una comunidad dispuesta a ayudar
No. YOLO27 se encuentra en la fase final de investigación y desarrollo (R&D), con vistas a su lanzamiento a finales de este año, aunque aún no hay una fecha prevista. La documentación ofrece un avance de sus funciones, resultados preliminares de pruebas de rendimiento y ejemplos para cuando se publique. Sigue usando YOLO26 en tus proyectos actuales.
Instalar el paquete Ultralytics con pip es muy sencillo:
pip install ultralyticsPara instalar la versión de desarrollo más reciente, instálala directamente desde el repositorio de GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitEncontrarás instrucciones detalladas de instalación en la guía de inicio rápido.
Requisitos mínimos:
- Python 3.8+
- PyTorch 1.8+
- GPU compatible con CUDA (para aceleración por GPU)
Configuración recomendada:
- Python 3.8+
- PyTorch 1.10+
- GPU NVIDIA con CUDA 11.2+
- 8 GB de RAM o más
- 50 GB o más de espacio libre en disco (para almacenar conjuntos de datos y entrenar modelos)
Para solucionar problemas habituales, visita la página de problemas comunes de YOLO.
Para entrenar un modelo YOLO personalizado:
-
Prepara tu conjunto de datos en formato YOLO (imágenes y los archivos txt correspondientes con las etiquetas).
-
Crea un archivo YAML que describa la estructura y las clases de tu conjunto de datos (consulta el ejemplo de YAML para conjuntos de datos).
-
Usa el siguiente código de Python para iniciar el entrenamiento:
from ultralytics import YOLO # Cargar un modelo model = YOLO("yolo26n.yaml") # crear un modelo nuevo desde cero model = YOLO("yolo26n.pt") # Carga un modelo preentrenado (recomendado para el entrenamiento) # Entrenar el modelo results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
Para consultar una guía más detallada, que incluye la preparación de datos y opciones avanzadas de entrenamiento, visita la completa guía de entrenamiento.
-
Ultralytics ofrece una amplia variedad de modelos preentrenados para distintas tareas:
- Detección de objetos: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- Segmentación de instancias: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- Segmentación semántica: YOLO26n-sem, YOLO26s-sem, YOLO26m-sem, YOLO26l-sem, YOLO26x-sem
- Estimación de profundidad: YOLO26n-depth, YOLO26s-depth, YOLO26m-depth, YOLO26l-depth, YOLO26x-depth
- Clasificación: YOLO26n-cls, YOLO26s-cls, YOLO26m-cls, YOLO26l-cls, YOLO26x-cls
- Estimación de pose: YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, YOLO26l-pose, YOLO26x-pose
- Detección orientada (OBB): YOLO26n-obb, YOLO26s-obb, YOLO26m-obb, YOLO26l-obb, YOLO26x-obb
Estos modelos varían en tamaño y complejidad, y ofrecen distintas opciones de equilibrio entre velocidad y precisión. Explora toda la gama de modelos preentrenados para encontrar el más adecuado para tu proyecto.
Para realizar inferencias con un modelo entrenado:
from ultralytics import YOLO # Cargar un modelo model = YOLO("path/to/your/model.pt") # Realizar inferencia results = model("path/to/image.jpg") # Procesa los resultados for r in results: print(r.boxes) # mostrar las predicciones de bbox print(r.masks) # mostrar las predicciones de máscaras print(r.probs) # mostrar las probabilidades de clasePara conocer opciones avanzadas de inferencia, como el procesamiento por lotes y la inferencia de vídeo, consulta la detallada guía de predicción.
¡Por supuesto! Los modelos de Ultralytics están diseñados para implementarse en distintas plataformas:
- Dispositivos periféricos: optimiza la inferencia en dispositivos como NVIDIA Jetson o Raspberry Pi con TensorRT, ONNX u OpenVINO.
- Móviles: implementa modelos en dispositivos Android o iOS convirtiéndolos a LiteRT o CoreML.
- Nube: aprovecha marcos como TensorFlow Serving o TorchServe para implementaciones escalables en la nube.
- Web: Implementa la inferencia en el navegador con ONNX Runtime Web.
Ultralytics ofrece funciones de exportación para convertir modelos a varios formatos y desplegarlos. Explora la amplia variedad de opciones de despliegue para encontrar la solución que mejor se adapte a tu caso de uso.
Estas son las principales diferencias:
- Inferencia integral sin NMS: YOLO26 ofrece inferencia sin NMS con
nms=False. Su ruta predeterminada de uno a muchos utiliza NMS para mejorar la precisión. - Eliminación de DFL: YOLO26 elimina el módulo Distribution Focal Loss, lo que simplifica la exportación y mejora la compatibilidad con dispositivos periféricos y de bajo consumo.
- Optimizador MuSGD: combinación de SGD y Muon (inspirada en Kimi K2 de Moonshot AI) que proporciona un entrenamiento más estable y una convergencia más rápida.
- Rendimiento de la CPU: YOLO26n se ejecuta hasta un 43 % más rápido que YOLO11n en inferencia con ONNX en CPU (Intel Xeon CPU @ 2.00 GHz), por lo que es ideal para dispositivos sin GPU.
- Optimizaciones específicas para cada tarea: segmentación mejorada con pérdida semántica y prototipos multiescala, RLE para la estimación precisa de poses y decodificación OBB mejorada con pérdida angular.
- Tareas: Ambos modelos admiten la detección de objetos y la segmentación de instancias, mientras que YOLO26 también incorpora la segmentación semántica para la predicción densa a nivel de píxel y la estimación monocular de profundidad para calcular la profundidad de cada píxel. Ambos modelos también admiten clasificación, estimación de poses y detección de objetos orientados (OBB) en un marco unificado.
Para consultar una comparación detallada de las características y las métricas de rendimiento, visita la página de documentación de YOLO26.
- Inferencia integral sin NMS: YOLO26 ofrece inferencia sin NMS con
Contribuir a Ultralytics es una forma estupenda de mejorar el proyecto y ampliar tus habilidades. Así puedes participar:
- Haz un fork del repositorio de Ultralytics en GitHub.
- Crea una nueva rama para tu función o corrección de errores.
- Realiza los cambios y asegúrate de que todas las pruebas se superen.
- Envía una solicitud de incorporación de cambios con una descripción clara de tus cambios.
- Participa en el proceso de revisión del código.
También puedes contribuir notificando errores, proponiendo funciones o mejorando la documentación. Consulta la guía de contribución para ver directrices detalladas y buenas prácticas.
Ultralytics YOLO ofrece un amplio conjunto de funciones para tareas avanzadas de visión artificial:
- Detección en tiempo real: Detecta y clasifica objetos de forma eficiente en situaciones en tiempo real.
- Capacidades multitarea: Realiza detección de objetos, segmentación de instancias, segmentación semántica, estimación monocular de profundidad, clasificación, estimación de poses y detección de objetos orientados (OBB) con un marco unificado.
- Modelos preentrenados: Accede a una variedad de modelos preentrenados que equilibran velocidad y precisión para distintos casos de uso.
- Entrenamiento personalizado: Ajusta fácilmente los modelos con tus propios conjuntos de datos mediante el flexible flujo de entrenamiento.
- Amplias opciones de despliegue: Exporta modelos a distintos formatos, como TensorRT, ONNX y CoreML, para desplegarlos en diversas plataformas.
- Documentación exhaustiva: Aprovecha la completa documentación y una comunidad colaborativa para tus flujos de trabajo de visión artificial.
Puedes mejorar el rendimiento de tu modelo YOLO con varias técnicas:
- Ajuste de hiperparámetros: Prueba distintos hiperparámetros con la guía de ajuste de hiperparámetros para optimizar el rendimiento del modelo.
- Aumento de datos: Aplica técnicas como voltear, cambiar la escala, rotar y ajustar los colores para enriquecer el conjunto de datos de entrenamiento y mejorar la generalización del modelo.
- Aprendizaje por transferencia: Aprovecha modelos preentrenados y ajústalos a tu conjunto de datos específico con la guía de entrenamiento.
- Exportación a formatos eficientes: Convierte tu modelo a formatos optimizados, como TensorRT u ONNX, para acelerar la inferencia con la guía de exportación.
- Evaluación comparativa: Utiliza el modo de evaluación comparativa para medir y mejorar sistemáticamente la velocidad y la precisión de la inferencia.
Ultralytics ofrece una gran cantidad de recursos para ayudarte a empezar y dominar sus herramientas:
- 📚 Documentación oficial: Guías completas, referencias de API y buenas prácticas.
- 💻 Repositorio de GitHub: Código fuente, scripts de ejemplo y contribuciones de la comunidad.
- ✍️ Blog de Ultralytics: Artículos detallados, casos de uso y análisis técnicos.
- 💬 Foros de la comunidad: Conecta con otros usuarios, haz preguntas y comparte tus experiencias.
- 🎥 Canal de YouTube: Tutoriales en vídeo, demostraciones y seminarios web sobre diversos temas de Ultralytics.
Estos recursos ofrecen ejemplos de código, casos de uso reales y guías paso a paso para realizar diversas tareas con modelos de Ultralytics.
Si necesitas más ayuda, consulta la documentación de Ultralytics o ponte en contacto con la comunidad a través de GitHub Issues o del foro oficial de debate.