Ultralytics YOLO27
Os modelos YOLO27 estão na fase final de R&D, com lançamento previsto para o final deste ano. Os modelos ainda não estão disponíveis e não foi definida uma data de lançamento. Esta página apresenta uma prévia dos próximos modelos; as funcionalidades e os benchmarks podem mudar antes do lançamento. Os exemplos de código abaixo destinam-se a ser usados quando os modelos e o suporte do pacote forem lançados e não funcionarão com o pacote público atual. Os pesos dos modelos, as configurações e o código de implementação não estão a ser disponibilizados neste momento. Inscreve-te na lista de espera do YOLO27 para seres dos primeiros a saber quando for lançado.
Visão geral#
O Ultralytics YOLO27 é uma família de modelos de visão em tempo real cujos modelos de deteção usam dois designs complementares: uma arquitetura CNN simplificada para os modelos compactos N e S e uma arquitetura baseada em consultas, sem NMS, para os modelos maiores M e L. Ambos os designs são implementados através da mesma interface. Os modelos de deteção N e S usam por predefinição a cabeça one-to-many com NMS; usa nms=False para selecionar a cabeça sem NMS.
YOLO27 é a próxima família de modelos da série Ultralytics YOLO, sucedendo o YOLO26. Está disponível em quatro tamanhos — N, S, M e L — e oferece suporte a detecção de objetos, segmentação de instâncias, segmentação semântica, estimativa de profundidade, classificação, estimativa de pose e detecção de objetos orientados. A divisão em dois projetos se aplica à detecção, à segmentação de instâncias e à estimativa de pose. A segmentação semântica, a estimativa de profundidade, a classificação e a detecção de objetos orientados usam a arquitetura CNN.
Nas suas quatro escalas de detecção, YOLO27 alcança 42.6-60.5 mAP no COCO com latência de 0.44-1.86 ms em uma NVIDIA RTX PRO 6000 — e até 61.4 mAP com YOLO27l em uma entrada maior, de 800 pixels. YOLO27l é o primeiro modelo da Ultralytics a superar 60 mAP no COCO, enquanto os modelos compactos YOLO27n/s superam a precisão de YOLO26n/s praticamente com a mesma velocidade.
from ultralytics import YOLO
model = YOLO("yolo27n.pt") # carrega um modelo YOLO27n pré-treinado
results = model("path/to/bus.jpg") # executa a inferênciaPrincipais funcionalidades#
-
Detecção em duas escalas Detectores padrão preveem objetos em três mapas de características — fino, médio e grosso. YOLO27 N e S descartam o mapa médio e fazem previsões apenas em um mapa fino (para objetos pequenos) e um mapa grosso (para objetos grandes), com uma escala fixa nas características combinadas que mantém as duas escalas equilibradas. Isso elimina uma parte substancial dos cálculos da cabeça de detecção, tornando os modelos mais rápidos e mantendo a confiabilidade do treinamento do design completo de três escalas.
-
Detecção aprimorada de objetos pequenos O estágio inicial de alta resolução é ampliado para capturar mais detalhes refinados. Combinado com o mapa de predição fina preservado, isso melhora a localização e a regressão de objetos pequenos — a categoria mais difícil para modelos compactos.
-
Supervisão de alinhamento do primeiro plano Durante o treinamento, um ramo leve adicional aprende a distinguir "objeto" de "plano de fundo" em cada localização. Ele foi projetado para reduzir a diferença entre a supervisão mais densa de muitos para um usada durante o treinamento e a cabeça de um para um que gera as predições finais — reduzindo essa diferença de precisão de 0.9/0.8 mAP no YOLO26n/s para apenas 0.4 mAP no YOLO27n/s, para que a cabeça de um para um implantada mantenha quase toda a precisão obtida durante o treinamento. O ramo é usado apenas durante o treinamento e é removido na inferência e na exportação, portanto não tem custo na implantação.
-
Detecção baseada em consultas sem NMS Os modelos maiores substituem a predição densa por um decodificador transformer que refina um conjunto fixo de consultas de objetos e gera diretamente as detecções finais — sem necessidade de pós-processamento com supressão não máxima. YOLO27m e YOLO27l combinam esse decodificador com um backbone UltraViT que usa autoatenção no estágio mais profundo para capturar o contexto global, seguido por um pescoço FPN/PAN.
-
Uma interface simples Ambas as arquiteturas são usadas pela mesma interface Python
YOLO. O pipeline adequado de treinamento, validação, predição e exportação é selecionado automaticamente com base no modelo, então o código escrito para uma escala do YOLO27 funciona sem alterações nas demais.
Qual YOLO27 devo usar?#
As orientações a seguir servem para escolher um modelo quando o YOLO27 for lançado. Para projetos atuais, usa o YOLO26.
- YOLO27n / YOLO27s — dispositivos de borda, drones e vídeo em tempo real: os modelos mais rápidos da família, com detecção aprimorada de objetos pequenos graças ao design de escala dupla. Consulta NVIDIA Jetson e Raspberry Pi para ver as opções de implantação específicas de cada dispositivo.
- YOLO27m — o equilíbrio ideal entre precisão e velocidade em GPUs: supera a precisão do YOLO26m com latência comparável, sendo a opção padrão para implantação em GPU em produção.
- YOLO27l — aplicações em que a precisão é essencial: o primeiro modelo da Ultralytics acima de 60 mAP no COCO, alcançando 61.4 mAP com um tamanho de entrada maior e mantendo o desempenho em tempo real na GPU.
Para comparar com outras famílias, consulta todos os modelos da Ultralytics. Para medir o equilíbrio entre precisão e velocidade no teu próprio hardware, em vez de no nosso, consulta o modo Benchmark.
Tarefas e modos compatíveis#
A tabela a seguir apresenta uma prévia da compatibilidade planejada com tarefas e modos nas quatro escalas de modelos YOLO27. As marcas de seleção indicam a compatibilidade prevista no lançamento, não a disponibilidade pública atual; todos os arquivos de modelo listados ainda não foram lançados.
| Modelo | Nomes de arquivo | Tarefa | Treinamento | Validação | Inferência | Exportar |
|---|---|---|---|---|---|---|
| YOLO27 | yolo27n.pt yolo27s.pt yolo27m.pt yolo27l.pt | Detecção | ✅ | ✅ | ✅ | ✅ |
| YOLO27-seg | yolo27n-seg.pt yolo27s-seg.pt yolo27m-seg.pt yolo27l-seg.pt | Segmentação de instâncias | ✅ | ✅ | ✅ | ✅ |
| YOLO27-sem | yolo27n-sem.pt yolo27s-sem.pt yolo27m-sem.pt yolo27l-sem.pt | Segmentação semântica | ✅ | ✅ | ✅ | ✅ |
| YOLO27-depth | yolo27n-depth.pt yolo27s-depth.pt yolo27m-depth.pt yolo27l-depth.pt | Estimativa de profundidade | ✅ | ✅ | ✅ | ✅ |
| YOLO27-cls | yolo27n-cls.pt yolo27s-cls.pt yolo27m-cls.pt yolo27l-cls.pt | Classificação | ✅ | ✅ | ✅ | ✅ |
| YOLO27-pose | yolo27n-pose.pt yolo27s-pose.pt yolo27m-pose.pt yolo27l-pose.pt | Pose/Pontos-chave | ✅ | ✅ | ✅ | ✅ |
| YOLO27-obb | yolo27n-obb.pt yolo27s-obb.pt yolo27m-obb.pt yolo27l-obb.pt | Detecção orientada | ✅ | ✅ | ✅ | ✅ |
Os modelos YOLO27 Detect, Segment, Pose e OBB também funcionam com o modo Track, que é executado sobre o modo predict para rastrear vários objetos entre quadros de vídeo.
A detecção, a segmentação de instâncias e a estimativa de pose do YOLO27 usam dois projetos sob uma única interface: as escalas N e S usam a arquitetura CNN, enquanto as escalas M e L usam a arquitetura baseada em consultas, sem NMS. A segmentação semântica, a estimativa de profundidade, a classificação e a detecção de objetos orientados usam a arquitetura CNN.
Métricas de desempenho#
A precisão da detecção é informada no conjunto de validação COCO. Consulte Métricas de desempenho do YOLO para ver explicações sobre mAP, precisão e revocação. Para avaliar a precisão além do COCO, consulte o Benchmark da Ultralytics, que mede o mAP50-95 macro em 37 conjuntos de dados de detecção do mundo real, abrangendo imagens médicas, sensoriamento remoto, aplicações industriais, varejo e muito mais. A velocidade de inferência é medida em uma NVIDIA RTX PRO 6000 (TensorRT 11, FP16) para GPU e em um AMD EPYC 9655 (ONNX Runtime, FP32) para CPU. Após o lançamento, os valores de precisão podem ser reproduzidos com yolo val model=yolo27n.pt data=coco.yaml imgsz=640 nms=False save_json=True. As tabelas de detecção, segmentação de instâncias e pose usam o cabeçote sem NMS e a avaliação COCO. A validação de pose N/S usa lotes retangulares (rect=True).
Estes resultados de pesquisa podem mudar durante a fase final de P&D. Os pesos públicos e as instruções para reproduzir os resultados serão disponibilizados junto com o lançamento.
Consulta Documentação de detecção para ver exemplos de uso destes modelos treinados no COCO, que incluem 80 classes pré-treinadas. A tabela usa uma entrada de 640 pixels; a visão geral também apresenta o YOLO27l com 800 pixels.
| Modelo | tamanho (pixels) | mAPval50-95 | Velocidade CPU ONNX (ms) | Velocidade RTX PRO 6000 TensorRT11 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO27n | 640 | 42.6 | 16.1 ± 1.6 | 0.44 ± 0.00 | 3.0 | 7.2 |
| YOLO27s | 640 | 50.1 | 33.2 ± 0.1 | 0.64 ± 0.00 | 11.8 | 28.2 |
| YOLO27m | 640 | 56.4 | 74.8 ± 0.5 | 1.01 ± 0.00 | 24.6 | 64.6 |
| YOLO27l | 640 | 60.5 | 149.6 ± 1.4 | 1.86 ± 0.00 | 72.3 | 166.7 |
Os valores de Params e FLOPs são referentes ao modelo fundido após a fusão de Conv/BatchNorm e a remoção do ramo de detecção não utilizado. As medições de detecção, segmentação de instâncias e pose selecionam o cabeçote sem NMS com nms=False; a precisão de N/S depende do cabeçote selecionado. Os FLOPs incluem multiplicações de matrizes de atenção do decodificador. Os checkpoints pré-treinados mantêm a arquitetura completa de treinamento e podem apresentar contagens maiores.
Exemplos de uso#
Esta seção apresenta exemplos simples de treinamento e inferência com YOLO27. Para conjuntos de dados personalizados, consulte as dicas para obter os melhores resultados de treinamento e o guia de ajuste de hiperparâmetros.
O exemplo abaixo é para modelos YOLO27 Detect de detecção de objetos.
Os modelos *.pt pré-treinados de PyTorch, assim como os ficheiros de configuração *.yaml, podem ser passados para a classe YOLO() para criar uma instância do modelo em Python:
from ultralytics import YOLO
# Carrega um modelo YOLO27n pré-treinado no COCO
model = YOLO("yolo27n.pt")
# Executa a inferência com o modelo YOLO27n na imagem 'bus.jpg'
results = model("path/to/bus.jpg")
# Treina o modelo no conjunto de dados de exemplo COCO8 durante 100 épocas
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Perguntas frequentes#
- Deteção em duas escalas (N/S): elimina o mapa de predição médio para obter uma cabeça mais rápida, com precisão competitiva
- Deteção melhorada de objetos pequenos (N/S): uma fase inicial de características mais ampla melhora a localização de objetos pequenos
- Supervisão de alinhamento do primeiro plano (N/S): reduz a diferença de precisão entre um-para-muitos e um-para-um de 0.9/0.8 mAP no YOLO26n/s para 0.4 mAP no YOLO27n/s, sem custo de inferência
- Deteção sem NMS baseada em consultas (M/L): um descodificador Transformer produz diretamente as deteções finais
- Uma interface simples: ambas as arquiteturas são executadas através da mesma classe
YOLO
Ainda não — YOLO27 ainda não foi lançado. Continua a usar YOLO26 nos projetos atuais. Os resultados preliminares mostram maior precisão em todos os tamanhos de modelo, com o YOLO27l a ultrapassar 60 mAP no COCO. Avalia os modelos finais lançados com a tua carga de trabalho antes de migrar.
Após o lançamento, o YOLO27 deverá usar a mesma classe
YOLOe a mesma API de train/val/predict/export do YOLO26 — o pipeline correto (CNN ou baseado em consultas) é selecionado automaticamente a partir do modelo. Trocaryolo26n.ptporyolo27n.pté a alteração prevista na seleção do modelo assim que o suporte e os pesos do YOLO27 estiverem disponíveis.A maioria dos detetores faz predições em três mapas de características com diferentes resoluções. YOLO27 N e S mantêm o mapa fino, de que os objetos pequenos dependem, e o mapa grosseiro, necessário para objetos grandes, e ignoram o mapa médio. Isto reduz uma parte significativa do cálculo da cabeça de deteção, e as melhorias de treino acima mantêm competitivo o equilíbrio entre precisão e latência.
YOLO27l é o primeiro modelo da Ultralytics a superar 60 mAP no COCO, alcançando 60.5 mAP com entrada de 640 pixels (1.9 ms em uma NVIDIA RTX PRO 6000) e 61.4 mAP com entrada de 800 pixels (2.4 ms). Ele combina o backbone UltraViT, fusão de recursos multiescala e um detector baseado em consultas que produz as detecções finais diretamente, sem NMS.
YOLO27 está na fase final de I&D, com lançamento previsto para o final deste ano. Ainda não foi definida uma data de lançamento. Os pesos do modelo e o código de implementação ainda não estão disponíveis publicamente.
Quando YOLO27 for lançado, consulta o Quickstart para instalar ou atualizar o pacote
ultralyticse, em seguida, carrega um modelo como mostrado abaixo. Este exemplo destina-se a ser usado após o lançamento:from ultralytics import YOLO # Carrega um modelo YOLO27 nano pré-treinado model = YOLO("yolo27n.pt") # Executa a inferência numa imagem results = model("image.jpg")Consulta Exemplos de utilização para ver exemplos de treino e inferência ou os guias de Val e Export para esses modos.
Comentários9
Faz uma pergunta, partilha os teus resultados ou ajuda alguém.
sergshadrap
Guys! You are doing incredible job , The thing I'd asked for is the total size for running model. When we speak about small devices embedded solutions that the -n model is intended to the size is very limited by the SoC properties and that is though to predict if it fits to the board or not. I think pointing the size is also important along the performance metrics for tiny models. Thanks again!
Paula DerrengerUltralyticsThanks from the Ultralytics team and YOLO community—good suggestion. The preview lists
YOLO27nat 3.0M parameters, but actual storage and runtime memory depend on the export format, precision, input size, and backend; exact measurements cannot be published until the models are released. We’ll consider adding artifact-size and memory benchmarks to the YOLO27 documentation, and please keep sharing embedded-device requirements here for team visibility.sergshadrap
Thanks for you! Definitely nobody will ask about exact sizes of the models. What I meant is that most of the camera's SoCs ( for instance) we can split for three major segments, where the middle one is about Arm 1Ggz , 16m flash, and 128m Ram, the high is everything that has more advanced scu with multicores ,spaced flash and Ram and definitely folds more expensive and the low that everything below that. Trying to fit yolo26 to the gk7205v300 that exactly the middle one was a challenge even quantitized to 8. So ... what about the v27? Does it belong to the high-end only or I can try it for the middle one?
Paula DerrengerUltralyticsYOLO27nis intended for edge devices, so it is not high-end-only; its preliminary 3.0M parameters suggest INT8 weights around 3 MB, but 128 MB RAM may still be the limiting factor because activations and backend buffers depend on input size and runtime. For the GK7205V300, consider it a plausible target—not a confirmed fit—until the released model can be exported, profiled at reducedimgsz, and benchmarked on-device;YOLO27m/lare unlikely choices for those constraints. Please keep sharing your embedded results in this discussion so the Ultralytics team can track them alongside the YOLO27 documentation.
Mohammed YasinUltralytics@sergshadrap How's the performance of YOLO26 on such SoCs? Because if it's too big to fit the SoC, then isn't it also too heavy to run? You can always reduce the size of the YOLO models by modifying the YAML file and removing some layers or reducing channels.
sergshadrap
Yeah , that is quite heavy stuff for 1 core 0.9 Ghz SoC , but I have it run . The most stable and sensible (for object recognition) configuration turns to be fp16 288x384 nano , that goes about 0.8 fps in continues run . That's pretty slow , but enough for my current cascade version, where IVE hardware detector is catching "something" and yolo refine the output. Would be glad to get a hint - how to reduce size and reduce layers/ channels. Now I'm on ncnn export tools , so it seems there is no fp8 variant for that tool? Forth to mention I'm on OpenIpc firmware and the majestic additionally quite a leaky guy , so with 128M of memory for all we're on the floor..
Mohammed YasinUltralytics(editado)You can create a copy of this YAML and reduce the float values. Lowering width (the second float value) brings the biggest drop in model file size. Of course, all of these also reduces accuracy. The modified YAML can be loaded and used with
model = YOLO("path/to/yaml")The ending suffix letter like
ndetermines which of the scale values are used from this YAML.sergshadrap
If only I change the model , do I need to re-train the model completely or I could move the weights from existing with some algorithm?
Mohammed YasinUltralyticsYou have to retrain since model structure changes when you do this