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 Ultralytics YOLO.
Preguntas frecuentes
¿Qué es Ultralytics y qué ofrece?
Ultralytics es una computer vision empresa de IA especializada en detección de objetos de última generación y modelos de segmentación de imágenes, con un enfoque en la familia YOLO (You Only Look Once). Sus ofertas incluyen:
- Implementaciones de código abierto de YOLO26 (la versión más reciente) y YOLO11 (generación anterior)
- Una amplia gama de modelos preentrenados para diversas tareas de visión artificial
- Una completa paquete de Python para una integración fluida de modelos YOLO en proyectos
- Versátiles herramientas 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, instala 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.
¿Cuáles son los requisitos del sistema para ejecutar modelos Ultralytics?
Requisitos mínimos:
- Python 3.8+
- PyTorch PyTorch 1.8+
- GPU compatible con CUDA (para aceleración por GPU)
Configuración recomendada:
- Python 3.8+
- PyTorch 1.10+
- NVIDIA GPU con CUDA 11.2+
- 8GB+ RAM
- 50GB+ de espacio libre en disco (para almacenamiento de datasets y entrenamiento de modelos)
Para resolver problemas comunes, visita la 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 format (imágenes y archivos txt de etiquetas correspondientes).
-
Crea un archivo YAML describiendo la estructura de tu dataset y las clases (consulta el ejemplo de dataset YAML).
-
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, incluyendo preparación de datos y opciones de entrenamiento avanzadas, consulta la completa guía de entrenamiento.
¿Qué modelos preentrenados están disponibles en Ultralytics?
Ultralytics ofrece una gama diversa de modelos preentrenados para varias tareas:
- Detección de objetos: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- Instance SegmentationSegmentación: 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 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, ofreciendo diferentes compromisos entre velocidad y precisión. Explora la gama completa de modelos preentrenados para encontrar el que mejor se ajuste a tu proyecto.
¿Cómo realizo una 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 vídeo, consulta la detallada guía de predicción.
¿Se pueden desplegar 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 CoreML.
- Nube: Aprovecha frameworks como TensorFlow Serving o PyTorch Serve para despliegues en la nube escalables.
- Web: Implementa 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.
¿Cuál es la diferencia entre YOLO11 y YOLO26?
Las distinciones clave incluyen:
- Inferencia end-to-end sin NMSEnd-to-End: YOLO26 es nativamente end-to-end, produciendo predicciones directamente sin NMS (non-maximum suppression), reduciendo la latencia y simplificando el despliegue.
- Eliminación de DFL: YOLO26 elimina el módulo Distribution Focal Loss, simplificando la exportación y mejorando la compatibilidad con dispositivos edge 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 hasta un 43% más de rapidez en inferencia por CPU, lo que lo hace ideal para dispositivos sin GPU.
- Optimizaciones específicas de tareas: Segmentación mejorada con pérdida semántica y protos multiescala, RLE para estimación de pose de precisión, y decodificación OBB mejorada con pérdida angular.
- Tareas: Ambos modelos soportan object detection, segmentación de instancias, clasificación, estimación de poses y detección orientada de objetos (OBB) en un framework unificado.
Para una comparación detallada de 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í tienes cómo puedes involucrarte:
- 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 un pull request con una descripción clara de tus cambios.
- Participa en el proceso de revisión de código.
También puedes contribuir reportando errores, sugiriendo funcionalidades o mejorando la documentación. Para directrices detalladas y 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 de vanguardia, instala directamente desde el repositorio de GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitPara instrucciones de instalación específicas del entorno y consejos de resolución de problemas, consulta la completa guía de inicio rápido.
¿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 eficientemente en escenarios en tiempo real.
- Capacidades multitarea: Realiza detección de objetos, segmentación de instancias, clasificación y estimación de poses 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 usando el flexible pipeline de entrenamiento.
- Amplia 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 completa documentación 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 el Guía de ajuste de hiperparámetros para optimizar el rendimiento del modelo.
- de validación.: Implementa técnicas como volteo, escalado, rotación y ajustes de color para mejorar tu conjunto de datos de entrenamiento y aumentar la capacidad de generalización del modelo.
- Transfer Learning: Aprovecha modelos preentrenados y ajústalos con tu conjunto de datos 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 el Guía de exportación.
- Evaluación comparativa (Benchmarking): Utiliza el Modo Benchmark para medir y mejorar de forma sistemática la velocidad y precisión de la inferencia.
¿Puedo desplegar modelos Ultralytics YOLO en dispositivos móviles y de borde?
Sí, los modelos Ultralytics YOLO están diseñados para un despliegue versátil, incluyendo dispositivos móviles y de borde:
- Móvil: Convierte modelos a TFLite o CoreML para una integración fluida en apps de Android o iOS. Consulta la Guía de integración de TFLite y Guía de integración de CoreML para instrucciones específicas de la plataforma.
- Dispositivos de borde (Edge): 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 diversas plataformas, consulta la guía de opciones de despliegue.
¿Cómo puedo realizar inferencias usando un modelo Ultralytics YOLO entrenado?
Realizar inferencias con un modelo Ultralytics YOLO entrenado es muy 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, incluyendo procesamiento por lotes, inferencia de vídeo y preprocesamiento personalizado, consulta la detallada guía de predicción.
¿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 en profundidad, 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 ofrecen ejemplos de código, casos de uso reales y guías paso a paso para diversas tareas utilizando modelos 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 oficial foro de discusión.