En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Paramètres des cookies
En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Découvrez comment la détection des couleurs fait le lien entre la vision humaine et la vision par ordinateur, en utilisant les espaces colorimétriques RVB et HSV pour automatiser les solutions de vision par ordinateur.
Les couleurs jouent un rôle essentiel dans la façon dont les humains perçoivent le monde, en nous aidant à reconnaître, à comprendre et à nous connecter à notre environnement. Cependant, contrairement à nous, les machines ne voient pas les couleurs - elles les traitent comme des données, traduisant les nuances et les teintes en valeurs numériques.
Une voiture autonome ne se contente pas de voir un feu rouge : elle interprète la couleur comme un signal d'arrêt. Cette capacité à reconnaître et à interpréter les couleurs permet de combler le fossé entre la vision humaine et la vision informatique.
La vision par ordinateur est une branche de l'intelligence artificielle qui permet aux machines d'analyser et de comprendre les données visuelles. La détection des couleurs en est un aspect essentiel. Elle permet aux machines d'identifier et de différencier les objets en fonction de leur couleur. En analysant les valeurs des pixels dans différents espaces colorimétriques, la détection des couleurs peut être utilisée dans des applications telles que le suivi d'objets, l'imagerie médicale et l'automatisation.
Dans cet article, nous allons examiner de plus près le fonctionnement de la détection des couleurs, son importance et son utilisation dans les applications de vision par ordinateur. Commençons par le commencement !
Qu'est-ce que la détection des couleurs ?
La détection des couleurs permet aux machines d'identifier des objets et de comprendre des scènes en fonction de la couleur. Lorsqu'elle est combinée à d'autres tâches de vision par ordinateur, elle permet d'améliorer la précision et les applications dans le monde réel. Avant de se pencher sur le fonctionnement de la détection des couleurs, il est utile de comprendre comment les couleurs sont représentées numériquement.
Les images numériques sont composées de minuscules carrés appelés pixels, chacun contenant des informations sur les couleurs. Par exemple, en ce qui concerne le modèle de couleurs RVB (rouge, vert, bleu), les couleurs sont créées en mélangeant différentes intensités de rouge, de vert et de bleu.
Chaque couleur est définie par trois valeurs, allant de 0 à 255, où 0 signifie qu'il n'y a pas de couleur et 255 signifie une intensité maximale. Par exemple, le rouge pur est (255, 0, 0) parce qu'il a la valeur rouge la plus élevée et qu'il n'y a ni vert ni bleu. Le blanc est (255, 255, 255) parce que les trois couleurs sont à leur intensité maximale.
Fig. 1. Exemple de la façon dont un ordinateur voit les couleurs d'une pomme.
Si vous connaissez des modèles de vision artificielle comme Ultralytics YOLO11, vous vous demandez peut-être pourquoi la détection des couleurs est une technique distincte de la détection des objets. Bien que ces deux techniques analysent les images, elles ont des objectifs différents.
La détection des couleurs se concentre sur l'identification de couleurs spécifiques dans une image, tandis que la détection des objets reconnaît et classe les objets indépendamment de leur couleur. Dans le scénario de la voiture autonome, la détection de couleur détecte le rouge d'un feu de circulation, tandis que la détection d'objet identifie le feu de circulation lui-même, ce qui aide la voiture à prendre des décisions de conduite sûres.
Introduction aux espaces colorimétriques
Un modèle de couleur ou un espace colorimétrique est un système utilisé pour représenter les couleurs dans les images numériques et constitue un élément essentiel de la détection des couleurs. Il attribue des valeurs numériques aux couleurs, ce qui permet aux ordinateurs de les interpréter de manière cohérente sur différents appareils. Les espaces colorimétriques fournissent une méthode structurée pour stocker, ajuster et afficher les couleurs dans les systèmes numériques.
Parmi les espaces colorimétriques couramment utilisés, citons RVB pour les écrans numériques, HSV (teinte, saturation, valeur) pour le traitement des images et CMYK (cyan, magenta, jaune, noir) pour l'impression. RVB et HSV sont les espaces colorimétriques les plus fréquemment utilisés pour détecter les couleurs. Voyons maintenant comment ils fonctionnent.
Aperçu de l'espace colorimétrique RVB
L'espace colorimétrique RVB est largement utilisé dans l'imagerie numérique, dans les écrans, les appareils photo et les dispositifs d'affichage. Il fonctionne en combinant différents niveaux de lumière rouge, verte et bleue pour créer diverses couleurs. Lorsque les trois couleurs sont au maximum de leur intensité, le résultat est blanc, et lorsqu'il n'y en a pas, il apparaît noir.
Cet espace colorimétrique est souvent représenté sous la forme d'un cube de couleurs, où chaque axe représente l'une des couleurs primaires. Les coins du cube représentent le rouge, le vert et le bleu purs, ainsi que leurs combinaisons, tandis que l'intérieur contient toutes les nuances possibles.
Bien que le RVB soit simple et populaire, il présente certaines limites. Les couleurs ne sont pas toujours identiques pour l'œil humain, car le RVB ne correspond pas exactement à la façon dont nous percevons les différences de couleur. Il est également affecté par les conditions d'éclairage, ce qui signifie que les couleurs peuvent apparaître différentes en fonction de la luminosité et de l'environnement.
L'espace colorimétrique HSV (Hue, Saturation, Value) représente les couleurs en fonction de trois composantes : la teinte (le type de couleur), la saturation (son intensité) et la valeur (sa luminosité). Contrairement à l'espace RVB, qui mélange les intensités lumineuses, l'espace HSV est plus proche de la manière dont les humains perçoivent les couleurs, ce qui en fait un choix plus pratique pour de nombreuses tâches de traitement d'images.
En particulier, la teinte représente la couleur réelle et est mesurée en degrés sur une roue chromatique, le rouge se situant à 0° et le bleu à 240°. La saturation, quant à elle, détermine le degré de vivacité ou de fadeur d'une couleur, 0 % correspondant à une couleur totalement grise et 100 % à une couleur totalement vive. D'autre part, la valeur détermine la luminosité, allant de 0 % (noir) à 100 % (pleine luminosité).
Il est intéressant de noter que l'espace colorimétrique HSV est souvent représenté sous la forme d'un cône, où la teinte s'enroule autour du bord, la saturation se déplace vers l'extérieur et la luminosité augmente de bas en haut. Parce qu'il sépare la couleur de la luminosité, l'espace HSV est largement utilisé dans les applications de vision par ordinateur.
Comparaison des espaces colorimétriques RVB et HSV
Pour comparer RVB et HSV côte à côte, prenons l'exemple de la couleur orange. Dans l'espace colorimétrique RVB, l'orange est créé en mélangeant le rouge et le vert à des intensités spécifiques, généralement représentées par (255, 165, 0) - ce qui signifie un rouge complet, un peu de vert et pas de bleu. Cependant, comme l'espace RVB ne sépare pas la couleur de la luminosité, il peut s'avérer moins intuitif pour les tâches nécessitant une manipulation précise des couleurs.
En HSV, l'orange est défini différemment. Sa teinte est d'environ 30°, ce qui détermine sa position sur la roue chromatique. Sa saturation est proche de 100 %, ce qui signifie qu'il s'agit d'une couleur vive et pure, et sa valeur est également de 100 %, ce qui indique une luminosité totale. Comme le HSV sépare la couleur de la luminosité, il est souvent plus utile dans les applications de détection des couleurs où les conditions d'éclairage peuvent changer.
Fig. 4. Comparaison des valeurs RVB et HSV. Image de l'auteur.
Fonctionnement de la détection des couleurs
En règle générale, la détection des couleurs est abordée comme une technique de traitement d'image utilisée pour identifier et isoler les couleurs des images ou des vidéos. Les couleurs détectées dans les images à l'aide du traitement d'image reposent sur des espaces colorimétriques et des techniques de seuillage pour différencier des teintes, des nuances et des intensités spécifiques.
Voici un aperçu rapide des principales étapes de la détection des couleurs par traitement d'image :
Acquisition d'images : Le processus commence par la capture d'une image ou d'une trame vidéo à l'aide d'une caméra. L'image est généralement stockée au format RVB sous la forme d'une matrice de pixels.
Conversion de l'espace colorimétrique : Le RVB n'étant pas toujours idéal pour la détection des couleurs, l'image est convertie dans l'espace colorimétrique HSV. Cela permet de séparer la couleur de la luminosité, ce qui rend la détection plus stable dans différentes conditions d'éclairage.
Seuil de couleur : Une plage spécifique est définie pour la couleur cible au format HSV. Cette étape crée un masque binaire dans lequel les pixels situés dans la plage de couleurs sélectionnée apparaissent en blanc et tous les autres en noir.
Masquage : Le masque binaire est appliqué à l'image originale pour isoler la couleur détectée, en filtrant tout le reste. Seules les zones correspondant à la couleur souhaitée sont ainsi mises en évidence.
Une fois la couleur détectée et isolée, elle peut être utilisée dans diverses tâches de vision par ordinateur, telles que le suivi d'objets, la segmentation d'images et la prise de décision automatisée dans des applications telles que la robotique, l'imagerie médicale et les véhicules autonomes.
Le rôle de la détection des couleurs dans la vision par ordinateur
Maintenant que nous avons appris comment fonctionne la détection des couleurs, voyons comment elle peut être utilisée dans les applications de vision artificielle.
Dans certains cas, la détection des couleurs peut constituer une alternative plus simple aux modèles de vision par ordinateur, en particulier dans les environnements contrôlés où la couleur est le principal facteur de distinction des objets. Au lieu d'entraîner un modèle avec un ensemble massif de données, la détection des couleurs offre une solution rapide et efficace sans nécessiter d'étiquetage extensif ou de puissance de calcul élevée.
Par exemple, dans un système de tri automatique des pommes, un modèle de vision artificielle comme YOLO11 pourrait être entraîné à classer les pommes en fonction de leur maturité, mais il nécessiterait un ensemble de données d'images étiquetées pour gérer les variations d'éclairage, de texture et de types de pommes.
Une approche plus directe consiste à détecter les pommes à l'aide de la détection d'objets, puis à analyser leur couleur pour déterminer leur maturité. Comme cette méthode repose sur des seuils de couleur prédéfinis plutôt que sur l'apprentissage d' un modèle, elle fonctionne bien dans des conditions stables où l'éclairage et les arrière-plans ne changent pas radicalement.
Bien qu'un modèle formé sur mesure puisse être préférable pour des environnements plus complexes et variables, la détection des couleurs est une solution rapide, pratique et accessible pour les applications en temps réel. C'est également un excellent point de départ pour ceux qui s'initient au traitement de l'image et à la vision par ordinateur avant de passer à des solutions plus avancées.
Applications de la détection des couleurs dans le monde réel
La détection des couleurs est utilisée dans un large éventail d'industries pour diverses applications. Jetons un coup d'œil à quelques cas d'utilisation réels.
Détection des couleurs pour l'évaluation de la qualité des tissus
La détection des couleurs est cruciale dans la production de tissus et de textiles. Elle est couramment utilisée dans les systèmes automatisés de contrôle de la qualité et d'identification des défauts. Contrairement à l'inspection manuelle, qui prend du temps et est sujette à l'erreur humaine, les systèmes automatisés permettent une détection précise et en temps réel des défauts.
Plus précisément, en analysant des images de tissus, les systèmes de vision par ordinateur peuvent identifier des défauts tels qu'une distribution inégale des colorants, une décoloration et une contamination. Les techniques avancées de détection des couleurs permettent un contrôle plus précis de la qualité en mesurant la cohérence des couleurs dans différents lots.
Fig. 5. La détection des couleurs joue un rôle clé dans la création de tissus colorés.
Utilisation de la détection des couleurs dans l'agriculture
Comme indiqué précédemment, la couleur est un indicateur clé de la maturité, et la technologie de détection de la couleur peut être utilisée dans l'agriculture pour contrôler la santé des cultures et améliorer la récolte.
En analysant les variations de couleur, les agriculteurs peuvent évaluer la santé des plantes, détecter les maladies et déterminer quand les cultures sont prêtes à être récoltées. Des robots perfectionnés, équipés de capteurs de couleur et de systèmes de vision artificielle, contribuent à automatiser le processus en veillant à ce que seules les cultures mûres soient récoltées. Ces systèmes peuvent accroître l'efficacité et la productivité, en particulier dans les régions où la main-d'œuvre fait défaut.
Fig. 6. Mangues à différents niveaux de maturité : (a) pourries, (b) mûres et (c) non mûres.
Principaux enseignements
La détection des couleurs est une technique innovante de vision par ordinateur qui trouve des applications dans l'agriculture, la fabrication, les soins de santé et l'automatisation. Elle aide les machines à reconnaître et à interpréter les couleurs pour le suivi des objets, le contrôle de la qualité et la prise de décision.
Alors que les modèles d'IA avancés continuent d'évoluer, la détection des couleurs reste une solution simple et efficace, en particulier dans les environnements contrôlés. Au fur et à mesure que la technologie progresse, elle continuera probablement à jouer un rôle clé dans l'amélioration des applications du monde réel.