YOLOv7 YOLOv10: Comparando arquiteturas para detecção em tempo real
A evolução dos modelos de deteção de objetos tem sido caracterizada por um esforço constante para obter maior precisão e menor latência. Dois marcos significativos nessa jornada são YOLOv7, lançado em meados de 2022, e YOLOv10, introduzido em meados de 2024. Embora ambas as arquiteturas tenham avançado o estado da arte no momento do seu lançamento, elas representam filosofias de design fundamentalmente diferentes. YOLOv7 na otimização do processo de treino por meio de um "bag-of-freebies", enquanto YOLOv10 uma abordagem de ponta a ponta que elimina a necessidade de supressão não máxima (NMS).
Este guia fornece uma comparação técnica detalhada para ajudar pesquisadores e engenheiros a selecionar a ferramenta certa para seus projetos de visão computacional. Analisamos a arquitetura, as métricas de desempenho e os fluxos de trabalho de implementação, mostrando por que iterações modernas como YOLOv10— e o mais recente YOLO26— são frequentemente a escolha preferida para soluções de IA escaláveis.
Comparação de Desempenho do Modelo
A tabela abaixo destaca as diferenças de desempenho entre os dois modelos. YOLOv10 oferece YOLOv10 menor latência e maior eficiência (menos parâmetros e FLOPs) em comparação com YOLOv7, particularmente nas variantes menores do modelo.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
YOLOv7: A Potência do 'Bag-of-Freebies'
Lançado em julho de 2022, YOLOv7 foi desenvolvido para otimizar o processo de treino sem aumentar os custos de inferência. Os autores introduziram um conceito chamado «trainable bag-of-freebies», que se refere a métodos de otimização que melhoram a precisão durante o treino, mas são descartados durante a inferência, mantendo o modelo rápido.
Detalhes Técnicos Principais:
- Autores: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organização: Instituto de Ciência da Informação, Academia Sinica, Taiwan
- Data: 2022-07-06
- Links:Artigo no ArXiv | Repositório GitHub
YOLOv7 a Rede de Agregação de Camadas Eficiente Estendida (E-ELAN). Essa arquitetura permite que o modelo aprenda características mais diversificadas, controlando os caminhos de gradiente mais curtos e mais longos de forma eficaz. Além disso, empregou técnicas de dimensionamento de modelo que modificam os atributos da arquitetura (como profundidade e largura) simultaneamente, garantindo um desempenho ideal em diferentes tamanhos. Apesar do seu alto desempenho no COCO , YOLOv7 principalmente um detetor baseado em âncora, o que às vezes pode complicar o ajuste de hiperparâmetros em comparação com alternativas modernas sem âncora.
YOLOv10: Detecção de Objetos End-to-End em Tempo Real
Lançado em maio de 2024 por investigadores da Universidade de Tsinghua, YOLOv10 marcou uma mudança significativa na YOLO ao introduzir o treinamento NMS.
Detalhes Técnicos Principais:
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organização:Tsinghua University
- Data: 2024-05-23
- Links:Artigo no ArXiv | Repositório GitHub
YOLOv10 um gargalo de longa data na detecção em tempo real: a dependência da supressão não máxima (NMS) para pós-processamento. Ao empregar atribuições duplas consistentes, YOLOv10 um treinamento completo, permitindo que o modelo produza previsões finais diretamente. Essa remoção do NMS reduz NMS a latência de inferência e simplifica os pipelines de implementação, especialmente em dispositivos de ponta, onde a sobrecarga de pós-processamento é cara. Além disso, o seu design de modelo holístico orientado para a eficiência e precisão otimiza vários componentes, como o cabeçote de classificação leve e a redução de resolução desacoplada do canal espacial, para reduzir a redundância computacional.
Comparação crítica: arquitetura e usabilidade
Embora ambos os modelos sejam potentes, as suas diferenças em termos de arquitetura determinam os seus casos de uso ideais.
NMS-Free vs. Baseado em Âncora
A diferença mais marcante é a exigência de pós-processamento. YOLOv7 do NMS filtrar caixas delimitadoras sobrepostas. Embora eficaz, NMS latência que varia de acordo com o número de objetos detetados, tornando o tempo de previsão variável. Em contrapartida, o design completo YOLOv10 oferece tempos de inferência determinísticos, o que é crucial para aplicações em tempo real críticas para a segurança, como veículos autónomos.
Eficiência e Uso de Recursos
YOLOv10 eficiência superior. Conforme mostrado na tabela comparativa, o YOLOv10b alcança precisão comparável ao YOLOv7, mas com cerca de 65% menos parâmetros. Essa redução drástica no tamanho do modelo se traduz em menor consumo de memória, tornando YOLOv10 adequado para ambientes com restrições de memória, como aplicações móveis ou dispositivos IoT.
Eficiência de Memória
Para os programadores que têm como alvo dispositivos de ponta, a redução do número de parâmetros YOLOv10 uma utilização significativamente menor de RAM durante a inferência. Isso permite a execução de lotes maiores ou multitarefas em conjunto com outros modelos de IA no mesmo hardware.
Treinamento e Ecossistema
O ecossistema em torno de um modelo determina a sua praticidade para os programadores. É aqui que a Ultralytics se destaca. Ambos os modelos são acessíveis através doPython Ultralytics , que unifica a experiência do utilizador.
- Facilidade de Uso: Você pode alternar entre modelos alterando uma única string (por exemplo,
model = YOLO("yolov10n.pt")). - Modos unificados: Ultralytics comandos para treinamento, validação e exportação para formatos como ONNX, TensorRT e CoreML.
- Eficiência de treinamento: Ultralytics são otimizadas para menor uso CUDA em comparação com PyTorch brutos, permitindo tamanhos de lote maiores em GPUs de consumo.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (swappable with YOLOv7)
model = YOLO("yolov10n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("path/to/image.jpg")
O Futuro: YOLO26
Embora YOLOv7 YOLOv10 excelentes, o campo evolui rapidamente. O recém-lançado YOLO26 (janeiro de 2026) baseia-se na fundação NMS do YOLOv10 introduz mais inovações para obter ainda mais velocidade e precisão.
- NMS de ponta a ponta: Assim como YOLOv10, o YOLO26 é nativamente de ponta a ponta, garantindo latência determinística.
- Otimizador MuSGD: Inspirado no treinamento LLM, este otimizador híbrido garante um treinamento estável e uma convergência mais rápida.
- Otimização de borda: com a remoção da perda focal de distribuição (DFL), o YOLO26 é até 43% mais rápido na CPU, tornando-o a escolha superior para computação de borda.
- Versatilidade: O YOLO26 suporta todas as tarefas, incluindo OBB, estimativa de pose e segmentação.
Conclusão
A escolha entre YOLOv7 YOLOv10 das suas restrições específicas.
- Escolha YOLOv7 se estiver a manter sistemas legados otimizados para a sua arquitetura específica ou se precisar dos recursos específicos do «bag-of-freebies» para comparação de pesquisa.
- Escolha YOLOv10 para novas implementações que exigem baixa latência e alta eficiência. O seu design NMS e o número reduzido de parâmetros tornam-no ideal para aplicações de ponta em tempo real.
No entanto, para obter o melhor equilíbrio entre velocidade, precisão e facilidade de uso, recomendamos dar uma olhada no mais recente YOLO26. Com o suporte da robusta Ultralytics , ele oferece a solução mais preparada para o futuro para o desenvolvimento de visão computacional.