0%
YOLOv10 e YOLOv11: As Últimas Versões do YOLO

YOLOv10 e YOLOv11: As Últimas Versões do YOLO

Conheça os avanços mais recentes do YOLO com as versões 10 e 11, suas melhorias e suas aplicações.

I

InSkillCoach

· min

YOLOv10 e YOLOv11: As Últimas Versões do YOLO

As versões 10 e 11 do YOLO trazem melhorias significativas em termos de desempenho, precisão e funcionalidades.

1. YOLOv10

1.1 Principais Características

# Instalação do YOLOv10
pip install ultralytics

# Import
from ultralytics import YOLO

# Carregamento do 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 Melhorias

  1. Arquitetura

    • Nova arquitetura de backbone otimizada
    • Melhor tratamento de características multiescala
    • Redução da latência de inferência
  2. Desempenho

    • Velocidade de inferência aumentada em 15%
    • Precisão melhorada em 5%
    • Consumo de memória otimizado
  3. Funcionalidades

    • Suporte aprimorado à detecção de objetos pequenos
    • Melhor tratamento de oclusões
    • Detecção em tempo real otimizada

2. YOLOv11

2.1 Principais Características

# Instalação do YOLOv11
pip install ultralytics

# Import
from ultralytics import YOLO

# Carregamento do 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 Melhorias

  1. Arquitetura

    • Nova arquitetura de backbone com atenção
    • Melhor tratamento de características espaciais
    • Otimização para dispositivos móveis
  2. Desempenho

    • Velocidade de inferência aumentada em 25%
    • Precisão melhorada em 8%
    • Consumo de memória reduzido em 20%
  3. Funcionalidades

    • Suporte à detecção 3D
    • Melhor tratamento de cenas complexas
    • Detecção em tempo real ultraotimizada

3. Comparação das Versões

3.1 Métricas de Desempenho

def compare_versions():
    # Configuração
    test_image = "path/to/test/image.jpg"
    
    # Teste das diferentes versões
    versions = {
        'v8': YOLO('yolov8n.pt'),
        'v10': YOLO('yolov10n.pt'),
        'v11': YOLO('yolov11n.pt')
    }
    
    results = {}
    for version, model in versions.items():
        # Medição do tempo de inferência
        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 Tabela Comparativa

VersãoVelocidadePrecisãoMemóriaFuncionalidades
v8BaseBaseBaseBase
v10+15%+5%-10%+2 novas
v11+25%+8%-20%+4 novas

4. Aplicações Práticas

4.1 Detecção em Tempo Real

def real_time_detection():
    # Inicialização
    cap = cv2.VideoCapture(0)
    model = YOLO('yolov11n.pt')  # Uso do YOLOv11
    
    while cap.isOpened():
        success, frame = cap.read()
        if not success:
            continue
        
        # Detecção com YOLOv11
        results = model(frame)
        
        # Visualização
        annotated_frame = results[0].plot()
        
        # Exibição
        cv2.imshow('YOLOv11 Detection', annotated_frame)
        
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    
    cap.release()
    cv2.destroyAllWindows()

4.2 Detecção 3D (YOLOv11)

def detection_3d():
    # Inicialização
    model = YOLO('yolov11-3d.pt')
    
    # Detecção 3D
    results = model('path/to/3d_scene.pcd')
    
    # Visualização
    for result in results:
        # Pontos 3D
        points = result.points
        # Caixas 3D
        boxes = result.boxes_3d
        
        # Visualização com Open3D
        vis = o3d.visualization.Visualizer()
        vis.create_window()
        
        # Adição dos pontos e caixas
        vis.add_geometry(points)
        for box in boxes:
            vis.add_geometry(box)
        
        vis.run()
        vis.destroy_window()

5. Boas Práticas

  1. Escolha da Versão

    • v8 para aplicações básicas
    • v10 para aplicações avançadas
    • v11 para aplicações inovadoras
  2. Otimização

    • Usar aceleração por GPU
    • Ajustar os limiares de confiança
    • Otimizar o tamanho do batch
  3. Implantação

    • Exportar no formato apropriado
    • Usar aceleração de hardware
    • Implementar um sistema de cache

Conclusão

Pontos-chave:

  • Melhorias significativas de desempenho
  • Novas funcionalidades avançadas
  • Suporte otimizado a dispositivos móveis
  • Detecção 3D com YOLOv11

Recomendações:

  • Escolher a versão de acordo com as necessidades
  • Otimizar o desempenho
  • Usar aceleração de hardware
  • Implementar um tratamento de erros robusto
InSkillCoach

Sobre InSkillCoach

Especialista em treinamento e tecnologias

Coach especializado em tecnologias avançadas e IA, apoiado pela GNeurone Inc.

Certificações:

  • AWS Certified Solutions Architect – Professional
  • Certificações Google Cloud
  • Microsoft Certified: DevOps Engineer Expert
  • Certified Kubernetes Administrator (CKA)
  • CompTIA Security+
884
308

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!