NVIDIA Deepstream - MarianaMendanha/DeepstreamNvidia GitHub Wiki
Documentation | DeepStream On WSL ::: video
<iframe width="560" height="315" src="https://www.youtube.com/embed/m--Ls6lDo5o?si=rpfKLea4Hs1rQnQk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> :::TAO Toolkit Quick Start Guide ::: video
<iframe width="560" height="315" src="https://www.youtube.com/embed/p-_zW__bOFc?si=_pWYDDqJoIJe1Y0A" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> :::A NVIDIA DeepStream é uma plataforma poderosa para o desenvolvimento de soluções de visão computacional em tempo real, especialmente voltada para análises de vídeo em grande escala. A seguir, explicarei cada componente deste fluxo e como eles interagem dentro de uma aplicação DeepStream para IA.
Entrada de Sensores
A entrada de dados vem de várias fontes, como câmeras de vídeo, microfones ou sensores IoT. Essas fontes capturam dados brutos, como vídeo ou áudio, que precisam ser processados.Captura e Decodificação
Nesta fase, os dados capturados são decodificados em formatos utilizáveis pela IA. Aqui, a entrada é transformada em frames de vídeo que podem ser processados pelos pipelines da aplicação.Pré-processamento e Batching
Os dados decodificados são então pré-processados, que pode incluir redimensionamento de imagens, normalização ou outras técnicas de preparação de dados. Batching agrupa múltiplas amostras de dados para processá-las em paralelo, o que otimiza o desempenho da inferência da IA.Inferência de IA
Aqui é onde a IA entra em ação. O modelo de aprendizado de máquina (treinado previamente) realiza a inferência com base nos dados de entrada processados. Nesta fase, podem ser usados modelos de frameworks populares como TensorFlow, PyTorch, ou ONNX, além de modelos otimizados da NVIDIA que podem ser adaptados usando o TAO Toolkit.
A inferência é gerida pela plataforma Triton Inference Server, que oferece suporte a diversos modelos de IA e facilita a inferência de alto desempenho em escala.Tracking dos Objetos
Após a inferência, a aplicação DeepStream pode realizar o tracking (rastreamento) de objetos detectados em tempo real, mantendo um acompanhamento contínuo do movimento ou comportamento desses objetos através de múltiplos frames.Regras de Negócios e Análise
Nesta fase, regras específicas de negócio são aplicadas aos dados gerados pela inferência de IA. Isso pode incluir a detecção de eventos ou comportamentos específicos, análise de padrões e geração de insights em tempo real.Composição
A composição final dos dados ocorre após a análise, onde as informações processadas são formatadas para entrega ou exibição em sistemas de visualização, relatórios ou dashboards.
NGC (NVIDIA GPU Cloud)
A NGC oferece modelos pré-treinados otimizados para GPUs NVIDIA, prontos para serem adaptados e implantados em aplicações DeepStream. Esses modelos podem ser baixados e utilizados com modificações mínimas, facilitando o desenvolvimento de soluções avançadas de IA.TAO Toolkit
O TAO Toolkit permite que desenvolvedores ajustem e treinem modelos de IA otimizados da NVIDIA ou outros modelos pré-existentes. Ele simplifica a adaptação de modelos para tarefas específicas, fornecendo modelos prontos para produção.Modelos Open Source
O DeepStream oferece suporte a modelos open-source de frameworks populares, como TensorFlow, PyTorch e ONNX, proporcionando flexibilidade ao integrar diferentes tipos de redes neurais treinadas.Triton Inference Server
O Triton Inference Server é utilizado como o servidor de inferência, oferecendo suporte a diferentes frameworks de IA e permitindo a implantação de inferências de alta performance em larga escala.Protocolos de Mensageria
Após a inferência, os resultados podem ser enviados através de protocolos de mensageria (como MQTT, Kafka, RabbitMQ), permitindo a integração com outros sistemas ou análises adicionais. Esses protocolos facilitam a comunicação entre diferentes componentes do sistema, como armazenamento de dados ou servidores de análise.Deploy com Container Builder
Com o Container Builder, é possível implantar a aplicação de IA em qualquer infraestrutura, seja na nuvem ou localmente. Isso assegura a consistência em diferentes ambientes e facilita o escalonamento da aplicação.Rivermax
Rivermax é uma API da NVIDIA que otimiza a transmissão de vídeo em redes 100G Ethernet. Ela pode ser integrada ao DeepStream para reduzir a latência na transmissão de dados em tempo real, tornando as aplicações mais eficientes e responsivas.
Este fluxo descreve a maneira como a plataforma DeepStream pode ser usada para desenvolver, treinar e implantar aplicações de visão computacional em tempo real, integrando modelos de IA, realizando inferências e rastreamento de objetos com alto desempenho e flexibilidade.