Preguntas frecuentes (FAQ) sobre Ultralytics YOLO#
Esta sección de preguntas frecuentes aborda preguntas y problemas habituales que los usuarios pueden encontrar al trabajar con repositorios de Ultralytics YOLO.
Preguntas frecuentes#
Ultralytics es una empresa de IA especializada en visión por ordenador, modelos de detección de objetos y segmentación de imágenes de vanguardia, con especial atención a la familia YOLO. Sus ofertas incluyen:
- Implementaciones de código abierto de YOLO26 (la más reciente) y YOLO11 (la generación anterior)
- Una amplia variedad de modelos preentrenados para distintas tareas de visión por ordenador
- Un completo paquete de Python para integrar modelos YOLO fácilmente en tus proyectos
- Herramientas versátiles para entrenar, probar y desplegar modelos
- Documentación extensa y una comunidad de apoyo
No. YOLO27 está pasando por la fase final de I+D para un lanzamiento previsto para finales de este año, sin una fecha de lanzamiento fija. La documentación anticipa sus características, evaluaciones comparativas preliminares y ejemplos para su uso después del lanzamiento. Continúa usando YOLO26 para los proyectos actuales.
Instalar el paquete de Ultralytics es sencillo mediante pip:
pip install ultralyticsPara obtener la última versión de desarrollo, instálala directamente desde el repositorio de GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitEncontrarás instrucciones de instalación detalladas en la guía de inicio rápido.
Requisitos mínimos:
- Python 3.8+
- PyTorch 1.8+
- GPU compatible con CUDA (para la aceleración mediante 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 almacenar conjuntos de datos y entrenar modelos)
Para resolver problemas habituales, visita la página Problemas habituales de YOLO.
Para entrenar un modelo YOLO personalizado:
-
Prepara tu conjunto de datos en formato YOLO (imágenes y archivos txt de etiquetas correspondientes).
-
Crea un archivo YAML que describa la estructura y las clases de tu conjunto de datos (consulta el ejemplo de YAML de un conjunto de datos).
-
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 consultar una guía más detallada, que incluye la preparación de datos y opciones avanzadas de entrenamiento, consulta 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 poses: 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 diferentes compensaciones entre velocidad y precisión. Explora la gama completa de modelos preentrenados para encontrar el que mejor se adapte a tu proyecto.
Para realizar inferencias 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 consultar opciones avanzadas de inferencia, incluido el procesamiento por lotes y la inferencia de vídeo, visita la guía detallada de predicción.
¡Por supuesto! Los modelos de Ultralytics están diseñados para desplegarse de forma versátil en distintas plataformas:
- Dispositivos de borde: optimiza la inferencia en dispositivos como NVIDIA Jetson o Raspberry Pi utilizando TensorRT, ONNX u OpenVINO.
- Móvil: despliega los modelos en dispositivos Android o iOS convirtiéndolos a LiteRT o Core ML.
- Nube: aprovecha marcos como TensorFlow Serving o TorchServe para despliegues en la nube escalables.
- Web: implementa la inferencia en el navegador utilizando ONNX Runtime Web.
Ultralytics proporciona funciones de exportación para convertir modelos a varios formatos de despliegue. Explora la amplia variedad de opciones de despliegue para encontrar la mejor solución para tu caso de uso.
Entre las principales diferencias se incluyen:
- Inferencia de extremo a extremo sin NMS: YOLO26 ofrece inferencia sin NMS con
nms=False. Su ruta predeterminada de uno a muchos usa NMS para lograr 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: una combinación de SGD y Muon (inspirada en Kimi K2 de Moonshot AI) para lograr un entrenamiento más estable y una convergencia más rápida.
- Rendimiento en CPU: YOLO26n se ejecuta hasta un 43 % más rápido que YOLO11n en inferencias ONNX en CPU (Intel Xeon CPU @ 2.00 GHz), por lo que es ideal para dispositivos sin GPU.
- Optimizaciones específicas de cada tarea: segmentación mejorada con pérdida semántica y prototipos multiescala, RLE para una estimación precisa de poses y una decodificación OBB mejorada con pérdida angular.
- 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 y estimación monocular de profundidad para obtener 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 framework unificado.
Para consultar una comparación detallada de las funciones y las métricas de rendimiento, visita la página de documentación de YOLO26.
- Inferencia de extremo a extremo sin NMS: YOLO26 ofrece inferencia sin NMS con
Contribuir a Ultralytics es una excelente forma de mejorar el proyecto y ampliar tus habilidades. Estas son algunas formas de participar:
- Crea un fork del repositorio de Ultralytics en GitHub.
- Crea una rama nueva para tu función o corrección de errores.
- Realiza los cambios y asegúrate de que todas las pruebas se superen correctamente.
- Envía una solicitud de incorporación de cambios con una descripción clara de los cambios realizados.
- Participa en el proceso de revisión del código.
También puedes contribuir informando de errores, proponiendo funciones o mejorando la documentación. Para consultar directrices detalladas y buenas prácticas, consulta la guía de contribución.
Ultralytics YOLO ofrece un amplio conjunto de funciones para tareas avanzadas de visión por ordenador:
- Detección en tiempo real: detecta y clasifica objetos eficazmente 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 framework 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 conjuntos de datos personalizados mediante el flexible pipeline de entrenamiento.
- Amplias opciones de despliegue: exporta modelos a distintos formatos, como TensorRT, ONNX y CoreML, para desplegarlos en diversas plataformas.
- Documentación extensa: aprovecha la completa documentación y una comunidad de apoyo para tus flujos de trabajo de visión por ordenador.
Puedes mejorar el rendimiento de tu modelo YOLO mediante varias técnicas:
- Ajuste de hiperparámetros: experimenta con distintos hiperparámetros usando la guía de ajuste de hiperparámetros para optimizar el rendimiento del modelo.
- Aumento de datos: aplica técnicas como voltear, escalar, rotar y ajustar el color para mejorar tu conjunto de datos de entrenamiento y la generalización del modelo.
- Aprendizaje por transferencia: aprovecha modelos preentrenados y ajústalos con tu conjunto de datos específico mediante la guía de entrenamiento.
- Exportación a formatos eficientes: convierte tu modelo a formatos optimizados, como TensorRT u ONNX, para acelerar la inferencia mediante 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 precisión de la inferencia.
Ultralytics proporciona numerosos 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 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 con 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 oficial de debate.