Les systèmes de surveillance et de reconnaissance ne sont pas nouveaux C’est loin d’être récent, puisque ces systèmes sont utilisés depuis de nombreuses années et ont évolué au gré des évolutions matérielles et logicielles.
Il y a deux ans J’ai blogué un peu sur OpenCV, une bibliothèque de vision par ordinateur multiplateforme gratuite (vous pouvez consulter le détail de l’article dans le lien suivant), que je trouvais à l’époque extrêmement intéressante car elle pouvait être implémentée sur un Raspberry Pi et à l’époque j’avais l’habitude de tester un grand nombre de projets et de systèmes sur mon RPi.
Article associé:
OpenCV une bibliothèque pour la reconnaissance d’objets dans les images et les caméras
La raison de mentionner ceci et en essayant de ne pas sortir du sujet du post d’aujourd’hui, c’est que beaucoup pensent que la mise en place d’un système de ce type peut être extrêmement coûteuse voire très compliquée. Ce qui en réalité n’est pas jusqu’à un certain point, puisqu’on peut soutenir des projets open source, mais cela demande certaines connaissances et surtout de la patience.
C’est pourquoi aujourd’hui Parlons d’un tel projet et cela semble personnellement très bon et puissant. Le projet dont dont nous allons parler est Savant, qui est un framework écrit en Python et qui rend NVIDIA DeepStream plus facile à utiliser pour les ingénieurs en apprentissage automatique
Savant est un cadre de très haut niveau au-dessus de DeepStream, qui cache tous les éléments internes de Gstreamer au développeur et fournit des outils pratiques pour la mise en œuvre d’applications d’intelligence artificielle en streaming dans la vie réelle. Utilise le modèle Nvidia PeopleNet standard pour détecter les personnes et leurs visages et en particulier dans les endroits où les règles de confidentialité s’appliquent, le cadre permet le suivi et le floutage des visages.
des caractéristiques qui se démarquent de Savant est par exemple inférence incroyablement rapide, Parce qu’il est basé sur Nvidia DeepStream et offre des performances sur le matériel Nvidia compatible avec les accélérateurs de centre de données, les cartes professionnelles, les ordinateurs de bureau et NVIDIA Jetson.
Une autre caractéristique est qu’il a Prise en charge de l’intégration OpenCV CUDA avec lequel vous pouvez appliquer des filtres OpenCV CUDA et travailler efficacement avec les rasters GpuMat sans décharger les trames lourdes sur la RAM du processeur.
En plus de ça, a une API de streaming qui permet à Savant de fonctionner comme un serveur d’inférence via 0MQ et Apache AVRO. Avec cela, les données de transmission sont livrées au serveur et consommées à partir de celui-ci avec des adaptateurs.
Parmi les autres caractéristiques qui se démarquent de Savant :
- Prise en charge de Python et ML.
- Le framework est disponible sous forme de conteneurs Docker pour les environnements d’exécution x86 et Nvidia Jetson.
- Fonctionne sur Edge et Core
- Opérations et capacité à faible latence, savant prend en charge les opérations à faible latence bénéfiques
- Adaptateurs pour accéder à diverses sources multimédia telles que RTSP ou fichiers vidéo
- Il vous permet de créer des pipelines pour les environnements où le traitement sensible à la rotation est crucial.
Concernant l’implémentation du projet, il faut savoir que Savant et ses adaptateurs sont livrés sous forme d’images Docker. Donc, pour implémenter le pipeline, vous prenez l’image de base, ajoutez des modèles d’IA et du code personnalisé avec des dépendances supplémentaires, puis créez l’image résultante. Certains pipelines qui ne nécessitent pas de dépendances supplémentaires peuvent être implémentés en attribuant simplement des répertoires avec des modèles et des fonctions utilisateur dans l’image docker.
Pour la partie de la configuration de l’environnement Savant, il est nécessaire d’avoir certaines dépendances et outils déjà installés, car il est extrêmement nécessaire que les dépendances DeepStream soient satisfaites.
Les dépendances sont :
- git
- git-lfs
- boucle
- docker
- pilotes nvidia
- Boîte à outils de conteneur Nvidia
Puisque le processus de mise en place de l’environnement nécessite beaucoup, je vous invite à si vous êtes intéressé, veuillez vous référer au manuel Savant Dans le lien suivant.