YOLO Vision 2026:

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 repositorios de YOLO de Ultralytics.

FAQ#

  • Ultralytics es una empresa de inteligencia artificial de computer vision especializada en modelos avanzados de detección de objetos y segmentación de imágenes, con un enfoque en la familia YOLO (You Only Look Once). Sus ofertas incluyen:

  • Instalar el paquete de Ultralytics es sencillo mediante pip:

    pip install ultralytics

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

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

    Las instrucciones de instalación detalladas se pueden encontrar en la guía de inicio rápido.

  • Requisitos mínimos:

    • Python 3.8 o superior
    • PyTorch 1.8+
    • 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.

  • Para entrenar un modelo YOLO personalizado:

    1. Prepara tu conjunto de datos en el 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 conjunto de datos).

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

  • 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
    • 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 diferentes compensaciones entre velocidad y precisión. Explora toda la gama de modelos preentrenados para encontrar el que mejor se adapte a tu proyecto.

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

    Para opciones de inferencia avanzada, incluido el procesamiento por lotes y la inferencia en vídeo, consulta la guía de predicción detallada.

  • ¡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 LiteRT 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 LiteRT.js o ONNX.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.

  • Las diferencias principales incluyen:

    • Inferencia sin NMS de extremo a extremo: YOLO26 es nativamente de extremo a extremo, lo que produce predicciones directamente sin supresión de no máximos (NMS), reduciendo la latencia y simplificando 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 predicción densa a nivel de píxel y estimación de profundidad monocular para profundidad por 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 obtener una comparación detallada de las características y métricas de rendimiento, visita la página de documentación de YOLO26.

  • Contribuir a Ultralytics es una excelente manera de mejorar el proyecto y ampliar tus habilidades. Aquí te explicamos cómo participar:

    1. Haz un fork del repositorio de Ultralytics en GitHub.
    2. Crea una nueva rama para tu funcionalidad o corrección de error.
    3. Realiza tus cambios y asegúrate de que todas las pruebas pasen.
    4. Envía una pull request con una descripción clara de tus cambios.
    5. Participa en el proceso de revisión de código.

    También puedes contribuir informando de errores, sugiriendo características o mejorando la documentación. Para obtener directrices detalladas y mejores prácticas, consulta la guía de contribución.

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

    Para obtener la versión de desarrollo de vanguardia, instálalo directamente desde el repositorio de GitHub:

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

    Para obtener instrucciones de instalación específicas del entorno y consejos de solución de problemas, consulta la guía de inicio rápido completa.

  • 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, estimación de profundidad monocular, 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 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 completa y de una comunidad de apoyo para tus flujos de trabajo de visión artificial.
  • Puedes mejorar el rendimiento de tu modelo YOLO mediante varias técnicas:

    1. Ajuste de hiperparámetros: experimenta con diferentes hiperparámetros utilizando la guía de ajuste de hiperparámetros para optimizar el rendimiento del modelo.
    2. Aumento de datos: implementa técnicas como volteo, escala, rotación y ajustes de color para mejorar tu conjunto de datos de entrenamiento y potenciar la generalización del modelo.
    3. Aprendizaje por transferencia: aprovecha los modelos preentrenados y ajústalos en tu conjunto de datos específico utilizando la guía de entrenamiento.
    4. Exportar a formatos eficientes: convierte tu modelo a formatos optimizados como TensorRT u ONNX para una inferencia más rápida utilizando 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 la precisión de la inferencia.
  • 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 LiteRT o CoreML para una integración fluida en aplicaciones de Android o iOS. Consulta la guía de integración de LiteRT y la guía de integración de CoreML para obtener instrucciones específicas de la plataforma.
    • Dispositivos periféricos (edge): optimiza la inferencia en dispositivos como NVIDIA Jetson u otro hardware edge utilizando TensorRT o ONNX. La guía de integración de Edge TPU proporciona pasos detallados para el despliegue en edge.

    Para obtener una visión general completa de las estrategias de despliegue en varias plataformas, consulta la guía de opciones de despliegue.

  • Realizar la inferencia con un modelo de Ultralytics YOLO entrenado es sencillo:

    1. Carga el modelo:

      from ultralytics import YOLO
      
      model = YOLO("path/to/your/model.pt")
    2. 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, incluido el procesamiento por lotes, la inferencia en vídeo y el preprocesamiento personalizado, consulta la guía de predicción detallada.

  • Ultralytics proporciona una gran cantidad de 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 utilizando 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 el foro de debate oficial.

Comentarios