Combien de flux de caméras un NVR domestique peut-il analyser avec le même taux de détection ?

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les homelabs et les logiciels open source, elle se spécialise dans la traduction de concepts techniques complexes en guides accessibles et pratiques. Eva croit que l’auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu’à la maîtrise des conteneurs Docker.

Un NVR domestique ne peut analyser qu’autant de flux que son détecteur et son pipeline vidéo peuvent traiter sans réduire le taux de détection configuré pour chaque caméra.

Si huit caméras demandent chacune cinq images de détection par seconde, le détecteur doit maintenir au moins 40 inférences par seconde après prise en compte de la surcharge. Pourtant, le décodage, le redimensionnement, le suivi, l’enregistrement et le filtrage des mouvements consomment également du CPU, du GPU, de la bande passante mémoire et des ressources d’E/S. La limite réelle de flux est atteinte lorsque la cadence de détection par caméra ou la latence des événements commence à se dégrader pendant les périodes d’activité simultanée dans le foyer.

La demande de détection correspond au nombre de flux multiplié par le nombre d’images de détection par seconde

Le calcul minimal consiste à multiplier le nombre de caméras par le nombre configuré d’images de détection par seconde. Dix caméras à cinq images par seconde demandent l’analyse de 50 images chaque seconde. Le filtrage des mouvements peut réduire la charge réelle, mais le dimensionnement doit inclure les périodes durant lesquelles de nombreuses caméras sont actives simultanément.

Le projet de détection locale d’objets sépare l’enregistrement local de la détection d’objets en temps réel et recommande une accélération dédiée plutôt qu’une détection utilisant uniquement le CPU. Ces traitements imposent des charges différentes au même serveur.

La fréquence d’images de la source de la caméra n’est pas nécessairement la fréquence d’images de détection. Un flux d’enregistrement à 25 images par seconde peut alimenter un flux de détection à cinq images par seconde, réduisant ainsi la demande d’inférence sans diminuer la fluidité des mouvements enregistrés. Confondre les deux rend les estimations de capacité soit excessives, soit dangereuses.

Le décodage et le prétraitement peuvent devenir le premier goulot d’étranglement

Avant l’inférence, la vidéo compressée doit être décodée, redimensionnée, convertie en couleurs et copiée vers le détecteur. Le décodage matériel peut décharger le CPU, mais le codec, la résolution, la profondeur de couleur et les limites du nombre de sessions simultanées sont importants. Les écritures d’enregistrement et le transcodage de l’affichage en direct se disputent le même pipeline.

Une présentation des accélérateurs d’IA explique que les accélérateurs peuvent dépasser les processeurs généralistes pour les inférences répétées, tout en réduisant la surcharge sur l’hôte. Le décodage doit néanmoins fournir les images à temps.

Un détecteur rapide ne garantit donc pas la prise en charge d’un plus grand nombre de caméras. Si la file d’images s’allonge avant l’inférence, la capacité supplémentaire du détecteur reste inutilisée. Si le stockage bloque, l’enregistrement peut se dégrader même lorsque la fréquence d’images de détection semble correcte.

Quand la formule de division échoue

Diviser la fréquence d’images du détecteur par la fréquence d’images par caméra suppose que le coût du modèle est identique et que les images sont indépendantes. Les modèles secondaires de reconnaissance faciale, de plaques d’immatriculation, de pose ou de classification ajoutent du travail uniquement pour certaines détections. Le découpage en tuiles à résolution variable et les flux distants peuvent entraîner des coûts inégaux.

Une présentation produit de la reconnaissance secondaire indique que celle-ci peut ralentir le pipeline si les tâches ne partagent pas efficacement les détections. La sélection des fonctionnalités modifie la capacité, même à fréquence d’images de base identique.

L’estimation échoue également lorsque la limite est la latence plutôt que le débit. Un détecteur peut atteindre en moyenne 60 images par seconde, tout en retardant occasionnellement une caméra de plusieurs secondes en raison d’un traitement inéquitable des files d’attente. Des débits moyens identiques ne garantissent pas une réactivité identique pour chaque flux.

-15% OFF

Augmentez le nombre de flux jusqu’à ce que la caméra la plus lente commence à ralentir

Activez les caméras une par une en utilisant leur codec final, leur résolution, leur mode d’enregistrement et leur fréquence d’images de détection définitifs. Déclenchez des mouvements simultanés dans toutes les vues et mesurez, pour chaque caméra, la fréquence d’images de détection obtenue, l’ancienneté de la file d’images, le temps d’inférence, l’utilisation du décodage, le nombre d’images perdues, le délai des événements et la latence du disque.

Effectuez le test sur la même configuration d’hôte de calcul vidéo partagé qui sera utilisée pour partager les services vidéo et d’IA. Désactivez les tâches sans rapport uniquement si elles seront également éloignées de cette période en production.

Conservez le nombre maximal de caméras pour lequel le flux le plus lent conserve au moins 95 % de sa fréquence de détection configurée et dont le délai d’événement p95 reste inférieur à la valeur cible choisie. Gardez une marge de 20 % sur le détecteur et le décodage pour les mouvements simultanés et les modèles secondaires.

Centre Tech & IA

Plus à lire

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.