Qu’est-ce que la vision basée sur des images ?
La vision basée sur les images capture la scène sous forme d'images complètes à intervalles réguliers, par exemple 30, 60 ou 120 images par seconde. Chaque image contient des informations spatiales denses, ce qui fait des caméras conventionnelles un choix naturel pour la reconnaissance d'objets, l'analyse des couleurs, l'inspection, la cartographie et le vaste écosystème logiciel construit autour des tenseurs d'images.
Le compromis est que chaque image déplace une image complète dans le pipeline, que la scène ait changé ou non. Pour une boucle de décision rapide, le temps d'exposition, la période d'image, la lecture du capteur, le transport, la conversion d'image et l'inférence contribuent tous à la latence de bout en bout. Une fréquence d'images élevée réduit l'intervalle d'échantillonnage, mais augmente généralement la bande passante, le trafic mémoire, la puissance et la charge thermique.
Qu’est-ce que la vision événementielle ?
La vision basée sur les événements utilise un capteur d'image basé sur des événements dont les pixels réagissent de manière asynchrone aux changements de luminosité. Au lieu de fournir une image rectangulaire à une cadence fixe, le capteur produit un flux contenant les coordonnées des pixels, la polarité et des horodatages précis. Les régions statiques génèrent donc peu ou pas de données tandis que les bords mobiles peuvent produire des événements avec une résolution temporelle très fine.
Cette représentation est utile lorsque la synchronisation du mouvement importe plus que la réception répétée d'une image complète. Il peut prendre en charge un suivi à faible latence, une robotique à grande vitesse et des transitions d'éclairage difficiles, mais le flux d'événements n'est pas une photographie normale. Les algorithmes, les outils de visualisation, d’enregistrement et de validation doivent être conçus autour du modèle de données.
Comment un capteur d'image basé sur des événements modifie le chemin des données
Un système de référence utile expose le chemin complet depuis l'acquisition du capteur en passant par le filtrage et le traitement jusqu'à la sortie de l'application. Instrumentez ces limites afin que les demandes de latence et de débit de données puissent être évaluées de bout en bout.
La principale différence architecturale ne réside pas simplement dans « une caméra plus rapide par rapport à une caméra plus lente ». Un pipeline de vision conventionnel commence souvent par une mémoire tampon d’image complète. Un pipeline basé sur les événements peut commencer à traiter des événements individuels ou de petites fenêtres d'événements dès leur arrivée. Cela permet au filtrage, à l'alignement de l'horodatage, à la logique de région d'intérêt et aux fonctionnalités de mouvement de s'exécuter à proximité du capteur sans attendre une image complète.
Cependant, les données d'événements peuvent devenir denses dans des scènes très texturées ou soumises à des vibrations et à un scintillement. La conception du système doit donc mesurer le taux d'événements dans le pire des cas, l'utilisation de l'interface et la bande passante mémoire plutôt que de supposer que la détection d'événements signifie toujours une faible bande passante.
Vision basée sur les événements vs vision basée sur des images
| Dimensions | Vision basée sur des images | Vision événementielle |
|---|---|---|
| Sortie du capteur | Images denses à intervalles fixes | Événements de changement de luminosité asynchrones |
| Informations horaires | Limité par l'exposition et la cadence d'image | Horodatages fins associés à des événements individuels |
| Données de scène statiques | Les cadres complets continuent d'arriver | Peu d'activité dans des régions inchangées |
| Contexte spatial / couleur | Fort; intensité d'image absolue et imagerie couleur mature | indirect ; le flux d'événements décrit les changements plutôt qu'une image conventionnelle |
| Mouvement à grande vitesse | Nécessite une exposition et une fréquence d’images adéquates | Bien adapté aux changements temporels rapides |
| Écosystème logiciel | CV très mature et outils de deep learning | Algorithmes, représentations et ensembles de données plus spécialisés |
| Meilleur ajustement | Imagerie générale, reconnaissance, texture et imagerie lisible par l'homme | Dynamique rapide, caractéristiques temporelles et perception de mouvement à faible latence |
Latence : mesurez le capteur jusqu'à la décision, et non un seul composant
Les caméras d'événements sont souvent sélectionnées pour leur perception de faible latence, mais la résolution de l'horodatage du capteur n'est pas la même que la latence de l'application. Une mesure d'ingénierie utile est le temps écoulé entre un changement dans le monde réel et la décision apparaissant sur l'interface du système. Ce chemin comprend la réponse du capteur, le transport, la mise en mémoire tampon, le prétraitement, l'inférence ou le suivi, la planification logicielle et la communication de sortie.
La même règle s'applique à un appareil photo à cadre. Un pipeline à fréquence d'images élevée bien conçu avec des chemins de mémoire directs peut surpasser un pipeline d'événements mal intégré. L’architecture doit donc être comparée à des mouvements, des éclairages et des algorithmes représentatifs.
Considérations sur le logiciel de vision basée sur les événements et le SDK
Une pile logicielle de vision basée sur les événements nécessite généralement la configuration des appareils, le décodage des événements, la gestion de l'horodatage, le filtrage, la visualisation, l'enregistrement et la relecture. Un SDK de vision basé sur les événements utile devrait également faciliter la synchronisation des déclencheurs externes et d'autres capteurs, l'inspection des taux d'événements et la reproduction d'une séquence capturée pendant le développement de l'algorithme.
Pour les systèmes de production, le logiciel doit s’étendre au-delà d’un SDK de bureau. Les équipes doivent définir comment les événements sont déplacés vers les ressources FPGA, MCU, MPU ou NPU ; comment l'étalonnage est stocké ; comment l'heure est synchronisée ; et comment les journaux de terrain peuvent être relus. Si un algorithme convertit les événements en trames accumulées, la fenêtre d'accumulation devient un compromis explicite entre latence et information.
Où la vision événementielle est utile
Les applications typiques de vision basée sur les événements incluent le suivi de cibles à grande vitesse, la manipulation robotique, le flux optique, l'analyse des vibrations ou des mouvements, l'inspection industrielle rapide et la perception autonome dans les scènes présentant d'importants changements de luminosité. Les cas d'utilisation les plus importants sont généralement ceux dans lesquels une structure temporelle fine améliore directement la décision plutôt que de simplement remplacer une caméra conventionnelle.
Vision événementielle pour la défense et les plateformes autonomes
Dans les systèmes de défense, de sécurité et autonomes, la détection d’événements peut être pertinente pour les signaux de mouvement rapides, les expériences de suivi, les charges utiles optiques à faible latence et la recherche sur la fusion de capteurs. Le système doit encore satisfaire aux exigences de la plateforme telles que la synchronisation, les interfaces déterministes, la conception environnementale, l'enregistrement, la cybersécurité et la validation. La détection d’événements n’est qu’un élément de la chaîne de mission et non une solution de perception complète en soi.
Quand une architecture de caméra hybride est meilleure
De nombreux systèmes pratiques bénéficient de la combinaison des modalités. Les cadres peuvent fournir un contexte sémantique et des images lisibles par l'homme, tandis que les événements contribuent aux détails temporels. Des capteurs thermiques, inertiels ou télémétriques peuvent ajouter de la robustesse. La fusion est particulièrement utile lorsque l'application a besoin à la fois de « qu'est-ce que c'est ? » » et « quand et comment exactement a-t-il bougé ?
Pour les systèmes hybrides, le temps partagé est essentiel. Les déclencheurs matériels, les domaines d'horodatage et l'étalonnage doivent être pris en compte avant la finalisation des algorithmes.
Une architecture de référence de vision pratique basée sur les événements
Un système de référence peut placer un travail de filtrage déterministe et d'horodatage dans un FPGA, une inférence d'IA sur un NPU ou un accélérateur, des services d'application sur un MPU et une supervision sur un MCU ou un cœur en temps réel. La partition correcte dépend du taux d'événements, de l'architecture du modèle, de la bande passante mémoire et des interfaces externes. Notre Guide IA en périphérie FPGA vs NPU vs MPU explique ce partitionnement plus en détail.
Liste de contrôle de sélection
- Définissez la latence maximale acceptable entre le capteur et la décision.
- Mesurez la vitesse de mouvement attendue, la portée d'éclairage et l'activité de la scène la plus défavorable.
- Décidez si une intensité d’image absolue, des couleurs ou une vidéo lisible par l’homme sont requises.
- Estimez la bande passante et les mouvements de mémoire pour les scènes typiques et les pires cas.
- Confirmer la maturité du SDK de l’algorithme, de l’ensemble de données et de la vision basée sur les événements.
- Planifiez la synchronisation avec des sources de déclenchement châssis, thermiques, inertielles ou externes.
- Comparez le pipeline complet avant de geler la conception de calcul, de support et thermique.
Choisir autour de l'observation dont l'application a besoin
| Question de candidature | Approche à évaluer en premier | Que tester |
|---|---|---|
| L'étiquette imprimée ou la couleur sont-elles correctes ? | Imagerie basée sur des images | Résolution, éclairage, exposition et précision de l’inspection |
| Quand un bord se déplaçant rapidement a-t-il traversé une région ? | Détection basée sur les événements | Qualité du timing, activité de la scène, faux événements et délai de sortie complet |
| Quel objet est présent et avec quelle précision se déplace-t-il ? | Un pipeline hybride de cadres et d’événements | Avantages de la calibration, du temps partagé, de la représentation et de la fusion |
| Le système fonctionnera-t-il avec un changement de lumière ou de vibration ? | Les deux candidats dans les mêmes conditions de représentativité | Précision des applications, fréquence des événements ou qualité des images et utilisation des ressources |
Utilisez la même tâche et la même scène lorsque vous comparez les candidats. Une visualisation précise n'est pas en soi un résultat de détection, et un nombre élevé d'événements ne constitue pas une preuve d'informations utiles. Acceptez la métrique de sortie avant d’enregistrer la comparaison.
Un moyen pratique de construire le budget de latence
À 60 images par seconde, l'intervalle de trame est d'environ 16,7 ms. Dans un modèle simplifié dans lequel un changement de scène se produit uniformément entre les échantillons instantanés, l'attente moyenne jusqu'à l'échantillon suivant est d'environ 8,3 ms. L'exposition, la lecture, le transport et le traitement sont des effets supplémentaires. Cette arithmétique décrit un intervalle d'échantillonnage ; il ne s'agit pas d'une latence de caméra mesurée.
Un pipeline d'événements propose également des choix de conception qui ajoutent du retard. Si une application attend la fermeture d'une fenêtre d'événement de 5 ms avant d'être traitée, un événement proche du début de cette fenêtre peut attendre près de 5 ms à ce seul stade. Les horodatages fins des capteurs ne suppriment pas ce choix de mise en mémoire tampon. Utilisez ces exemples pour identifier les étapes qui méritent d'être mesurées, et non pour revendiquer un avantage fixe pour l'un ou l'autre des capteurs.
| Limite | Pipeline de trames | Pipeline d'événements |
|---|---|---|
| Observations | Durée d'exposition et d'échantillonnage | Réponse au changement de luminosité et génération d'horodatage |
| Transports | Tampons de lecture, de liaison et d'hôte | Encodage d'événements, tampons de liaison et de décodeur |
| Préparation | Conversion d'image, redimensionnement et préparation du tenseur | Filtrage, fenêtres temporelles et construction de représentations |
| Décision | Algorithme et planification des sorties | Algorithme et planification des sorties |
Mesurez l'âge de sortie avec une relation valide entre l'horloge d'observation et l'horloge de résultat. Un horodatage logiciel à la fin d'un appel de lecture par caméra ne représente pas nécessairement le temps d'exposition. De même, un horodatage d'événement précis peut appartenir à une horloge qui n'est pas encore alignée avec l'hôte.
Concevoir une comparaison qu'un autre ingénieur peut reproduire
- Définissez la tâche, le mouvement cible, la plage d'éclairage et la sortie requise avant de sélectionner les paramètres.
- Documentez l'optique, le champ de vision, les paramètres du capteur, les versions du logiciel et l'étalonnage.
- Enregistrez les conditions représentatives, y compris les scènes difficiles telles que le scintillement ou les vibrations, le cas échéant.
- Évaluez ensemble la précision des tâches, le délai de sortie, le débit de données et la charge de traitement soutenue.
- Conservez les enregistrements et les fichiers de configuration afin que les changements d'algorithme puissent être comparés sur les mêmes entrées.
Pour la phase de mise en œuvre, notre logiciel de caméra événementielle et guide SDK couvre les représentations, l'enregistrement et le déploiement des données. Utilisez le guide de synchronisation horaire en combinant les modalités.
Quelle caméra devriez-vous évaluer pour le contrôle qualité ?
Commencez par le défaut que vous devez observer. Un composant manquant, une étiquette imprimée ou une marque de surface peuvent être bien adaptés à l'imagerie de cadre conventionnelle avec une optique et un éclairage contrôlés. Lorsque le signal important est un mouvement rapide ou le moment précis d'un changement, évaluez la détection d'événements par rapport à la même tâche.
Notez la plus petite caractéristique pertinente, la vitesse de l'objet, le champ de vision, la variation d'éclairage et le temps de décision disponible. Conservez les variations normales de production dans l'évaluation : différents lots, équipes, états de surface et positions des pièces. Comparez les défauts manqués et les faux rejets ainsi que la vitesse de traitement.
La détection d'événements est un candidat à tester, et non une exigence pour chaque système d'inspection. Voir notre solution de vision industrielle et de contrôle qualité pour l'intégration caméra-machine et la planification des pilotes.
FAQ sur la vision basée sur les événements
Qu’est-ce que la vision événementielle ?
La vision basée sur les événements est une approche de détection dans laquelle les pixels signalent les changements de luminosité locaux de manière asynchrone au lieu d'attendre une image complète. Chaque événement comporte généralement des coordonnées de pixel, une polarité et un horodatage, permettant aux informations liées au mouvement d'atteindre le pipeline de traitement avec une résolution temporelle fine.
Quelle est la différence entre la vision basée sur les événements et la vision basée sur des images ?
La vision basée sur les images capture des images complètes à intervalles fixes, tandis que la vision basée sur les événements rapporte les changements au fur et à mesure qu'ils se produisent. Les caméras Frame fournissent un contexte spatial et colorimétrique dense ; les capteurs d'événements peuvent réduire les données de scène statique redondantes et améliorer la synchronisation pour un mouvement rapide. La meilleure architecture dépend de la tâche, de l’éclairage, de la pile logicielle et de la latence de décision requise.
Quel logiciel ou SDK est nécessaire pour la vision basée sur les événements ?
Les logiciels de vision basés sur les événements doivent gérer des flux d'événements asynchrones plutôt que uniquement des tenseurs d'images conventionnels. Un SDK pratique doit prendre en charge la configuration des capteurs, le filtrage des événements, la gestion de l'horodatage, la visualisation, l'enregistrement, la lecture, l'étalonnage, la synchronisation et la conversion en représentations requises par le suivi ou les pipelines de réseaux neuronaux.
Où la vision événementielle est-elle utilisée ?
Les applications typiques de vision basée sur les événements incluent la robotique à grande vitesse, le suivi de mouvement, les systèmes autonomes, la surveillance industrielle et la détection où des changements rapides de scène ou un éclairage difficile rendent le timing important. Il peut également compléter les caméras conventionnelles dans les systèmes de perception hybrides.
Comment la vision événementielle peut-elle être utilisée dans les plateformes de défense ?
Pour les plates-formes de défense et autonomes, les capteurs d'événements peuvent prendre en charge les signaux de mouvement, le suivi et la perception à faible latence dans des conditions de plage dynamique élevée ou de mouvement rapide. Un système déployable nécessite toujours un horodatage déterministe, des interfaces robustes, une fusion de capteurs synchronisée, un logiciel validé et une mesure minutieuse des taux d'événements les plus défavorables.
Un capteur d'image basé sur des événements a-t-il toujours une bande passante inférieure ?
Non. Les scènes statiques peuvent générer peu de données, mais les vibrations, le scintillement ou les mouvements très texturés peuvent créer des flux d'événements denses. La conception de l'interface et de la mémoire doit donc utiliser les taux d'événements mesurés dans le pire des cas plutôt que de supposer que la détection des événements se fait toujours à faible bande passante.
Références techniques
- Gallego et al. : Vision basée sur les événements — Une enquête
- Prophesee : streaming d'événements et accès fenêtré
Les exemples de timing sont des calculs illustratifs. Les allégations de latence et de détection au niveau du produit nécessitent des mesures de la mise en œuvre complète.
Évaluez la vision basée sur les événements sur votre boucle de décision réelle.
Partagez la cible, le profil de mouvement, les interfaces, l’environnement et la quantité pilote. Nous pouvons mapper les exigences dans une architecture de capteur, de FPGA et de calcul local.
