O YOLO-NAS é o auge dos modelos de detecção de objetos da série YOLO. Mas por que é considerado o melhor?

Depois do YOLOv8, ainda existe um novo e melhor modelo de detecção de objetos de última geração, o YOLO-NAS. É um algoritmo de detecção de objetos desenvolvido pela Deci AI para lidar com as limitações dos modelos YOLO (You Only Look Once) anteriores.

O modelo é construído a partir do AutoNAC, um mecanismo de pesquisa de arquitetura neural. Ele supera a velocidade e o desempenho dos modelos SOTA, que apresentam um grande salto na detecção de objetos, melhorando as compensações de suporte de precisão-latência e quantização.

Este artigo discutirá os pontos fortes e os recursos do YOLO-NAS, explorando por que ele é o melhor modelo de detecção de objetos da série YOLO.

Entendendo como o YOLO-NAS funciona

O AutoNAC (Automated Neural Architecture Construction) da Deci gera a arquitetura do YOLO-NAS. AutoNAC é um processo contínuo que fornece um aumento de desempenho para redes neurais profundas existentes.

O pipeline AutoNAC usa uma rede neural profunda treinada pelo usuário como entrada, um conjunto de dados e acesso a um sistema de inferência. A rede neural profunda treinada pelo usuário é reprojetada usando o pipeline. Uma arquitetura otimizada com menor latência é alcançada sem comprometer a precisão.

YOLO-NAS usa RepVGG. O RepVGG o disponibiliza para otimização pós-treinamento por reparametrização ou Quantização pós-treinamento. É um tipo de arquitetura de rede neural baseada em VGG. Ele usa técnicas de regularização projetadas para aprimorar a capacidade de generalização dos modelos de aprendizado profundo.

O design da arquitetura é mais eficiente em velocidade e memória. O RepVGG passa por treinamento usando uma arquitetura multibranch para obter uma inferência mais rápida. Em seguida, é convertido em uma única ramificação usando a reparametrização.

Esse recurso torna o YOLO-NAS muito útil para implantação de produção. Isso porque é possível treinar e otimizar o modelo com total precisão para velocidade de inferência e uso de memória.

Principais recursos do YOLO-NAS

Os principais recursos do YOLO-NAS incluem o seguinte:

  • Treinamento de reconhecimento de quantização: O modelo usa QSP e QCI (módulos com reconhecimento de quantização) para reduzir a perda de precisão durante a quantização pós-treinamento, combinando a reparametrização da quantização de 8 bits.
  • Projeto de arquitetura automática: AutoNAC, a tecnologia NAS proprietária da Deci procura uma arquitetura de modelo ideal que integra as arquiteturas de modelos YOLO fundamentais para criar um modelo otimizado.
  • Técnica de quantização híbrida: O método de quantização padrão afeta todo o modelo. Em contraste, a técnica de quantização híbrida quantifica uma seção de um modelo para equilibrar a latência e a precisão do modelo.
  • Use abordagens exclusivas para preparar o modelo para treinamento usando dados rotulados automaticamente. O modelo então aprende com suas previsões e acessa grandes quantidades de dados.

Análise Comparativa: YOLO-NAS vs Outros Modelos YOLO

Abaixo está uma comparação entre vários modelos da série YOLO.

O YOLO-NAS é melhor do que os modelos de detecção de objetos pré-existentes, mas vem com seus contras. Aqui está uma lista dos benefícios e deméritos do YOLO-NAS:

Prós

  • É de código aberto.
  • É 10-20% mais rápido que os modelos YOLO pré-existentes.
  • É mais preciso em comparação com os modelos YOLO pré-existentes.
  • Ele usa uma arquitetura melhor, AutoNAC. Isso estabelece um novo recorde na detecção de objetos, fornecendo o melhor desempenho de compensação de latência e precisão.
  • Suporte contínuo para mecanismos de inferência como NVIDIA. Esse recurso o torna um modelo pronto para produção.
  • Tem melhor eficiência de memória e maior velocidade de inferência.

Contras

  • Ainda não é estável, pois a tecnologia ainda é nova e não foi amplamente utilizada na produção.

Implementação de YOLO-NAS

você vai usar Google Colab para escrever e executar os códigos nesta implementação. Uma alternativa para o Google Colab seria criar um ambiente virtual e use um IDE em sua máquina local.

O modelo é muito intensivo em recursos. Certifique-se de ter pelo menos 8 GB de RAM antes de executá-lo em sua máquina. Quanto maior o tamanho do vídeo, mais memória ele usa.

Instalando Dependências

Instale a dependência YOLO-NAS, supergradientes usando o comando abaixo:

pip instalar super-gradientes ==3.1.2

Após uma instalação bem-sucedida, você poderá treinar o modelo YOLO-NAS.

Modelo de Treinamento

Para treinar o modelo, execute o bloco de código abaixo:

de super_gradients.training importar modelos
yolo_nas_l = modelos.get("yolo_nas_l", pesos_pré-treinados="coco")

Você está importando o modelo de treinamento da biblioteca SuperGradients instalada neste código. Você está usando os pesos de modelo pré-treinados do conjunto de dados COCO.

Inferência de modelo

A inferência de modelos tem aplicações potenciais para tarefas de detecção, classificação e segmentação de imagens.

Neste caso, você se concentrará no tarefa de detecção de objetos para vídeos e imagens. Para detectar um objeto em uma imagem, execute o bloco de código abaixo:

URL = "caminho_img"
yolo_nas_l.predict (url, conf=0.25).mostrar()

Certifique-se de usar o caminho exato para sua imagem. Nesse caso, faça o upload da imagem no ambiente do Google Colab e copie o caminho da imagem.

Saída esperada:

Para detectar objetos em um vídeo, execute o bloco de código abaixo:

importar tocha

input_video_path = "path_to_video"
output_video_path = "detectado.mp4"
dispositivo = 'cuda'se tocha.cuda.is_available() outro"CPU"
yolo_nas_l.to (dispositivo).predict (input_video_path).save (output_video_path)

Assim como os dados da imagem, carregue o vídeo que deseja que seus objetos sejam detectados no ambiente do Google Colab e copie o caminho para a variável de vídeo. O vídeo previsto estará acessível no ambiente Google Colab usando o nome detectado.mp4. Baixe o vídeo para sua máquina local antes de terminar sua sessão.

Saída esperada:

O YOLO-NAS também oferece suporte ao ajuste fino do modelo e treinamento em dados personalizados. A documentação está disponível em Deci caderno inicial de ajuste fino.

Aplicações do mundo real de YOLO-NAS

O código-fonte do YOLO-NAS é acessível sob a licença Apache 2.0, que é acessível para uso não comercial. Para uso comercial, o modelo deve passar por um retreinamento do zero para obter pesos personalizados.

É um modelo versátil cuja aplicação é possível em diversos campos, tais como:

Veículos Autônomos e Robótica

O YOLO-NAS pode melhorar as capacidades de percepção de veículos autônomos, permitindo que eles detectem e rastreiem objetos com mais rapidez e precisão em tempo real. Esta capacidade ajuda a garantir a segurança rodoviária e uma experiência de condução suave.

Sistemas de Vigilância e Segurança

O modelo pode fornecer detecção de objetos rápida, precisa e em tempo real para vigilância e segurança sistemas, o que ajuda a identificar possíveis ameaças ou atividades suspeitas, resultando em melhor segurança sistemas

Varejo e gestão de estoque

O modelo pode fornecer recursos de detecção de objetos rápidos e precisos que permitem gerenciamento de inventário automatizado eficiente e em tempo real, rastreamento de estoque e otimização de prateleira. Este modelo ajuda a reduzir os custos operacionais e aumentar os lucros.

Cuidados de saúde e imagens médicas

Na área da saúde, o YOLO-NAS é capaz de ajudar na detecção e análise eficientes de anomalias de doenças ou áreas específicas de interesse. O modelo pode ajudar médicos a diagnosticar com precisão doenças e monitorar pacientes, melhorando assim o setor de saúde.

YOLO-NAS Takeaway

YOLO-NAS é um novo modelo de detecção de objetos pioneiro em uma nova maneira de realizar a detecção de objetos. É melhor que os modelos SOTA. Seu desempenho na detecção de objetos é um grande salto para projetos de visão computacional.