YOLOv7 vs. YOLOX: Uma comparação técnica pormenorizada
No panorama em rápida evolução da visão por computador, a família de modelos YOLO (You Only Look Once) definiu consistentemente o padrão para a deteção de objectos em tempo real. Dois marcos significativos nesta história são YOLOv7 e o YOLOX. Embora ambos os modelos procurem equilibrar velocidade e precisão, divergem significativamente nas suas filosofias arquitectónicas - especificamente no que diz respeito às metodologias baseadas em âncoras e sem âncoras.
Este guia fornece uma comparação técnica aprofundada para ajudar os investigadores e engenheiros a selecionar a ferramenta certa para as suas aplicações específicas de visão por computador. Analisaremos as suas arquitecturas, o desempenho de referência e exploraremos a razão pela qual alternativas modernas como o Ultralytics YOLO11 fornecem frequentemente uma experiência superior ao programador.
Métricas de desempenho: Velocidade e exatidão
Ao avaliar os detectores de objectos, o compromisso entre a latência da inferência e a precisão médiamAP) é fundamental. A tabela abaixo apresenta uma comparação direta entre as variantes YOLOv7 e YOLOX no conjunto de dadosCOCO .
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Análise dos resultados
Os dados evidenciam vantagens distintas para cada família de modelos, em função dos condicionalismos da implantação. YOLOv7 demonstra uma eficiência excecional no segmento de alto desempenho. Por exemplo, o YOLOv7l alcança um mAP de 51,4% com apenas 36,9 milhões de parâmetros, superando o YOLOXx (51,1% mAP, 99,1 milhões de parâmetros) e utilizando significativamente menos recursos computacionais. Isto faz do YOLOv7 um forte candidato para cenários em que a eficiênciaGPU é crítica mas a memória é limitada.
Por outro lado, a YOLOX destaca-se na categoria de peso leve. O modelo YOLOX-Nano (parâmetros de 0,91 M) oferece uma solução viável para dispositivos de ponta de potência ultrabaixa, onde até os modelos YOLO padrão mais pequenos podem ser demasiado pesados. Os seus multiplicadores de profundidade-largura escaláveis permitem uma afinação fina numa vasta gama de perfis de hardware.
YOLOv7: Saco de brindes optimizado
Lançado em julho de 2022, YOLOv7 introduziu várias inovações arquitectónicas concebidas para otimizar o processo de formação sem incorrer em custos de inferência.
- 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
- Artigo:Ligação Arxiv
- GitHub:RepositórioYOLOv7
Destaques arquitectónicos
YOLOv7 foca-se em "trainable bag-of-freebies" - métodos de otimização que melhoram a precisão durante o treino mas que são removidos ou fundidos durante a inferência. As principais caraterísticas incluem:
- E-ELAN (Extended Efficient Layer Aggregation Network): Uma estrutura de backbone melhorada que aumenta a capacidade do modelo para aprender diversas caraterísticas, controlando os caminhos de gradiente mais curtos e mais longos.
- Escalonamento de modelos: Em vez de simplesmente escalar a profundidade ou a largura, YOLOv7 usa um método de escalonamento composto para modelos baseados em concatenação, mantendo a estrutura ideal durante o aumento de escala.
- Cabeça auxiliar Coarse-to-Fine: Uma cabeça de perda auxiliar é usada durante o treinamento para auxiliar a supervisão, que é então re-parametrizada na cabeça principal para inferência.
Re-parametrização
YOLOv7 utiliza a re-parametrização planeada, onde módulos de treino distintos são matematicamente fundidos numa única camada convolucional para inferência. Isto reduz significativamente a latência da inferência sem sacrificar a capacidade de aprendizagem de caraterísticas obtida durante o treino.
YOLOX: A evolução sem âncoras
O YOLOX, lançado em 2021, representou uma mudança no paradigma YOLO , afastando-se das caixas de ancoragem para um mecanismo sem ancoragem, semelhante às abordagens de segmentação semântica.
- Autores: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
- Organização: Megvii
- Data: 2021-07-18
- Artigo:Ligação Arxiv
- GitHub:Repositório YOLOX
Saiba mais sobre o YOLOX Comparison
Destaques arquitectónicos
O YOLOX simplificou o pipeline de deteção, eliminando a necessidade de afinação manual da caixa de ancoragem, que era um problema comum nas versões anteriores, como o YOLOv4 e YOLOv5.
- Mecanismo sem âncoras: Ao prever diretamente o centro dos objectos, o YOLOX elimina os hiperparâmetros complexos associados às âncoras, melhorando a generalização em diversos conjuntos de dados.
- Cabeça desacoplada: Ao contrário das versões anteriores YOLO que acoplavam a classificação e a localização numa só cabeça, o YOLOX separa-as. Isto leva a uma convergência mais rápida e a uma melhor precisão.
- SimOTA: Uma estratégia avançada de atribuição de etiquetas que atribui dinamicamente amostras positivas à verdade terrestre com o menor custo, equilibrando eficazmente as perdas de classificação e regressão.
Porque é que os modelos Ultralytics são a escolha preferida
Embora YOLOv7 e o YOLOX sejam diferentes em termos de arquitetura, ambos são ultrapassados em termos de usabilidade e suporte do ecossistema pelos modelos modernos Ultralytics YOLO . Para os programadores que procuram uma solução robusta e preparada para o futuro, a transição para o YOLO11 oferece vantagens distintas.
1. Ecossistema unificado e facilidade de utilização
YOLOv7 e o YOLOX geralmente exigem a clonagem de repositórios específicos do GitHub, o gerenciamento de requisitos de dependência complexos e a utilização de formatos diferentes para os dados. Em contraste, Ultralytics oferece um pacote instalável por pip que unifica todas as tarefas.
from ultralytics import YOLO
# Load a model (YOLO11n recommended for speed)
model = YOLO("yolo11n.pt")
# Train on a custom dataset with a single line
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
2. Equilíbrio de desempenho superior
Tal como ilustrado nos testes de referência, os modelos Ultralytics modernos conseguem um melhor compromisso entre velocidade e precisão. YOLO11 utiliza uma arquitetura optimizada sem âncoras que aprende com os avanços do YOLOX (design sem âncoras) e do YOLOv7 (otimização do caminho do gradiente). Isso resulta em modelos que não são apenas mais rápidos na inferênciaCPU , mas também exigem menos memória CUDA durante o treinamento, tornando-os acessíveis em uma variedade maior de hardware.
3. Versatilidade em todas as tarefas
YOLOv7 e o YOLOX foram concebidos principalmente para a deteção de objectos. Os modelos Ultralytics alargam esta capacidade de forma nativa a um conjunto de tarefas de visão computacional sem alterar a API:
- Segmentação de instâncias: Compreensão de objectos ao nível do pixel.
- Estimativa de pose: Deteção de pontos-chave em corpos humanos.
- Deteção de objectos orientados (OBB): Deteção de objectos rodados (por exemplo, imagens aéreas).
- Classificação: Atribuição de um rótulo de classe a uma imagem inteira.
4. Implementação sem descontinuidades e MLOps
Levar um modelo da pesquisa para a produção é um desafio com estruturas mais antigas. O ecossistema Ultralytics inclui modos de exportação integrados para ONNX, TensorRT, CoreML e OpenVINO, simplificando a implantação do modelo. Além disso, as integrações com o Ultralytics HUB permitem o gerenciamento de conjuntos de dados com base na Web, o treinamento remoto e a implantação com um clique em dispositivos de borda.
Conclusão
Tanto YOLOv7 como o YOLOX deram contributos significativos para o domínio da visão por computador. YOLOv7 optimizou a arquitetura para um desempenho máximo em dispositivos GPU , maximizando a eficiência da abordagem "bag-of-freebies". O YOLOX demonstrou com sucesso a viabilidade da deteção sem âncoras, simplificando o pipeline e melhorando a generalização.
No entanto, para fluxos de trabalho de desenvolvimento modernos, Ultralytics YOLO11 destaca-se como a escolha superior. Combina os pontos fortes da arquitetura dos seus antecessores com uma APIPython incomparável, requisitos de memória mais baixos e suporte para uma gama abrangente de tarefas de visão. Quer esteja a implementar num dispositivo de ponta ou num servidor na nuvem, a comunidade ativa e a extensa documentação do ecossistema Ultralytics garantem um caminho mais suave para a produção.
Explore Outros Modelos
Se estiver interessado em mais comparações técnicas, explore estes recursos:
- YOLOv7 vs. YOLOv8: Um olhar sobre o salto geracional no desempenho.
- RT-DETR vs. YOLOv7: Comparação de transformadores com CNNs.
- YOLO11 vs. YOLOv10: Os mais recentes avanços na deteção em tempo real.