Ultralytics YOLO27:

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:

  • 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 ultralytics

    Para obtener la última versión de desarrollo, instálala directamente desde el repositorio de GitHub:

    pip install git+https://github.com/ultralytics/ultralytics.git

    Encontrará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:

    1. Prepara tu conjunto de datos en formato YOLO (imágenes y archivos txt de etiquetas correspondientes).

    2. 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).

    3. 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 probabilities

    Para 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.

  • Contribuir a Ultralytics es una excelente forma de mejorar el proyecto y ampliar tus habilidades. Estas son algunas formas de participar:

    1. Crea un fork del repositorio de Ultralytics en GitHub.
    2. Crea una rama nueva para tu función o corrección de errores.
    3. Realiza los cambios y asegúrate de que todas las pruebas se superen correctamente.
    4. Envía una solicitud de incorporación de cambios con una descripción clara de los cambios realizados.
    5. 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:

    1. Ajuste de hiperparámetros: experimenta con distintos hiperparámetros usando la guía de ajuste de hiperparámetros para optimizar el rendimiento del modelo.
    2. 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.
    3. Aprendizaje por transferencia: aprovecha modelos preentrenados y ajústalos con tu conjunto de datos específico mediante la guía de entrenamiento.
    4. 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.
    5. 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:

    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.

Comentarios