Ir para o conteúdo

YOLOv10 vs YOLOv7: Arquitetura avançada de deteção de objectos em tempo real

A evolução da família YOLO (You Only Look Once) tem vindo a alargar consistentemente os limites da visão por computador, equilibrando velocidade e precisão para aplicações em tempo real. Esta comparação explora as mudanças de arquitetura e as diferenças de desempenho entre o YOLOv10um modelo topo de gama lançado por investigadores da Universidade de Tsinghua, e o YOLOv7, um modelo altamente influente desenvolvido pela Academia Sinica. Embora ambos os modelos tenham dado contributos significativos para o campo da deteção de objectos, utilizam estratégias distintas para atingir os seus objectivos de desempenho.

Evolução das arquitecturas de modelos

A transição do YOLOv7 para o YOLOv10 marca uma mudança de paradigma na forma como as redes neuronais lidam com o pós-processamento e a integração de caraterísticas.

YOLOv10: A revolução NMS

YOLOv10, lançado em 23 de maio de 2024, por Ao Wang, Hui Chen e outros da Universidade de Tsinghua, introduz uma estratégia inovadora de formação NMS. Tradicionalmente, os detectores de objectos dependem da Supressão Não Máxima (NMS) para filtrar caixas delimitadoras duplicadas, o que pode criar um estrangulamento na latência da inferência.

YOLOv10 utiliza atribuições duplas consistentes para formação NMS, permitindo que o modelo preveja diretamente instâncias de objectos únicos. Combinado com um design de modelo holístico orientado para a eficiência e a precisão, optimiza vários componentes - incluindo a cabeça de classificação leve e a redução da amostragem desacoplada de canais espaciais - para reduzir a redundância computacional.

Saiba mais sobre o YOLOv10

YOLOv7: Optimizado para um saco de brindes treinável

YOLOv7, lançado em 6 de julho de 2022, por Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao da Academia Sinica, centra-se na otimização do processo de formação sem aumentar o custo de inferência. Introduziu a Extended Efficient Layer Aggregation Network (E-ELAN), que melhora a capacidade de aprendizagem da rede através do controlo do caminho do gradiente.

YOLOv7 utiliza fortemente o "Bag-of-Freebies" - métodos que melhoram a precisão durante o treino sem afetar a velocidade de inferência - e técnicas de escalonamento de modelos que compõem parâmetros de forma eficiente. Embora altamente eficaz, a sua dependência do pós-processamento tradicional NMS significa que a sua latência de ponta a ponta é frequentemente superior à das arquitecturas mais recentes NMS.

Saiba mais sobre o YOLOv7

Comparação do desempenho técnico

Ao avaliar estes modelos, surgem padrões distintos relativamente à eficiência e à capacidade de deteção bruta. YOLOv10 oferece, de um modo geral, uma eficiência superior, alcançando uma mAP (precisão média média) semelhante ou melhor com um número significativamente menor de parâmetros e tempos de inferência mais rápidos em comparação com o YOLOv7.

O quadro seguinte apresenta os principais indicadores do conjunto de dadosCOCO .

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Perspetiva da eficiência

Os dados destacam uma vantagem crítica do YOLOv10 em ambientes com recursos limitados. O YOLOv10m atinge uma precisão quase idêntica (51,3% mAP) ao YOLOv7l (51,4% mAP), mas fá-lo com menos de metade dos parâmetros (15,4M vs 36,9M) e FLOPs significativamente mais baixos (59,1B vs 104,7B).

Latência e taxa de transferência

A remoção da etapa NMS do YOLOv10 reduz drasticamente a variação de latência frequentemente observada em cenas lotadas. Em aplicações como veículos autónomos ou vigilância por drones, em que cada milissegundo conta, o tempo de inferência previsível do YOLOv10 proporciona uma vantagem crítica em termos de segurança. YOLOv7 permanece competitivo em termos de rendimento em GPUs de ponta, mas consome mais memória e computação para obter resultados comparáveis.

Casos de Uso e Aplicações

As diferenças arquitectónicas determinam os cenários de implementação ideais para cada modelo.

Cenários ideais para o YOLOv10

  • Edge AI: Devido à sua baixa contagem de parâmetros e FLOPs, YOLOv10 é perfeito para dispositivos como o Raspberry Pi ou o NVIDIA Jetson.
  • Análise de vídeo em tempo real: A elevada velocidade de inferência suporta um processamento de elevado FPS para gestão de tráfego e análise de retalho.
  • Robótica: Uma latência mais baixa traduz-se em tempos de reação mais rápidos para tarefas de navegação e manipulação de robôs.

Cenários ideais para o YOLOv7

  • Sistemas antigos: Os projectos já integrados com a base de código YOLOv7 podem considerá-la suficientemente estável para serem mantidos sem refactorização imediata.
  • Deteção de uso geral: Para implementações do lado do servidor onde a VRAM é abundante, os modelos maiores do YOLOv7 ainda fornecem capacidades de deteção robustas, embora sejam menos eficientes do que as alternativas mais recentes, como o YOLO11.

A vantagem Ultralytics

Embora ambos os modelos sejam poderosos, a utilização do ecossistemaUltralytics oferece vantagens distintas para os programadores e investigadores. A estrutura Ultralytics padroniza a interface para treinamento, validação e implantação, facilitando significativamente a alternância entre modelos e o desempenho de benchmark.

Facilidade de utilização e eficiência da formação

Um dos principais obstáculos à aprendizagem profunda é a complexidade dos pipelines de formação. Os modelos Ultralytics , incluindo YOLOv10 e o YOLO11utilizam uma API Python simplificada que lida com o aumento de dados, ajuste de hiperparâmetros e exportação automática.

  • API simples: Treine um modelo em poucas linhas de código.
  • Eficiência de memória: As optimizações Ultralytics resultam frequentemente numa menor utilização de memória CUDA durante o treino, em comparação com as implementações em bruto.
  • Pesos pré-treinados: Acesso a modelos pré-treinados de alta qualidade no ImageNet e COCO acelera a aprendizagem por transferência.

Versatilidade em todas as tarefas

Os modelos Ultralytics modernos vão para além da simples deteção de caixas delimitadoras. Suportam a Segmentação de Instâncias, a Estimativa de Pose, a Deteção Orientada de Objectos (OBB) e a Classificação dentro da mesma estrutura. Esta versatilidade é uma vantagem fundamental em relação aos repositórios autónomos mais antigos.

Exemplo de código: Executando YOLOv10 com Ultralytics

O exemplo seguinte demonstra a simplicidade da utilização da API Ultralytics para carregar um modelo YOLOv10 pré-treinado e executar a inferência. Esta facilidade de utilização contrasta com a configuração mais manual frequentemente necessária para arquitecturas mais antigas como o YOLOv7.

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Run inference on an image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

Conclusão e Recomendação

Para novos projectos, YOLOv10 ou o ainda mais avançado YOLO11 são as escolhas recomendadas. A arquitetura NMS do YOLOv10 proporciona um equilíbrio superior de velocidade e precisão, tornando-o altamente adaptável às necessidades modernas de computação periférica. Resolve os estrangulamentos de latência das gerações anteriores, reduzindo simultaneamente a pegada computacional.

Embora YOLOv7 continue a ser um marco respeitado na história da visão por computador, a sua arquitetura é menos eficiente segundo os padrões actuais. Os programadores que procuram o melhor desempenho, manutenção a longo prazo e facilidade de implementação encontrarão no ecossistemaUltralytics - comas suas actualizações contínuas e amplo suporte de ferramentas - o ambiente mais produtivo para a criação de soluções de IA de visão.

Explorar mais


Comentários