Salta para o conteúdo

YOLO-NAS

Visão geral

Desenvolvido por Deci AI, YOLO-NAS é um modelo fundamental inovador de deteção de objectos. É o produto da tecnologia avançada de pesquisa de arquitetura neural, meticulosamente concebida para resolver as limitações dos modelos YOLO anteriores. Com melhorias significativas no suporte de quantização e na relação precisão-latência, o YOLO-NAS representa um grande salto na deteção de objectos.

Imagem de exemplo de modelo Visão geral de YOLO-NAS. YOLO-O NAS utiliza blocos sensíveis à quantização e quantização selectiva para um desempenho ótimo. O modelo, quando convertido para a sua versão quantizada INT8, regista uma queda de precisão mínima, uma melhoria significativa em relação a outros modelos. Estes avanços culminam numa arquitetura superior com capacidades de deteção de objectos sem precedentes e um desempenho excecional.

Características principais

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

Modelos pré-treinados

Experimenta o poder da deteção de objectos da próxima geração com os modelos YOLO-NAS pré-treinados fornecidos por Ultralytics. Estes modelos foram concebidos para proporcionar um desempenho de topo em termos de velocidade e precisão. Escolhe entre uma variedade de opções adaptadas às tuas necessidades específicas:

Modelo mAP Latência (ms)
YOLO-NAS S 47.5 3.21
YOLO-NAS M 51.55 5.85
YOLO-NAS L 52.22 7.87
YOLO-NAS S INT-8 47.03 2.36
YOLO-NAS M INT-8 51.0 3.78
YOLO-NAS L INT-8 52.1 4.78

Cada variante de modelo foi concebida para oferecer um equilíbrio entre a precisão média média (mAP) e a latência, ajudando-te a otimizar as tuas tarefas de deteção de objectos, tanto em termos de desempenho como de velocidade.

Exemplos de utilização

Ultralytics tornou os modelos YOLO-NAS fáceis de integrar nas tuas aplicações Python através do nosso ultralytics python pacote. O pacote fornece uma API Python de fácil utilização para simplificar o processo.

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

Exemplos de inferência e validação

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

Exemplo

Este exemplo fornece um código simples de inferência e validação para YOLO-NAS. Para tratar os resultados da inferência, consulta Prevê modo. Para utilizar YOLO-NAS com modos adicionais, consulta Val e Exportação. YOLO-NAS no ultralytics não apoia a formação.

PyTorch pré-treinado *.pt os ficheiros de modelos podem ser passados para o NAS() para criar uma instância de modelo em python:

from ultralytics import NAS

# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")

# Display model information (optional)
model.info()

# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")

# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI estão disponíveis para executar diretamente os modelos:

# Load a COCO-pretrained YOLO-NAS-s model and validate it's performance on the COCO8 example dataset
yolo val model=yolo_nas_s.pt data=coco8.yaml

# Load a COCO-pretrained YOLO-NAS-s model and run inference on the 'bus.jpg' image
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg

Tarefas e modos suportados

Oferecemos-te três variantes dos modelos YOLO-NAS: Pequeno (s), Médio (m) e Grande (l). Cada variante foi concebida para responder a diferentes necessidades computacionais e de desempenho:

  • YOLO-NAS-s: Otimizado para ambientes onde os recursos computacionais são limitados, mas a eficiência é fundamental.
  • YOLO-NAS-m: Oferece uma abordagem equilibrada, adequada para a deteção de objectos de uso geral com maior precisão.
  • YOLO-NAS-l: Adaptado para cenários que exigem a maior precisão, onde os recursos computacionais são menos limitados.

Segue-se uma descrição detalhada de cada modelo, incluindo ligações para os seus pesos pré-treinados, as tarefas que suportam e a sua compatibilidade com diferentes modos de funcionamento.

Tipo de modelo Pesos pré-treinados Tarefas suportadas Inferência Validação Formação Exportação
YOLO-NAS-s yoloNão te esqueças de que o teu nome é um nome de família. Deteção de objectos
YOLO-NAS-m yolo_nas_m.pt Deteção de objectos
YOLO-NAS-l yolo_nas_l.pt Deteção de objectos

Citações e agradecimentos

Se utilizares YOLO-NAS no teu trabalho de investigação ou desenvolvimento, por favor cita a SuperGradients:

@misc{supergradients,
      doi = {10.5281/ZENODO.7789328},
      url = {https://zenodo.org/record/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},
}

Expressamos a nossa gratidão à equipa SuperGradients de Deci AI pelos seus esforços na criação e manutenção deste valioso recurso para a comunidade de visão computacional. Acreditamos que o YOLO-NAS, com a sua arquitetura inovadora e capacidades superiores de deteção de objectos, se tornará uma ferramenta essencial para programadores e investigadores.

FAQ

O que é YOLO-NAS e como é que melhora em relação aos modelos anteriores YOLO ?

YOLO-NAS, desenvolvido por Deci AI, é um modelo de deteção de objectos de última geração que utiliza tecnologia avançada de pesquisa de arquitetura neural (NAS). Aborda as limitações dos modelos YOLO anteriores, introduzindo características como blocos básicos de fácil quantização e esquemas de formação sofisticados. Isto resulta em melhorias significativas no desempenho, particularmente em ambientes com recursos computacionais limitados. YOLO O -NAS também suporta quantização, mantendo alta precisão mesmo quando convertido para sua versão INT8, melhorando sua adequação para ambientes de produção. Para mais informações, consulta a secção Descrição geral.

Como posso integrar os modelos YOLO-NAS na minha aplicação Python ?

Podes integrar facilmente os modelos YOLO-NAS na tua aplicação Python utilizando o ultralytics pacote. Aqui está um exemplo simples de como carregar um modelo YOLO-NAS pré-treinado e realizar a inferência:

from ultralytics import NAS

# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")

# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")

# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

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

Quais são as principais características do YOLO-NAS e porque devo considerar a sua utilização?

YOLO-O NAS apresenta várias características chave que o tornam uma escolha superior para tarefas de deteção de objectos:

  • Bloco básico amigável à quantização: Arquitetura melhorada que melhora o desempenho do modelo com uma queda mínima de precisão após a quantização.
  • Treinamento e quantização sofisticados: Utiliza esquemas de formação avançados e técnicas de quantização pós-formação.
  • Otimização e pré-treino AutoNAC: Utiliza a otimização AutoNAC e é pré-treinado em conjuntos de dados proeminentes como COCO, Objects365 e Roboflow 100. Esses recursos contribuem para sua alta precisão, desempenho eficiente e adequação para implantação em ambientes de produção. Sabe mais na secção Características principais.

Que tarefas e modos são suportados pelos modelos YOLO-NAS?

YOLO-Os modelos NAS suportam várias tarefas e modos de deteção de objectos, tais como inferência, validação e exportação. Eles não suportam treinamento. Os modelos suportados incluem YOLO-NAS-s, YOLO-NAS-m, e YOLO-NAS-l, cada um adaptado a diferentes capacidades computacionais e necessidades de desempenho. Para obter uma visão geral detalhada, consulta a secção Tarefas e modos suportados.

Existem modelos YOLO-NAS pré-treinados disponíveis e como posso aceder-lhes?

Sim, Ultralytics fornece modelos YOLO-NAS pré-treinados aos quais podes aceder diretamente. Esses modelos são pré-treinados em conjuntos de dados como COCO, garantindo alto desempenho em termos de velocidade e precisão. Podes descarregar estes modelos utilizando as ligações fornecidas na secção Modelos pré-treinados. Aqui estão alguns exemplos:



Criado em 2023-11-12, Atualizado em 2024-07-04
Autores: glenn-jocher (13)

Comentários