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.

Palavras-chave: YOLO-NAS, Deci AI, deteção de objectos, aprendizagem profunda, pesquisa de arquitetura neural, Ultralytics Python API, modelo YOLO , SuperGradients, modelos pré-treinados, bloco básico de fácil quantização, esquemas de formação avançados, quantização pós-treino, otimização AutoNAC, COCO, Objects365, Roboflow 100



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

Comentários