Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR MEASURING THE COLOUR OF AN OBJECT
Document Type and Number:
WIPO Patent Application WO/2013/120956
Kind Code:
A1
Abstract:
The present invention relates to a method for measuring the uniform diffuse reflectance ROBJ(λ) at least at one point on an object (30) using a device (10) comprising a means (11) for emitting color illuminants expressed as luminous flux and an electronic colour image sensor (12). The present invention also relates to a device (10) comprising a means (11) for emitting color illuminants expressed as luminous flux of colors and an electronic colour image sensor (12), for measuring the uniform diffuse reflectance ROBJ(λ) at least at one point on an object (30) placed in a zone located opposite and substantially perpendicular to said means (11) for emitting colours and located in the field of vision of said electronic colour image sensor (12) and subjected to an external illuminant expressed as a constant and unknown external environmental luminous flux (40) denoted Iext(λ).

Inventors:
HENNEBELLE FRANCK (FR)
Application Number:
PCT/EP2013/053000
Publication Date:
August 22, 2013
Filing Date:
February 14, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COLOR GRAIL RES (FR)
International Classes:
G01J3/50; G01J3/02; G01J3/12
Domestic Patent References:
WO2004079314A12004-09-16
Foreign References:
GB2474701A2011-04-27
US5963333A1999-10-05
GB2474701A2011-04-27
Other References:
STEPHEN K. PARK ET AL: "Estimation of spectral reflectance curves from multispectral image data", APPLIED OPTICS, vol. 16, no. 12, 1 December 1977 (1977-12-01), pages 3107, XP055006711, ISSN: 0003-6935, DOI: 10.1364/AO.16.003107
Attorney, Agent or Firm:
DESCHAMPS, SAMUEL (FR)
Download PDF:
Claims:
REVENDICATIONS

Procédé de mesure de la réflectance diffuse uniforme R (A) en au moins un point d'un objet (30) à l'aide d'un dispositif (10) comportant un moyen (1 1 ) apte à émettre des illuminants de couleur exprimés sous la forme de flux lumineux et un capteur électronique d'images couleurs (12), caractérisé en ce qu'il comporte les étapes suivantes :

• placement dudit objet (30) dans une zone se trouvant en face de et sensiblement perpendiculairement audit moyen (1 1 ) apte à émettre des illuminants de couleur sous la forme de flux lumineux de couleurs et se trouvant dans le champ de vision dudit capteur électronique d'images couleurs (12), ledit objet (30) étant également soumis à un illuminant extérieur sous la forme d'un flux lumineux extérieur environnant (40) lext(A) inconnu et constant où λ désigne la longueur d'onde, émission par ledit moyen (1 1 ) d'une série de N illuminants Ssource^)i (avec N entier naturel supérieur à un, i variant de 1 à N et λ la longueur d'onde), etant connu en fonction des paramètres d'entrée dudit moyen (1 1 ) apte à émettre des flux lumineux de couleurs, capture par ledit capteur électronique d'images couleurs (12) du flux lumineux réfléchi en aumoins un point duditobjet (30) et entrant dans le capteur, ledit flux lumineux étant noté Εε£φίβυΓ(λ)ί, avec N entier naturel strictement supérieur à deux, i variant de 1 à N et λ la longueur d'onde, et obtention de N équations « E, »: Εε£φίβυΓ(λ)ί = R0BJ(A) * ( Γ'(λ) + Ssource^)i ) enraison du caractère additif de la lumière ondulatoire et par définition de la réflectance diffuse uniforme R0BJ(A) en au moins un point de l'objet (30) ; et

• détermination par ledit dispositif (10) des deux fonctions inconnues continues R0BJ(A) et lext(A) en résolvant le système des N équations E, :

- en intégrant chaque équationE, sur l'intersection des spectres source et capteur, en notant x, y et z les sensibilités dans la base colorimétrique choisie, chaque équation E, générant alors trois équations « E, intégrée » I((ROBJ(A)*(rV)+SsourceMi )*x(A)*dA) I((ROBJ(A)*(rV)+SsourceMi )*y(A)*dA)

|( Ecapteur(?l)i*z(A)*dA)_ |(( ROBJ(A)*(|ext(A)+ssource(?l)i )*z(A)*dA) j

- en calculant la valeur numérique correspondant au terme de gauche des équations Ei intégrée à l'aide des paramètres de sortie du capteur numérique d'image ; et en exprimant les deux fonctions inconnues continues R0BJ(A) et lext(A) à l'aide d'un nombre fini de points d'interpolation (Aj, ) reliés par au moins une fonction d'interpolation s(A) pour conserver le caractère continu desdites fonctions inconnues continues R0BJ(A) et lext(A). les Aj étant des longueurs d'onde choisies dansl'intersection des spectres source et capteuret étant des paramètres d'entrée du procédé, choisis pour minimiser le nombre de points d'interpolation à précision donnée ; et en recherchant les paramètres des fonctions R0BJ(A) et lext(A) qui minimisent le système de moindres carrés ||A*X-B||2 résultant des équations E, intégrées.

Procédé selon la revendication 1 , caractérisé en ce qu'il comporte en outre une étape de détermination de la valeur de l'illuminant extérieur lext(A).

Procédé selon la revendication 1 , caractérisé en ce qu'il comporte en outre une étape de transcription de la fonction R0BJ(A) de réflectance diffuse uniforme en au moins un point de l'objet (30) en coordonnées CIE XYZ pour un illuminant donné.

Procédé selon la revendication 1 ou 2, caractérisé en ce que le nombre de flashs est du même ordre de grandeur que le nombre de points d'interpolation pour déterminer les valeurs de la réflectance diffuse uniforme R0BJ(A) en au moins un point de l'objet (30)et de l'illuminant extérieur lext(A).

5. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comporte une étapede déterminationdes valeurs de la réflectance diffuse uniforme R0BJ(A) en au moins un point de l'objet (30) et de l'illuminant extérieur lext(A) dans plusieurs bandes spectrales.

6. Procédé selon l'une des revendications précédentes, caractérisé en ce que ledit dispositif (10) met en œuvre un écran pour émettre les flashs de couleur et un capteur électronique d'image pour capter la lumière réfléchie par l'objet-cible.

7. Procédé selon l'une des revendications précédentes, caractérisé en ce que ledit dispositif (10) est un appareil photo ou une caméra avec flash intégré ou amovible.

8. Procédé selon l'une des revendications précédentes, caractérisé en ce que ledit dispositif (10) met en œuvre des guides d'onde pour faire transiter l'émission et la réception des flashs de couleurs.

9. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il est mis en œuvre pour réaliser des photographies spectrométriques d'objetset pour réaliser des adaptations chromatiques (balance des blancs) à volonté.

10. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il est mis en œuvre pour mesurer la couleur d'un élément compris dans le groupe suivant : matériaux, solides, liquides, gaz, peintures, tapisseries, graphismes, textiles, plastiques, bois, métaux, sols, minéraux, végétaux et aliments.

1 1 . Procédé selon l'une des revendications 1 à 9, caractérisé en ce qu'il est mis en œuvre pour la mesure des couleurs à but médical ou cosmétique sur l'homme et le vivant d'au moins un élément compris dans le groupe suivant : peau, boutons, grains de beauté, chevelure, pelage, maquillage, et dents.

12. Procédé selon l'une des revendications 1 à 9, caractérisé en ce qu'il est mis en œuvre pour l'utilisation de codes-barres en couleur,à une ou plusieurs dimensions.

13. Procédé selon l'une des revendications 1 à 9, caractérisé en ce qu'il est mis en œuvre dans un but d'assistance aux personnes daltoniennes et/ou aveugles.

14. Dispositif (10) comportant un moyen (1 1 ) apte à émettre des illuminants de couleur sous la forme de flux lumineux de couleurs et un capteur électronique d'images couleurs (12), de mesure de la réflectance diffuse uniforme R0BJ(A) en au moins un point d'un objet (30) placé dans une zone se trouvant en face de et sensiblement perpendiculairement audit moyen (1 1 ) apte à émettre des couleurs et se trouvant dans le champ de vision dudit capteur électronique d'images couleurs (12) et étant soumis à un illuminant extérieur sous la forme d'un flux lumineux extérieur environnant (40) noté lext(A)> constant et inconnu, caractérisé en ce qu'il comporte des moyens pour :

• émettre une série de N illuminants Ssource(k)\(avec N entier naturel strictement supérieur à deux, i variant de 1 à N et λ la longueur d'onde), Ssource^)i étant connu en fonction des paramètres d'entrée dudit moyen (1 1 ) apte à émettre des flux lumineux de couleurs, capture par ledit capteur électronique d'image couleur (12) du flux lumineux réfléchi en aumoins un point duditobjet (30) et entrant dans le capteur, ledit flux lumineux étant noté Εε£φίβυΓ(λ)ί, avec N entier naturel supérieur à un, i variant de 1 à N et λ la longueur d'onde, et obtention de N équations (Ei) :Ecapteur^)i = R0BJ(A) * ( lext(A) + Ssource^)i ) enraison du caractère additif de la lumière ondulatoire et par définition de la réflectance diffuse uniforme R0BJ(A) en au moins un point de l'objet (30), ; et déterminer les deux fonctions inconnues continues R (A) et lext(A) en résolvant le système des N équations E, :

- en intégrant chaque équationE, sur l'intersection des spectres source et capteur, en notant x, y et z les sensibilités dans la base colorimétrique choisie, chaque équation E, générant alors trois équations « E, intégrée » : I((ROBJ(A)*(rV)+SsourceMi )*x(A)*dA)

|( Ecapteur(?l)i*z(A)*dA)_ |(( ROBJ(A)*(|ext(A)+ssource(?l)i )*z(A)*dA) j

- en calculant la valeur numérique correspondant au terme de gauche des équations Ei intégrée à l'aide des paramètres de sortie du capteur numérique d'image ; et en exprimant les deux fonctions inconnues continues R0BJ(A) et lext(A) à l'aide d'un nombre fini de points d'interpolation (Aj, ) reliés par au moins une fonction d'interpolation s(A) pour conserver le caractère continu desdites fonctions inconnues continues R0BJ(A) et lext(A). les Aj étant des longueurs d'onde choisies dansl'intersection des spectres source et capteur et étant des paramètres d'entrée du procédé, choisis pour minimiser le nombre de points d'interpolation à précision donnée ; et en recherchant les paramètres des courbes R0BJ(A) et lext(A) qui minimisent le système de moindres carrés ||A*X-B||2 résultantdes équations E, intégrées.

Description:
PROCEDE ET DISPOSITIF DE MESURE DE LA COULEUR D'UN OBJET

Domaine de l'invention La présente invention se rapporte au domaine de la mesure de la couleur.

La présente invention se rapporte plus particulièrement à un procédé de spectrométrie pour mesurer la couleur d'un objet mettant en œuvre un dispositif électronique, et au dispositif associé.

Etat de la technique

Une couleur est un flux lumineux perçu par l'œil humain. Il s'agit d'une distribution spectrale d'énergie C(A) sur une bande de longueurs d'onde, en l'occurrence λ variant de 380 à 780 nm pour le visible (observateur standard CIE 1931 ). Dans la suite, nous désignerons par une lettre et un λ entre parenthèses la fonction qui décritcette distribution spectrale d'énergie.

Du fait de la synthèse additive, toute couleur peut être exprimée par ses coordonnées trichromatiques selon trois couleurs primaires. Il existe plusieurs systèmes de primaires, nous retiendrons dans la suite les deux normalisés que sont l'espace CIE XYZ (et sa variante CIE Yxy avec plan de chromacité à luminance constante) et l'espace CIE L * a * b qui permet d'estimer une différence de couleur avec une norme euclidienne appelée « deltaE », qui est représentative des différences de couleur perçues par l'œil humain. Le

« gamut » (limites) de ces deux espaces couvre l'intégralité du visible humain. Nous feront aussi référence à l'espace trichromatique sRGB correspondant au gamut de référence de la plupart des équipements électroniques actuels. Le gamut du sRGB ne couvre pas l'ensemble du visible humain, notamment dans les bleus-verts.

La couleur d'un objet résulte des interactions entre un flux lumineux incident et la surface dudit objet. Trois phénomènes entrent en concurrence pour donner à la matière l'apparence qu'on lui connaît : l'absorption, la réflexion spéculaire et la réflexion diffuse. La réflexion spéculaire se produit à la surface de l'objet. Il y a peu d'interaction de la lumière avec la matière de l'objet - et notamment ses pigments. La couleur de la lumière réfléchie est donc proche de la lumière reçue, mais l'énergie réfléchie est concentrée dans un lobe centré dans la direction théorique définie par les lois de Snell-Descartes. A contrario, la réflexion diffuse a lieu plus en profondeur. La lumière émise est teintée de la couleur des pigments et l'énergie réfléchie est indépendante de la direction d'observation. Autrement dit, la réflexion spéculaire est la composante brillante d'une surface et la réflexion diffuse est la composante matte et colorée d'une surface.

Par conséquent, la couleur d'un objet dépend de deux facteurs indépendants : l'éclairement auquel l'objet est soumis et la nature de la surface de l'objet. Cette dernière est caractérisée par la fonction de « réflectance spectrale bidirectionnelle ». Elle est définie comme le rapport entre la luminance réfléchie par la surface et l'éclairement de celle-ci. La valeur de cette fonction dépend de la longueur d'onde λ, de la direction de la lumière incidente et de la direction d'observation. La réflectancediffuseuniforme de l'objet R 0BJ (A), correspondant à la réflexion diffuse, ne dépend que de la longueur d'onde λ. C'est elle qui donne l'information de couleur au sens chromatique, hors phénomène de brillance.

C'est pourquoi la couleur d'un objet peut être caractérisée 1 ) par la lumière réfléchie sous un illuminant donné (par exemple les coordonnées trichromatiques CIE L * a * b sous un illuminant D50 dans une salle noire) ou, mieux, 2) par sa réflectance spectraleR 0BJ (A). La première méthode requiert des dispositifs de mesure relativement simples (entre autres, les nuanciers de couleurs, les colorimètres tri-stimulus), mais avec un fort risque de métamérisme (cette méthode est peu précise). Son utilisation est généralement restreinte au suivi des variations par rapport à une couleur étalon le long d'un processus de fabrication (imprimerie, textile, arts graphiques, etc.). La deuxième méthode nécessite des dispositifs plus sophistiqués (entre autres, spectromètre à diffraction, spectromètre à double-photorécepteurs en parallèle) ; ellen'est pas affectée par le métamérisme (cette méthode est très précise) et elle permet de simuler la perception de la couleur sous différents illuminants (intérieur, extérieur). Elle est destinée aux professionnels exigeants et aux activités de conception. Tous ces dispositifs ne sont pas compatibles avec une utilisation nomade et non planifiée comme avec un téléphone portable ou une tablette électronique que l'on emmène partout. Leur usage est relativement compliqué, sans oublier le coût additionnel significatif qu'ils représentent. A contrario, les applications de mesure de la couleur disponibles actuellement sur les téléphones portables ou tablettes (iOS, Android...) ne nécessitent pas un équipement annexe spécialisé, mais ces applications ne permettent pas une mesure fidèle des couleurs. En effet, elles reposent uniquement sur l'utilisation du capteur d'image couleur de l'appareil (réseau de photodétecteurs tri-stimulus, matrice de Bayer rouge-vert-bleu) avec un programme de calcul de la balance des blancs. Leur perception des couleurs des objets est donc faussée par la variabilité inconnue de l'éclairage environnant. L'art antérieur connaît le spectromètre émissif à diffraction et un procédé de détermination de la fonction de réflectance spectrale de l'objet : le dispositif produit un illuminant étalonné blanc S(k) en direction de la cible, l'illuminant se réfléchit sur l'objet, puis passe à travers un prisme pour y être diffracté vers plusieurs dizaines de photodétecteurs (un par sous-spectre) qui permettent d'interpoler Ε(λ), d'où R 0BJ (A) = E(k)/S(k).Le fonctionnement de la mesure de couleur d'un objet avec ce procédé de l'art antérieur est réalisé avec un boîtier développé spécialement et avec un procédé nécessitant un cache pour masquer tout illuminant extérieur inconnu. De plus, ce type de spectromètre ne permet pas de réaliser une photographie spectrométrique.

L'art antérieur connaît, par le brevet américain N° US5963333, un spectromètre à LED et double photorécepteurs placés en parallèle, un boîtier de détection à spectromètre et un procédé de détermination de la fonction de réflectance spectrale de l'objet. La mesure de couleur d'un objet avec ce procédé de l'art antérieur est réaliséeau moyen d'un boîtier développé spécialement et avec un procédé nécessitant un cache pour masquer tout illuminant extérieur inconnu. De plus, ce type de spectromètre ne permet pas de réaliser une photographie spectrométrique.

L'art antérieur connaît également, par la demande de brevet PCT N° WO 2004/079314, un colorimètre, un boîtier de détection à colorimètre et un procédé de détermination de la couleur d'un objet en calculant un écart par rapport à une couleur étalon. Le fonctionnement de la mesure de couleur avec ce procédé de l'art antérieur est réalisé avec un boîtier développé spécialement, un procédé nécessitant un cache pour masquer tout illuminant extérieur inconnu, et un procédé incapable de mesurer une fonction de réflectance spectrale proprement dite.

L'art antérieur connaît également, par la demande de brevet britannique N° GB2474701A, un colorimètre, un boîtier de détection à colorimètre et un procédé de détermination de la couleurd'un objet en calculant un écart par rapport à une couleur étalon. La mesure de couleur avec ce procédé de l'art antérieur est réaliséeau moyen d'un téléphone équipé d'un écran pour l'émission de flashs de couleur et d'un appareil photo sur la face opposée. La mesure de couleur avec ce procédé de l'art antérieur est réalisée avec des guides d'onde développés spécialement(jeux de miroir, fibres optiques, etc.), un procédé nécessitant un cache ou des guides d'onde pour masquer tout illuminant extérieur inconnu, et un procédé incapable de mesurer une fonction de réflectance spectrale proprement dite.

Exposé de l'invention

La présente invention entend remédier aux inconvénients de l'art antérieur en proposant un procédé de mesure de la couleur d'un objet par spectrométrieutilisant comme émetteur un moyen apte à émettre des illuminants de couleurs, et comme récepteur un capteur électronique d'image couleur, les deuxsitués côte à côte, en présence ou non d'un illuminant extérieur inconnu (mais constantpour tous les flashs).

Dans le principe, la présente invention fonctionne à l'opposé d'unspectromètre émissif à diffraction : au lieu de générer un seul illuminant étalonné et de l'analyser avec plusieurs dizaines de photodétecteurs, la présente invention génère plusieurs dizaines d'illuminants étalonnés et les analyse avec simplement trois photodétecteurs.

A cet effet, la présente invention concerne, dans son acception la plus générale, un procédé de mesure de la réflectance diffuse uniforme R 0BJ (A) en au moins un point d'un objet à l'aide d'un dispositif comportant un moyen apte à émettre des illuminants de couleur exprimés sous la forme de flux lumineux et un capteur électronique d'images couleurs, caractérisé en ce qu'il comporte les étapes suivantes :

• placement dudit objet dans une zone se trouvant en face de et sensiblement perpendiculairement audit moyen apte à émettre des illuminants de couleur sous la forme de flux lumineux de couleurs et se trouvant dans le champ de vision dudit capteur électronique d'images couleurs, ledit objet étant également soumis à un illuminant extérieur sous la forme d'un flux lumineux extérieur environnant l ext (A) inconnu et constant où λ désigne la longueur d'onde, émission par ledit moyen d'une série de N illuminants S source ^)i (avec N entier naturel supérieur à un, i variant de 1 à N et λ la longueur d'onde), S source ^)i étant connu en fonction des paramètres d'entrée dudit moyen apte à émettre des flux lumineux de couleurs, capture par ledit capteur électronique d'images couleurs du flux lumineux réfléchi en aumoins un point duditobjet et entrant dans le capteur, ledit flux lumineux étant noté Ε ε£φίβυΓ (λ)ί, avec N entier naturel strictement supérieur à deux, i variant de 1 à N et λ la longueur d'onde, et obtention de N équations « Ei »: E capteur ^)i = R 0BJ (A) * ( Γ'(λ) + , en ra j Son caractère additif de la lumière ondulatoire et par définition de la réflectance diffuse uniforme R 0BJ (A) en au moins un point de l'objet ; et détermination par ledit dispositif des deux fonctions inconnues continues R 0BJ (A) et l ext (A) en résolvant le système des N équations E, :

- en intégrant chaque équationE, sur l'intersection des spectres source et capteur, en notant x, y et z les sensibilités dans la base colorimétrique choisie, chaque équation E, générant alors trois équations « E, intégrée » I((R OBJ (A)*(rV) + S source Mi ) * x(A) * dA)

| ( E capteur (?l)i * z(A) * dA) _ | (( R OBJ (A) * ( |ext (A)+s source (?l)i )* z ( A )* dA) j

- en calculant la valeur numérique correspondant au terme de gauche des équations Ei intégrée à l'aide des paramètres de sortie du capteur numérique d'image ; et en exprimant les deux fonctions inconnues continues R 0BJ (A) et l ext (A) à l'aide d'un nombre fini de points d'interpolation (A j , ) reliés par au moins une fonction d'interpolation s(A) pour conserver le caractère continu desdites fonctions inconnues continues R 0BJ (A) et l ext (A). les Aj étant des longueurs d'onde choisies dansl'intersection des spectres source et capteuret étant des paramètres d'entrée du procédé, choisis pour minimiser le nombre de points d'interpolation à précision donnée ; et en recherchant les paramètres des fonctions R 0BJ (A) et l ext (A) qui minimisent le système de moindres carrés ||A * X-B|| 2 résultant des équations E, intégrées. Ainsi, le procédé selon la présente invention permet de mesurer précisément la réflectance diffuse uniforme d'un objet en au moins un point, et ceci de manière optimisée par rapport aux solutions décrites dans l'art antérieur. De plus, la présente invention fonctionne parfaitement avec des appareils nomades du quotidien.

Avantageusement, ledit procédé comporte en outre une étape de détermination de la valeur de l'illuminant extérieur l ext (A).

De préférence, ledit procédécomporte en outre une étape de transcription de la fonction R 0BJ (A) de réflectance diffuse uniforme en au moins un point de l'objet en coordonnées CIE XYZ pour un illuminant donné.

Selon un mode de réalisation, le nombre de flashs est du même ordre de grandeur que le nombre de points d'interpolation pour déterminer les valeurs de la réflectance diffuse uniforme R 0BJ (A) en au moins un point de l'objetet de l'illuminant extérieur l ext (A).

Selon une variante, ledit procédécomporte une étape de détermination des valeurs de la réflectance diffuse uniforme R 0BJ (A) en au moins un point de l'objet et de l'illuminant extérieur l ext (A) dans plusieurs bandes spectrales.

Selon un mode de réalisation, ledit dispositif met en œuvre un écran pour émettre les flashs de couleur et un capteur électronique d'image pour capter la lumière réfléchie par l'objet-cible.

Selon un mode de mise en œuvre particulier, ledit dispositif est un appareil photo ou une caméra avec flash intégré ou amovible.

Avantageusement, ledit dispositif met en œuvre des guides d'onde pour faire transiter l'émission et la réception des flashs de couleurs. Selon une variante, ledit procédé est mis en œuvre pour réaliser des photographies spectrométriques d'objets et pour réaliser des adaptations chromatiques (balance des blancs) à volonté.

Selon une autre variante, ledit procédé selon l'une des revendications précédentes, caractérisé en ce qu'il est mis en œuvre pour mesurer la couleur d'un élément compris dans le groupe suivant : matériaux, solides, liquides, gaz, peintures, tapisseries, graphismes, textiles, plastiques, bois, métaux, sols, minéraux, végétaux et aliments.

Selon un mode de réalisation, ledit procédé est mis en œuvre pour la mesure des couleurs à but médical ou cosmétique sur l'homme et le vivant d'au moins un élément compris dans le groupe suivant : peau, boutons, grains de beauté, chevelure, pelage, maquillage, et dents.

Selon une variante, ledit procédé est mis en œuvre pour l'utilisation de codes-barres en couleur,à une ou plusieurs dimensions. Selon un mode de mise en œuvre particulier, ledit procédé est mis en œuvre dans un but d'assistance aux personnes daltoniennes et/ou aveugles.

La présente invention se rapporte également à un dispositif comportant un moyen apte à émettre des illuminants de couleur sous la forme de flux lumineux de couleurs et un capteur électronique d'images couleurs, de mesure de la réflectance diffuse uniforme R 0BJ (A) en au moins un point d'un objet placé dans une zone se trouvant en face de et sensiblement perpendiculairement audit moyen apte à émettre des couleurs et se trouvant dans le champ de vision dudit capteur électronique d'images couleurs et étant soumis à un illuminant extérieur sous la forme d'un flux lumineux extérieur environnant noté l ext (A). constant et inconnu, caractérisé en ce qu'il comporte des moyens pour :

• émettre une série de N illuminants N entier naturel strictement supérieur à deux, i variant de 1 à N et λ la longueur d'onde), S source ^)i étant connu en fonction des paramètres d'entrée dudit moyen apte à émettre des flux lumineux de couleurs, capture par ledit capteur électronique d'image couleur (12) du flux lumineux réfléchi en aumoins un point duditobjet et entrant dans le capteur, ledit flux lumineux étant noté Ε ε£φίβυΓ (λ)ί, avec N entier naturel supérieur à un, i variant de 1 à N et λ la longueur d'onde, et obtention de N équations (Ε,) :Ε ε£φίβυΓ (λ)ί = R 0BJ (A) * ( l ext (A) + S source ^)i ) enraison du caractère additif de la lumière ondulatoire et par définition de la réflectance diffuse uniforme R 0BJ (A) en au moins un point de l'objet ; et déterminer les deux fonctions inconnues continues R 0BJ (A) et l ext (A) en résolvant le système des N équations E, :

- en intégrant chaque équationE, sur l'intersection des spectres source et capteur, en notant x, y et z les sensibilités dans la base colorimétrique choisie, chaque équation E, générant alors trois équations « E, intégrée » :

I((R OBJ (A)*(rV) + S source Mi ) * y(A) * dA)

| ( E capteur (?l)i * z(A) * dA) _ | (( R OBJ (A) * ( |ext (A)+s source (?l)i )* z ( A )* dA) j

- en calculant la valeur numérique correspondant au terme de gauche des équations Ei intégrée à l'aide des paramètres de sortie du capteur numérique d'image ; et

- en exprimant les deux fonctions inconnues continues

R 0BJ (A) et l ext (A) à l'aide d'un nombre fini de points d'interpolation (A j , ) reliés par au moins une fonction d'interpolation s(A) pour conserver le caractère continu desdites fonctions inconnues continues R 0BJ (A) et l ext (A). les Aj étant des longueurs d'onde choisies dansl'intersection des spectres source et capteur et étant des paramètres d'entrée du procédé, choisis pour minimiser le nombre de points d'interpolation à précision donnée : et en recherchant les paramètres des courbes R (λ) et l ext (A) qui minimisent le système de moindres carrés ||A * X-B|| 2 résultant des équations E, intégrées.

Brève description des dessins

On comprendra mieux l'invention à l'aide de la description, faite ci-après à titre purement explicatif, d'un mode de réalisation de l'invention, en référence aux Figures dans lesquelles :

• la Figure 1 illustre de façon schématique le dispositif selon la présente invention ; et

• la Figure 2 représente les différentes étapes du procédé selon la présente invention ;

• la Figure 3 décrit le non-recouvrement systématique des bandes de longueurs d'ondes intervenant dans le cadre du procédé selon la présente invention : œil humain, capteur, source, mesure ; etles Figures 4, 5, 6, 7 et 8illustrent l'algorithme de flashage, en l'occurrence la génération de grilles successives pour répartir de la façon la plus homogène possible N flashs au sein du triangle de flashage.

Description détaillée des modes de réalisation de l'invention

A titre de remarque préliminaire, on notera que les notations dans ce paragraphe sont : capteur= capteur électronique d'images couleurs (la fonction vidéo n'est pas utilisée dans le cadre de l'étalonnage, seule est utilisée la prise d'images statiques), source= source des illuminants/flashs de couleurs (écran, diode(s), laser(s), etc.) ; (R,G,B) source i = paramètres d'entrée non-linéaires de chrominance de la source des illuminants de couleurs(RGBW source i ou RGBY source i pour des dispositifs à 4 primaires et plus), BL source i = paramètre d'entrée non-linéaire de luminance de la source des illuminants de couleurs (par exemple le rétroéclairage d'un écran LCD) ; (R,G,B) capteur i = paramètres de sortie non linéaires de chrominance du flux lumineux capté par le capteur d'images couleurs, BV capteur i = paramètre de sortienon linéaire de luminance du flux lumineux capté par le capteur d'images couleurs (par exemple la Brightness Value de la norme japonaiseEXIF) ; OBJ= objet de couleur à mesurer ; EXT=illuminant extérieur environnant ; R/G/B = équation valable pour chaque primairerouge (red) ou verte (green) ou bleue (blue);OBJ/EXT = équation valable pour l'objet de couleurou pourl'illuminant extérieur ; x/y/z(A) = équation valable pour chaque sensibilitéspectrale χ(λ), y(A) et ζ(λ) ; sensibilités spectralesde l'observateur standard CIE 1931 =x EC - CIEJ 931 (A), y EC - CIEJ 931 (A), z EC - CIEJ 931 (A)pour Ae [380nm ;780nm] ; sensibilités spectrales du capteur électronique d'images couleur : x EC - capteur (A), y EC - ca P teur (A), z Ec_ca P teur (A) Les notations en exposant EC_XXX signifient que l'on se situe dans l'espace colorimétrique XXX. Dans les figures et l'exemple de réalisation décrit ci-dessous, le moyen

1 1 apte à émettre des couleurs est un écran émissif. Il est entendu que ce moyen 1 1 apte à émettre des couleurs peut également être une ou plusieurs diode(s) multicolore(s), un ou plusieurs laser(s) multicolore(s),un ou plusieurs flash(s) colorés ou tout autre moyen apte à émettre des « couleurs » (une « couleur » =une fonctionspectrale d'énergie dans la gamme de longueur d'ondes considérée). En outre, dans les figures et l'exemple de réalisation décrits ci-dessous, la couleur de l'objet est réduite à la réflectance uniforme diffuse. Il est entendu que ledit procédé est apte à capter les autres composantes de réflectance, en particulier la réflectance spéculaire pour les objetsbrillants et satinés via l'affichage à l'écran d'une figure blanche sur fond noir et la détection du lobe de réflexion spéculaire résultant par une analyse de gradient dans le plan focal image du capteur d'images couleurs.

La Figure 1 représente sur une coupe schématique le dispositif 10 selon l'invention pour mesurer les couleurs d'un objet et de la lumière environnante extérieure : l'objet 30 à mesurer de couleur R 0BJ (A); le moyen apte à émettre des couleurs 1 1 capable d'émettre Nilluminants connus S source (A)i ; la lumière environnante extérieure 40 l EXT (A) ; le capteur électronique d'image couleurs 12 caractérisant en chrominance et luminance le flux lumineux réfléchiE capteur (A)i ; l'application informatique 13 « colorimétriquement pré-étalonnée » qui pilote l'ensemble et interagit avec l'opérateur Dans un mode de réalisation, l'application informatique 13 est partiellement ou totalement distribuée dans le réseau ou « nuage » (« cloud » en terminologie anglo-saxonne).

La Figure 2 représente les différentes étapes du procédé selon la présente invention :

• placement dudit objet 30 dans une zone se trouvant en face de et sensiblement perpendiculairement audit moyen 1 1 apte à émettre des illuminants de couleur sous la forme de flux lumineux de couleurs et se trouvant dans le champ de vision dudit capteur électronique d'images couleurs 12, ledit objet 30 étant également soumis à un illuminant extérieur sous la forme d'un flux lumineux extérieur environnant 40 l ext (A) inconnu et constant où λ désigne la longueur d'onde, émission par ledit moyen 1 1 d'une série de N illuminants S source ^)i (avec N entier naturel supérieur à un, i variant de 1 à N et λ la longueur d'onde), S source ^)i étant connu en fonction des paramètres d'entrée dudit moyen 1 1 apte à émettre des flux lumineux de couleurs, capture par ledit capteur électronique d'images couleurs 12 du flux lumineux réfléchi en aumoins un point duditobjet 30 et entrant dans le capteur, ledit flux lumineux étant noté Ε ε£φίβυΓ (λ)ί, avec N entier naturel supérieur à un, i variant de 1 à N et X\a longueur d'onde, et obtention de N équations « Ei » : E capteur ^)i = R 0BJ (A) * ( Γ'(λ) + caractère additif de la lumière ondulatoire et par définition de la réflectance diffuse uniforme R 0BJ (A) en au moins un point de l'objet 30 ; et

• détermination par ledit dispositif 10 des deux fonctions inconnues continues R 0BJ (A) et l ext (A) en résolvant le système des N équations E, :

- en intégrant chaque équationE, sur le domaine du visible du capteur, en notant x, y et z les sensibilités dans la base colorimétrique choisie, chaque équation E, générant alors trois équations « E, intégrée »

I((R OBJ (A)*(rV) + S source Mi )*x(A)*dA) Ι((Ρ 0Βϋ (λ)*(Ι βχ1 (λ)+β 80υΓϊ:β (λ)ΐ )*y(A)*dA)

| ( E capteur (?l)i * z(A) * dA) _ | (( R OBJ (A) * ( |ext (A)+s source (?l)i )* z ( A )* dA) j en calculant la valeur numérique correspondant au terme de gauche des équations Ei intégrée à l'aide des paramètres de sortie du capteur numérique d'image ; et en exprimant les deux fonctions inconnues continues R 0BJ (A) et l ext (A) à l'aide d'un nombre fini de points d'interpolation (A j , ) reliés par au moins une fonction d'interpolation s(A) pour conserver le caractère continu desdites fonctions inconnues continues R 0BJ (A) et l ext (A). les A j étant des longueurs d'onde choisies dansl'intersection des spectres source et capteur et étant des paramètres d'entrée du procédé, choisis pour minimiser le nombre de points d'interpolation à précision donnée ; et en recherchant les paramètres des fonctions R 0BJ (A) et l ext (A) qui minimisent le système de moindres carrés ||A*X-B|| 2 résultant des équations E, intégrées.

La Figure 3 décrit le non-recouvrement systématique des bandes de longueurs d'onde intervenant dans le procédé selon la présente invention :

• Œil humain : d'après la norme CIE 1931 , il perçoit les flux lumineux entre λ1 0ΙΕ 1931 = 380 nm et λ2 0ΙΕ 1931 = 780 nmavecdes sensibilités notées x/y/z EC - CIE - 1931 ^)d'où l'espace colorimétrique X/Y/Z EC - CIE - 1931 par intégration sur [λ1 0ΙΕ 1931 ; λ2 0ΙΕ 1931 ] bien connu par l'homme de métier ;

• Capteur : il perçoit les flux lumineux entre λ1 ∞ρίβυΓ et 2 cap[eur , avec des sensibilités notées x/y/z EC - capteur ^)d'où l'espace colorimétrique xyz EC - ca P teur par intégration sur ^1 capteur ; λ2 ∞ρίβυΓ ], à l'instar de l'espace colorimétrique CIE 1931 . Il est important de noter que la bande spectrale des capteurs électroniques d'images usuels (CCD, CMOS) couvre une partie d'infra-rouge, en plus du visible humain (sauf si présence d'un filtre infra-rouge) ; · Source : la source émet des flashs de couleurs compris dans l'intervalle [λ1 source ;λ2 80υΓ∞ ], tels que λ *°^∞ = min(∑.a = If i s source (A) i> 0) et χ 2 80υΓ∞ max(∑ = !)¾¾( s source (A) j>0). Si la source est un écran LCD de téléphone portable, il est usuel que le bande spectrale couverte soit limitée à [300 nm ; 700nm], c'est-à-dire significativement moins largeque celle de l'œil humain [380 nm ; 780 nm] ;

• Mesure : La mesure des fonctions R 0BJ ^) et Ι ΘΧί (λ) ne peut être réalisée que dans l'intersection des spectres de la source et du capteur que l'on note [λ1 mesure ^2 mesure ]. En effet, d'une part, le capteur ne capte rien en dehors de son spectre d'intégration. D'autre part, la matrice A T* A doit être inversible ce qui est vérifié quand = S source (A) ,> 0 (cf. la fin de la description détaillée et l'annexe 2). Le choix de sensibilités x/y/z EC - mesure (A)>0 sur [λ1 mesure ^2 mesure ] et nulles en dehors permet de créer un espace colorimétrique xYz EC - mesure j à l'instar de l'espace colorimétrique CIE 1931 . L'utilisation des sensibilités du capteur est toujours possible, celles de la norme CIE 1931 également si la bande^1 mesure ^2 mesure ] est incluse dans [380 nm ; 780 nm].

Une conséquence de la Figure 3et des explications qui viennent d'être données est que le procédé selon l'invention est capable de déterminer les valeurs de la réflectance diffuse uniforme R 0BJ (A) et de l'illuminant extérieur l ext (A) dans d'autres bandes spectrales que le visible humain, à condition que la source et le capteur soient compatibles avec ces bandes et que la « lumière » conserve un caractère ondulatoire : l'ultraviolet, les infrarouges, etc. Les figures 4, 5, 6, 7 et 8 illustrent l'algorithme de flashage, en décrivant les grilles k utilisées en fonction d'un nombre croissant de flashs N demandés, pour répartir de la façon la plus homogène possible les flashs dans un triangle de flashage donné, compatible avec les gamuts source et capteur. La suite des grilles k est itérative quand N croît :

• La Figure 4 présente la grille k=1 à utiliser pour N compris entre 1 et 3. La position de chaque flash i est indiquée par son numéro ;

• La Figure 5 présente la grille k=2 à utiliser pour N=4. La position de chaque flash i est indiquée par son numéro ; · La Figure 6 présente la grille k=3 à utiliser pour N compris entre 5 et 6. La position de chaque flash i est indiquée par son numéro ;

• La Figure 7 présente la grille k=4 à utiliser pour N compris entre 7 et 10. La position de chaque flash i est indiquée par son numéro ;

• La Figure 8 présente la grille k=5 à utiliser pour N compris entre 1 1 à 15. La position de chaque flash i est indiquée par son numéro.

Décrivons à présent le traitement pour déterminer les inconnues R (λ) et Ι ΕΧΤ (λ) à partir des N flashs de couleur.

Dans le mode de réalisation présenté Figure 1 , l'objet à mesurer 30 est placé sous la source des flashs de couleurs 1 1 et dans le champ de vision du capteur électronique d'images couleurs 12.

Puis, la source1 1 émet successivement une successionde flashs de couleurs en suivant l'algorithme de flashage décrit dans l'annexe 1 qui cherche à optimiser le conditionnement de la matrice A, en restant dans les gamuts écran et caméra et en s'assurant que l'illuminant extérieur reste constant au cours des flashs. Cet algorithme prend en entrée un nombre de flashs N valides demandés. N dépend du nombre n de points d'interpolation demandés pour déterminer les fonctions R 0BJ (A) et l ext (A)- Au minimum, 3 * N > (2n+2) pour que le système A * X=B soit correctement déterminé (cf. fin de la description détaillée), donc N > 2/3 * (n+1 ).

L'algorithme de flashage renvoie en sortie une séquence de N flashs valides, avec pour chaque flash, les paramètres d'entrée de la source et les paramètres de sortie du capteur. L'indice de laséquence de flashs est noté i.

Nota : Si la précision requise pour déterminer les fonctions R 0BJ (A) et l ext (A)est de l'ordre 10 nm, N= n = 30. Compte tenu de la réactivité des composants électroniques courants, l'ensemble du cycle de flashage prend une dizaine de secondes au maximum. Pour une cible non uniforme (par exemple une texture), le procédé utilise un algorithme de stabilisation d'image avec au moins un point de contraste.

Nota : Si la source des flashs de couleurs 1 1 est un écran émissif, elle est capable de générer un grand nombre de flashs de couleurs, typiquement Npouvant atteindre2 24 =16,7 millions pour les systèmes RGB en 3x8 bits.

Pour chaque flash i, la lumière émise par la source 1 1 se reflète sur la cible colorée 30 puis elle arrive dans le capteur d'image 12 ce qui donne l'équation (Ei) : E capteur (A)i = R 0BJ (A) * ( S source (A)i + l EXT (A) ) .

Développons l'équation (E,) :

E capteur (A) . + R OBJ (A) * | E XT (A) .

Posons l EXT REF (A) = R 0BJ (A) * I EXT (A)

L'équation (Ei) devient : E capteur (A)i =R OBJ (A) * S source (A)i + l EXT REF (A) Premièrement, le procédé va interpoler les fonctions R 0BJ (A) et l EXT REF (A) à l'aide d'une fonction spline cubique scellée et de ( n 0BJEXT REF +1) points d'interpolation de coordonnées [x K =A 0BJ EXT REF k ,yk=y 0BJ EXTREF k] pour k=0

A N OBJ/EXTREF TE|S QUE :

- tous les A OBJEXTREF k sont compris dans l'intersection des spectres du capteur et de la source [A1 MESURE ; A2 MESURE ] (cf. Figure 3) avec A OBJ EXTREF 0= A1 mesure et

^OBJ/EXT REF|_|OBJ/EXT REF _ ^2 MESURE

- la pente nulle des splines est nulle aux extrémités: p0=p n 0BJ/EXTREF = o Les y 0BJEXTREF k sont les inconnues que le procédé va déterminer.

Comme les fonctionsR OBJ (A) et l EXT REF (A) sont des fonctions splines scellées à pente nulle aux extrémités, R 0BJ (A) et l EXT REF (A) peuvent s'écrire sous une forme linéaire :

R 0BJ (A) = lifft = 0)»(n OBMi y 0BJ k * <ï> 0BJ (l,kA) ) : (1 )

|Εχτ REF ^ _ . (fe = 0 ) Î ( M EXTREP ^i y EXTREF k * φ ΕΧΤ REF (|,|<,λ) ) : (2) avec :

- 1 entre 1 et n , O U B B J J / , E t X A T I R K E t F r i t„eil qu ,e : λ ¾ - 1 A mesure

* (λ-λι) + d 0BJEXTREF k * (A-A|-i) * (A-A|) A 2, pour k=0 à n 0BJEXTREF ;

aOBJ/EXTREF k = Q pour k=Q g μι .

„OBJ/EXT REF _ Λ .

a i-i - \ ,

0BJ/EXTREF _ n .

d i - V ,

aOBJ/EXTREF k = Q pour k=| + 1 g n OBJ/EXTREF - b OBJ EXTREF k = Q pour k=Q g μι .

l^OBJ/EXT REF

- D |-1 - Ί/(λ|.ι - k\) ,

l^OBJ/EXTREF

- D | - -Ί/(λ|.ι - λ\) , ,

- b 0BJEXTREF k = 0 pour k= à n 0BJEXTREF k - c 0BJEXTREF k = ( cc 0BJ EXT REF ( , ,k) ) / (h 0BJEXT REF M 2) pour k=0 à 1-1 ;

-OBJ/EXT REF _ _,OBJ/EXT REF Λ / Λ \ \ ι OBJ/EXT REF Λ \ .

- C 1-1 — ( 0C -Ί/(λ|-ΐ - λ| / (Π |-1 ) ,

-c -OBJ/EXTREF _ ^OBJ/EXT REF , A U \ \ I /UOBJ/EXT REF Λ \ .

i - ( α (i,i) + i/(A|.i - k\) ) I (n i-i ) ,

- c 0BJ/EXTREF k = ( a 0BJ EXT REF (,, k) ) / (h 0BJEXT REF |_1 A 2) pour k= à n 0BJEXT REF ;

- d ° BJ EXTREF k = ( cc 0BJ EXT REF (l-1,k) ) / (h 0BJEXT REF |--| A 2) pour k=0 à 1-1 ;

.

- ,

JOBJ/EXTREF _ _,OBJ/EXT REF . Α ΙΙ\ ¾ \ \ / /uOBJ/EXT REF Λ \ .

-α ι - ( α ( ι,ΐ) +I/(ÀI-I - λι) / (π ι-ι ) ,

- d ° BJ/EXTREF k = ( cc 0BJ EXT REF (,.i, k) ) / (h 0BJEXT ΚΕΡ ,.ι Λ 2) pour k=l+1 à n 0BJEXT REF ;

- h 0BJEXTREF = λ, - λ,.ι pour 1=1 à n ° BJEXTREF ;

- Les cc 0BJ EXT REF (i,k) expriment la pente du spline au point I en fonction des y OBJ/EXTREF k . pOBJ/EXT REF | _ ∑.(A * U) T ». OBJ EXT REF'M a OBJ/EXT

REF * OBJ/EXTREF χ .

(I,k) Y k ) ,

Les a 0BJ EXT REF (i,k) sont calculés par l'inversion (par pivot) du système linéaire suivant, caractéristique des fonctions splines cubiques scellées ; ils sont uniquement fonction des λ, (l=0 à n 0BJEXT REF ) :

„ POBJ/EXT REF u, OBJ/EXT REF . „OBJ/EXT REF * * H /uOBJ/EXT REF . Λ μ , OBJ/EXT REF \ .

ι-1/π i-i + p i (1/n i-1 + Ί/η i) +

_.OBJ/EXT REF /uOBJ/EXT REF _ *r ..OBJ/EXT REF ..OBJ/EXTREF \ / χ μ , OBJ/EXT REF

P ι+1/π i - L (y 1-1 -y \) l (A|.i-Ài/n 1-1

+ /„OBJ/EXTREF ..OBJ/EXT REF Χ Μ , OBJ/EXT REF λ ΛΙ 1ρ . Λ KIOBJ/EXT REF Λ .

(y ι-y ι+ι /(Λι-λι+ι /η ι j, pour ι-π a -i , Deuxièmement, le procédé connaît la fonction de transfert de la source des flashs de couleurs f ource qui donne les fonctionsS source (A)ien fonction des paramètres d'entréede la source en chrominance (R,G,B) source i = (c source RGB i) et en luminance BL source i = c sourceBL i. Cette fonction de transfert est déterminée à partir des valeurs théoriques de sortie « usine » du dispositif électronique et/ou d'un étalonnage préalable à la mesure. Il est inutile de renouveler obligatoirement cet étalonnage avant chaque mesure de couleur. Cette fonction de transfert est également disponible pour les dispositifs à 4 primaires et plus (rouge-vert-bleu-blanc, rouge-vert-bleu-jaune, etc.) A titre illustratif, uneforme de la fonction de transfert de la source est la suivanteen précisant que les dispositifs d'électronique grand public cherchent à respecter le standard sRGB :

_ ource C source i ) ;

Qsource BL | ίηβ

MAX

Qsource R/G/B | j ΠΘ3 ï Γβ ί R/G/B

_l_çSource R/G/B

Troisièmement, le procédé connaît la fonction de transfert du capteur électronique d'image couleur apteur qui donne les coordonnées trichromatiques(X,Y,Z) EC - mesure i dans l'espace colorimétrique de mesure,du flux lumineux Ε ε£φίβυ Γ (λ)ί entrant dans le capteur, en fonction de ses paramètres de sortie de chrominance (R,G,B) capteur i = (c capteur R G B i) et de luminance BV capteur i

(C capteur BV i). Cette fonction de transfert est déterminée à partir des valeurs théoriques de sortie « usine » du dispositif électronique et/ou d'un étalonnage préalable à la mesure. Il est inutile de renouveler obligatoirement cet étalonnage avant chaque mesure de couleur.

A titre illustratif, uneforme de la fonction de transfert du capteur électronique d'image couleur est lasuivanteen précisant que les dispositifs d'électronique grand public cherchent à respecter le standard sRGB :

• Luminance Y: Le procédé extrait de l'EXIF la BrightnessValue B v ca P teur pour ca | cu | er |g iuminanceB capteur du flux lumineux entrant (Bv=Log 2 (B/N/K) en cd/cm A 2) avec N=1/3,125 et K=10,7, puis le procédé détermine la luminance Y = K * B (K est un paramètre d'étalonnage résultant de pertes diverses: dispersion de la lumière de l'écran, absorption de la lentille, etc.) Chrominance (x,y) - mesure : premièrement, le procédé linéarise les 3 coordonnées (RGB) capteur à l'aide d'une fonction paramétrique gamma (g,a,b) (f(x)=(a*x+b) A g) et il obtient les 3 coordonnées (RGB_linéaire) EC - capteur . Deuxièmement, le procédé convertit les 3 (RGB_linéaire) EC - capteur en 3 coordonnées (RGB_raw) EC - capteur par multiplication avec une matrice 3x3 [WB capteur ] qui correspond aux valeurs de la balance des blancs. La balance des blancs consiste à réaliser une adaptation chromatique pour passer d'un blanc D65 (référence du sRGB) à un blanc estimé. Troisièmement, le procédé convertit les 3 coordonnées (RGB_raw) EC - capteur en 3 coordonnées (X,Y,Z) EC - mesure par multiplication avec la matrice de passage 3x3 [pEc_ca P teur>Ec_mesure] qu i correspond à un changement de base vectorielle pour passer de l'espace colorimétrique du capteur à un sous-espace vectoriel qui est l'espace colorimétrique de mesure. Quatrièmement, le procédé convertit les 3 coordonnées (X,Y,Z) EC - mesure en (x,y) EC - mesure .

Développons à présent les équations (Ei) en les intégrant surl'intersection des spectres du capteur et de la source [M mesure ; A2 mesure ] (cf. Figure 3) pour générer les équations « Ei intégrées »:

Stilambâa, 1 mesu mhda 2 mesurent E capteur (A)i *x/y/z EC - mesure (A) * dA ) = = f Lambda 1 mesure)* (Lambda 2 R 0BJ (A) * S source (A) j + l EXT REF (A) ) *x/y/z EC - mesure (A) * dA ) ; EC me ure

= f _: L.2mbda 1 mesure) ' (Lambd 2 mesurent R 0BJ (A) *f SOURCE (Q SOURCE R/G/B/BL * x/y/z EC_mesure (A) * dA }

+| . 58 J ( "■ >. M»I) | EXT REF (A) *x/y/z EC - mesure (A) * dA ) ;

= J i \ màda l mesure) ' (Lambda 2 mes r X∑J[k = 0) T (n OS/J|¾ y 0BJ k* È> 0BJ (l,k^)

+ J. I ,wMa 1 »!#strrs) * (iai?i Q 2 wesur# ¾ = 0) * (n QT f?EF¾¾ y EXT

REF^EXT REF \ χ) ) * x/y/z EC_mesure (A) * dA } .

En permutant l'ordre des sommations, les équations (Ei intégrées) deviennent :

∑i<* = 0) T (n OF/>t:( y 0BJ k *f.(!aiii Ma 1 m«ure) T 0amôda 2 »ïes¾re)¾ φ 0Εϋ (|,| ,λ) *f

* x/y/z EC - mesure (A)*dA ))

+∑„(fc = 0?(n EXT i?EF)¾ y EXT

REF k *i J¾»ÎMG 1 m u · " *>T 2 »i siire)!( φ ΕΧΤ REF (|,| ,λ) ) *x/y/z EC - mesure (A) * dA )) ; R/G/B/BV EC mesure

lif* - 0) T (n OB C y 0BJ k *(∑ICÎ ~ i T : OS/ ' j ' . Lsmbda i - i) f (to«M e ¾¾ Φ * f ource (C source RGBBL i) (A)

* x/y/z EC - mesure (A)* dA ))))

+ ∑,C* = 0) T C« EXTREF y EXT

REF k *(∑.(; = ) * x/y/z EC - mesure (A)*dA )))) ; Posons n ° BJ+EXTREF = (n 0BJ +1) + (n EXTREF +1) ;

Posons le vecteur x 0BJ+EXT REF de dimensionn OBJ+EXT REF tel que :

.

que : - SI 1 < k <n° BJ + 1 : φΟ^ΕΧΤ REF ^^ECjr^ure^ =

( 1X1 = l) T fn OSj j . Lambda I - ifiLambdc ;) ÷{ φ ^|,| -1 , )*f ource (C ECR

R/V/B/BL i)(A)) *x y/ z EC_ m esure (A) * dA ) )

- si n 0BJ +2 < k'≤n 0BJ +n EXT REF +2 : =

( ÏM - ' Ifin EXT REF) ( j lambda ! - ÎfiLemhda Î)|C Φ ΕΧΤ REF (l,k-n 0BJ -2 ))

*x/y/z EC - mesure (A) * dA )) ;

Les équations (Ei intégrées) peuvent s'écrire sous la forme des 3*N

équationssuivantes avec comme seules inconnues les x 0BJ+EXT REF k : j .

Posons la matrice jacobienne A de dimension (3*N ; n 0BJ+EXT REF ) :

[

·(■{!¾ OBJ - BST REF(j = i, k = l S;.(g &B. ' Pbi ΟΒΓ - EST REFi'i - l. k.dB X ># ;}&β(Ρ1ιί OBf ÷ EST RBFil = i.fe = nOBJ - Ï ]

Posons le vecteur B égal à f a teur (c ca P teur R/V/B BV i) X/Y/Z EC - mesure de

dimension 3 * N (i compris entre 1 et N).

Les équations (Ei intégrées) forment alors le système linéaire A*X = B.

Le procédé va utiliser l'algorithme des moindres carrés linéaires pour

minimiser ||A.X-B|| 2 . Le minimum est atteint pour : Xmin = (A T .A) ~1 .A T .B, d'où les

valeurs des points d'interpolation de R 0BJ (A) et l EXT REF (A) et donc Ι ΕΧΤ (λ) =

R OBJ (A)/ | EXT REF (A)

Il existe 3 conditions à respecter : on montre que la matrice A T .A est

inversible si et seulement si A est injective, ce qui est vrai avec

∑i(i = l) T .v*( S source (A) i)> 0 sur l'intervalle [A1 mesure , A2 mesure ] et avec h =

max( k+ i- k ) suffisamment petit. La démonstration mathématique est décrite

dans l'annexe 2. De plus, x 0BJ+EXT REF k >0 pour tous les k car ce sont les

ordonnées de flux d'énergie. La première condition est vérifiée par construction de [Al mesure , ^2 mesure ] comme intersection des spectres source et capteur (voir Figure 3) et, la deuxième, avec un minimum de points d'interpolation pour R 0BJ (A) et Ι ΕΧΤ (λ). Concernant la troisième condition, la recherche de Xmin est réalisée sous contrainte x 0BJ+EXT REF |< >o pour tous les k, en utilisant, entre autres, l'algorithme NLLS de Lawson et Hanson (Laboratoire JET de la NASA, Solving Least Squares Problems aux éditions SIAM), ou, plus généralement, un algorithme d'optimisation quadratique.

Nota : Le procédé est envisageable avec d'autres fonctions d'interpolation en mode linéaire ou non-linéaire. Le mode non-linéaire est également à considérer pour passer d'un système de 3 * N équations selon les composantes x/Y/z EC - mesure à un système de N équations sous forme de normes de type euclidienne (\\--\k) oude type deltaE des coordonnées(X,Y,Z) EC - mesure .

Nota : Le procédé fonctionne,d'une part, avec des capteurs donnant accès aux coordonnées (R,G,B_raw) et,d'autre part, avec des capteurs ne donnant pas accès aux coordonnées (R,G,B_raw), ne donnant pas accès aux valeurs de la matrice de balance des blancs, mais permettant de verrouiller ces valeurs de balance des blancs pendant le processus de flashage. Dans ce deuxième cas, les valeurs de la matrice des blancs deviennent des inconnues supplémentaires à déterminer (9 au maximum). Pour résoudre ce système A * X=B augmenté des inconnues de balance des blancs, la technique consiste à augmenter le nombre de flashs pour disposer d'un système sur-déterminé, puis à la résoudre soit en mode non linéaire, soit en mode linéaire itératif de la façon suivante (entre autres quand les valeurs possibles des paramètres de la balance des blancs sont compris dans un ensemble fini de valeurs discrètes) : décomposition QR du système avec 2 blocs (X | balance des blancs), détermination de X avec le premier bloc en émettant une hypothèse sur les paramètres de balance des blancs, injection des valeurs de X dans le deuxième bloc, détermination des paramètres de balances des blancs, puis réinjection dans le premier bloc pour itérer X, et ainsi de suite. Deuxmodes de réalisation de visée sont possibles pour l'invention en mode « colorimètre » afin d'enrichir l'expérience utilisateur et d'améliorer la précision du mode « nuancier » de l'invention :

· Premier mode de réalisation : écran 1 1 pointant à l'opposé des yeux de l'utilisateur

• Second mode de réalisation : écran 1 1 pointant dans la direction des yeux de l'utilisateur

Premier mode de réalisation : écran pointant à l'opposé des veux de l'utilisateur

L'écran 1 1 affiche une figure blanche sur fond noir (rond/bandes/carré...) pour matérialiser l'endroit à viser, puis l'utilisateur appuie sur le déclencheur utilisé normalement pour prendre une photo (cf. bouton sur le côté pour un iPhone S ou sur le bas de l'écran à l'opposé de la position de la caméra de visioconférence).

Un intérêt particulier de ce premier mode de réalisation est d'être peu sensible à l'environnement lumineux ce qui garantit le fonctionnement de l'invention dans pratiquement tous les lieux usuels, même très lumineux (intérieur, extérieur). Cette qualité repose sur la très courte distance entre la cible, l'écran 1 1 et le capteur d'image 12, sur la forte luminosité des écrans émissifs et sur le fait qu'il existe plusieurs « barrages » de fait aux rayons lumineux environnants : support de l'écran et du capteur d'image, main/doigt(s) de l'utilisateur sur les côtés.

Second mode de réalisation : écran pointant dans la direction des veux de l'utilisateur L'écran 1 1 est posé face à l'illuminant extérieur, typiquement face au ciel. L'utilisateur vient alors placé sur le haut de l'écran l'objet coloré à mesurer (partie proche du capteur d'image). Pour faciliter la manœuvre, l'écran 1 1 est divisé en deux parties, la partie supérieure proche du capteur d'image 12 sert à émettre les flux lumineux pour la mesure, la partie inférieure sert à donner une boucle de retour à l'utilisateur sur l'endroit qui est pointé (wysiwyg).

Un intérêt particulier de ce second mode de réalisation est de pouvoir mesurer la réflectance de l'écran R ecran (A).

Le dispositif 10 selon la présente invention permet de transformer en spectromètre tous les équipements électroniques disposant d'un écran émissif 1 1 et d'un capteur d'image 12 situé à côté, entre autres les téléphones, les tablettes, les PDA (assistants personnels), les ordinateurs et les moniteurs/TV équipés d'une caméra de visioconférence. Il s'adresse aussi par exemple aux appareils photos et les caméscopes disposant d'un écran orientable/amovible.

Le dispositif 10 selon la présente invention permet d'ouvrir de nouveaux usages nomades de mesure fidèle de couleur absolue au quotidien, sans nécessiter un appareil dédié. La liste suivante n'est pas limitative :

• la mesure des couleurs sur des objets en tout genre : matériaux, liquides, gaz, peintures, tapisseries, graphismes, textiles, plastiques, bois, métaux, sols, minéraux, végétaux et aliments... ; · l'utilisation de codes-barres en couleur (à une ou plusieurs dimensions). ;

• la mesure des couleurs à but médical ou cosmétique sur l'homme et le vivant : peau, boutons, grains de beauté, chevelure, pelage, maquillage, dents... ;

• la mesure des couleurs dans un but d'assistance aux personnes daltoniennes et aveugles ; • la mesure de la couleur d'objet(s) apparaissant sur une photographie afin de réaliser l'adaptation chromatique et de guider l'algorithme de balance des blancs à la place d'utiliser une mire de couleurs étalonnées annexe. L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de l'invention sans pour autant sortir du cadre du brevet.

ANNEXE 1 : ALGORITHME DE FLASHAGE

Introduction

La présenteannexe définit un algorithme de flashage visant à optimiser le conditionnement de la matrice A en cherchant à écarter au maximum les dits flashs et à les distribuer de la façon la plus homogène possibledans l'espace colorimétrique de mesure, tout en restant dans les gamuts de la source et du capteur électronique d'image et tout en s'assurant que l'illuminant extérieur reste constant au cours des flashs.

Description de l'algorithme de flashage Ledit algorithme prend en entrée un nombre de flashs N valides demandés.

Ledit algorithme renvoie en sortie une séquence de N flashs valides (avec pour chaque flash, les paramètres d'entrée de la source et les paramètres de sortie du capteur. L'indice de cette séquence est noté i (flash_i).

Ledit algorithme interagit avec leprocédé et le dispositif selon l'invention qui émettent des flashs de couleurs vers un objet cible et qui captent la lumière réfléchie avec un capteur électronique d'image (entre autres, un smartphone avec l'écran qui émet les flashs et la caméra de visioconférence qui capte la lumière réfléchie par l'objet-cible).

Ledit algorithme fonctionne en présence d'un illuminant extérieur Ι ΘΧί (λ). L'algorithme se décompose en 4 grandes « phases », et chaque phase en

« étapes » :

- Phase 1 : émission d'un flash « noir 1 »

- Phase 2 : recherche des 3 sommets qui maximisent le « trianglede flashage » - Phase 3 : complétion homogène du nombre de flashs valides demandés

- Phase 4 : émission d'un flash « noir 2 »

Notation : dans les lignes qui suivent, les coordonnées (dispR%, dispG%, dispB%) désignent les paramètres d'entrée de chrominance de la source des flashs de couleurs en pourcentage ([0;1]). DispBL% désigne le paramètre d'entrée de luminance de la source des flashs de couleurs en pourcentage ([0 ;1 ]). Dans la pratique, ce sont des valeurs binaires, variant généralement entre 0 et 255. (dispECMY, dispECMx, dispECMy) désignent les coordonnées du flux lumineux émis par la source dans l'espace colorimétriqueYxy EC - mesure .

Notation : dans les lignes qui suivent, les coordonnées (camR%_k, camG%_k, camB%_k) désignent les paramètres de sortie de chrominance du capteur électronique d'image en pourcentage ([0;1 ]). Dans la pratique, ce sont des valeurs binaires, variant généralement entre 0 et 255. camBv désigne la Brightness Value qui est le paramètre de sortie de luminance du capteur électronique d'image(cf. standard EXIF). (camECMX, camECMY, camECMZ) et (camECMY, camECMx, camECMy) désignent les coordonnées du flux lumineux émis par la sourcerespectivement dans l'espace colorimétrique xY2 EC - mesure e t dans son diagramme de chromaticité.

Notation : dans les lignes qui suivent, les valeurs dispEps et camEps signifient que les valeurs de seuil au-deçà desquelles les valeurs d'entrée de la source et de sortie du capteur sont considérées comme nulles.

Phase 1 : Emission d'un flash « noir 1 »

L'objectif de la phase 1 est double : contrôler que l'illuminant extérieur est compatible avec les limites physiques du dispositif et contrôler que l'illuminant extérieur est constant au cours du flashage.

L'algorithme émet un flash « noir », c'est-à-dire qu'il procède à une mesure avec la source éteinte, i.e. dispR%=dispG%=dispB%=0 (et dispBL=0 si possible). L'algorithme est confronté à 2 cas possibles :

- Cas 1 : La valeur camECMY est strictement supérieure à une limite camECMY_IEmax définie en fonction de la luminance maximale de la source des flashs de couleurs, ce qui signifie que la luminance de l'illuminant extérieur est trop forte par rapport aux limites physiques de la source des flashs de couleurs. La mesure n'est pas possible. L'algorithmeinterromptle processus de flashage en générant un code- erreur ;

- Cas 2 : La valeur camECMY est inférieure ou égale à une limite camECMY_IEmax définie en fonction de la luminance maximale de la source des flashs de couleurs, ce qui signifie que la luminance de l'illuminant extérieur est compatible avec les limites physiques de la source des flashs de couleurs. L'algorithme stocke en mémoire les valeurs de chrominance et de luminance mesurées par le capteur d'images couleurs afin de s'assurer que l'illuminant reste constant au cours du flashage, puis l'algorithme passe à l'étape 1 de la phase 2.

Nota : dans la présente annexe 1 , il n'est mentionné que 2 flashs noirs pour contrôler la constance de l'illuminant extérieur, un premier au début du flashage et un second à la fin. En fonction des conditions d'emploi du dispositif selon l'invention, il est tout à fait possible de réduire ou d'augmenter le nombre de flashs noirs pour contrôler la constance de l'illuminant extérieur. Phase 2 : Recherche des 3 sommets qui maximisent le « triangle de flashage »

L'objectif de la phase 2 est de construire un « sous-gamut de flashage » de taille maximale pour une précision donnée, en restant compatible avec le gamut de la source des flashs lumineux et celui du capteur électronique d'images. Définissons la fonction f :(dispECMx, dispECMy)→ (camECMx, camECMy) du gamut de la source des flashs de couleurs vers le gamut du capteur électronique d'images. Le « sous-gamut source-capteur » est défini comme étant l'intersection du gamut du capteur et de l'image par f du gamut de la source. Le sous-gamut source est défini comme étant l'image réciproque par f du sous-gamut capteur.

Autrement dit, l'objectif de la phase 2 est de déterminer un triangle inclus dans le « sous-gamut capteur-source » de taille maximale pour une précision donnée. Ce triangle est appelé « trianglede flashage ».

Etape 1 : Recherche d'un pivot L'objet de l'étape 1 est de définir un flash-pivot à l'intérieur du gamut capteur.

L'algorithme va à l'étape 1 .1 en utilisant une valeur pré-définie de flash- pivot pour l'itération k=1 , par exemple un flash blanc de luminance maximale (dispR%_1 = dispG%_1 = dispB%_1 = dispBL%_1 = 1 ).

Etape 1.1 : Essai d'un flash-pivot k

L'objet de l'étape 1 .1 est de tester si le flash-pivot proposé d'indice k est à l'intérieur du gamut capteur.

L'algorithmedemande à la source de générer le flash-pivot k et il récupère les coordonnées de sortie du capteur (camR%_k, camG%_k, camB%_k, camBv_k). L'algorithme est confronté à 2 cas possibles :

- Cas 1 .1 -1 : Au moins une des composantes (camR%_k, camG%_k, camB%_k) est inférieure ou égale à camEps, ce qui signifie que le flash est en dehors du gamut du capteur. L'algorithme va à l'étape #1 .2

- Cas 1 .1 -2 : Toutes les composantes (camR%_k, camG%_k, camB%_k) sont strictement supérieure à camEps, ce qui signifie que le flash est à l'intérieur du gamut du capteur. L'algorithme va à l'étape 2 Etape 1.2 : Génération d'un nouveau flash-pivot d'indice k+1

L'objet de l'étape 1 .2 est de générer un nouveau flash-pivot d'indice k+1 à l'intérieur du gamut capteur contrairement au flash-pivot précédent d'indice k. L'algorithme est confronté à 2 cas possibles en fonction de (camR%_k, camG%_k, camB%_k) :

- Cas 1 .2-1 : Une seule des trois composantes (camR%_k, camG%_k, camB%_k) est nulle avec le flash-pivot k. L'algorithme va essayer alors un nouveau flash-pivot (k+1 ) avec une proportion plus importante de la composante qui s'est annulée. A titre d'illustration, si camR%_k < camEps, dispR%_k+1 = a * dispR%_k, dispG%_k+1 =dispG%_k * (1 - a * dispR%_k)/(dispG%_k +dispB%_k), dispB%_k+1 =dispB%_k * (1 - a * dispR%_k)/(dispG%_k +dispB%_k) avec 1 < a < 1/dispR%_k. L'algorithme va à l'étape 1 .1 avec ce flash-pivot k+1

- Cas 1 .2-2 : Deux des trois composantes sont nulles (camR%_k, camG%_k, camB%_k) .L'algorithme va essayer alors un nouveau flash- pivot (k+1 ) avecune proportion plus importante des deux composantes qui se sont annulées. A titre d'illustration, si camR%_k < camEps et camG%_k < camEps,dispR%_k+1 = * dispRa %_k, dispG%_k+1 = *dispG%_k, dispB%_k+1 = 1 - a * dispR%_k - * dispG%_k, avec a > 1 , β

> 1 et a * dispR%_k + * dispG%_k< 1 . L'algorithme va à l'étape 1 .1 avec ce flash-pivot k+1 - Cas 1 .2-3 : l'algorithme ne peut pas trouver de nouveau flash pivot k+1 . Alors l'algorithme déclare la mesure impossible et sort de l'algorithme en renvoyant un code-erreur. Etape 2 : Raccourci pour passer du flash-pivot à un premier triangle de flashage de grande taille

L'objet de l'étape 2 est d'économiser des flashs pour faire grandir la taille du triangle de flashage autour du flash-pivot.

Pour ce faire, l'algorithme dispose d'une base de données avec en entrée des valeurs d'entrée et de sortie de flashs de référence et en sortie les coordonnées des triangles de flashage associés. Cette base de données est donc un raccourci pour faire grandir le triangle de flashage.

Plus précisément, l'algorithme encadre le flash-pivot avec les 3 flashs de référence les plus proches (au sens d'une norme euclidienne dans l'espace de mesure). Puis il mixe les coordonnées des triangles de flashage de référence en utilisant les coordonnées barycentriques du flash-pivot dans le triangle des 3 flashs de référence. L'algorithme obtient de la sorte un triangle de flashage de grande taille autour du flash-pivot. Il opère ensuite une homothétie de rapport K<1 sur ce triangle par rapport au flash-pivot pour prendre une marge de sécurité et il demande à la source d'émettre les 3 flashs de couleur correspondant aux 3 sommets dudit triangle. L'algorithme va ensuite à l'étape 4.1 pour analyser les résultats.

Si l'algorithme n'est pas capable d'encadrer le flash-pivot avec 3 flashs de référence, il sélectionne le flash de référence le plus proche de la base de données (si ce dernier est suffisamment proche par rapport à un seuil paramétrable) puis il fait émettre les 3 flashs comme précédemment et il va à l'étape 4.

S'il n'existe aucun flash de référence suffisamment proche dans la base de données, l'algorithme passe à l'étape 3. Etape 3 : Passage du flash-pivot à un premier triangle de flashage de petite taille L'objet de l'étape 3 est de créer un premier triangle de flashage de petite taille grâce à trois points, le premier étant la sortie capteur pour le flash-pivot (camR%_k, camG%_k, camB%_k).

L'algorithme ordonne les valeurs (camR%_k, camG%_k, camB%_k), puis génère deux nouveaux flashs, le premier comportant plus (en proportion) de la composante la plus faible, le deuxième comportant plus des deux composantes les plus faibles.

A titre d'illustration, si camG%_k < camR%_k < camB%_k, l'algorithme émet un premier flash comportant plus (en proportion) de composante verte, puis un deuxième flash comportant plus de composante verte et plus de composante rouge.

Etape 3.1 : Essai du triangle de flashage de petite taille

L'objet de l'étape 3.1 est de tester si le triangle de flashage de petite taille est inclus dans le gamut capteur.

L'algorithme est confronté à 3 cas possibles :

- Cas 3.1 -1 : au moins un flash sort du gamut capteur.L'algorithme va à l'étape 3.2.

- Cas 3.1 -2 : les sorties capteur pour ces flashs sont alignés avec la sortie capteur pour le flash-pivot. L'algorithme déclare la mesure impossible et sort de l'algorithme en renvoyant un code-erreur.

- Cas 3.1 -3 : le triangle de flashage de petite taille est inclus dans le gamut capteur et les points ne sont pas alignés. L'algorithme va à l'étape 4. Etape 3.2 : Génération d'un nouveau triangle de flashage de petite taille

L'objet de l'étape 3.2 est de générer un nouveau triangle de flashage de petite taille en remplaçant les flashs dont la sortie capteur est sortie du gamut capteur.

L'algorithme remplace le (ou les) flash(s) qui a (ont) échoué en ajoutant moins des composantes ajoutées. L'algorithme va à l'étape 3.1 avec cette nouvelle base.

Etape 4 : Maximisation de la taille du triangle de flashage

L'objet de l'étape 4 est de construire le triangle de flashage de taille maximale pour une précision donnée.

La transformation f est supposée linéaire et l'algorithme détermine cette transformation grâce aux données des 3 points de la base du gamut capteur. L'algorithme en déduit le sous-gamut source-capteur puis détermine le triangle de surface maximale inclus dans ce sous-gamut. Il opère ensuite une homothétie de rapport K<1 sur ce triangle par rapport au flash-pivot pour prendre une marge de sécurité et il demande à la source d'émettre les 3 flashs de couleur correspondant aux 3 sommets dudit triangle. L'algorithme va ensuite à l'étape 4.1 pour analyser les résultats.

Etape 4.1 : Essai d'un triangle de flashage d'ordre k

L'objet de l'étape 4.1 est de tester si le triangle de flashage est inclus dans le gamut capteur.

L'algorithme est confronté à 2 cas possibles :

- Cas 4.1 -1 : un sommet du triangle de flashage sort du gamut capteur.

L'algorithme va à l'étape 4.2. - Cas 4.1 -2 : le triangle de flashage est considéré comme insuffisamment grand, car au moins un de ses sommets est trop éloigné du sommet dugamut capteur le plus proche (au sens de la norme euclidienne dans l'espace de mesure), et le flash correspondant à ce sommet est également trop éloigné du sommet du gamut source le plus proche.

L'algorithme va à l'étape 4.3.

- Cas 4.1 -3 : le triangle de flashage est satisfaisant. L'algorithme passe à la phase 3. Etape 4.2 : Génération d'un nouveau sommet d'indice k+1 du triangle de flashage suite à une sortie du gamut capteur du sommet d'indice k

L'objet de l'étape 4.2 est de générer un nouveau sommet d'indice k+1 du triangle de flashage à l'intérieur du gamut capteur contrairement au sommet d'indice k et de coordonnées (camR%_k, camG%_k, camB%_k).

L'algorithme est confronté à 2 cas possibles en fonction de (camR%_k, camG%_k, camB%_k) :

- Cas 4.2-1 : Une seule des trois composantes (camR%_k, camG%_k, camB%_k) est nulle. L'algorithme va essayer alors un nouveau flash- pivot (k+1 ) avec une proportion plus importante de la composante qui s'est annulée. A titre d'illustration, si camR%_k < camEps, dispR%_k+1 = a * dispR%_k, dispG%_k+1 =dispG%_k * (1 -a * dispR%_k)/(dispG%_k +dispB%_k), dispB%_k+1 =dispB%_k * (1 -a * dispR%_k)/(dispG%_k

+dispB%_k) avec 1 < a < 1/dispR%_k. L'algorithme va à l'étape 1 .1 avec ce flash-pivot k+1 .

- Cas 4.2-2 : Deux des trois composantes sont nulles (camR%_k, camG%_k, camB%_k) .L'algorithme va essayer alors un nouveau flash- pivot (k+1 ) avecune proportion plus importante des deux composantes qui se sont annulées. A titre d'illustration, si camR%_k < camEps et camG%_k < camEps,dispR%_k+1 = * dispRa %_k, dispG%_k+1 = *dispG%_k, dispB%_k+1 = 1 - a * dispR%_k - * dispG%_k, avec a > 1 , β > 1 et a * dispR%_k + * dispG%_k< 1 . L'algorithme va à l'étape 1 .1 avec ce flash-pivot k+1 .

- Cas 4.2-3 : l'algorithme ne peut pas trouver de nouveau flash pivot k+1 .

Alors l'algorithme déclare la mesure impossible et sort de l'algorithme en renvoyant un code-erreur.

Etape 4.3 : Génération d'un nouveau sommet du triangle de flashage car triangle de flashage de taille insuffisante

L'objet de l'étape 4.3 est d'agrandir le triangle de flashage car au moins un de ses sommets est trop éloigné du sommet du gamut capteur le plus proche et le flash flash_k_1 correspondant à ce sommet est également trop éloigné du sommet du gamut source le plus proche.

On note flash_k_2 et flash_k_3 les deux flashs dont les sorties capteur sont les deux autres sommets du triangle de flashage.

L'algorithme génère deux flashs respectivement barycentre du système {(flash flash_k_1 , a), (flash flash_k_2, 1 -a)} et barycentre du système {(flash flash_k_1 , a), (flash flash_k_3, 1 -a)} (par ex : a = 0.2). Ces deux flashs et le flash flash_k_1 forment un triangle sur lequel la transformation f est supposée affine. L'algorithme déterminer cette transformation grâce aux données des trois points et en déduit le sous-gamut source-capteur puis détermine le sommet qui permet d'obtenir le triangle de flashage de surface maximale inclus dans ce sous-gamut. Il opère ensuite une homothétie de rapport K<1 sur ce point par rapport au sommet précédent pour prendre une marge de sécurité et il demande à la source d'émettre le flash de couleur correspondant au dit point. Si la sortie capteur sort du gamut capteur, l'algorithme réitère l'opération avec une marge supérieure (K plus petit), sinon, la sortie capteur remplace le sommet précédent et forme avec les autres sommets un nouveau triangle de flashage. L'algorithme va à l'étape 4.1 avec ce nouveau triangle de flashage. Phase 3 : Complétion homogène du nombre de flashs valides demandés L'objectif de la phase 3 est de générer une séquence de N flashs dont les sorties capteur sont répartis de façon homogène dans le triangle de flashage défini lors de la phase 2.

L'algorithme dispose donc des coordonnées des sommets du triangle de flashage ainsi que d'un certain nombre de flashs intermédiaires qui ont permis de déterminer le triangle de flashage lors de la phase 2 (au moins un : le flash- pivot). Ces points sont notés (camECMx_k, camECMy_k).

Etape 1 : Génération d'une grille de N points dans le triangle de flashage

L'objet de l'étape 1 est de générer une grille de N points répartis de façon homogène dans le triangle de flashage. L'algorithme génère une grille de N points répartis comme décrit sur les figures 4 à 8 pour des valeurs de N allant de 1 à 15.

L'algorithmeva à l'étape 2 avec cette grille de N points dans le triangle de flashage, notés (camECMx_g_k, camECMy_g_k).

Etape 2 : Génération d'un flash

L'objet de l'étape 2 est de générer des flashs dont la sortie capteur se rapproche des points idéaux situés sur la grille défini lors de l'étape 1 .

Pour chaque point (camECMx_g_k, camECMy_g_k), l'algorithmedétermine le triangle de sommets trois points non alignés(camECMx_k, camECMy_k) qui minimise la somme des carrés des distances du point (camECMx_g_k, camECMy_g_k) aux sommets du triangle. Cette somme est appelée distance au triangle.

L'algorithmechoisit le point (camECMx_g_k, camECMy_g_k) dont la distance à son triangle est la plus petite.

La transformation f est supposée linéaire sur ce triangle et son voisinage, et on la détermine grâce aux données des 3 sommets du triangle. L'algorithmedétermine ainsi le flash (dispECMx_g_k, dispECMy_g_k) dont la sortie capteur sera (camECMx_g_k, camECMy_g_k).

Si la sortie capteur pour le flash (dispECMx_g_k, dispECMy_g_k) sort du gamut capteur, le flash n'est pas retenu. Le point (camECMx_g_k, camECMy_g_k) est supprimé de la liste des points à approcher.

L'algorithmeest confronté à 2 cas possibles :

- Cas 2-1 : il ne reste plus aucun point (camECMx_g_k, camECMy_g_k) à approcher. L'algorithmeva à l'étape #3 avec l'ensemble des flashs qui ont été générés au cours de phase 2 et 3.

- Cas 2-2 : il reste encore au moins un point (camECMx_g_k, camECMy_g_k) à approcher. L'algorithmeva à l'étape 2 avec la nouvelle liste de points (camECMx_g_k, camECMy_g_k).

Etape 3 : Choix des flashs à retourner

L'algorithmene retient que les flashs dont la sortie capteur est suffisamment proche d'un point de la grille générée à l'étape 1 (au sens de la distance euclidienne dans l'espace colorimétrique de mesure). Si deux points sont suffisamment proches d'un point de la grille, alors n'est retenu que le point le plus proche. L'algorithmepasse ensuite à la phase 4. Nota : si au moins un flash dont la sortie capteur est strictement incluse dans le gamut capteur est retenu, alors la condition ? . C - S source (A) , )> 0 sur l'intervalle [A1 mesure , A2 mesure ] utilisée dans la démonstration de l'inversibilité de A T* A en annexe 2 est vérifiée.

Phase 4 : Emission d'un flash « noir 2 »

L'objectif de la phase 4 est de contrôler que l'illuminant extérieur est constant au cours du flashage.

L'algorithme émet un flash « noir », c'est-à-dire qu'il procède à une mesure avec la source éteinte, i.e. dispR%=dispG%=dispB%=0 (et dispBL=0 si possible). L'algorithme est confronté à 2 cas possibles :

- Cas 1 : La différence des valeurs de chrominance et de luminance mesurées par le capteur d'images couleurs entre le flash noir courant et le flash noir précédent est strictement supérieure à un seuil donné. Cela signifie que l'illuminant extérieur a varié au cours des flashs. L'algorithmeinterromptle processus de flashage en générant un code- erreur ;

- Cas 2 : La différence des valeurs de chrominance et de luminance mesurées par le capteur d'images couleurs entre le flash noir courant et le flash noir précédent est inférieure ou égale à un seuil donné. Cela signifie que l'illuminant extérieur n'a pas varié au cours des flashs et donc que le processus de flashage est valide. L'algorithme renvoie la séquence des N flashs valides réalisés avec, pour chaque flash, les paramètres d'entrée de la source et les paramètres de sortie du capteur. ANNEXE 2 : DEMONSTRATION DE L'INVERSIBILITE DE A T *A

On montre que A T* A est inversible dans le cas où∑.P = l) T .vs( s source (A) i

)> 0 sur l'intervalle [A1 mesure , A2 mesure ] (les flashs recouvrent l'ensemble des longueurs d'onde considérées pour déterminer R 0BJ ^) et Ι ΘΧί (λ) ), et pour h = Ι7ΐ3χ(λί + ι-λί) suffisamment petit. Soit x un vecteur propre associé à la valeur propre μ

On a d'une part (A T* A.x, χ)=(μ.χ, χ)=μ. (x, x) = μ ||x|| 2

Et d'autre part (A T* A.x, x)=(A.x, A.x) = ||A.x|| 2

Donc μ=||Α.χ|| 2 /||χ|| 2

Donc μ est positive et elle l'est strictement si A est injective.

Donc si A est injective, toutes les valeurs propres de A T* A sont strictement positives, donc A T* A est inversible.

Réciproquement, si A n'est pas injective, il existe x non nul tel que A.x = 0. On a alors A T* A.x = 0 donc A T* A n'est pas inversible.

Finalement, A T* A est inversible si et seulement si A est injective.

Lemme 1 : l'intégrale d'une spline S(X) cubique scellée à pentes nulles aux extrémités ÎS(À)*dÀ est toujours positive quand tous les Vi sont positifs Cas n°1 : si tous les Vi=0,

Alors 5(λ)=0 pour tous les λ en raison des pentes nulles aux bords, d'où Ιηί{8(λ) * άλ} = 0

Cas n°2: s'il existe un Vi>0 et que tous les autres Vj sont nuls:

y_i crée un "ventre positif sur u [λ,;λί+ι] (aire>0) et des "ventres négatifs" sur [λ^λ,.ι] et [λ ί+ ι ;λί +2 ] (aire<0), et ainsi de suite jusqu'aux bords. Comme la fonction spline minimise l'énergie de la languette, la surface du ventre positif u [λ,;λί+ι] est supérieure à celles des ventres négatifs [λί -2 ;λί-ι] et [λί+ι;λί +2 ]. C'est dû au fait que |Pi+i |>|Pi+2| > - > |Pn|=0 et que |Ρί.ι Du coup, la surface des ventres positifs est plus grande que les ventres négatifs et donc Ι5(λ^λ>0

Cas n°3: s'il existe deux vi>0:

Cas n°3.1 : y, et y, + i>0 (contigus) : Cela crée un "gros" ventre positif. Le raisonnement du cas n°2 est applicable

Cas n°3.2: y, et y i+ 2>0 (yi+i=0): on a 2 ventres positifs contigus. Le raisonnement du cas n°2 est applicable

Cas n°3.3: y, et y i+3 >0 on 1 ventre positif, 1 ventre négatif, 1 ventre positif. Le raisonnement du cas n°2 est applicable

Cas n°3.4: y et y i+k >0 avec k>3. Idem cas n°3.3

Cas n°4: s'il existe au moins 3 vi>0 (cas général)

Alors le raisonnement des cas n°3 est applicable. CQFD

Lemme 2 : l'intégrale d'une spline S(X) cubique scellée à pentes nulles aux extrémités multipliée par une fonction Κ(λ)>0 ( I 3(λ)*Κ(λ)*ϋλ ) est toujours positive quand tous les vi sont positifs

Le lemme 1 (cas n°2) n'est pas applicable directement car le terme Κ(λ) peut diminuer fortement l'aire des ventres positifs et augmenter celle des ventres négatifs.

L'astuce consiste à augmenter le nombre de points d'interpolation pour diminuer la surface des ventres négatifs. Replaçons-nous dans le cas n°2 du lemme 1 . L'erreur d'une spline scellée est bornée par la formule suivante :|f(x)-s(x)| < a*h avec a= 5/384*max[a;b]{|f(4)(E)|} > 0 (valeur constante) et h = max{|Xi-Xi-i |}.

C'est-à-dire que: f(x)-a*h < s(x)≤f(x)+a*h

Comme f(x)>0 (R 0BJ (A) et Ι ΕΧΤ (λ) sont des flux d'énergie), s(x) > -a*h, donc la surface maximale des ventres négatifs [λ^λ,.ι] u [λ ί+ ι ;λί +2 ] est égale à -2*a*h A 2.

La surface des ventres positifs reste constante car l'augmentation du nombre de points d'interpolation va créer plusieurs y,>0 contigus. Par conséquent, il existe un h pour lequel la surface des ventres positifs est strictement supérieure à celle des ventres négatifs.

Retour à la démonstration Soit x tel que A*x=0 avec x formé des les ordonnées des splines cubiques scellées à pentes nulles aux extrémités représentant R 0BJ ^) et Ι ΘΧί (λ).

Montrons que x=0 On a pour tout i=1 , ...,N et pour toute sensibilité χ/ν/ζ(λ) : = 0 , où R 0BJ (k) et Γ'(λ) sont les fonctions splines cubiques scellées à pentes nulles aux extrémités. En sommant pour les 3*N équations, on obtient :

jR 0BJ M*∑i(i = l) f .VS< S source (A) ΐ)*(χ(λ)+γ(λ)+ζ(λ))

ΐΓ'(λ) * (χ(λ)+ν(λ)+ζ(λ)^λ=0 Avec χ(λ)+γ(λ)+ζ(λ) > 0 et ¾(ί = 1} τ Λ¾ί S source (A) i)> 0 pour tout λ, on déduit du lemme 2 qu'il existe un h suffisamment petit tel que :

lR OBJ ^)¾0 - l) f ^¾( S source (A) ί)*(χ(λ)+γ(λ)+ζ(λ)) )*dλ= 0 et

Puisque 0 βίΓ'(λ) = 0 pour tout λ, i.e. x = 0. A est injective. Donc A T *A est inversible. CQFD