YOLO . YOLOv10: Navegando pela evolução da deteção de objetos em tempo real
O panorama da deteção de objetos em tempo real evoluiu rapidamente, impulsionado pela busca incessante por menor latência e maior precisão. Dois marcos significativos nessa jornada são YOLO, desenvolvido pelo Alibaba Group, e o YOLOv10, criado por investigadores da Universidade de Tsinghua. EnquantoYOLO técnicas avançadas de Pesquisa de Arquitetura Neural (NAS) no campo, YOLOv10 o pipeline de implementação ao eliminar a Supressão Não Máxima (NMS). Esta comparação abrangente explora as suas arquiteturas técnicas, métricas de desempenho e por que os Ultralytics mais recentes, como o YOLO26, representam o auge desses avanços para ambientes de produção.
Comparação de métricas de desempenho
A tabela a seguir fornece uma comparação direta dos principais indicadores de desempenho. Observe a diferença nas velocidades de inferência, especialmente onde os projetos NMS contribuem para uma latência menor.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
YOLO: Arquitetura e Metodologia
YOLO foi proposto em novembro de 2022 por investigadores do Alibaba Group. O objetivo era ampliar os limites do desempenho, integrando tecnologias de ponta numa estrutura de detetores coesa.
- Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organização: Alibaba Group
- Data: 2022-11-23
- Artigo:arXiv:2211.15444
- GitHub:tinyvision/DAMO-YOLO
Principais Características Arquitetônicas
YOLO destaca pelo uso da Pesquisa de Arquitetura Neural (NAS). Ao contrário dos modelos com backbones projetados manualmente,YOLO o Method-Awareness Efficient NAS (MAE-NAS) para descobrir estruturas de rede ideais sob restrições específicas. Isso resulta em um backbone altamente eficiente para o hardware específico ao qual se destina.
Além disso, incorpora uma eficiente RepGFPN (Reparameterized Generalized Feature Pyramid Network) para fusão de características e um cabeçote leve conhecido como "ZeroHead". Um componente crítico da sua estratégia de treino é o AlignedOTA, um mecanismo dinâmico de atribuição de rótulos que resolve o alinhamento aprimorado entre tarefas de classificação e regressão. No entanto, atingir o desempenho máximo comYOLO requer um processo de destilação complexo, exigindo um modelo de ensino pesado durante o treino, o que pode aumentar significativamente a carga computacional em comparação com as abordagens "bag-of-freebies" usadas no YOLOv8.
Complexidade de Treinamento
Embora poderoso, o pipeline de treino paraYOLO consumir muitos recursos. A fase de destilação geralmente requer o treino prévio de um modelo professor maior, o que complica o fluxo de trabalho para os programadores que precisam de iterações rápidas em conjuntos de dados personalizados.
YOLOv10: A inovação de ponta a ponta
Lançado em maio de 2024 pela Universidade de Tsinghua, YOLOv10 marcou uma mudança de paradigma ao abordar um dos gargalos mais antigos na deteção de objetos: a supressão não máxima (NMS).
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organização: Universidade de Tsinghua
- Data: 2024-05-23
- Artigo:arXiv:2405.14458
- GitHub:THU-MIG/yolov10
Inovações Arquiteturais
A característica definidora do YOLOv10 o seu design End-to-End NMS. Os detetores tradicionais geram caixas delimitadoras redundantes que devem ser filtradas pelo NMS, uma etapa de pós-processamento que introduz latência e complica a implementação. YOLOv10 atribuições duplas consistentes durante o treinamento, usando correspondências um-para-muitos (para supervisão rica) e um-para-um (para inferência de ponta a ponta). Isso permite que o modelo preveja diretamente uma única caixa ideal por objeto, eliminando a necessidade de NMS .
Além disso, YOLOv10 um design de modelo holístico orientado para a eficiência e precisão. Isso inclui cabeças de classificação leves, downsampling desacoplado do canal espacial e design de blocos orientado por classificação, resultando em um modelo que é menor e mais rápido do que os seus antecessores, como o YOLOv9 , mantendo uma precisão competitiva.
A Vantagem Ultralytics: Por Que Escolher o YOLO26?
EmboraYOLO YOLOv10 contribuições académicas significativas, o Ultralytics fornece a ponte entre a investigação de ponta e o software de produção prático e fiável. O recém-lançado YOLO26 baseia-se na inovação NMS do YOLOv10 integra-o numa estrutura robusta de nível empresarial.
Desempenho e eficiência superiores
O YOLO26 é a escolha recomendada para novos projetos, oferecendo vantagens distintas em relação YOLOv10 YOLO YOLOv10 puro:
- NMS de ponta a ponta: Assim como YOLOv10, o YOLO26 é nativamente de ponta a ponta. Ele elimina NMS , o que simplifica os pipelines de implementação e reduz significativamente a variabilidade da latência.
- Estabilidade de treinamento aprimorada: o YOLO26 utiliza o MuSGD Optimizer, um híbrido de SGD Muon inspirado no treinamento de Large Language Model (LLM). Essa inovação garante uma convergência mais rápida e maior estabilidade durante o treinamento, reduzindo a GPU necessária em comparação com arquiteturas pesadas de transformadores.
- Otimização de borda: ao remover a perda focal de distribuição (DFL), o YOLO26 simplifica a camada de saída, tornando-a até 43% mais rápida na CPU . Isso é fundamental para dispositivos de borda onde GPU não estão disponíveis.
YOLO26 Avanços tecnológicos
O YOLO26 não é apenas uma atualização de versão; é uma atualização abrangente.
- ProgLoss + STAL: Funções de perda aprimoradas que aumentam drasticamente o reconhecimento de pequenos objetos, crucial para imagens de drones e robótica.
- Versatilidade: Ao contrárioYOLO, que é principalmente um detetor, o YOLO26 suporta estimativa de pose, segmentação, classificação e OBB.
Facilidade de Uso e Ecossistema
Um dos principais desafios dos repositórios de pesquisa comoYOLO a complexidade da configuração e manutenção. Ultralytics isso com uma Python unificada. Quer esteja a utilizar o YOLO11, YOLOv10 ou YOLO26, o fluxo de trabalho permanece consistente e simples.
A Ultralytics (anteriormente HUB) acelera ainda mais o desenvolvimento, fornecendo ferramentas para gestão de conjuntos de dados, anotação automatizada e exportação com um clique para formatos como TensorRT, ONNX e CoreML.
Casos de Uso Ideais
A seleção do modelo certo depende das suas restrições específicas:
- EscolhaYOLO : estiver a realizar pesquisas sobre Pesquisa de Arquitetura Neural (NAS) ou precisar de uma estrutura de backbone especializada para restrições de hardware exclusivas, nas quais os backbones CSP/ELAN padrão são insuficientes.
- Escolha YOLOv10 : Precisar de um detetor específico NMS para benchmarking académico ou tiver um requisito legado para a arquitetura específica proposta no artigo original da Tsinghua.
- Escolha Ultralytics se: Precisar de uma solução de última geração pronta para produção. O seu designNMS, combinado com a estabilidade de treinamento MuSGD e CPU otimizadas, torna-o o melhor em termos de versatilidade. É particularmente superior para aplicações em tempo real na indústria, análise de retalho e sistemas autónomos, onde a facilidade de implementação e o suporte a longo prazo são fundamentais.
Exemplo de Código: Executando YOLOv10 e YOLO26
Ultralytics incrivelmente fácil alternar entre essas arquiteturas. Como YOLOv10 compatível com o Ultralytics , você pode testar os dois modelos com alterações mínimas no código.
Executando o YOLOv10
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Show results
results[0].show()
Treinamento YOLO26
Para aproveitar os avanços mais recentes do YOLO26, como o otimizador MuSGD e o ProgLoss, o treinamento em um conjunto de dados personalizado é simples:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train on a custom dataset using the new optimizer settings (auto-configured)
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to ONNX for simplified edge deployment
model.export(format="onnx")
Conclusão
TantoYOLO YOLOv10 avanço nessa área —YOLO NAS eficiente e YOLOv10 da remoção visionária do NMS. No entanto, para os desenvolvedores que desejam criar aplicações robustas e preparadas para o futuro em 2026, Ultralytics oferece a vantagem definitiva. Ao combinar a arquitetura NMS do YOLOv10 dinâmicas de treinamento superiores, CPU mais rápida e o suporte incomparável do Ultralytics , o YOLO26 se destaca como a melhor escolha para profissionais de visão computacional.
Para aqueles interessados em explorar gerações estáveis anteriores, YOLO11 continua a ser uma alternativa totalmente suportada e altamente capaz.