Intégration de caméras USB avec les plateformes FPGA : systèmes de vision à faible latence et alimentés par l'IA

Créé le 08.21
Le développement rapide de l'informatique de périphérie et de la vision artificielle en temps réel a imposé des exigences strictes en matière de solutions d'acquisition et de traitement d'images haute performance et à faible latence. Les réseaux de portes programmables in situ (FPGA) offrent de puissantes capacités de traitement parallèle, une logique matérielle personnalisable et une efficacité énergétique élevée, ce qui les rend idéaux pour les applications axées sur la vision, notamment l'automatisation industrielle, l'imagerie médicale et les systèmes intelligents de l'Internet des objets. Caméras USB sont largement adoptés dans les scénarios embarqués et industriels en raison de leur rapport coût-efficacité, de leur compatibilité plug-and-play et de leurs diverses spécifications produits couvrant les qualités grand public et industrielle. Cependant, l'intégration des caméras USB avec les plateformes FPGA a longtemps été limitée par des défis inhérents tels que l'incompatibilité des protocoles, la latence excessive du système et le contrôle insuffisant des paramètres de caméra en temps réel, ce qui limite considérablement le plein potentiel de performance du traitement visuel en temps réel basé sur FPGA.
Les architectures d'intégration traditionnelles adoptent un cadre de transmission de données médié par le CPU, où le CPU reçoit et met en mémoire tampon les données vidéo des caméras USB avant de les transmettre aux FPGA. Cette architecture introduit une latence de transmission redondante, ne parvient pas à utiliser pleinement les ressources matérielles des FPGA et brise les avantages du traitement parallèle des FPGA. Ce document présente systématiquement deux architectures d'intégration sans CPU pour résoudre les goulots d'étranglement techniques susmentionnés, et fournit des conseils complets couvrant la sélection du matériel, les procédures de mise en œuvre et les méthodes de débogage d'ingénierie pour la construction de systèmes de vision à haute fiabilité et à faible latence.

Avantages de l'intégration de la caméra USB et du FPGA

Les FPGA et les caméras USB forment une combinaison hautement complémentaire pour les applications de vision en périphérie soumises à des contraintes strictes en matière de bande passante, de latence et de consommation d'énergie. Les atouts principaux des deux dispositifs correspondent parfaitement aux exigences techniques du traitement d'images en temps réel.
• Avantages du cœur FPGA : Contrairement au mode d'exécution séquentielle des instructions des CPU, les FPGA prennent en charge le traitement parallèle de données sur plusieurs canaux, ce qui est très adapté aux tâches de vision sensibles au temps telles que le filtrage d'images, la détection de cibles et l'analyse de trajectoires de mouvement.
• Avantages du cœur de caméra USB : Les caméras USB prennent en charge des résolutions allant de VGA à 4K et plusieurs formats d'image courants, notamment YUV, RGB et MJPEG. Leur format compact permet un déploiement flexible dans divers dispositifs de vision embarquée.

Scénarios d'application typiques

1. Automatisation industrielle : Les FPGA traitent les flux vidéo en temps réel provenant de caméras USB pour réaliser la détection de défauts sur les PCB, le suivi de mouvement sur les chaînes de montage et le contrôle visuel de bras robotiques avec une latence inférieure à la milliseconde.
2. Imagerie médicale : l'intégration de données à faible latence prend en charge le traitement en temps réel des images endoscopiques et échographiques, aidant les cliniciens à établir un diagnostic rapide et précis.
3. Appareils IoT intelligents : la combinaison de FPGA et de caméras USB prend en charge le fonctionnement à faible consommation des systèmes de surveillance de sécurité intelligente, de contrôle d'accès par reconnaissance faciale et de détection visuelle du trafic.
4. Systèmes de vision automobile : dans les systèmes avancés d'aide à la conduite (ADAS), les FPGA traitent en temps réel les données vidéo des caméras USB pour effectuer la détection des piétons, des lignes de voie et des véhicules, améliorant ainsi la sécurité de conduite.

Goulots d'étranglement clés des schémas d'intégration USB-FPGA traditionnels

La plupart des solutions d'intégration conventionnelles reposent sur des CPU comme unités intermédiaires de transfert de données. Cette méthode de mise en œuvre simplifiée entraîne quatre goulots d'étranglement de performance critiques qui ne peuvent pas répondre aux exigences des systèmes de vision temps réel de haute précision.
1. Surcharge de latence élevée : La mise en cache, le traitement et la transmission des données par le CPU introduiront une latence système de 10 à 100 ms, ce qui est fatal pour les scénarios sensibles au temps tels que la détection de défauts industriels et l'ADAS automobile, entraînant facilement des détections manquées et des réponses retardées.
2. Utilisation insuffisante des ressources FPGA : Le mode de transmission des données par le CPU force les FPGA à fonctionner en mode d'attente séquentielle des données, ce qui ne peut pas exercer les caractéristiques de traitement parallèle, entraînant des unités logiques et des ressources DSP inactives.
3. Capacité de contrôle de caméra en temps réel limitée : La plupart des caméras USB standard UVC sont contrôlées par des API logicielles côté CPU, ce qui rend impossible pour les FPGA d'ajuster dynamiquement l'exposition, le gain, la balance des blancs et d'autres paramètres en temps réel. Ce défaut restreint l'adaptabilité environnementale des systèmes de vision dans des conditions d'éclairage variables.
4. Défauts de compatibilité de protocole : Les FPGA ne prennent pas en charge nativement les protocoles hôtes USB. Les schémas traditionnels doivent s'appuyer sur des puces de contrôleur USB externes ou sur l'analyse de protocole par le CPU, ce qui augmente la complexité du système et introduit une latence supplémentaire.
Bien que les interfaces de vision professionnelles telles que Camera Link et MIPI puissent éviter les problèmes ci-dessus, les caméras USB présentent des avantages irremplaçables en termes de coût et de compatibilité. La solution fondamentale pour surmonter les limitations de performance consiste à adopter une architecture de communication directe sans CPU entre les caméras USB et les FPGA.

Stratégies innovantes d'intégration à faible latence sans CPU

La suppression du lien intermédiaire du CPU est au cœur de l'intégration à faible latence. Deux architectures de connexion matérielle directe, validées sur le terrain, sont proposées ci-dessous pour réaliser une interaction de données à haute efficacité entre les caméras USB et les FPGA.

Stratégie 1 : Implémentation d'un contrôleur hôte USB basé sur FPGA et d'une pile de protocole UVC

Cette architecture implémente un contrôleur hôte USB complet et une pile de protocole UVC (USB Video Class) basée sur la logique matérielle FPGA, permettant aux FPGA d'effectuer directement l'analyse du protocole, la réception des données et le contrôle des paramètres des caméras USB sans participation du CPU. Ce schéma peut réduire la latence du système à moins de 1 milliseconde et réaliser un contrôle entièrement matériel des paramètres de la caméra.

Principe de mise en œuvre et étapes

1. Sélection de la puce PHY USB : Associer des puces de couche physique USB 3.0/3.2 haute vitesse telles que FTDI FT602 et Cypress CYUSB3014. Les puces communiquent avec les FPGA via des bus parallèles. Le FT602 est le dispositif préféré pour l'intégration industrielle en raison de son faible coût, de sa faible consommation d'énergie et de sa simple adaptation de pilote.
2. Développement de la pile de protocoles UVC FPGA : Utiliser le langage de description matérielle Verilog ou VHDL pour compléter le développement de la logique centrale, y compris l'énumération des périphériques USB, la configuration des points de terminaison de contrôle des paramètres de la caméra et la transmission de données vidéo haute vitesse basée sur des points de terminaison isochrones.
3. Intégration du pipeline de traitement d'image matériel : Intégrer la logique de prétraitement d'image telle que la détection des contours, la correction des couleurs et la suppression du bruit dans la logique matérielle FPGA pour réaliser un traitement pipeline parallèle des données vidéo et éliminer le délai de transmission des données.

Avantages clés

• Latence système ultra-faible, avec un délai de bout en bout contrôlé à moins de 1 ms, répondant aux exigences strictes de traitement en temps réel
• Prise en charge de l'ajustement dynamique en temps réel de l'exposition de la caméra, du gain et d'autres paramètres basé sur la logique FPGA
• Utilisation complète des ressources de calcul parallèle du FPGA pour maximiser l'utilisation du matériel
• Élimination des dispositifs CPU dépendants et réduction du coût global de la nomenclature du système

Cas d'application d'ingénierie : Détection de défauts en temps réel des PCB

Un système de fabrication industrielle adopte une caméra USB globale à obturateur 4K et un FPGA Xilinx Kintex-7, et construit une pile de protocoles UVC matérielle basée sur la puce PHY USB FT602. Le système traite de manière stable des flux vidéo haute définition 4K à 30 FPS avec une latence inférieure à la milliseconde. L'algorithme de détection des contours accéléré par le FPGA permet une identification en temps réel des composants manquants sur les PCB et des défauts de court-circuit. Par rapport au schéma de traitement CPU traditionnel, le taux de faux positifs de la détection des défauts est réduit de 30 %. Parallèlement, le FPGA ajuste dynamiquement les paramètres d'exposition de la caméra en fonction des variations d'éclairage de l'usine afin de garantir une précision de détection stable dans des conditions de travail complexes.

Stratégie 2 : Architecture d'accélération IA FPGA basée sur un pont USB-AXI

Pour les scénarios de vision IA en périphérie tels que la détection de cibles et la reconnaissance faciale, l'architecture de pont USB-AXI peut être adoptée. Ce schéma convertit les données vidéo USB en signaux de bus AXI4-Stream standard via une logique de pont matériel, transmet directement les données au cœur IP d'inférence IA côté FPGA, et réalise un traitement intelligent de bout en bout à faible latence.

Principe de mise en œuvre et étapes

1. Construire le pont USB-AXI : Adopter des cœurs IP pré-développés officiels tels que le IP de contrôleur hôte USB 3.0 Xilinx ou une logique Verilog personnalisée pour compléter l'énumération des périphériques USB et convertir le flux de données vidéo USB en un format de données de bus AXI adapté à la transmission interne du FPGA.
2. Intégrer le cœur IP d'inférence IA matériel : Intégrer les cœurs d'accélération Xilinx DPU ou Intel OpenVINO FPGA dans le projet FPGA pour prendre en charge l'opération d'accélération matérielle des modèles CNN courants tels que YOLO et ResNet.
3. Optimiser le flux de données interne : coopérer avec la BRAM sur puce FPGA et la mémoire DDR externe pour construire un mécanisme de mise en cache de données raisonnable, garantir une transmission fluide des données vidéo entre le pont et le cœur IA, et éviter la perte de trames et la congestion des données.

Avantages clés

• Réaliser une inférence IA locale en périphérie sans dépendre du CPU et des ressources de cloud computing
• L'architecture de bus AXI prend en charge une expansion évolutive, qui peut être intégrée de manière flexible avec des cœurs IP fonctionnels tels que le prétraitement d'image et le stockage de données
• Compatible avec toutes les caméras USB standard UVC et les caméras industrielles personnalisées, avec une forte adaptabilité aux scénarios

Cas d'application d'ingénierie : Surveillance de la fréquence cardiaque sans contact

Une solution de dispositif médical utilise une caméra USB standard et la carte de développement FPGA Xilinx PYNQ-Z2. Les données vidéo collectées par la caméra sont transmises au FPGA via le pont USB-vers-AXI. Après optimisation matérielle et déploiement de l'algorithme de magnification vidéo d'Euler, le système capture les subtils changements de couleur de la peau provoqués par les fluctuations du flux sanguin facial, permettant ainsi une détection de la fréquence cardiaque sans contact. Le système atteint une précision de détection de 95 % par rapport aux équipements de surveillance de contact traditionnels, avec une latence globale inférieure à 50 ms. Il est appliqué aux scénarios de surveillance des patients hospitalisés afin de réduire efficacement les risques d'infections croisées.

Directives de sélection des composants matériels

Une configuration matérielle raisonnable est la condition préalable au fonctionnement stable des systèmes d'intégration à faible latence. Voici des critères de sélection ciblés pour les FPGA, les caméras USB et les composants de support selon différents scénarios d'application.

1. Sélection du FPGA

• Scénarios d'entrée de gamme (applications civiles et DIY) : Xilinx Artix-7 et Intel Cyclone IV sont privilégiés. Ces dispositifs prennent en charge le protocole USB 2.0, disposent de ressources logiques modérées et conviennent à l'acquisition vidéo en basse résolution (VGA/720P) et au traitement simple de détection de mouvement.
• Scénarios intermédiaires (équipements industriels et médicaux) : Xilinx Kintex-7 et Intel Arria V sont recommandés. Ils prennent en charge la transmission haute vitesse USB 3.0/3.2, disposent de suffisamment de tranches DSP et de ressources de stockage sur puce, et peuvent répondre aux exigences de traitement des caméras haute définition 1080P/4K et des algorithmes de vision complexes.
• Scénarios haut de gamme (ADAS automobile et vision IA avancée) : les dispositifs Xilinx UltraScale et Intel Stratix 10 sont adoptés. Ils prennent en charge la transmission à large bande passante USB 3.2 Gen 2 10Gbps, et intègrent des modules d'accélération IA dédiés, permettant une inférence en temps réel de modèles CNN de haute précision.

2. Sélection de la caméra USB

• Résolution et fréquence d'images : les caméras 720P/1080P conviennent à la surveillance visuelle conventionnelle ; les caméras haute résolution 4K sont requises pour les scénarios de haute précision tels que la détection de défauts industriels. La fréquence d'images (30FPS/60FPS) doit correspondre à la capacité de traitement FPGA afin d'éviter la perte d'images.
• Version du protocole USB : l'interface USB 3.0/3.2 est obligatoire pour la transmission vidéo haute résolution afin de garantir une marge de bande passante ; l'USB 2.0 n'est applicable qu'aux scénarios à faible vitesse de niveau VGA en basse résolution.
• Type de protocole : les caméras UVC standard offrent une fonction plug-and-play et une forte compatibilité, adaptées à la plupart des scénarios généraux ; les caméras à protocole personnalisé industriel prennent en charge un contrôle plus fin des paramètres sous-jacents, ce qui convient aux équipements de vision industrielle de haute précision.
• Caractéristiques fonctionnelles : pour les scénarios de mouvement à grande vitesse, sélectionnez des caméras à obturateur global afin d'éviter le flou de mouvement ; pour les environnements industriels et médicaux sombres, privilégiez les appareils dotés d'une sensibilité en basse lumière et de paramètres d'exposition réglables.

3. Composants de support

• Puce PHY USB : FT602 pour des solutions USB 3.0 à faible coût ; CYUSB3014 pour des scénarios industriels haute performance ; IP core hôte USB 2.0 officiel d'Intel pour des conceptions d'entrée de gamme à basse vitesse.
• Dispositifs de stockage : La mémoire externe DDR3/DDR4 est utilisée pour la mise en cache de grandes quantités de données vidéo ; la BRAM sur puce est utilisée pour le stockage en temps réel des données de traitement intermédiaires.
• Module d'alimentation : Les systèmes de vision de milieu de gamme sont équipés d'une alimentation 5V/3A pour répondre à la demande de puissance stable du FPGA, de la caméra et de la puce PHY.

Conseils pratiques de mise en œuvre et d'optimisation du débogage

En visant les problèmes courants dans le développement d'intégration de caméras USB et de FPGA, les spécifications pratiques de mise en œuvre et les méthodes de débogage suivantes sont résumées pour améliorer l'efficacité du développement et la stabilité du système.
1. Vérification du prototype en premier : Effectuez la vérification fonctionnelle en vous basant sur des cartes de développement matures telles que Xilinx PYNQ-Z2 et Intel DE10-Nano avant la conception de PCB personnalisée. L'interface USB intégrée et les ressources périphériques peuvent rapidement vérifier la disponibilité de la pile UVC et de la logique de pont AXI, réduisant ainsi le risque de modification matérielle.
2. Réutiliser les cœurs IP pré-construits officiels : tirer pleinement parti des cœurs IP optimisés pour l'hôte USB, le protocole UVC et le pont AXI fournis officiellement par Xilinx et Intel. Les cœurs IP vérifiés peuvent éviter les travaux de développement répétés et raccourcir considérablement le cycle du projet.
3. Débogage standardisé de la communication USB : utiliser des outils professionnels tels que Ellisys USB Explorer et LeCroy USB Analyzer pour capturer les données de transmission USB, localiser les échecs d'énumération des périphériques et les erreurs d'analyse du protocole. Utiliser les outils Vivado Logic Analyzer et Quartus SignalTap pour surveiller en temps réel les signaux du bus interne du FPGA et l'état de traitement.
4. Optimisation de la latence du système : Adopter des points de terminaison isochrones USB pour la transmission vidéo en temps réel ; configurer de petits tampons de cache à taille fixe pour réduire le délai de stockage des données ; utiliser la technologie de pipeline FPGA et de traitement parallèle pour accélérer le fonctionnement des algorithmes ; connecter directement la caméra à la puce PHY et éviter les hubs USB pour éliminer la latence supplémentaire.

Tendances de développement futures

Avec la mise à niveau itérative des normes de transmission USB et de la technologie des puces FPGA, les systèmes de vision intégrés caméra USB-FPGA évolueront vers une bande passante plus élevée, une latence plus faible et un seuil d'entrée plus bas. Les trois tendances de développement clés sont les suivantes.
1. Généralisation de l'intégration USB4 et Thunderbolt : Les interfaces USB4 et Thunderbolt 4 prennent en charge une bande passante maximale de 40 Gbit/s, permettant le traitement en temps réel de vidéos ultra-haute définition 8K. La prochaine génération de FPGA intégrera la logique de contrôleur USB4 native, éliminant le besoin de puces PHY externes et réduisant davantage la latence système et le volume matériel.
2. Popularisation de l'IA de pointe FPGA à faible coût : les FPGA d'entrée de gamme à faible coût tels que Artix-7 et Cyclone V sont progressivement équipés de modules d'accélération IA légers, permettant des applications de vision IA de pointe à faible consommation et à faible coût dans les maisons intelligentes et les petits appareils IoT.
3. Normalisation de la conception d'interface FPGA-USB : les organisations industrielles et les fabricants de FPGA promeuvent conjointement la normalisation de l'intégration USB-FPGA, en lançant des conceptions de référence unifiées et des cœurs IP génériques, réduisant le seuil technique pour les développeurs et réalisant un déploiement rapide des systèmes de vision.

Conclusion

L'architecture d'intégration directe sans CPU résout complètement les problèmes de latence et de gaspillage de ressources des solutions traditionnelles caméra USB-FPGA. La pile de protocoles UVC basée sur FPGA et le pont USB-vers-AXI, ces deux stratégies clés, exploitent pleinement les avantages du FPGA en matière de traitement parallèle et d'accélération matérielle, réalisant une transmission à ultra-faible latence, un contrôle en temps réel des paramètres de la caméra et une utilisation efficace des ressources. Ces solutions sont largement applicables aux scénarios d'inspection industrielle, de surveillance médicale, de vision automobile et d'IA en périphérie. Dans le développement d'ingénierie réel, les performances du système peuvent être maximisées grâce à une correspondance matérielle raisonnable, à la réutilisation des cœurs IP officiels et à une optimisation ciblée de la latence. Avec l'amélioration continue des protocoles de transmission et des performances des puces, les systèmes de vision intégrés caméra USB-FPGA deviendront la solution grand public à faible coût et hautes performances dans le domaine de la vision temps réel en périphérie.
Intégration de caméra USB FPGA
Contact
Laissez vos informations et nous vous contacterons.

À propos de nous

Support

+8618520876676

+8613603070842

News

leo@aiusbcam.com

vicky@aiusbcam.com

WhatsApp
WeChat