Les processeurs multicœurs hétérogènes, un passage obligé pour la vision

Le 01/03/2014 à 14:00

Il est difficile d'évoquer l'avenir des systèmes de vision par ordinateur, car trop de promesses énoncées par le passé concernant leurs performances n'ont pas été tenues. Des attentes irréalistes quant aux véritables capacités de ces systèmes peuvent avoir un impact négatif sur la croissance du secteur. Plutôt que de nous projeter dans ce futur que la science-fiction ne cesse de nous dépeindre, nous allons nous concentrer sur la technologie de traitement qui optimisera les systèmes de vision par ordinateur actuels afin qu'ils deviennent les systèmes avancés de demain. Cette technologie de traitement est connue sous le nom de processeur multicœur hétérogène.

Il existe différents moyens d'améliorer la précision d'un système de vision par ordinateur, notamment augmenter la quantité d'informations, améliorer la façon dont les informations sont utilisées et combiner plusieurs approches. Or ces trois méthodes nécessitent des processeurs multicœurs hétérogènes.

DR

Eliminer les « faux positifs »

Pour bien comprendre pourquoi des processeurs multicœurs sont nécessaires, il est essentiel de comprendre les raisons pour lesquelles les systèmes de vision par ordinateur ont besoin de toujours plus de puissance de traitement. Dans de nombreuses applications, les systèmes de vision par ordinateur ne sont pas utilisables en raison d'une précision insuffisante en conditions réelles. De nombreuses démonstrations pour le moins impressionnantes des capacités des systèmes de vision par ordinateur ont certes déjà été présentées. Toutefois, la mise en place d'un système fonctionnel en dehors d'un environnement contrôlé a constitué un obstacle insurmontable pour de nombreux projets. La reconnaissance faciale est un bon exemple d'application fonctionnelle en conditions contrôlées. Cependant, il suffit d'un constat rapide sur les conditions nécessaires à l'obtention de résultats optimaux pour comprendre que ces conditions sont bien éloignées de celles du monde réel. Dans le domaine de la vidéosurveillance, il est relativement simple de s'assurer qu'un système de sécurité fonctionne correctement lorsqu'il se déclenche (émission d'alarmes, enregistrement d'événements, etc.). Cependant, la difficulté réside dans le fait de ne déclencher le système que dans le cas d'une intrusion et d'éviter les fausses alertes. Ces faux positifs freinent les systèmes de vision par ordinateur, d'autant que leur élimination reste complexe. De nombreux facteurs jouent sur les performances d'un système de vision par ordinateur, notamment la luminosité,la météorologie,l'arrière-plan, l'activité ambiante, la distance, l'angle de la caméra, etc. Il existe toutefois différents moyens d'améliorer la précision d'un système de vision par ordinateur, notamment augmenter la quantité d'informations, améliorer la façon dont les informations sont utilisées et combiner plusieurs approches.Or ces trois méthodes nécessitent des processeurs multicœurs hétérogènes.

L'essentiel

Dans de nombreuses applications, les systèmes de vision par ordinateur ne sont pas utilisables en raison d'une précision insuffisante en conditions réelles.

Toutefois, des solutions existent afin d'améliorer leur précision, notamment augmenter la quantité d'informations, améliorer la façon dont les informations sont utilisées et combiner plusieurs approches.

Ces trois méthodes nécessitent l'emploi de processeurs multicœurs hétérogènes.

Dans une architecture multicœur hétérogène bien choisie, chaque type de cœur est en effet affecté à une tâche bien précise.

Architecture multicœur hétérogène

Exemple d'architecture multicœur hétérogène dédiée à des systèmes de vision par ordinateur : le mélange approprié de cœurs Risc et DSP permet d'optimiser les systèmes et d'améliorer leur précision, chaque cœur ayant une tâche bien précise.

Texas Instruments

La méthode la plus simple pour améliorer les systèmes de vision par ordinateur consiste à augmenter la quantité de données vues par le système. L'augmentation de la résolution des capteurs constitue une tendance en vogue du secteur. Si dans certains domaines, il est possible d'extraire toutes les informations nécessaires d'une image en résolution CIF ou QVGA, la tendance est aux capteurs de plusieurs mégapixels et à l'augmentation de la résolution.A chaque augmentation de la résolution (du CIF à D1 et du 720p au 1080p et au-delà), la quantité de données est au minimum doublée, ce qui se traduit par un accroissement similaire des capacités de traitement nécessaires. La résolution n'est que l'une des dimensions augmentant la quantité de données. Les autres dimensions sont: le temps (augmentation de la cadence d'images), la couleur (depuis une échelle de gris), le nombre d'entrées (du mono au stéréo vers la vision multivues) et le mode d'entrées (de la vision seule à la vision multimodal qui peut combiner une entrée audio et une entrée vidéo). Et à mesure que les entrées des systèmes de vision par ordinateur développent chacune de ces dimensions, les exigences de calcul vont croissant.

Amélioration de l'utilisation des informations

Une fois que l'on dispose de l'image, il est possible d'améliorer un système de vision par ordinateur en optimisant les informations qu'il fournit. C'est là tout l'art du traitement d'image : extraire des données d'images et renvoyer des informations exploitables. Des algorithmes plus récents et sophistiqués font régulièrement leur apparition. Ils procèdent à l'analyse des couleurs, l'estimation des mouvements, la détection des traits, le calcul des formes, la détection et le suivi des objets, la mise en correspondance de schémas et la détection d'événements. Ils renvoient ensuite des informations sur la taille, la forme, la position dans l'espace, l'orientation, le mouvement, les propriétés de la surface, la classification, l'identification, etc. Ces informations doivent ensuite être assemblées selon une approche basée sur des règles ou sur l'apprentissage, selon un modèle hybride ou peut-être une toute autre approche selon la fonctionnalité souhaitée pour le système de vision. Il est important de garder à l'esprit que,si l'extraction et l'utilisation d'informations nécessitent une grande puissance de calcul, ces fonctions sont plus ou moins adaptées à différentes architectures de traitement. L'augmentation de ce dernier mène au multicœur et l'optimisation de la solution conduit à l'utilisation d'une architecture multicœur hétérogène.

Combiner plusieurs approches

Même avec une augmentation de la résolution et une meilleure utilisation des informations, il est probable que dans les systèmes complexes, une approche seule ne suffise pas à réduire suffisamment le nombre de faux positifs pour envisager son application dans le monde réel. Dans ce cas, la combinaison d'approches permet de grandement améliorer les performances du système. Ce concept repose sur l'utilisation de plusieurs méthodes de traitement des entrées et de prise de décisions et pas seulement d'une ou deux.Aucune méthode n'est précise à 100% dans toutes les situations. La combinaison de plusieurs méthodes permet donc de combler les manquements de chacune d'entre elles et de réduire le nombre de faux positifs. Plus la redondance au sein du système est importante, plus la précision de celui-ci est grande. Bien évidemment, l'augmentation du nombre d'approches mises en œuvre se traduit par une augmentation proportionnelle des ressources de traitement nécessaires.

La tendance à l'augmentation des informations, l'utilisation d'algorithmes avancés et la mise en place de redondances au sein des systèmes entraînent une hausse constante des capacités de traitement nécessaires aux systèmes de vision par ordinateur. Cependant, le rendement des cœurs de traitement diminue à mesure que leur fréquence augmente. De même, les nœuds de processus (de circuits intégrés) et leur consommation électrique ne diminuent plus autant que par le passé. Les processeurs monocœurs ont naturellement évolué vers des processeurs multicœurs plus performants. Les processeurs multicœurs hétérogènes vont plus loin en termes d'efficacité de traitement, en utilisant différents cœurs de traitement de telle sorte que chacun d'eux gère la partie du système pour laquelle il est optimisé. Pensez aux différents types de traitement nécessaires dans les systèmes de vision par ordinateur avancés. Un processeur de signal numérique (DSP, Digital Signal Processor ) est conçu sur mesure pour des fonctions de vision. Le DSP se spécialise dans le traitement en temps réel des signaux par le biais de fonctions mathématiques. Il offre ainsi des performances élevées et une latence prévisible, deux éléments essentiels aux systèmes de vision par ordinateur pour garantir un délai de réponse acceptable aux stimuli externes. Toutefois, un processeur Risc est plus efficace pour assembler les informations renvoyées par les DSP, exécuter le système d'exploitation de haut niveau et le code de contrôle. Une plate-forme de traitement idéale pour des systèmes de vision par ordinateur serait composée de cœurs Risc et DSP. L'importance de l'architecture globale du périphérique est ici à souligner. Sans une architecture bien conçue qui fournit suffisamment de bande passante et de mémoire, ainsi que des communications efficaces, des goulots d'étranglement peuvent grandement limiter les performances du périphérique. Il a fallu attendre ces dernières années pour voir apparaître des architectures hétérogènes capables de tirer parti de toute la puissance de chacun des éléments.

L'avenir des systèmes de vision par ordinateur

Assurément, les systèmes de vision par ordinateur quitteront les laboratoires pour le monde réel. Les performances élevées fournies par les périphériques multicœurs hétérogènes permettront d'améliorer la précision des systèmes. Ces derniers disposeront en effet d'une puissance suffisante pour traiter une quantité supérieure d'informations, utiliser des algorithmes avancés et combiner plusieurs approches. De même, les exigences du monde réel en termes de puissance et de consommation, comme pour les caméras de sécurité, l'automatisation industrielle et les systèmes d'aide à la conduite, seront satisfaites. En fournissant un mélange optimal de cœurs, les composants multi-cœurs hétérogènes consommeront moins de courant et permettront l'avènement de systèmes moins coûteux que les solutions de traitement indépendantes.Avec l'avancée des systèmes de vision par ordinateur basés sur des processeurs multicœurs hétérogènes, nous cesserons bientôt de parler des lacunes des systèmes actuels pour nous demander à quoi ressembleront les systèmes de demain: imaginez une voiture sans conducteur ou un robot humanoïde de compagnie…

Copy link
Powered by Social Snap