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.