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.
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.
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 .
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.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
- Comparação entre YOLOv10 e YOLOv8
- Comparação entre YOLOv10 e YOLOv9
- YOLO11: As últimas novidades em deteção em tempo real
- Guia de exportação de modelos para o TensorRT