Saltar 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 de uma avançada tecnologia 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 Descriçã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.

Caraterí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 .
  • Formação e quantização sofisticadas: YOLO-NAS utiliza esquemas de formação avançados e quantização pós-formação 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

Experimente 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. Escolha entre uma variedade de opções adaptadas às suas 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-o a otimizar as suas 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 suas 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, ver Prever modo. Para utilizar YOLO-NAS com modos adicionais, ver Val e Exportação. YOLO-NAS no ultralytics O pacote 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 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: Optimizado 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 visão geral 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 yolo_nas_s.pt 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 utilizar YOLO-NAS no seu trabalho de investigação ou desenvolvimento, cite 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 caraterí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 a quantização, mantendo uma elevada precisão mesmo quando convertido para a sua versão INT8, aumentando a sua adequação a ambientes de produção. Para mais informações, consulte a secção Descrição geral.

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

Pode integrar facilmente os modelos YOLO-NAS na sua aplicação Python utilizando o ultralytics pacote. Eis um exemplo simples de como carregar um modelo YOLO-NAS pré-treinado e efetuar 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 obter mais informações, consulte os Exemplos de inferência e validação.

Quais são as principais caraterísticas do YOLO-NAS e por que razão devo considerar a sua utilização?

YOLO-O NAS apresenta várias caraterí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. Saiba mais na secção Caraterí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, consulte a secção Tarefas e modos suportados.

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

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

📅C riado há 1 ano ✏️ Atualizado há 1 mês

Comentários