La normalisation des couleurs est un sujet en vision par ordinateur concernant la vision artificielle des couleurs et la reconnaissance d'objets. En général, la distribution des valeurs de couleur dans une image dépend de l'éclairage, qui peut varier selon les conditions lumineuses, les caméras et d'autres facteurs. La normalisation des couleurs permet aux techniques de reconnaissance d'objets basées sur la couleur de compenser ces variations. L'objectif est de produire une représentation d'une image qui est invariante aux changements d'éclairage, afin que les algorithmes puissent identifier les objets en fonction de leurs propriétés de couleur intrinsèques plutôt que des conditions sous lesquelles l'image a été capturée.
Ce domaine s'appuie sur la capacité du système visuel humain à percevoir les couleurs de manière cohérente sous différents éclairages, un phénomène connu sous le nom de constance des couleurs. En imitant cette capacité par calcul, la normalisation des couleurs soutient une gamme d'applications allant de la robotique à l'imagerie médicale, où une classification fiable basée sur la couleur est cruciale. Cependant, le choix de l'algorithme de normalisation dépend de la tâche spécifique, car différentes méthodes ont des forces et des faiblesses différentes.
Constance des couleurs
La constance des couleurs est une caractéristique du modèle interne de perception humaine, qui permet aux humains d'attribuer une couleur relativement constante aux objets même sous différentes conditions d'éclairage. Cela est utile pour la reconnaissance d'objets ainsi que pour l'identification des sources de lumière dans un environnement. Par exemple, les humains voient un objet approximativement de la même couleur lorsque le soleil est brillant ou lorsqu'il est faible. Cette stabilité perceptuelle provient d'un traitement neuronal complexe qui estime l'éclairage et ajuste les couleurs perçues en conséquence. En vision par ordinateur, les algorithmes de normalisation des couleurs tentent de reproduire ce comportement en transformant les valeurs de pixels pour éliminer l'influence de l'éclairage. Cela est particulièrement important pour des tâches telles que la reconnaissance d'objets et la segmentation d'images, où la couleur est une caractéristique distinctive. Sans normalisation, la même photographie d'un objet sous différentes lumières pourrait produire des distributions de couleurs très différentes, ce qui perturberait les systèmes de reconnaissance.
Applications
La normalisation des couleurs a été utilisée pour la reconnaissance d'objets sur des images en couleur dans les domaines de la robotique, de la bioinformatique et de l'intelligence-artificielle générale, lorsqu'il est important de supprimer toutes les valeurs d'intensité de l'image tout en préservant les valeurs de couleur. Un exemple est le cas d'une scène filmée par une caméra de surveillance au cours de la journée, où il est important de supprimer les ombres ou les changements d'éclairage sur les mêmes pixels de couleur et de reconnaître les personnes qui sont passées. Un autre exemple est celui des outils de dépistage automatisés utilisés pour la détection de la rétinopathie diabétique ainsi que pour le diagnostic moléculaire des états cancéreux, où il est important d'inclure des informations de couleur lors de la classification. En robotique, la normalisation des couleurs aide les modèles d'apprentissage-automatique à identifier des objets dans des environnements variés, tels que des scènes extérieures avec un ensoleillement changeant ou des scènes intérieures avec un éclairage artificiel. En bioinformatique, elle permet une analyse cohérente d'échantillons de tissus colorés, où des variations dans l'intensité de la coloration pourraient autrement conduire à une mauvaise classification. La technique est également utilisée dans les pipelines d'augmentation-de-données pour les modèles d'apprentissage-profond, où elle aide à générer des données d'entraînement robustes aux changements d'éclairage.
Problèmes connus
Le principal problème de certaines applications de la normalisation des couleurs est que le résultat semble artificiel ou trop éloigné des couleurs d'origine. Dans les cas où il existe une variation subtile entre des aspects importants, cela peut être problématique. Plus précisément, l'effet secondaire peut être que les pixels deviennent divergents et ne reflètent pas la valeur de couleur réelle de l'image. Par exemple, un algorithme de normalisation pourrait surcorriger, produisant des couleurs trop saturées ou décalées, ce qui pourrait masquer des distinctions fines entre des objets similaires. Cela est particulièrement problématique en imagerie médicale, où des différences de couleur subtiles peuvent indiquer différents types de tissus ou états pathologiques. Une façon de lutter contre ce problème est d'utiliser la normalisation des couleurs en combinaison avec un seuillage pour segmenter correctement et de manière cohérente une image en couleur. Le seuillage peut aider à séparer les régions de couleur pertinentes du bruit de fond, réduisant ainsi l'impact des décalages de couleur artificiels. De plus, certaines méthodes permettent à l'utilisateur d'ajuster des paramètres pour équilibrer entre normalisation et apparence naturelle, selon les exigences de l'application.
Transformations et algorithmes
Il existe une vaste gamme de transformations et d'algorithmes pour réaliser la normalisation des couleurs, et une liste limitée est présentée ici. La performance d'un algorithme dépend de la tâche, et un algorithme qui performe mieux qu'un autre dans une tâche pourrait performer moins bien dans une autre (théorème du déjeuner gratuit). De plus, le choix de l'algorithme dépend des préférences de l'utilisateur pour le résultat final, par exemple, ils peuvent vouloir une image en couleur plus naturelle. Les approches courantes incluent le monde gris, l'égalisation d'histogramme et la spécification d'histogramme, chacune avec des hypothèses et des compromis distincts. Certains algorithmes sont conçus pour la rapidité et la simplicité, tandis que d'autres visent une précision plus élevée au prix d'une complexité computationnelle accrue. En pratique, les praticiens expérimentent souvent avec plusieurs méthodes pour trouver la meilleure adaptation à leur ensemble de données et à leurs objectifs spécifiques.
Monde gris
La normalisation du monde gris suppose que les changements dans le spectre lumineux peuvent être modélisés par trois facteurs constants appliqués aux canaux rouge, vert et bleu de la couleur. Plus précisément, un changement dans la couleur éclairée peut être modélisé comme une mise à l'échelle α, β et γ dans les canaux de couleur R, V et B, et ainsi l'algorithme du monde gris est invariant aux variations de couleur d'éclairage. Par conséquent, une solution de constance peut être obtenue en divisant chaque canal de couleur par sa valeur moyenne. Cette méthode suppose effectivement que la couleur moyenne d'une scène est grise, ce qui est vrai pour de nombreuses images naturelles mais peut échouer pour des scènes dominées par une seule couleur. Comme mentionné ci-dessus, la normalisation du monde gris est invariante aux variations de couleur d'éclairage α, β et γ, mais elle a un problème important : elle ne tient pas compte de toutes les variations d'intensité d'éclairage et elle n'est pas dynamique ; lorsque de nouveaux objets apparaissent dans la scène, elle échoue. Pour résoudre ce problème, il existe plusieurs variantes de l'algorithme du monde gris, telles que l'utilisation de moyennes pondérées ou l'application de la méthode localement. De plus, il existe une variation itérative de la normalisation du monde gris, mais il n'a pas été constaté qu'elle performe significativement mieux.
Égalisation d'histogramme
L'égalisation d'histogramme est une transformation non linéaire qui maintient le rang des pixels et est capable de normaliser pour toute fonction de transformation de couleur monotone croissante. Elle est considérée comme une transformation de normalisation plus puissante que la méthode du monde gris. La technique fonctionne en redistribuant les intensités de pixels afin que l'histogramme de l'image de sortie soit approximativement uniforme, ce qui peut améliorer le contraste et révéler des détails. Cependant, les résultats de l'égalisation d'histogramme ont tendance à avoir un canal bleu exagéré et à sembler artificiels, en raison du fait que dans la plupart des images, la distribution des valeurs de pixels est généralement plus similaire à une distribution gaussienne qu'à une distribution uniforme. Cela peut entraîner des décalages de couleur visuellement peu attrayants, bien que la méthode reste populaire pour sa simplicité et son efficacité dans certains contextes. Dans les pipelines de vision-par-ordinateur, l'égalisation d'histogramme est souvent appliquée comme étape de prétraitement avant l'extraction de caractéristiques ou la classification.
Spécification d'histogramme
La spécification d'histogramme transforme les histogrammes rouge, vert et bleu pour correspondre aux formes de trois histogrammes spécifiques, plutôt que de simplement les égaliser. Elle fait référence à une classe de transformations d'images qui vise à obtenir des images dont les histogrammes ont une forme souhaitée. Cela permet un meilleur contrôle sur la sortie, car les histogrammes cibles peuvent être choisis en fonction des besoins de l'application, comme correspondre à la distribution de couleurs d'une image de référence. Le processus implique d'abord d'égaliser l'image d'entrée, puis d'appliquer l'inverse de la fonction de distribution cumulative de l'histogramme souhaité. Cette méthode est particulièrement utile lorsqu'une apparence de couleur cohérente est requise sur un ensemble d'images, comme en imagerie médicale ou en télédétection. Cependant, elle nécessite la sélection d'histogrammes cibles appropriés, ce qui peut être une tâche non triviale et peut nécessiter une expertise du domaine.