Preguntas frecuentes (FAQ) sobre Ultralytics YOLO
Esta sección de preguntas frecuentes aborda dudas y problemas comunes que los usuarios pueden encontrar al trabajar con los repositorios de YOLO de Ultralytics.
Preguntas frecuentes
¿Qué es Ultralytics y qué ofrece?
Ultralytics es una empresa de IA de visión artificial especializada en modelos de detección de objetos y segmentación de imágenes de última generación, con un enfoque en la familia YOLO (You Only Look Once). Sus ofertas incluyen:
- Implementaciones de código abierto de YOLO26 (la más reciente) y YOLO11 (generación anterior)
- Una amplia gama de modelos preentrenados para diversas tareas de visión artificial
- Un paquete de Python completo para la integración fluida de modelos YOLO en tus proyectos
- Herramientas versátiles para entrenar, probar y desplegar modelos
- Documentación extensa y una comunidad de apoyo
¿Cómo instalo el paquete Ultralytics?
Instalar el paquete Ultralytics es sencillo usando pip:
pip install ultralyticsPara la versión de desarrollo más reciente, instálalo directamente desde el repositorio de GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitPuedes encontrar instrucciones detalladas de instalación en la guía de inicio rápido.
¿Cuáles son los requisitos del sistema para ejecutar modelos de Ultralytics?
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 o más de RAM
- 50 GB o más de espacio libre en disco (para el almacenamiento de datasets y el entrenamiento de modelos)
Para solucionar problemas comunes, visita la página de Problemas comunes de YOLO.
¿Cómo puedo entrenar un modelo YOLO personalizado con mi propio dataset?
Para entrenar un modelo YOLO personalizado:
-
Prepara tu dataset en formato YOLO (imágenes y sus archivos txt de etiquetas correspondientes).
-
Crea un archivo YAML que describa la estructura de tu dataset y las clases (consulta el ejemplo de YAML de dataset).
-
Usa el siguiente código de Python para comenzar el entrenamiento:
from ultralytics import YOLO # Load a model model = YOLO("yolo26n.yaml") # build a new model from scratch model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
Para una guía más detallada, que incluya la preparación de datos y opciones de entrenamiento avanzadas, consulta la guía de entrenamiento completa.
¿Qué modelos preentrenados están disponibles en Ultralytics?
Ultralytics ofrece una amplia gama de modelos preentrenados para diversas tareas:
- Detección de objetos: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- Segmentación de instancias: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- 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, ofreciendo diferentes equilibrios entre velocidad y precisión. Explora toda la gama de modelos preentrenados para encontrar el que mejor se adapte a tu proyecto.
¿Cómo realizo la inferencia usando un modelo de Ultralytics entrenado?
Para realizar una inferencia con un modelo entrenado:
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/your/model.pt")
# Perform inference
results = model("path/to/image.jpg")
# Process results
for r in results:
print(r.boxes) # print bbox predictions
print(r.masks) # print mask predictions
print(r.probs) # print class probabilitiesPara opciones de inferencia avanzadas, incluyendo el procesamiento por lotes y la inferencia de vídeo, consulta la guía de predicción detallada.
¿Se pueden desplegar los modelos de Ultralytics en dispositivos de borde o en entornos de producción?
¡Por supuesto! Los modelos de Ultralytics están diseñados para un despliegue versátil en diversas plataformas:
- Dispositivos de borde: Optimiza la inferencia en dispositivos como NVIDIA Jetson o Intel Neural Compute Stick usando TensorRT, ONNX o OpenVINO.
- Móviles: Despliega en dispositivos Android o iOS convirtiendo los modelos a TFLite o Core ML.
- Nube: Aprovecha frameworks como TensorFlow Serving o PyTorch Serve para despliegues en la nube escalables.
- Web: Implementa la inferencia en el navegador usando ONNX.js o TensorFlow.js.
Ultralytics proporciona funciones de exportación para convertir modelos a diversos formatos para su despliegue. Explora la amplia gama de opciones de despliegue para encontrar la mejor solución para tu caso de uso.
¿Cuál es la diferencia entre YOLO11 y YOLO26?
Las diferencias principales incluyen:
- Inferencia integral sin NMS: YOLO26 es nativamente integral, generando predicciones directamente sin supresión de no máximos (NMS), lo que reduce la latencia y simplifica el despliegue.
- Eliminación de DFL: YOLO26 elimina el módulo Distribution Focal Loss, simplificando la exportación y mejorando la compatibilidad con dispositivos de borde y de bajo consumo.
- Optimizador MuSGD: Un híbrido de SGD y Muon (inspirado en Kimi K2 de Moonshot AI) para un entrenamiento más estable y una convergencia más rápida.
- Rendimiento en CPU: YOLO26 ofrece una inferencia en CPU hasta un 43% más rápida, lo que lo hace ideal para dispositivos sin GPU.
- Optimizaciones específicas para tareas: Segmentación mejorada con pérdida semántica y protos multiescala, RLE para una estimación de pose precisa y una decodificación OBB mejorada con pérdida angular.
- Tareas: Ambos modelos admiten detección de objetos, segmentación de instancias, clasificación, estimación de pose y detección de objetos orientados (OBB) en un framework unificado.
Para una comparación detallada de las características y métricas de rendimiento, visita la página de documentación de YOLO26.
¿Cómo puedo contribuir al proyecto de código abierto de Ultralytics?
Contribuir a Ultralytics es una excelente manera de mejorar el proyecto y ampliar tus habilidades. Aquí te explicamos cómo puedes participar:
- Haz un fork del repositorio de Ultralytics en GitHub.
- Crea una rama nueva para tu función o corrección de errores.
- Realiza tus cambios y asegúrate de que todas las pruebas pasen.
- Envía una solicitud de extracción (pull request) con una descripción clara de tus cambios.
- Participa en el proceso de revisión de código.
También puedes contribuir informando sobre errores, sugiriendo funciones o mejorando la documentación. Para conocer las directrices detalladas y las mejores prácticas, consulta la guía de contribución.
¿Cómo instalo el paquete Ultralytics en Python?
Instalar el paquete Ultralytics en Python es sencillo. Usa pip ejecutando el siguiente comando en tu terminal o símbolo del sistema:
pip install ultralyticsPara la versión de desarrollo más puntera, instálalo directamente desde el repositorio de GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitPara obtener instrucciones de instalación específicas del entorno y consejos para solucionar problemas, consulta la guía de inicio rápido completa.
¿Cuáles son las características principales de Ultralytics YOLO?
Ultralytics YOLO cuenta con un rico conjunto de características para tareas avanzadas de visión artificial:
- Detección en tiempo real: Detecta y clasifica objetos de manera eficiente en escenarios en tiempo real.
- Capacidades multitarea: Realiza detección de objetos, segmentación de instancias, clasificación y estimación de pose con un framework unificado.
- Modelos preentrenados: Accede a una variedad de modelos preentrenados que equilibran velocidad y precisión para diferentes casos de uso.
- Entrenamiento personalizado: Ajusta fácilmente los modelos con datasets personalizados mediante el pipeline de entrenamiento flexible.
- Amplias opciones de despliegue: Exporta modelos a varios formatos como TensorRT, ONNX y CoreML para desplegarlos en diferentes plataformas.
- Documentación extensa: Benefíciate de una documentación completa y una comunidad de apoyo para tus flujos de trabajo de visión artificial.
¿Cómo puedo mejorar el rendimiento de mi modelo YOLO?
Puedes mejorar el rendimiento de tu modelo YOLO mediante varias técnicas:
- Ajuste de hiperparámetros: Experimenta con diferentes hiperparámetros usando la Guía de ajuste de hiperparámetros para optimizar el rendimiento del modelo.
- Aumento de datos: Implementa técnicas como volteo, escala, rotación y ajustes de color para mejorar tu dataset de entrenamiento y mejorar la generalización del modelo.
- Aprendizaje por transferencia: Aprovecha los modelos preentrenados y ajústalos a tu dataset específico usando la Guía de entrenamiento.
- Exportar a formatos eficientes: Convierte tu modelo a formatos optimizados como TensorRT u ONNX para una inferencia más rápida usando la Guía de exportación.
- Evaluación comparativa: Utiliza el Modo Benchmark para medir y mejorar la velocidad de inferencia y la precisión de forma sistemática.
¿Puedo desplegar modelos de Ultralytics YOLO en dispositivos móviles y de borde?
Sí, los modelos de Ultralytics YOLO están diseñados para un despliegue versátil, incluyendo dispositivos móviles y de borde:
- Móviles: Convierte los modelos a TFLite o CoreML para una integración fluida en aplicaciones de Android o iOS. Consulta la Guía de integración de TFLite y la Guía de integración de CoreML para obtener instrucciones específicas de cada plataforma.
- Dispositivos de borde: Optimiza la inferencia en dispositivos como NVIDIA Jetson u otro hardware de borde usando TensorRT u ONNX. La Guía de integración de Edge TPU proporciona pasos detallados para el despliegue en el borde.
Para una visión general completa de las estrategias de despliegue en varias plataformas, consulta la guía de opciones de despliegue.
¿Cómo puedo realizar la inferencia usando un modelo de Ultralytics YOLO entrenado?
Realizar la inferencia con un modelo de Ultralytics YOLO entrenado es sencillo:
-
Cargar el modelo:
from ultralytics import YOLO model = YOLO("path/to/your/model.pt") -
Ejecutar la inferencia:
results = model("path/to/image.jpg") for r in results: print(r.boxes) # print bounding box predictions print(r.masks) # print mask predictions print(r.probs) # print class probabilities
Para técnicas de inferencia avanzadas, incluyendo el procesamiento por lotes, la inferencia de vídeo y el preprocesamiento personalizado, consulta la guía de predicción detallada.
¿Dónde puedo encontrar ejemplos y tutoriales para usar Ultralytics?
Ultralytics proporciona una gran cantidad de recursos para ayudarte a comenzar y dominar sus herramientas:
- 📚 Documentación oficial: Guías completas, referencias de API y mejores 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 conocimientos 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 proporcionan ejemplos de código, casos de uso reales y guías paso a paso para diversas tareas utilizando modelos de Ultralytics.
Si necesitas más ayuda, consulta la documentación de Ultralytics o contacta con la comunidad a través de GitHub Issues o el foro de debate oficial.