Link to this sectionPreguntas frecuentes (FAQ) sobre Ultralytics YOLO#
Esta sección de preguntas frecuentes aborda dudas y problemas habituales que los usuarios pueden encontrar al trabajar con los repositorios de Ultralytics YOLO.
Link to this sectionFAQ#
Link to this section¿Qué es Ultralytics y qué ofrece?#
Ultralytics es una empresa de IA dedicada a la visión artificial que se especializa en modelos de vanguardia para detección de objetos y segmentación de imágenes, con un enfoque especial 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 integral para la integración perfecta de modelos YOLO en proyectos
- Herramientas versátiles para entrenar, probar y desplegar modelos
- Documentación extensa y una comunidad de apoyo
Link to this section¿Cómo instalo el paquete de Ultralytics?#
Instalar el paquete de Ultralytics es sencillo mediante pip:
pip install ultralyticsPara obtener la última versión de desarrollo, instálalo directamente desde el repositorio de GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitPuedes encontrar instrucciones de instalación detalladas en la guía de inicio rápido.
Link to this section¿Cuáles son los requisitos del sistema para ejecutar modelos de Ultralytics?#
Requisitos mínimos:
- Python 3.8 o superior
- PyTorch 1.8 o superior
- GPU compatible con CUDA (para aceleración por GPU)
Configuración recomendada:
- Python 3.8 o superior
- PyTorch 1.10 o superior
- GPU NVIDIA con CUDA 11.2 o superior
- 8 GB o más de RAM
- 50 GB o más de espacio libre en disco (para almacenamiento de datasets y entrenamiento de modelos)
Para solucionar problemas comunes, visita la página de Problemas Comunes de YOLO.
Link to this section¿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 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 iniciar 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 profunda, que incluye la preparación de datos y opciones de entrenamiento avanzadas, consulta la guía de entrenamiento completa.
Link to this section¿Qué modelos preentrenados están disponibles en Ultralytics?#
Ultralytics ofrece una amplia variedad 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
- Segmentación semántica: YOLO26n-sem, YOLO26s-sem, YOLO26m-sem, YOLO26l-sem, YOLO26x-sem
- 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 compromisos entre velocidad y precisión. Explora la gama completa de modelos preentrenados para encontrar el que mejor se adapte a tu proyecto.
Link to this section¿Cómo realizo la inferencia usando un modelo de Ultralytics entrenado?#
Para realizar la 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 procesamiento por lotes e inferencia de video, consulta la guía de predicción detallada.
Link to this section¿Se pueden desplegar los modelos de Ultralytics en dispositivos Edge 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 Edge: Optimiza la inferencia en dispositivos como NVIDIA Jetson o Intel Neural Compute Stick usando TensorRT, ONNX o OpenVINO.
- Móvil: Despliega en dispositivos Android o iOS convirtiendo los modelos a TFLite o Core ML.
- Nube: Aprovecha marcos de trabajo 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 varios formatos para su despliegue. Explora la amplia gama de opciones de despliegue para encontrar la mejor solución para tu caso de uso.
Link to this section¿Cuál es la diferencia entre YOLO11 y YOLO26?#
Las diferencias principales incluyen:
- Inferencia integral sin NMS (End-to-End NMS-Free): 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 de Distribution Focal Loss (DFL), lo que simplifica la exportación y mejora la compatibilidad con dispositivos Edge y de baja potencia.
- 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 cada tarea: Segmentación mejorada con pérdida semántica y protos multiescala, RLE para una estimación de pose precisa y decodificación OBB mejorada con pérdida de ángulo.
- Tareas: Ambos modelos admiten detección de objetos y segmentación de instancias, mientras que YOLO26 también añade segmentación semántica para predicciones densas a nivel de píxel. Ambos modelos también admiten clasificación, estimación de pose y detección de objetos orientados (OBB) en un marco de trabajo unificado.
Para una comparación detallada de las características y las métricas de rendimiento, visita la página de documentación de YOLO26.
Link to this section¿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 participar:
- Haz un fork del repositorio de Ultralytics en GitHub.
- Crea una nueva rama para tu funcionalidad o corrección de error.
- Realiza tus cambios y asegúrate de que todas las pruebas pasen.
- Envía una 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 características o mejorando la documentación. Para conocer las directrices detalladas y las mejores prácticas, consulta la guía de contribución.
Link to this section¿Cómo instalo el paquete de Ultralytics en Python?#
Instalar el paquete de Ultralytics en Python es sencillo. Usa pip ejecutando el siguiente comando en tu terminal o símbolo del sistema:
pip install ultralyticsPara obtener la versión de desarrollo de vanguardia, instálalo directamente desde el repositorio de GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitPara obtener instrucciones de instalación específicas para cada entorno y consejos de solución de problemas, consulta la guía de inicio rápido completa.
Link to this section¿Cuáles son las características principales de Ultralytics YOLO?#
Ultralytics YOLO cuenta con 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 escenarios de tiempo real.
- Capacidades multitarea: Realiza detección de objetos, segmentación de instancias, segmentación semántica, clasificación, estimación de pose y detección de objetos orientados (OBB) con un marco de trabajo unificado.
- Modelos preentrenados: Accede a una variedad de modelos preentrenados que equilibran la velocidad y la precisión para diferentes casos de uso.
- Entrenamiento personalizado: Ajusta fácilmente los modelos en conjuntos de datos personalizados con el pipeline de entrenamiento flexible.
- Amplias Opciones de Despliegue: Exporta modelos a varios formatos como TensorRT, ONNX y CoreML para su despliegue en diferentes plataformas.
- Documentación extensa: Benefíciate de una documentación integral y de una comunidad de apoyo para tus flujos de trabajo de visión artificial.
Link to this section¿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, cambio de 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.
- Exportación 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 (Benchmarking): Utiliza el Modo de Benchmarking para medir y mejorar la velocidad y precisión de la inferencia de forma sistemática.
Link to this section¿Puedo desplegar los modelos de Ultralytics YOLO en dispositivos móviles y Edge?#
Sí, los modelos de Ultralytics YOLO están diseñados para un despliegue versátil, incluyendo dispositivos móviles y Edge:
- Móvil: Convierte modelos a TFLite o CoreML para una integración perfecta 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 la plataforma.
- Dispositivos de borde (Edge): Optimiza la inferencia en dispositivos como NVIDIA Jetson u otro hardware de borde utilizando 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 integral de las estrategias de despliegue en varias plataformas, consulta la guía de opciones de despliegue.
Link to this section¿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:
-
Carga el modelo:
from ultralytics import YOLO model = YOLO("path/to/your/model.pt") -
Ejecuta 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, que incluyen el procesamiento por lotes, la inferencia de video y el preprocesamiento personalizado, consulta la guía de predicción detallada.
Link to this section¿Dónde puedo encontrar ejemplos y tutoriales para usar Ultralytics?#
Ultralytics proporciona una gran cantidad de recursos para ayudarte a empezar y dominar sus herramientas:
- 📚 Documentación oficial: Guías completas, referencias de la 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 e ideas técnicas.
- 💬 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.