E foi lançado o Savant 0.2.5 com base no NVIDIA DeepStream 6.3 SDK, e mais. Confira os detalhes dessa atualização.
Savant é um framework de análise de vídeo que facilita o uso do NVIDIA DeepStream para resolver problemas de aprendizado de máquina.
Ele cuida de todo o trabalho com GStreamer ou FFmpeg, permitindo que você se concentre na criação de pipelines de saída otimizados usando sintaxe declarativa (YAML) e funções Python.
O Savant oculta todos os componentes internos do Gstreamer do desenvolvedor e fornece ferramentas práticas para implementar aplicativos de IA de streaming na vida real.
Ele usa o modelo Nvidia PeopleNet padrão para detectar pessoas e seus rostos e, especialmente em locais onde se aplicam os regulamentos de privacidade, a estrutura permite rastrear e desfocar os rostos.
Agora, foi anunciado o lançamento do Savant 0.2.5, na qual novas funcionalidades foram integradas e os casos de uso deste grande framework foram ampliados.
Novidades do Savant 0.2.5
Nesta nova versão do Savant 0.2.5, como já mencionado, a principal novidade é a base no novo NVIDIA DeepStream 6.3 SDK, que inclui correções de bugs e melhorias na codificação de vídeo.
E com a nova versão, o codificador JPEG agora suporta codificação assistida por dGPU, já que nas versões anteriores o codificador JPEG era baseado em software. Corrigido problema do codificador H.264.
Em relação às melhorias nas ferramentas de desenvolvedor, destaca-se que o Savant agora é compatível com OpenTelemetry, que permite instrumentar cada quadro processado por um pipeline, além de permitir traçar o perfil do código, atribuir registros e atributos aos traces, e analisar erros e gargalos no pipeline.
O Savant 0.2.5 destaca um SDK cliente síncrono e assíncrono que pode ser usado para desenvolver testes unitários, testes de integração completos e adaptadores personalizados.
Além disso, também é destacado que o Savant agora possui um script útil para ingerir vídeos ou imagens no pipeline diretamente do ambiente de desenvolvimento, sem a necessidade de iniciar adaptadores separados.
Por outro lado, destaca-se o novo adaptador para processamento de dados utilizando Kafka/Redis, que permite o processamento escalável necessário para lidar com muitos fluxos em ambientes escaláveis e de alta carga. Adaptadores lidam com metadados com Kafka e vídeo c
Também um adaptador de teste de origem multi-stream, que permite medir o desempenho de pipelines e ajustar parâmetros, implementamos um adaptador utilitário que ingere múltiplos streams no pipeline.
O adaptador pode criar uma carga de trabalho paralela desejada para ajudar a entender como o pipeline se comporta sob a carga de trabalho e descobrir as configurações de desempenho ideais.
Das outras mudanças que se destacam nesta nova versão do Savant 0.2.5, temos:
- Python SDK para desenvolver seus próprios adaptadores.
- O adaptador de streaming de vídeo RTSP tem a capacidade de processar vários streams simultaneamente.
- Codificação HEVC para câmeras GigE industriais, com a qual os fluxos recuperados de câmeras GigE Vision podem ser codificados com HEVC e enviados com canais de banda estreita, se necessário.
- Reidentificação facial usando YOLOV8-Face, AdaFace e HNSWlib.
- Previsão de gênero e idade com base em YOLOV8-Face, MobileNet V2.
- Segmentação de instâncias em tempo real (mais de 100 FPS) com base em YOLOV8M-Seg.
- 14 relatórios de bugs foram fechados.
Foi feita uma transição de um protocolo de transferência de dados baseado em Apache AVRO para um protocolo baseado em Rust Rkyv (permitiu reduzir a contenção GIL, aumentar a velocidade de serialização e desserialização). - Melhorou a forma como a imagem do Docker
- Adicionado suporte para grupos de elementos que permitem combinar variações de processamento de dados em um pipeline.
- Implementada configuração de log avançada com suporte para diferentes níveis para diferentes componentes.
- Adicionado codificador de software H.264 para placas A100, V100, A40, Nvidia Jetson Orin Nano.
- Adicionado um detector de sobrecarga do transportador.
Para saber mais sobre essa versão do Savant, acesse a nota de lançamento.
Como instalar ou atualizar o Savant
Em relação à implementação do projeto, você deve saber que tanto o Savant quanto seus adaptadores são entregues como imagens do Docker.
Portanto, para implementar o pipeline, você pega a imagem base, adiciona modelos de IA e código personalizado com dependências adicionais e, em seguida, cria a imagem resultante.
Alguns pipelines que não requerem dependências adicionais podem ser implementados simplesmente atribuindo diretórios com modelos e funções de usuário na imagem do docker.
Para a parte de configuração do ambiente Savant, é necessário ter algumas dependências e ferramentas já instaladas, pois é extremamente necessário que as dependências do DeepStream sejam atendidas.
As dependências são:
- git
- git-lfs
- curl
- docker
- controladores nvidia
- Nvidia Container Toolkit
Como o processo de implementação do ambiente exige muito, se você estiver interessado, convido você a consultar o manual do Savant no seguinte link.