YOLOv10 y YOLOv11: las últimas versiones de YOLO
Descubre los últimos avances de YOLO con las versiones 10 y 11, sus mejoras y sus aplicaciones.
InSkillCoach
YOLOv10 y YOLOv11: las últimas versiones de YOLO
Las versiones 10 y 11 de YOLO aportan mejoras significativas en cuanto a rendimiento, precisión y funcionalidades.
1. YOLOv10
1.1 Características principales
# Instalación de YOLOv10
pip install ultralytics
# Import
from ultralytics import YOLO
# Carga del modelo YOLOv10
model_v10 = YOLO('yolov10n.pt') # Nano
model_v10_s = YOLO('yolov10s.pt') # Small
model_v10_m = YOLO('yolov10m.pt') # Medium
model_v10_l = YOLO('yolov10l.pt') # Large
model_v10_x = YOLO('yolov10x.pt') # XLarge
1.2 Mejoras
-
Arquitectura
- Nueva arquitectura de backbone optimizada
- Mejor gestión de las características multiescala
- Reducción de la latencia de inferencia
-
Rendimiento
- Velocidad de inferencia aumentada un 15 %
- Precisión mejorada un 5 %
- Consumo de memoria optimizado
-
Funcionalidades
- Soporte mejorado para la detección de objetos pequeños
- Mejor gestión de las oclusiones
- Detección en tiempo real optimizada
2. YOLOv11
2.1 Características principales
# Instalación de YOLOv11
pip install ultralytics
# Import
from ultralytics import YOLO
# Carga del modelo YOLOv11
model_v11 = YOLO('yolov11n.pt') # Nano
model_v11_s = YOLO('yolov11s.pt') # Small
model_v11_m = YOLO('yolov11m.pt') # Medium
model_v11_l = YOLO('yolov11l.pt') # Large
model_v11_x = YOLO('yolov11x.pt') # XLarge
2.2 Mejoras
-
Arquitectura
- Nueva arquitectura de backbone con atención
- Mejor gestión de las características espaciales
- Optimización para dispositivos móviles
-
Rendimiento
- Velocidad de inferencia aumentada un 25 %
- Precisión mejorada un 8 %
- Consumo de memoria reducido un 20 %
-
Funcionalidades
- Soporte de la detección 3D
- Mejor gestión de escenas complejas
- Detección en tiempo real ultraoptimizada
3. Comparación de las versiones
3.1 Métricas de rendimiento
def compare_versions():
# Configuración
test_image = "path/to/test/image.jpg"
# Prueba de las distintas versiones
versions = {
'v8': YOLO('yolov8n.pt'),
'v10': YOLO('yolov10n.pt'),
'v11': YOLO('yolov11n.pt')
}
results = {}
for version, model in versions.items():
# Medición del tiempo de inferencia
start_time = time.time()
results[version] = model(test_image)
inference_time = time.time() - start_time
print(f"YOLO{version}:")
print(f"Temps d'inférence: {inference_time:.2f}s")
print(f"Nombre de détections: {len(results[version][0].boxes)}")
print(f"Précision moyenne: {results[version][0].boxes.conf.mean():.2f}")
3.2 Tabla comparativa
| Versión | Velocidad | Precisión | Memoria | Funcionalidades |
|---|---|---|---|---|
| v8 | Base | Base | Base | Base |
| v10 | +15% | +5% | -10% | +2 nuevas |
| v11 | +25% | +8% | -20% | +4 nuevas |
4. Aplicaciones prácticas
4.1 Detección en tiempo real
def real_time_detection():
# Inicialización
cap = cv2.VideoCapture(0)
model = YOLO('yolov11n.pt') # Uso de YOLOv11
while cap.isOpened():
success, frame = cap.read()
if not success:
continue
# Detección con YOLOv11
results = model(frame)
# Visualización
annotated_frame = results[0].plot()
# Visualización en pantalla
cv2.imshow('YOLOv11 Detection', annotated_frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
4.2 Detección 3D (YOLOv11)
def detection_3d():
# Inicialización
model = YOLO('yolov11-3d.pt')
# Detección 3D
results = model('path/to/3d_scene.pcd')
# Visualización
for result in results:
# Puntos 3D
points = result.points
# Cajas 3D
boxes = result.boxes_3d
# Visualización con Open3D
vis = o3d.visualization.Visualizer()
vis.create_window()
# Adición de los puntos y las cajas
vis.add_geometry(points)
for box in boxes:
vis.add_geometry(box)
vis.run()
vis.destroy_window()
5. Buenas prácticas
-
Elección de la versión
- v8 para aplicaciones básicas
- v10 para aplicaciones avanzadas
- v11 para aplicaciones innovadoras
-
Optimización
- Utilizar la aceleración por GPU
- Ajustar los umbrales de confianza
- Optimizar el tamaño del batch
-
Despliegue
- Exportar en el formato adecuado
- Utilizar la aceleración por hardware
- Implementar un sistema de caché
Conclusión
Puntos clave:
- Mejoras significativas del rendimiento
- Nuevas funcionalidades avanzadas
- Soporte optimizado para dispositivos móviles
- Detección 3D con YOLOv11
Recomendaciones:
- Elegir la versión según las necesidades
- Optimizar el rendimiento
- Utilizar la aceleración por hardware
- Implementar una gestión robusta de los errores
Acerca de InSkillCoach
Experto en formación y tecnologías
Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.
Certificaciones:
- AWS Certified Solutions Architect – Professional
- Certificaciones de Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión