Ultralytics YOLO27:
Get Started

YOLO-NAS#

Atualização importante

Observe que a Deci, criadora original do YOLO-NAS, foi adquirida pela NVIDIA. Como resultado, esses modelos não recebem mais manutenção ativa da Deci. A Ultralytics continua oferecendo suporte ao uso desses modelos, mas não se esperam novas atualizações da equipe original.

Visão geral#

Desenvolvido pela Deci AI, o YOLO-NAS é um modelo fundamental inovador para detecção de objetos. Ele é resultado da avançada tecnologia de busca de arquitetura neural, meticulosamente projetada para superar as limitações dos modelos YOLO anteriores. Com melhorias significativas no suporte à quantização e nas compensações entre precisão e latência, o YOLO-NAS representa um grande avanço na detecção de objetos.

Comparação da precisão do modelo YOLO-NAS no benchmark COCO Visão geral do YOLO-NAS. O YOLO-NAS usa blocos compatíveis com quantização e quantização seletiva para obter desempenho ideal. Quando convertido para sua versão quantizada INT8, o modelo sofre uma queda mínima de precisão, uma melhoria significativa em relação a outros modelos. Esses avanços resultam em uma arquitetura superior, com recursos inéditos de detecção de objetos e desempenho excepcional.

Principais funcionalidades#

  • Bloco básico compatível com quantização: o YOLO-NAS introduz um novo bloco básico compatível com quantização, abordando uma das limitações significativas dos modelos YOLO anteriores.
  • Treinamento e quantização sofisticados: o YOLO-NAS aproveita esquemas avançados de treinamento e quantização pós-treinamento para aprimorar o desempenho.
  • Otimização AutoNAC e pré-treinamento: o YOLO-NAS utiliza a otimização AutoNAC e é pré-treinado em conjuntos de dados de destaque, como COCO, Objects365 e Roboflow 100. Esse pré-treinamento o torna extremamente adequado para tarefas de detecção de objetos subsequentes em ambientes de produção.

Modelos pré-treinados#

Experimente o poder da detecção de objetos de última geração com os modelos YOLO-NAS pré-treinados fornecidos pela Ultralytics. Esses modelos foram projetados para oferecer desempenho de ponta em velocidade e precisão. Escolha entre várias opções adaptadas às suas necessidades específicas:

Desempenho
ModelomAPLatência (ms)
YOLO-NAS S47.53.21
YOLO-NAS M51.555.85
YOLO-NAS L52.227.87
YOLO-NAS S INT-847.032.36
YOLO-NAS M INT-851.03.78
YOLO-NAS L INT-852.14.78

Cada variante do modelo foi projetada para equilibrar precisão média média (mAP) e latência, ajudando você a otimizar suas tarefas de detecção de objetos em desempenho e velocidade.

Exemplos de uso#

A Ultralytics facilitou a integração dos modelos YOLO-NAS às suas aplicações Python por meio do pacote Python ultralytics. O pacote oferece uma API Python fácil de usar para simplificar o processo.

Os exemplos a seguir mostram como usar os modelos YOLO-NAS com o pacote ultralytics para inferência e validação:

Exemplos de inferência e validação#

Neste exemplo, validamos o YOLO-NAS-s no conjunto de dados COCO8.

Exemplo

Este exemplo apresenta código simples de inferência e validação para YOLO-NAS. Para processar os resultados da inferência, consulte o modo Predict. Para usar o YOLO-NAS com modos adicionais, consulte Val e Export. O YOLO-NAS no pacote ultralytics não oferece suporte a treinamento.

Os arquivos de modelo *.pt pré-treinados em PyTorch podem ser passados à classe NAS() para criar uma instância do modelo em Python:

from ultralytics import NAS

# Carregar um modelo YOLO-NAS-s pré-treinado no COCO
model = NAS("yolo_nas_s.pt")

# Exibir informações do modelo (opcional)
model.info()

# Validar o modelo no conjunto de dados de exemplo COCO8
results = model.val(data="coco8.yaml")

# Executar inferência com o modelo YOLO-NAS-s na imagem 'bus.jpg'
results = model("path/to/bus.jpg")

Tarefas e modos compatíveis#

Oferecemos três variantes dos modelos YOLO-NAS: Small (s), Medium (m) e Large (l). Cada variante foi projetada para atender a diferentes necessidades computacionais e de desempenho:

  • YOLO-NAS-s: otimizado para ambientes com recursos computacionais limitados, nos quais a eficiência é essencial.
  • YOLO-NAS-m: oferece uma abordagem equilibrada, adequada para detecção de objetos de uso geral com maior precisão.
  • YOLO-NAS-l: desenvolvido para cenários que exigem a máxima precisão, nos quais os recursos computacionais são menos limitados.

Abaixo está uma visão geral detalhada de cada modelo, incluindo links para seus pesos pré-treinados, as tarefas compatíveis e a compatibilidade com diferentes modos de operação.

Tipo de modeloPesos pré-treinadosTarefas suportadasTreinamentoValidaçãoInferênciaExportar
YOLO-NAS-syolo_nas_s.ptDeteção de objetos❌✅✅✅
YOLO-NAS-myolo_nas_m.ptDeteção de objetos❌✅✅✅
YOLO-NAS-lyolo_nas_l.ptDeteção de objetos❌✅✅✅

Citações e agradecimentos#

Se você usar YOLO-NAS em seu trabalho de pesquisa ou desenvolvimento, cite o SuperGradients:

Citação
@misc{supergradients,
      doi = {10.5281/ZENODO.7789328},
      url = {https://zenodo.org/records/7789328},
      author = {Aharon,  Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova,  Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya,  Eugene and Rubin,  Ran and Bagrov,  Natan and Tymchenko,  Borys and Keren,  Tomer and Zhilko,  Alexander and {Eran-Deci}},
      title = {Super-Gradients},
      publisher = {GitHub},
      journal = {GitHub repository},
      year = {2021},
}

Agradecemos à equipe SuperGradients da Deci AI por seus esforços para criar e manter esse valioso recurso para a comunidade de visão computacional. Acreditamos que o YOLO-NAS, com sua arquitetura inovadora e recursos superiores de detecção de objetos, se tornará uma ferramenta essencial tanto para desenvolvedores quanto para pesquisadores.

Perguntas frequentes#

  • O YOLO-NAS, desenvolvido pela Deci AI, é um modelo de detecção de objetos de última geração que aproveita a avançada tecnologia de busca de arquitetura neural (NAS). Ele aborda as limitações dos modelos YOLO anteriores ao introduzir recursos como blocos básicos compatíveis com quantização e esquemas sofisticados de treinamento. Isso resulta em melhorias significativas de desempenho, especialmente em ambientes com recursos computacionais limitados. O YOLO-NAS também oferece suporte à quantização, mantendo alta precisão mesmo quando convertido para sua versão INT8, o que o torna mais adequado para ambientes de produção. Para saber mais, consulte a seção Visão geral.

  • Você pode integrar facilmente os modelos YOLO-NAS à sua aplicação Python usando o pacote ultralytics. Veja um exemplo simples de como carregar um modelo YOLO-NAS pré-treinado e executar a inferência:

    from ultralytics import NAS
    
    # Carregar um modelo YOLO-NAS-s pré-treinado no COCO
    model = NAS("yolo_nas_s.pt")
    
    # Validar o modelo no conjunto de dados de exemplo COCO8
    results = model.val(data="coco8.yaml")
    
    # Executar inferência com o modelo YOLO-NAS-s na imagem 'bus.jpg'
    results = model("path/to/bus.jpg")

    Para mais informações, consulte Exemplos de inferência e validação.

  • O YOLO-NAS introduz vários recursos importantes que o tornam uma opção superior para tarefas de detecção de objetos:

    • Bloco básico compatível com quantização: arquitetura aprimorada que melhora o desempenho do modelo com uma queda mínima de precisão após a quantização.
    • Treinamento e quantização sofisticados: emprega esquemas avançados de treinamento e técnicas de quantização pós-treinamento.
    • Otimização AutoNAC e pré-treinamento: utiliza a otimização AutoNAC e é pré-treinado em conjuntos de dados de destaque, como COCO, Objects365 e Roboflow 100.

    Esses recursos contribuem para sua alta precisão, seu desempenho eficiente e sua adequação à implantação em ambientes de produção. Saiba mais na seção Principais recursos.

  • Os modelos YOLO-NAS são compatíveis com várias tarefas e modos de deteção de objetos, como inferência, validação e exportação. Não são compatíveis com treino. Os modelos compatíveis incluem YOLO-NAS-s, YOLO-NAS-m e YOLO-NAS-l, cada um adaptado a diferentes capacidades computacionais e necessidades de desempenho. Para uma visão geral detalhada, consulta a secção Tarefas e modos compatíveis.

  • Sim, a Ultralytics disponibiliza modelos YOLO-NAS pré-treinados a que podes aceder diretamente. Estes modelos são pré-treinados em conjuntos de dados como COCO, garantindo um elevado desempenho tanto em velocidade como em precisão. Podes transferir estes modelos através das ligações fornecidas na secção Modelos pré-treinados. Aqui estão alguns exemplos:

Comentários