ES2947034T3 - Method and device for evaluation of color similarity - Google Patents

Method and device for evaluation of color similarity Download PDF

Info

Publication number
ES2947034T3
ES2947034T3 ES18702326T ES18702326T ES2947034T3 ES 2947034 T3 ES2947034 T3 ES 2947034T3 ES 18702326 T ES18702326 T ES 18702326T ES 18702326 T ES18702326 T ES 18702326T ES 2947034 T3 ES2947034 T3 ES 2947034T3
Authority
ES
Spain
Prior art keywords
filter
color
threshold
angle
colors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES18702326T
Other languages
Spanish (es)
Inventor
Pereira Américo José Rodrigues
Soares Carvalho Pedro Miguel Machado
Meneses Corte Real Luís António Pereira
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INESC TEC Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciencia
Original Assignee
INESC TEC Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciencia
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP17151878.0A external-priority patent/EP3349149A1/en
Application filed by INESC TEC Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciencia filed Critical INESC TEC Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciencia
Application granted granted Critical
Publication of ES2947034T3 publication Critical patent/ES2947034T3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Spectrometry And Color Measurement (AREA)

Abstract

Método y dispositivo configurado para la evaluación de similitud de color entre un primer y segundo color, que comprende los pasos de: calcular uno o más filtros a partir de dicho primer y segundo color; determinar que los colores primero y segundo son diferentes si al menos uno de los filtros calculados está por encima de un umbral predeterminado para cada filtro; de lo contrario, calcular la diferencia de color CIEDE2000 y determinar que los colores primero y segundo son diferentes si la diferencia de color CIEDE2000 calculada está por encima de un umbral predeterminado; en caso contrario, determinando que el primer y segundo color son similares. Un filtro de módulo puede calcular el módulo del vector de diferencia entre el primer y el segundo color representados como coordenadas 3D en el espacio de color RGB, (Traducción automática con Google Translate, sin valor legal)Method and device configured for the evaluation of color similarity between a first and second color, comprising the steps of: calculating one or more filters from said first and second color; determining that the first and second colors are different if at least one of the calculated filters is above a predetermined threshold for each filter; otherwise, calculating the CIEDE2000 color difference and determining that the first and second colors are different if the calculated CIEDE2000 color difference is above a predetermined threshold; otherwise, determining that the first and second colors are similar. A module filter can calculate the module of the difference vector between the first and the second color represented as 3D coordinates in the RGB color space, (Automatic translation with Google Translate, without legal value)

Description

DESCRIPCIÓNDESCRIPTION

Método y dispositivo para evaluación de similitud de coloresMethod and device for evaluation of color similarity

Campo técnicotechnical field

La presente divulgación se refiere a un método y un dispositivo para la evaluación de similitud de colores, en concreto la comparación de dos colores, aplicable a áreas, tales como el procesamiento digital de imágenes o la visión por ordenador.The present disclosure refers to a method and a device for the evaluation of similarity of colors, specifically the comparison of two colors, applicable to areas, such as digital image processing or computer vision.

AntecedentesBackground

Las diferencias de color son de gran importancia en muchas aplicaciones, sobre todo cuando van a emplearse técnicas de tratamiento de imágenes o de visión por ordenador. Ejemplos de dichos temas de aplicación son la identificación de minerales, la cerámica dental, el análisis del color del vino, la detección de la corrosión y, en un ámbito más genérico, la segmentación de imágenes. Esta última se utiliza ampliamente y suele ser una etapa crítica en los algoritmos de tratamiento de imágenes y vídeos. El ruido en el resultado de esta etapa afecta a los resultados del tratamiento siguiente, concretamente en la segmentación, la detección o la correspondencia de apariencias, impidiendo posiblemente un funcionamiento correcto. A pesar de los muchos años de investigación, la segmentación de imágenes sigue siendo un tema de investigación sin resolver, en el que la identificación del color desempeña un papel fundamental. La métrica CIEDE2000 [3] fue recomendada por CIE en 2000 para la evaluación industrial de las diferencias de color. Sin embargo, sus ventajas se han visto mermadas por el coste computacional.Color differences are of great importance in many applications, especially when computer vision or imaging techniques are to be used. Examples of such application topics are mineral identification, dental ceramics, wine color analysis, corrosion detection and, in a more generic scope, image segmentation. The latter is widely used and is often a critical stage in image and video processing algorithms. Noise in the result of this step affects the results of the following processing, specifically in segmentation, detection or appearance matching, possibly preventing correct operation. Despite many years of research, image segmentation remains an unresolved research topic, in which color identification plays a key role. The CIEDE2000 [3] metric was recommended by CIE in 2000 for the industrial evaluation of color differences. However, its advantages have been diminished by the computational cost.

La formulación CIEDE2000 [3] es una norma internacional desde 2014, que se incorpora en la presente memoria como referencia en su totalidad y en particular en su cálculo de las diferencias de color, con referencia a la ISO CIE 11664-6:2014 (CIE S 014-6/E:2013), y presenta un fuerte enfoque en aplicaciones industriales. Esta métrica ha ido recibiendo cada vez más atención, mostrando un alto potencial en la discriminación entre colores, especialmente aquellos con mayor similitud. La utilización de la métrica CIEDE2000 [3] (AE00) permite cuantificar cómo perciben los humanos la diferencia entre dos colores. Sin embargo, su utilización generalizada se ha visto mermada por el elevado coste computacional, que impide su aplicación en muchas situaciones, especialmente en aquellas con limitaciones en tiempo real. Aunque la evolución tecnológica ha permitido una mayor capacidad de computación, hay un gran número de situaciones que siguen siendo inviables debido a las elevadas cantidades de información visual o a un hardware restringido.The CIEDE2000 [3] formulation is an international standard since 2014, which is incorporated herein as a reference in its entirety and in particular in its calculation of color differences, with reference to ISO CIE 11664-6:2014 (CIE S 014-6/E:2013), and has a strong focus on industrial applications. This metric has been receiving more and more attention, showing a high potential in the discrimination between colors, especially those with greater similarity. The use of the CIEDE2000 [3] (AE 00 ) metric allows quantifying how humans perceive the difference between two colors. However, its widespread use has been hampered by the high computational cost, which prevents its application in many situations, especially those with real-time limitations. Although technological evolution has allowed greater computing capacity, there are a large number of situations that remain unfeasible due to high amounts of visual information or restricted hardware.

Los algoritmos basados en el color pueden verse gravemente afectados por la iluminación y la discriminación entre colores más próximos rara vez es fácil. La métrica CIEDE2000 se utiliza cada vez más en muchas aplicaciones y permite una discriminación más o menos precisa en función del umbral métrico seleccionado. La fórmula de diferencia de color AE00 se diseñó para caracterizar la diferencia de color perceptual que presentan los humanos y puede resumirse en las ecuaciones 1 a 28:Color-based algorithms can be severely affected by lighting, and discrimination between closest colors is rarely easy. The CIEDE2000 metric is increasingly used in many applications and allows more or less precise discrimination depending on the selected metric threshold. The AE 00 color difference formula was designed to characterize the perceptual color difference exhibited by humans and can be summarized in equations 1 to 28:

Figure imgf000002_0001
Figure imgf000002_0001

Figure imgf000003_0001
Figure imgf000003_0001

Figure imgf000004_0001
Figure imgf000004_0001

en donde Kl, Kc y Kh son factores de corrección relacionados con la luminosidad, el croma y el tono, respectivamente. En experimentos, estos valores se fijaron en 1, tal como se define en la norma CIE. Los parámetros Sl, Sc y Sh son factores de ponderación; AL', AC' y AH' son las diferencias de luminosidad, croma y tono. Li, ai, bi y L2, a2, b2 son dos colores en el espacio de color CIELAB, con ISO 11664-4:2008 (CIE S 014-4/E:2007).where Kl, Kc and Kh are correction factors related to lightness, chroma and hue, respectively. In experiments, these values were set to 1, as defined in the CIE standard. The parameters Sl, Sc and Sh are weighting factors; AL', AC' and AH' are the differences in lightness, chroma and hue. Li, ai, bi and L 2 , a 2 , b 2 are two colors in the CIELAB color space, with ISO 11664-4:2008 (CIE S 014-4/E:2007).

La metodología de detección de bordes presentada en [4] combinaba mapas de bordes procedentes de distintas fuentes con el fin de ampliar la información de profundidad con una resolución espacial limitada. Se mostraron algunas alternativas y la que proporcionó mejores resultados fue la comprendida por una combinación de mapas de bordes para diferencia de color e intensidad. El mapa de bordes de diferencia de color se obtuvo mediante la utilización de la diferencia de color CIEDE2000, con el fin de obtener una detección de bordes de color perceptual que sigue las características del sistema visual humano. Aunque esta solución proporcionó los mejores resultados, tuvo el coste de una alta complejidad computacional. Para las decisiones de similitud de color mediante AE00, se suelen aplicar valores iguales o inferiores a 3; para valores superiores a 10, se considera que dos colores son muy diferentes.The edge detection methodology presented in [4] combined edge maps from different sources in order to extend depth information with limited spatial resolution. Some alternatives were shown and the one that provided the best results was the one comprised of a combination of edge maps for color difference and intensity. The color difference edge map was obtained by using the CIEDE2000 color difference, in order to obtain a perceptual color edge detection that follows the characteristics of the human visual system. Although this solution provided the best results, it came at the cost of high computational complexity. For color similarity decisions using AE 00 , values equal to or less than 3 are typically applied; for values greater than 10, two colors are considered to be very different.

La métrica CIEDE2000 [3] presenta otras métricas concurrentes, concretamente otras métricas propuestas por CIE tales como, CIE76 (también conocida como DeItaE CIELAB), CIE94 y DeItaE CMC. No obstante, varios estudios han llegado a la conclusión de que pueden obtenerse resultados más sólidos empleando AE00 incluso con los parámetros por defecto. Pueden obtenerse mejores resultados ajustando los factores de la fórmula a las características de una aplicación determinada.The CIEDE2000 metric [3] presents other concurrent metrics, specifically other metrics proposed by CIE such as CIE76 (also known as DeItaE CIELAB), CIE94 and DeItaE CMC. However, several studies have concluded that more robust results can be obtained using AE 00 even with the default settings. Better results can be obtained by adjusting the factors in the formula to the characteristics of a given application.

El documento “Measuring Images: Differences, Quality and Appearance”, GARRETT M JOHNSON, DISERTACIÓN, 20030301, página(s):1 - 166, XP002444668, divulga un marco modular para la creación de una métrica de diferencia de imágenes en color utilizando conjuntos de datos psicofísicos. Este marco se basa en las ecuaciones de diferencia de color CIE, y la extensión espacial S-CIELAB con respecto al espacio de color CIELAB. The paper “Measuring Images: Differences, Quality and Appearance”, GARRETT M JOHNSON, DISSERTATION, 20030301, page(s):1 - 166, XP002444668, discloses a modular framework for creating a color image difference metric using ensembles of psychophysical data. This framework is based on the CIE color difference equations, and the S-CIELAB spatial extent with respect to the CIELAB color space.

El documento “Distance measures for color image retrieval”, Androutsos D, Plataniotiss K N, Venetsanopoulos A N, procesamiento de imágenes, 1998, ICIP 98. Procedimientos, Conferencia Internacional de Chicago de 1998, IL. EE. UU. 4-7 de oct. de 1998, 19981004; 19981004 - 19981007 Los Alamitos, CA, EE.UU., IEEE Comput. Soc, US, da a conocer la recuperación de bases de datos de imágenes basada en el color utilizando varias métricas de distancia vectorial. Esto se basa en la segmentación de color en donde solo unos pocos vectores de color representativos se extraen de cada imagen y se utilizan como índices de imagen. A continuación, estos vectores se utilizan con mediciones de distancia vectorial para determinar la similitud entre un color de consulta y una imagen de la base de datos.The paper “Distance measures for color image retrieval”, Androutsos D, Plataniotiss K N, Venetsanopoulos A N, image processing, 1998, ICIP 98. Proceedings, Chicago International Conference 1998, IL. USA Oct 4-7 from 1998, 19981004; 19981004 - 19981007 Los Alamitos, CA, USA, IEEE Comput. Soc, US, discloses color-based retrieval of image databases using various vector distance metrics. This is based on color segmentation where only a few representative color vectors are extracted from each image and used as image indices. These vectors are then used with vector distance measurements to determine the similarity between a query color and a database image.

El documento US2005248783A1 divulga un proceso de caracterización de color que utiliza un análisis de regresión no lineal para caracterizar un dispositivo de entrada de color. El dispositivo de entrada de color se utiliza para generar un mapa de bits de valores dependientes de un dispositivo a partir de un objetivo de color. El mapa de bits de valores de color dependientes de dispositivo se utiliza para generar un modelo de avance que mapea los valores de color dependientes de dispositivo con respecto a valores de color en un espacio de color independiente de dispositivo utilizando un análisis de regresión no lineal que minimiza una métrica de diferencia de color entre los valores de color de referencia y el conjunto de valores de color dependientes de dispositivo mapeados a través del modelo de avance. La métrica de diferencia de color se elige para representar las diferencias de color percibidas por el ser humano en el espacio de color independiente de dispositivo. El rendimiento del análisis de regresión no lineal puede mejorarse inicializando el análisis de regresión no lineal utilizando un modelo de avance inicial generado a partir de un análisis de regresión lineal.Document US2005248783A1 discloses a color characterization process that uses nonlinear regression analysis to characterize a color input device. The color input device is used to generate a bitmap of device-dependent values from a color target. The device-dependent color values bitmap is used to generate a forward model that maps device-dependent color values to color values in a device-independent color space using nonlinear regression analysis that minimizes a color difference metric between the reference color values and the set of device-dependent color values mapped through the advance model. The color difference metric is chosen to represent human-perceived color differences in device-independent color space. The performance of the nonlinear regression analysis can be improved by initializing the nonlinear regression analysis using a seed run model generated from a linear regression analysis.

Estos hechos se divulgan con el fin de ilustrar el problema técnico que aborda la presente divulgación.These facts are disclosed for the purpose of illustrating the technical problem addressed by the present disclosure.

ReferenciasReferences

[1] Griffin, Gregory y Holub, Alex y Perona, Pietro. Caltech-256 object category dataset. 2007.[1] Griffin, Gregory and Holub, Alex and Perona, Pietro. Caltech-256 object category dataset. 2007.

[2] Liaw, Andy y Wiener, Matthew. Classification and regression by randomForest. R news, 2(3):18-22, 2002.[2] Liaw, Andy and Wiener, Matthew. Classification and regression by randomForest. Rnews, 2(3):18-22, 2002.

[3] Luo, M Ronnier y Cui, Guihua y Rigg, B. The development of the CIE 2000 colour-difference formula: CIEDE2000. Color Research & Application, 26(5):340-350, 2001.[3] Luo, M Ronnier and Cui, Guihua and Rigg, B. The development of the CIE 2000 color-difference formula: CIEDE2000. Color Research & Application, 26(5):340-350, 2001.

[4] Schwarz, Sebastian y Sjostrom, Marten y Olsson, Roger. Improved edge detection for EWOC depth upscaling. 19a Conferencia Internacional sobre Sistemas, Señales y Procesamiento de Imágenes de 2012 (IWSSIP), páginas 1-4, 2012. IEEE.[4] Schwarz, Sebastian and Sjostrom, Marten and Olsson, Roger. Improved edge detection for EWOC depth upscaling. 19th International Conference on Image Systems, Signals and Processing 2012 ( IWSSIP), pages 1-4, 2012. IEEE.

[5] Nombres de colores admitidos por todos los navegadores. http://www.w3schools.com/colors/colors_names.asp. [En línea; consultado el 08-04-2016].[5] Color names supported by all browsers. http://www.w3schools.com/colors/colors_names.asp. [Online; consulted on 04-08-2016].

[6 ] Dang-Nguyen, Duc-Tien y Pasquini, Cecilia y Conotter, Valentina y Boato, Giulia. RAISE: a raw images dataset for digital image forensics. Actas de la 6a Conferencia de Sistemas Multimedia de ACM, páginas 219-224, 2015. ACM.[ 6 ] Dang-Nguyen, Duc-Tien and Pasquini, Cecilia and Conotter, Valentina and Boato, Giulia. RAISE: a raw images dataset for digital image forensics. Proceedings of the 6th ACM Multimedia Systems Conference, pages 219-224, 2015. ACM.

[7] Pecho, Oscar E y Ghinea, Razvan y Alessandretti, Rodrigo y Perez, Mara M y Della Bona, Alvaro. Visual and instrumental shade matching using CIELAB and CIEDE2000 color difference formulas. Dental Materials, 32(1):82-92, 2016.[7] Pecho, Oscar E and Ghinea, Razvan and Alessandretti, Rodrigo and Perez, Mara M and Della Bona, Alvaro. Visual and instrumental shade matching using CIELAB and CIEDE2000 color difference formulas. Dental Materials, 32(1):82-92, 2016.

Descripción generalGeneral description

La invención se define por un método implementado por ordenador para la evaluación de similitud de colores, según la reivindicación 1 , por un medio de almacenamiento que incluye instrucciones de programa para implementar un dispositivo de evaluación de similitud de colores, según la reivindicación 9, y por un dispositivo de evaluación de similitud de colores que comprende un procesador de datos, según la reivindicación 1 0.The invention is defined by a computer-implemented method for evaluating color similarity, according to claim 1 , by a storage medium that includes program instructions to implement a color similarity evaluation device, according to claim 9, and by a color similarity evaluation device comprising a data processor, according to claim 10 .

Las importantes ventajas de la métrica AE00 suelen verse mermadas por su complejidad. Al analizar la fórmula AE00 (presentada anteriormente y descrita en detalle en [3]), se aprecia la elevada complejidad de varios de los términos, lo que da lugar a una fórmula con un gran coste computacional. Por tanto, la utilización de esta técnica en muchas situaciones de aplicación suele ser inviable, sobre todo cuando los recursos computacionales son más limitados. Además, las aplicaciones que necesitan realizar múltiples cálculos de AE00 se verán seriamente afectadas por los elevados tiempos de computación. Como ejemplo, se tienen en consideración dos imágenes con resoluciones de 720 * 480 y 1920 * 1080 píxeles; en la primera habrá que procesar 0.3 * 106 píxeles y en la segunda 2.1 * 106, lo que supone muchos más cálculos. El inconveniente del coste computacional de AE00 se hace aún más evidente al tener en consideración un vídeo, con varias imágenes por segundo, y las resoluciones de imagen 4K y 8 K, cada vez más penetrantes. Para superar este problema y ampliar la aplicabilidad de esta fórmula y sus beneficios a más situaciones, se divulga un método y dispositivo para una decisión significativamente más rápida sobre similitud de color, al tiempo que conserve los beneficios y capacidades de AE00.The important advantages of the AE 00 metric are often undermined by its complexity. When analyzing the AE 00 formula (previously presented and described in detail in [3]), the high complexity of several of the terms is appreciated, which gives rise to a formula with a large computational cost. Therefore, the use of this technique in many application situations is usually unfeasible, especially when computational resources are more limited. In addition, applications that need to perform multiple AE 00 calculations will be seriously affected by high computation times. As an example, two images with resolutions of 720 * 480 and 1920 * 1080 pixels are considered; in the first it will be necessary to process 0.3 * 10 6 pixels and in the second 2.1 * 106, which means many more calculations. The computational cost drawback of AE 00 becomes even more apparent when considering video, with multiple frames per second, and the increasingly pervasive 4K and 8K image resolutions. To overcome this problem and extend the applicability of this formula and its benefits to more situations, a method and device for a significantly faster decision on color similarity is disclosed, while retaining the benefits and capabilities of AE 00 .

Para disminuir los tiempos de computación, el método y el dispositivo dados a conocer aplican un conjunto de módulos de filtrado en donde se realizan cálculos más sencillos y se realiza una evaluación: (1 ) los dos colores de entrada son diferentes y no se necesitan más cálculos; (2 ) no puede tomarse una decisión con certeza y se requiere un análisis adicional. Por lo general, al comparar un par de colores, éstos serán una entrada para los módulos y AE00 solo se computará por completo para los pares que puedan presentar una mayor similitud perceptiva y que no hayan tenido una decisión tomada por los módulos de menor peso. Por tanto, el número de veces que se calcula la métrica completa AE00 y, en consecuencia, el número total de operaciones necesarias se reduce de manera eficaz, lo que se traduce en tiempos de procesamiento más cortos, al tiempo que se mantiene la misma precisión. Esto se ve respaldado por el hecho de que el resultado esperado no es una medición de distancia precisa, sino una decisión sobre la similitud o no de un par de colores. No obstante, sigue siendo necesario identificar y establecer relaciones entre los módulos de filtrado y AE00 para que los resultados sean iguales a los obtenidos aplicando únicamente AE00, manteniéndose de este modo las ventajas métricas.In order to decrease computation times, the disclosed method and device apply a set of filter modules where simpler calculations and evaluation are performed: ( 1 ) the two input colors are different and no more is needed. calculations; ( 2 ) A decision cannot be made with certainty and further analysis is required. Typically, when comparing a pair of colors, these will be an input for the modules and AE 00 will only be fully computed for pairs that may have higher perceptual similarity and have not had a decision made by the lower weight modules. . Thus, the number of times the full AE 00 metric is computed, and consequently the total number of operations required, is effectively reduced, resulting in shorter processing times, while maintaining the same precision. This is supported by the fact that the expected result is not a precise distance measurement, but a decision about whether or not a pair of colors is similar. However, it is still necessary to identify and establish relationships between the filter modules and AE 00 so that the results are equal to those obtained by applying only AE 00 , thus maintaining the metric advantages.

Los colores suelen representarse en el espacio de color RGB. Esto es especialmente cierto cuando se trata de imágenes, que suelen adquirirse en el espacio de color RGB. Dado que la métrica AE00 utiliza el espacio de color CIELAB, a menudo, requiere una etapa de conversión del color adicional, lo que da lugar a cálculos adicionales. Es ventajoso para los módulos de filtrado evitar en la medida de lo posible las conversiones de espacio de color, más concretamente, que operen sobre el espacio de color RGB. Este espacio puede representarse como un cubo; por tanto, la diferencia entre dos colores puede verse como un vector de diferencia dentro del espacio. Con esta idea, el método y el dispositivo dados a conocer proponen tres propiedades que van a explorarse: el módulo del vector diferencia entre dos colores; el ángulo entre dos vectores de color; la disimilitud de luminosidad de los colores. A diferencia de las dos primeras, la última no se computa en el espacio RGB, sino que requiere una conversión de color (por ejemplo, convertir a luminosidad CIELAB utilizando la conversión CIElA b -CIEXYZ y los valores del sistema de la norma ITU-R BT.709-6, tal como se detalla a continuación). En el resto de este documento, estas propiedades se denominarán módulo, ángulo y luminosidad, respectivamente.Colors are usually represented in the RGB color space. This is especially true when it comes to images, which are typically acquired in the RGB color space. Since the AE 00 metric uses the color space CIELAB often requires an additional color conversion step, which leads to additional calculations. It is advantageous for filter modules to avoid as far as possible color space conversions, more specifically, those that operate on the RGB color space. This space can be represented as a cube; thus the difference between two colors can be seen as a difference vector within space. With this idea, the disclosed method and device propose three properties to be explored: the magnitude of the vector differentiates between two colors; the angle between two color vectors; the dissimilarity of luminosity of the colors. Unlike the first two, the latter is not computed in RGB space, but requires color conversion (for example, converting to CIELAB luminosity using CIElA b -CIEXYZ conversion and ITU-R standard system values BT.709-6, as detailed below). In the rest of this document, these properties will be referred to as modulus, angle, and luminosity, respectively.

Dados dos colores en RGB, Ci = (n, gi, bi) y C2 = (r2, g2, b2), las propiedades ángulo, módulo y luminosidad se calculan de la siguiente manera:Given two colors in RGB, Ci = (n, gi, bi) and C 2 = (r2, g2, b2), the angle, modulus, and luminosity properties are calculated as follows:

Figure imgf000006_0001
Figure imgf000006_0001

AL viene dado por las siguientes ecuaciones,AL is given by the following equations,

Figure imgf000006_0002
Figure imgf000006_0002

en donde Ci y C2 son los vectores de color normalizados.where Ci and C 2 are the normalized color vectors.

Los cálculos de las ecuaciones 32 y 33 se realizan en cada componente de los vectores y se presentan en este caso de forma vectorizada. Las propiedades a las que se hace referencia presentan límites bien definidos: el ángulo entre dos vectores de color (en el espacio de color RGB) está limitado entre 0 y 90 grados; el vector de diferencia está limitado por 0 como límite inferior, si los vectores son iguales, y 441.673 si están en vértices opuestos del cubo; la diferencia de luminosidad está limitada por 0 y 100. La utilización de estas propiedades se justifica por: (1) su simplicidad, sobre todo si se comparan con AE00 como puede observarse en las ecuaciones 1 a 28; (2) sus límites bien definidos.The calculations of equations 32 and 33 are carried out in each component of the vectors and are presented in this case in a vectorized form. The referenced properties have well-defined limits: the angle between two color vectors (in RGB color space) is limited between 0 and 90 degrees; the difference vector is bounded by 0 as the lower bound, if the vectors are equal, and 441.673 if they are at opposite vertices of the cube; the luminosity difference is limited by 0 and 100. The use of these properties is justified by: (1) their simplicity, especially when compared with AE 00 as can be seen in equations 1 to 28; (2) its well-defined boundaries.

Si se establece un determinado umbral máximo de AE00, es decir, si definimos un valor de AE00 por encima del cual se considera que dos colores son perceptualmente diferentes, entonces es posible reducir el número de cálculos realizados para los colores que se espera que den una diferencia de color superior al límite definido, mediante la umbralización del ángulo, el módulo y la luminosidad. Por tanto, es necesario identificar las relaciones de ángulo, módulo y luminosidad y los diferentes resultados de la métrica AE00. Para comprender dichas relaciones y la variabilidad de los numerosos parámetros de AE00, se utilizó un conjunto de aproximadamente 5 millones de colores y se calcularon las diferencias utilizando como píxeles base los datos de las imágenes presentes en el conjunto de datos Caltech 256 [1].If a certain maximum threshold of AE 00 is set, that is, if we define a value of AE 00 above which two colors are considered to be perceptually different, then it is possible to reduce the number of calculations performed for the colors that are expected to be different. give a color difference greater than the defined limit, by thresholding the angle, modulus and brightness. Therefore, it is necessary to identify the relationships of angle, module and luminosity and the different results of the metric AE 00 . To understand these relationships and the variability of the many parameters of AE 00 , a set of approximately 5 million colors was used and the differences were calculated using the image data present in the Caltech 256 dataset as base pixels [1]. .

Las figuras 1, 2 y 3 muestran la relación de AE00 con módulo, ángulo y luminosidad, respectivamente. Para cada par de colores, se tuvieron en consideración diferentes umbrales de AE00, a saber, 3, 5 y 10. Las diferencias de color por encima de los umbrales se representan en gris oscuro y en gris claro en caso contrario. Además, los umbrales correspondientes para módulo, ángulo y luminosidad se representan mediante una línea horizontal. Se garantiza que todos los pares cuyo valor de AE00 está por debajo del umbral especificado están también por debajo de los umbrales de módulo, ángulo y luminosidad. Como puede observarse, para valores inferiores a la línea horizontal no puede tomarse una decisión segura basada en los módulos de filtrado y se requieren cálculos adicionales. Las figuras 1,2 y 3 muestran que para valores de módulo, ángulo y luminosidad por encima de la línea horizontal puede tomarse una decisión precisa sobre su disimilitud, es decir, pueden clasificarse como diferentes utilizando únicamente las propiedades de filtrado propuestas. Además, los gráficos muestran que el aumento del valor de decisión definido para AE00 requiere valores más altos para los umbrales de módulo, ángulo y luminosidad. No obstante, el número de diferencias de color que pueden filtrarse es siempre muy significativo. Obsérvese que se considera que los valores de AE00 superiores a 7 representan claras diferencias de color.Figures 1, 2 and 3 show the relationship of AE 00 with module, angle and luminosity, respectively. For each color pair, different thresholds of AE 00 were taken into consideration, namely 3, 5 and 10. Color differences above the thresholds are represented in dark gray and light gray otherwise. Furthermore, the corresponding thresholds for module, angle and brightness are represented by a horizontal line. All pairs whose AE 00 value is below the specified threshold are guaranteed to be also below the modulus, angle, and luminosity thresholds. As can be seen, for values less than the horizontal line a safe decision cannot be made based on the filter modules and additional calculations are required. Figures 1, 2 and 3 show that for modulus, angle and luminosity values above the horizontal line a precise decision can be made about their dissimilarity, that is, they can be classified as different using only the proposed filtering properties. In addition, the plots show that increasing the decision value defined for AE 00 requires higher values for the modulus, angle, and luminosity thresholds. However, the number of color differences that can be filtered out is always very significant. Note that AE 00 values greater than 7 are considered to represent clear color differences.

Se divulga un método para la evaluación de similitud de color según la reivindicación 1.A method for evaluating color similarity according to claim 1 is disclosed.

También se divulga un medio de almacenamiento no transitorio según la reivindicación 9.A non-transient storage medium according to claim 9 is also disclosed.

También se divulga un dispositivo de evaluación de similitud de color según la reivindicación 10.A color similarity evaluation device according to claim 10 is also disclosed.

Breve descripción de los dibujosBrief description of the drawings

Las siguientes figuras proporcionan unas formas de realización preferidas para ilustrar la descripción y no deben considerarse como limitativas del alcance de la invención.The following figures provide preferred embodiments to illustrate the description and are not to be construed as limiting the scope of the invention.

Figura 1: representación esquemática de las relaciones entre los resultados de las diferencias de color utilizando AE00 y el valor correspondiente obtenido por módulo. En gris oscuro los valores de AE00 por encima del umbral y en gris claro los valores por debajo o iguales al umbral. La línea horizontal representa un umbral sugerido para el módulo.Figure 1: Schematic representation of the relationships between the color difference results using AE 00 and the corresponding value obtained per modulus. In dark gray the values of AE 00 above the threshold and in light gray the values below or equal to the threshold. The horizontal line represents a suggested threshold for the module.

Figura 2: representación esquemática de las relaciones entre los resultados de las diferencias de color utilizando AE00 y el valor correspondiente obtenido por el ángulo. En gris oscuro, los valores de AE00 por encima del umbral y en gris claro los valores por debajo o iguales al umbral. La línea horizontal representa un umbral sugerido para el ángulo.Figure 2: Schematic representation of the relationships between the results of the color differences using AE 00 and the corresponding value obtained by the angle. In dark gray, the AE 00 values above the threshold and in light gray the values below or equal to the threshold. The horizontal line represents a suggested threshold for the angle.

Figura 3: representación esquemática de las relaciones entre los resultados de las diferencias de color utilizando AE00 y el valor correspondiente obtenido por la luminosidad. En gris oscuro, los valores de AE00 por encima del umbral y en gris claro los valores por debajo o iguales al umbral. La línea horizontal representa un umbral sugerido para la luminosidad.Figure 3: Schematic representation of the relationships between the results of color differences using AE 00 and the corresponding value obtained for lightness. In dark gray, the AE 00 values above the threshold and in light gray the values below or equal to the threshold. The horizontal line represents a suggested threshold for lightness.

Figura 4: representación esquemática de los umbrales de módulo, ángulo y luminosidad para cada umbral AE_00.Figure 4: Schematic representation of the module, angle and brightness thresholds for each AE_00 threshold.

Figura 5: representación esquemática de una comparación entre la relación de umbrales óptima y prevista de módulo, ángulo y luminosidad con respecto al umbral de AE00.Figure 5: Schematic representation of a comparison between the optimal and predicted threshold ratio of modulus, angle and luminosity with respect to the AE00 threshold.

Figura 6: representación esquemática del histograma de diferencias de color que puede filtrar cada módulo. Figure 6: Schematic representation of the histogram of color differences that can be filtered by each module.

Figura 7: representación esquemática del diagrama de bloques de la realización en cascada.Figure 7: Schematic representation of the block diagram of the cascaded embodiment.

Figura 8 : representación esquemática del diagrama de bloques de la realización paralela.Figure 8 : Schematic representation of the block diagram of the parallel implementation.

Figura 9: representación esquemática del tiempo de procesamiento para las distintas estrategias, teniendo en consideración dos umbrales de decisión (líneas verticales). La figura 9(a) se refiere al procesamiento en serie de los píxeles de una imagen y la figura 9(b) se refiere al procesamiento en paralelo. Por ejemplo, al aplicar Td1 la decisión la toma el módulo M1, mientras que para Td2 solo el módulo M3 puede tomar una decisión.Figure 9: Schematic representation of the processing time for the different strategies, taking into account two decision thresholds (vertical lines). Figure 9(a) refers to serial processing of pixels in an image and Figure 9(b) refers to parallel processing. For example, when applying Td 1 the decision is made by the module M 1 , while for Td 2 only the module M 3 can make a decision.

Figura 10: representación esquemática de las posibilidades de tratamiento de imágenes aprovechando las CPU con múltiples núcleos. El módulo decisión rápida de color (FCD) representa una de las dos estrategias propuestas.Figure 10: Schematic representation of image processing possibilities taking advantage of multi-core CPUs. The Fast Color Decision (FCD) module represents one of the two proposed strategies.

Descripción detalladaDetailed description

Los umbrales indicados en las figuras 1 a 3 solo son válidos para valores de AE00 de 3, 5 y 10. Para otros valores de la métrica, pueden identificarse nuevos umbrales. Se derivaron modelos para módulo, ángulo y luminosidad para evitar el ajuste empírico de estos umbrales. Estos se obtuvieron entrenando modelos de regresión a partir de los datos derivados de los 5 millones de diferencias de color calculadas. Para el conjunto de datos, los resultados y los umbrales se computaron para AEooe {0,30} con un paso de 0,05. Estos valores se seleccionaron porque los colores con diferencia de color 0 son visiblemente imperceptibles y con 30 son extremadamente diferentes. Las relaciones de umbrales obtenidas se presentan en la figura 4. Puede observarse que las relaciones para módulo y ángulo son no lineales, pero son aproximadamente lineales para luminosidad. Para obtener los modelos de las propiedades y validar el enfoque, se opta por entrenar un bosque aleatorio [2 ] para módulo y ángulo y una regresión lineal para luminosidad. Los modelos se entrenaron utilizando un enfoque de validación cruzada y los modelos con un mejor ajuste obtuvieron errores cuadráticos medios de 0.00675, 0.0333 y 0.00602 para ángulo, módulo y luminosidad, respectivamente. Lo ideal sería que estos errores estuvieran lo más cerca posible de 0 pero, para el ámbito de esta divulgación, los errores obtenidos se consideraron aceptables puesto que los datos utilizados para el entrenamiento ya estaban regularizados.The thresholds indicated in Figures 1 through 3 are only valid for AE 00 values of 3, 5, and 10. For other metric values, new thresholds can be identified. Models for modulus, angle, and luminosity were derived to avoid empirical adjustment of these thresholds. These were obtained by training regression models from the data derived from the 5 million calculated color differences. For the data set, the results and thresholds were computed for AEooe {0.30} with a step of 0.05. These values were selected because colors with a color difference of 0 are visibly imperceptible and colors with a color difference of 30 are extremely different. The threshold relationships obtained are presented in Figure 4. It can be seen that the relationships for modulus and angle are non-linear, but are approximately linear for luminosity. To obtain the property models and validate the approach, it is decided to train a random forest [ 2 ] for module and angle and a linear regression for luminosity. Models were trained using a cross-validation approach, and models with the best fit had mean squared errors of 0.00675, 0.0333, and 0.00602 for angle, modulus, and luminosity, respectively. Ideally, these errors should be as close to 0 as possible, but for the scope of this disclosure, the errors obtained were considered acceptable since the data used for training was already regularized.

Esta regularización se introdujo en los datos de entrenamiento para desplazar los valores predichos de modo que los posibles errores no influyeran en la decisión final. Aunque esto se traduce en umbrales predichos diferentes de los valores óptimos, se garantiza que siempre están por encima de los valores óptimos correspondientes y, por tanto, siempre son aplicables. Esto se traduce en un deterioro del rendimiento, al tiempo que se garantizan predicciones corregidas. La comparación de los umbrales predichos utilizando datos regularizados y no regularizados se muestra en la figura 5, en donde las líneas negras corresponden a los umbrales predichos regularizados y las líneas de puntos corresponden a los datos no regularizados. Analizando los gráficos, queda claro que, en el universo de los valores estudiado, las predicciones siempre están desfasadas.This regularization was introduced into the training data to shift the predicted values so that possible errors would not influence the final decision. Although this results in predicted thresholds that are different from the optimal values, they are guaranteed to always be above the corresponding optimal values and therefore always applicable. This results in performance deterioration, while ensuring corrected predictions. The comparison of the predicted thresholds using regularized and non-regularized data is shown in Figure 5, where the black lines correspond to the regularized predicted thresholds and the dotted lines correspond to the non-regularized data. Analyzing the charts, it becomes clear that, in the universe of stocks studied, the predictions are always out of date.

Con los modelos derivados es posible obtener, para cualquier valor de AE00, umbrales de módulo, ángulo y luminosidad, de modo que cualesquiera dos colores cuya diferencia supere esos umbrales puedan clasificarse como poseedores de una diferencia de color AE00 superior al valor especificado. Esto es muy ventajoso, ya que puede mapearse en una estructura que recorte de manera eficaz los cálculos, lo que da como resultado una ganancia significativa de rendimiento sin poner en peligro las propiedades de AE00. Cada umbral puede utilizarse para reducir la cantidad de cálculos AE00 necesarios para una aplicación determinada que establezca un límite para AE00. Sin embargo, las combinaciones de colores que corta cada umbral no son las mismas. La figura 6 representa un histograma del número de diferencias de color que puede filtrar cada módulo para los tres valores de AE00 tenidos en consideración anteriormente. Los histogramas muestran que un número muy reducido de diferencias de color puede ser filtrado exclusivamente por módulo, ángulo o luminosidad. Aunque este número aumenta con el umbral de AE00, sigue siendo muy bajo. También es evidente que un número muy elevado de diferencias de color puede filtrarse combinando módulo, ángulo o luminosidad. Este número varía inversamente al umbral de AE00 y la disminución se compensa con el aumento de las diferencias filtradas por solo dos de las propiedades, especialmente módulo-luminosidad y módulo-ángulo, pero también las que pueden decidirse solo calculando la métrica AE00 completa. Por tanto, pueden definirse diferentes estrategias para validar eficazmente si es necesario o no computar la fórmula de diferencia de color completa. A continuación, se propone y analiza un conjunto de posibles realizaciones.With the derived models it is possible to obtain, for any value of AE 00 , modulus, angle and lightness thresholds, so that any two colors whose difference exceeds these thresholds can be classified as having an AE 00 color difference greater than the specified value. This is very advantageous, as it can be mapped into a structure that effectively trims the computations, resulting in a significant performance gain without compromising the properties of AE 00 . Each threshold can be used to reduce the number of AE 00 calculations required for a given application by setting a limit for AE 00 . However, the color combinations that each threshold cuts are not the same. Figure 6 represents a histogram of the number of color differences that each module can filter for the three values of AE 00 considered above. The histograms show that a very small number of color differences can be filtered exclusively by module, angle or lightness. Although this number increases with the AE00 threshold, it is still very low. It is also evident that a very large number of color differences can be filtered by combining module, angle or brightness. This number varies inversely to the AE 00 threshold and the decrease is compensated by increasing differences filtered by only two of the properties, especially modulus-luminosity and modulus-angle, but also those that can be decided only by computing the full AE 00 metric . Therefore, different strategies can be defined to effectively validate whether or not it is necessary to compute the full color difference formula. Next, a set of possible realizations is proposed and analyzed.

Sobre la base de los conceptos y relaciones descritos, pueden concebirse diferentes estrategias para tomar una decisión más rápida sobre la similitud de colores basada en la métrica AE00. En esta sección, se presentan y analizan dos formas de realización: (1 ) modelos de filtrado desplegados en cascada (es decir, calculados sucesivamente); (2) modelos de filtrado desplegados en paralelo. Además, se comenta una realización que puede aplicarse a grandes variedades de diferencias de color que van a computarse, concretamente en el procesamiento de imágenes, en donde pueden utilizarse las propuestas iniciales para el cálculo de diferencias de color, aprovechando específicamente el hardware de múltiples núcleos ampliamente extendido. Based on the described concepts and relationships, different strategies can be conceived to make a faster decision on the similarity of colors based on the AE 00 metric. In this section, two embodiments are presented and discussed: ( 1 ) cascaded (ie computed successively) filter models; (2) filtering models deployed in parallel. In addition, an embodiment that can be applied to large varieties of color differences to be computed is discussed, specifically in image processing, where initial proposals for color difference calculations can be used, specifically taking advantage of multi-core hardware. widely spread.

La primera estrategia propuesta para una decisión eficaz sobre el color basada en AE00 consiste en desplegar los módulos de filtrado en cascada (es decir, calculados en sucesión), tal como se ilustra en la figura 7. En cada módulo de la cascada, se realizan cálculos más sencillos para calcular el módulo, el ángulo o la luminosidad y se realiza la evaluación. La métrica completa AE00 solo se computa como último recurso; por tanto, siempre será el último módulo de la cascada.The first proposed strategy for efficient color decision based on AE 00 is to cascade (i.e. compute in succession) the filter modules as illustrated in Figure 7. In each module in the cascade, simpler calculations are made to calculate the module, angle or luminosity and the evaluation is carried out. The full AE 00 metric is only computed as a last resort; therefore, it will always be the last module in the cascade.

Cada módulo de la cascada está destinado a tomar una decisión: si los colores son diferentes, entonces se realiza una salida en cascada; o bien, existe incertidumbre y el procesamiento se pasa al siguiente módulo de la cascada. Por tanto, cabe esperar que sea deseable que los módulos más rápidos, con menor peso computacional, se ejecuten en primer lugar, preferiblemente podando la mayor cantidad de píxeles posible. No obstante, determinar la estructura en cascada más adecuada, es decir, identificar el orden de las operaciones, no viene definido necesariamente por la velocidad de ejecución. Es importante señalar que la estructura en cascada puede depender de la arquitectura del hardware. Además, el valor del umbral de AE00 que va a considerarse puede influir en la mejor estructura en cascada. Por tanto, las realizaciones optimizadas se describen más adelante.Each module in the cascade is meant to make a decision: if the colors are different, then cascade output; or, uncertainty exists and processing is passed to the next module in the cascade. Therefore, it is expected that it is desirable that the fastest modules, with the least computational weight, are executed first, preferably by pruning as many pixels as possible. However, determining the most appropriate cascading structure, that is, identifying the order of operations, is not necessarily defined by the speed of execution. It is important to note that the cascading structure may depend on the hardware architecture. Furthermore, the threshold value of AE 00 to be considered may influence the best cascade structure. Therefore, optimized embodiments are described below.

El enfoque en cascada tiene como objetivo realizar secuencialmente operaciones que reduzcan el número de pares de colores que requieren el cálculo de AE00. Como los bloques iniciales de la cascada no pueden decidir sobre la disimilitud de colores y, en última instancia, debe calcularse AE00, el número total de cálculos sería de hecho mayor que solo para el cálculo de AE00. Por tanto, las ventajas de la estrategia en cascada se derivan de un mayor número de colores filtrados por bloques anteriores.The cascading approach aims to sequentially perform operations that reduce the number of color pairs that require the calculation of AE 00 . Since the initial blocks of the cascade cannot decide on the dissimilarity of colors and AE 00 must ultimately be computed, the total number of computations would in fact be larger than just for the computation of AE 00 . Therefore, the advantages of the cascading strategy derive from a greater number of colors filtered by previous blocks.

Se propone una estrategia alternativa a la cascada, en la que los distintos bloques se ejecutan en paralelo, tal como ilustra el diagrama de bloques de la figura 8. La hipótesis subyacente es que, en este caso, el tiempo máximo para analizar una diferencia de color no supera el tiempo de AE00. Aunque esto puede no ser exactamente cierto debido a la sobrecarga de sincronización y gestión, esta diferencia puede considerarse casi despreciable. Estas realizaciones para los casos en cascada y en paralelo se ilustran en la figura 9(a) y la figura 9(b) respectivamente. Obviamente, la ventaja de la estrategia paralela está directamente relacionada con la disponibilidad de medios de ejecución paralela, por ejemplo, el número de núcleos de CPU disponibles.An alternative strategy to cascading is proposed, in which the different blocks are executed in parallel, as illustrated by the block diagram in Figure 8. The underlying assumption is that, in this case, the maximum time to analyze a difference in color does not exceed AE 00 time. Although this may not be exactly true due to synchronization and management overhead, this difference can be considered almost negligible. These embodiments for the cascaded and parallel cases are illustrated in Figure 9(a) and Figure 9(b) respectively. Obviously, the advantage of the parallel strategy is directly related to the availability of means of parallel execution, for example, the number of CPU cores available.

Aunque este enfoque es sólido, su aplicación no es tan sencilla como la estrategia en cascada. De hecho, hay que tener en consideración varios detalles de implementación so pena de poner en peligro posibles ganancias.Although this approach is robust, it is not as straightforward to apply as the waterfall approach. In fact, several implementation details must be taken into account or jeopardize possible profits.

Las estrategias descritas son genéricas para una decisión sobre similitud de colores. Tal como se ha afirmado anteriormente, las ventajas de la estrategia paralela son más evidentes cuando pueden utilizarse CPU de múltiples núcleos y una distribución de procesamiento.The described strategies are generic for a decision on color similarity. As stated above, the advantages of the parallel approach are most apparent when multi-core CPUs and distributed processing can be used.

Cuando hay que procesar una gran variedad de colores, por ejemplo una imagen, es decir, compararla con uno o más colores de referencia, estos datos pueden procesarse secuencialmente. En este caso, cada color se pasaría individual y secuencialmente como entrada junto con el color de referencia y el umbral deseado. En otras palabras, un par de colores cada vez. Esto se ilustra en la figura 10(a). El cálculo de la diferencia de color en sí podría realizarse mediante cualquiera de las estrategias descritas en los subapartados anteriores. Cuando se dispone de múltiples núcleos, los datos que van a procesarse pueden dividirse y cada uno de estos bloques puede pasarse como entrada para su procesamiento, tal y como se ilustra en la figura 10(b).When a large variety of colors is to be processed, for example an image, ie compared to one or more reference colors, this data may be processed sequentially. In this case, each color would be individually and sequentially passed as input along with the reference color and the desired threshold. In other words, a couple of colors at a time. This is illustrated in Figure 10(a). The calculation of the color difference itself could be done by any of the strategies described in the previous subsections. When multiple cores are available, the data to be processed can be partitioned and each of these blocks can be passed as input for processing, as illustrated in Fig. 10(b).

El orden de los bloques en la estrategia en cascada (es decir, el orden en que se calculan en sucesión) influye en el resultado del proceso global, más concretamente en la reducción de tiempo que puede obtenerse en comparación con el cálculo de la métrica AE00. El bloque AE00 será el último de la cascada, pero sigue siendo necesario identificar cuáles deben ser los bloques restantes y su orden. Dadas las tres propiedades expuestas, existen 15 posibles estructuras en cascada, tal y como se identifican en la tabla 1. Cada una de estas posibilidades realiza una poda diferente sobre las diferencias de color. Además, la complejidad de la cascada dependerá de las limitaciones impuestas, a saber, el umbral de decisión AE00 requerido.The order of the blocks in the cascading strategy (that is, the order in which they are calculated in succession) influences the result of the overall process, more specifically the time reduction that can be obtained compared to the calculation of the AE metric 00 . Block AE 00 will be the last in the cascade, but it is still necessary to identify what the remaining blocks should be and their order. Given the three exposed properties, there are 15 possible cascading structures, as identified in Table 1. Each of these possibilities performs a different pruning on color differences. Furthermore, the complexity of the cascade will depend on the constraints imposed, namely the required decision threshold AE 00 .

Tabla 1: identificación de las posibles estructuras en cascada. Aunque no esté representado, el bloque AE00 siempre será el último módulo de la cascada.Table 1: Identification of possible cascading structures. Even if it is not represented, block AE 00 will always be the last module in the cascade.

Figure imgf000009_0001
Figure imgf000009_0001

Figure imgf000010_0001
Figure imgf000010_0001

Para evaluar las posibilidades de la cascada se implementa un sencillo algoritmo de segmentación que, dada una imagen, un color y un umbral de AE00, produce una nueva imagen que resalta las regiones en donde los colores se encuentran por debajo del umbral especificado. Cada estructura se evaluó utilizando un banco de colores genéricos tal como se especifica en [5] e imágenes del conjunto de datos Caltech 256 [1]. También se utilizó un subconjunto de imágenes de resolución 4K del conjunto de datos RAISE [6 ] y un pequeño conjunto de imágenes de 8 K generadas por ordenador. Cada instancia del banco de colores se comparó con el color de cada píxel de las imágenes de los tres subconjuntos. Además, la evaluación se realizó en tres arquitecturas de ordenador diferentes para comprender el impacto sobre la estructura en cascada. En concreto, se utilizaron las siguientes arquitecturas (1) un ordenador de sobremesa equipado con un procesador Intel H 4471 a 3.5Ghz; (2) una Raspberry Pi 2, modelo B; (3) un teléfono inteligente Samsung Galaxy S6. Los algoritmos se implementaron en C++ para los dos primeros entornos y en Java para el teléfono inteligente. En estos experimentos no se utilizó aceleración GPU explícita y se midieron el tiempo de CPU y los ciclos asignados al proceso.To evaluate the possibilities of the cascade, a simple segmentation algorithm is implemented that, given an image, a color and a threshold of AE00, produces a new image that highlights the regions where the colors are below the specified threshold. Each structure was evaluated using a generic color bank as specified in [5] and images from the Caltech 256 dataset [1]. A subset of 4K resolution images from the RAISE data set [ 6 ] and a small set of computer generated 8K images were also used. Each instance of the color bank was compared with the color of each pixel of the images of the three subsets. Furthermore, the evaluation was performed on three different computer architectures to understand the impact on the cascading structure. Specifically, the following architectures were used (1) a desktop computer equipped with an Intel H 4471 processor at 3.5Ghz; (2) a Raspberry Pi 2, model B; (3) a Samsung Galaxy S 6 smartphone. The algorithms were implemented in C++ for the first two environments and in Java for the smartphone. No explicit GPU acceleration was used in these experiments, and CPU time and cycles allocated to the process were measured.

Los resultados presentados en la tabla 2 muestran claramente la ventaja del enfoque en cascada como alternativa a la computación completa de la fórmula AE00 para un ordenador de sobremesa. Independientemente de los bloques de filtrado, módulo, ángulo o luminosidad, de su orden y el umbral de AE00 subyacente, la estrategia en cascada siempre consiguió ganancias significativas en cuanto a rendimiento. Esto es cierto cuando se mide el tiempo de procesamiento, así como los ciclos de CPU. Dado que existe una clara relación entre el número de ciclos de CPU y el tiempo total de procesamiento, en los resultados siguientes los ciclos de CPU solo se presentarán cuando esté justificado para transmitir información adicional.The results presented in Table 2 clearly show the advantage of the waterfall approach as an alternative to full computation of the AE 00 formula for a desktop computer. Regardless of the filter blocks, modulus, angle, or luminosity, their order, and the underlying AE 00 threshold, the cascading strategy always achieved significant performance gains. This is true when measuring processing time as well as CPU cycles. Since there is a clear relationship between the number of CPU cycles and the total processing time, in the following results CPU cycles will only be presented when justified to convey additional information.

El aumento del umbral de AE00 implica algunos cambios en la clasificación y la ganancia global disminuye. No obstante, las reducciones de tiempo que permiten la estrategia en cascada siguen siendo muy significativas (por encima del 70%) y los resultados muestran una coherencia de la estructura en cascada. Aunque hay algunos cambios en la clasificación, a saber, LMA-LAM y M-ML, las diferencias en cuanto a la ganancia relativa son casi despreciables. Los resultados muestran que, en general, se obtienen mayores ganancias cuando el módulo es el primer bloque de la cascada. Esto es coherente con el hecho de que (1) se trata de una operación ligera; (2) no requiere una conversión de color; (3) permite filtrar un gran número de diferencias de color, tal como puede observarse en la figura 1. Esto es especialmente cierto para un umbral de AE00 de 3 (tabla 2 ), en donde los mejores resultados se obtuvieron para una cascada con solo el bloque de filtrado de módulo. Aunque el módulo, como bloque de filtrado, proporciona por sí mismo grandes ganancias computacionales, en general se obtuvieron mejores resultados añadiendo otros bloques; esto se debe a la simplicidad de las fórmulas en comparación con AE00 y es indicativo de cierta complementariedad de filtrado entre módulo, ángulo y luminosidad, tal como muestran los histogramas de la figura 6. Como era de esperar, la utilización de luminosidad como primer bloque da lugar a menores ganancias temporales, debido a su formulación más compleja (en comparación con módulo y ángulo) y a la necesidad de conversión de espacio de color. También es interesante observar que la mayor ganancia se obtiene con la combinación módulo-ángulo; la adición de luminosidad como tercer bloque da como resultado una ganancia ligeramente menor.Increasing the threshold of AE 00 implies some changes in the classification and the overall gain decreases. However, the time reductions that the cascading strategy allows are still very significant (above 70%) and the results show a consistency of the cascading structure. Although there are some changes in the classification, namely LMA-LAM and M-ML, the differences in relative gain are almost negligible. The results show that, in general, higher gains are obtained when the module is the first block in the cascade. This is consistent with the fact that (1) it is a light operation; (2) does not require a color conversion; (3) allows filtering a large number of color differences, as can be seen in figure 1 . This is especially true for an AE 00 threshold of 3 (table 2 ), where the best results were obtained for a cascade with only the modulo filter block. Although the module, as a filter block, provides large computational gains by itself, in general better results were obtained by adding other blocks; this is due to the simplicity of the formulas compared to AE 00 and is indicative of some filtering complementarity between module, angle and luminosity, as shown by the histograms in figure 6 . As expected, using luminosity as the first block results in lower time gains, due to its more complex formulation (compared to modulus and angle) and the need for color space conversion. It is also interesting to note that the highest gain is obtained with the module-angle combination; adding lightness as the third block results in a slightly lower gain.

Los resultados de los experimentos en una Raspberry Pi 2, modelo B son coherentes con los resultados obtenidos en un ordenador de sobremesa, con ganancias relativas del mismo orden, a pesar de los recursos más limitados. Asimismo, al igual que en el ordenador de sobremesa, se observan algunas modificaciones en la clasificación de la estructura en cascada que se deben a diferencias casi despreciables en la ganancia relativa. Es destacable el hecho de que, como en el caso del ordenador de sobremesa, el módulo presenta un alto impacto y para AE00 = 3 proporciona por sí solo el mejor resultado.The results of the experiments on a Raspberry Pi 2, model B are consistent with the results obtained on a desktop computer, with relative gains of the same order, despite the more limited resources. Also, as in the desktop computer, some modifications are observed in the classification of the cascading structure that are due to almost negligible differences in the relative gain. It is remarkable the fact that, as in the case of the desktop computer, the module presents a high impact and for AE 00 = 3 it provides the best result by itself.

Las clasificaciones para Android presentan algunas diferencias con respecto a los casos anteriores, especialmente con el ordenador de sobremesa, ya que a la clasificación que comienza con MA le siguen AM, M o AML, o que comienza con AML y le siguen MAL, AM, etc. No obstante, las ganancias son muy significativas y solo ligeramente inferiores (entre el 65% y el 89%) a las de los casos anteriores. A ello contribuyen sin duda las diferencias en las arquitecturas de los ordenadores, pero también los requisitos impuestos a los lenguajes de implementación. Para el ordenador de sobremesa y la Raspberry los bloques se implementaron en C++ y para Android se utilizó Java. The classifications for Android have some differences with respect to the previous cases, especially with the desktop computer, since the classification that begins with MA is followed by AM, M or AML, or that begins with AML and is followed by MAL, AM, etc However, the gains are very significant and only slightly lower (between 65% and 89%) than in previous cases. Differences in computer architectures undoubtedly contribute to this, but also the requirements imposed on implementation languages. For the desktop computer and the Raspberry the blocks were implemented in C++ and for Android Java was used.

Tabla 2: rendimiento en cascada en un ordenador de sobremesa para AE00 = 3 para el conjunto de datos Caltech 256. Los resultados están ordenados de manera inversa a su coste computacional.Table 2: Desktop cascade performance for AE 00 = 3 for the Caltech 256 data set. Results are ordered inversely of their computational cost.

Figure imgf000011_0001
Figure imgf000011_0001

Las formas de realización propuestas permitieron obtener ganancias muy significativas en todas las plataformas de hardware utilizadas. Se obtuvieron ganancias ligeramente inferiores al utilizar Android, a lo que no son agnósticas no solo las diferencias de plataforma, sino también el propio lenguaje de implementación. No obstante, las diferencias en la ganancia relativa son mínimas. Aunque las ganancias dependen del límite de decisión deseado en el resultado de AE00, son muy elevadas para valores útiles de la métrica; valores mayores de AE00 tendrán una entropía cada vez menor, teniendo en consideración que valores superiores a 7 representan dos colores muy diferentes.The proposed embodiments allowed very significant gains to be made on all used hardware platforms. Slightly lower gains were achieved using Android, which is not agnostic not only to platform differences, but also to the implementation language itself. However, the differences in relative gain are minimal. Although the gains depend on the desired decision bound on the result of AE 00 , they are very high for useful values of the metric; Values greater than AE 00 will have less and less entropy, taking into consideration that values greater than 7 represent two very different colors.

La mejor estructura para la estrategia en cascada presentó ligeras variaciones, pero en general puede identificarse un pequeño conjunto de posibilidades, para utilizarse horizontalmente con disminuciones muy pequeñas de la ganancia relativa. En concreto, para la ejecución en un ordenador de sobremesa, es posible identificar la estructura comprendida por los bloques de filtrado módulo-ángulo seguida del bloque de cálculo AE00 como la que proporciona los mejores resultados o solo ligeramente por debajo. Estas mismas conclusiones pueden aplicarse a los casos de Raspberry Pi y del teléfono inteligente. Como anteriormente, la estructura comprendida por los bloques de filtrado módulo-ángulo seguidos por el bloque AE00 puede identificarse como un buen compromiso para una estructura que puede aplicarse independientemente del rango de valores objetivo de AE00. Para estos dos casos, la estructura en cascada identificada no solo proporciona el mejor resultado con más frecuencia, sino que las diferencias son, no obstante, muy pequeñas.The best structure for the cascading strategy varied slightly, but in general a small set of possibilities can be identified, to be used horizontally with very small decreases in relative gain. Specifically, for execution on a desktop computer, it is possible to identify the structure comprised by the modulo-angle filter blocks followed by the AE 00 calculation block as the one that provides the best results or only slightly below. These same conclusions can be applied to the cases of the Raspberry Pi and the smartphone. As before, the structure comprised of the modulo-angle filter blocks followed by the AE 00 block can be identified as a good compromise for a structure that can be applied regardless of the range of target values of AE 00 . For these two cases, the identified cascade structure not only provides the best result more frequently, but the differences are nonetheless very small.

Aunque no se tienen en cuenta valores de AE00 superiores a 1 0 , cabe señalar que los colores con una distancia AE00 superior a este valor se consideran notablemente diferentes. No obstante, los conocimientos resultantes del análisis descrito y los modelos propuestos (véase, la figura 4) permiten la implementación de la cascada de forma que pueda adaptarse a diferentes umbrales de decisión y plataformas de hardware conocidos a priori y dado un contexto pasado como entrada.Although AE 00 values greater than 1 0 are not taken into account, it should be noted that colors with an AE 00 distance greater than this value are considered noticeably different. However, the insights resulting from the described analysis and the proposed models (see Figure 4) allow the implementation of the cascade in such a way that it can be adapted to different decision thresholds and hardware platforms known a priori and given a context passed as input. .

Las propiedades de filtrado analizadas, módulo, ángulo y luminosidad, permitieron ganancias de procesamiento muy elevadas utilizando diferentes estrategias y plataformas de hardware. No obstante, pueden analizarse otras propiedades y estudiar sus ventajas. Además, es posible utilizar una estrategia híbrida que combine la estrategia en cascada y en paralelo.The filtering properties analyzed, modulus, angle and lightness, allowed very high processing gains using different strategies and hardware platforms. However, other properties can be analyzed and their advantages studied. Furthermore, it is possible to use a hybrid strategy that combines the cascading and parallel strategy.

El término “que comprende”, siempre que se utiliza en este documento, pretende indicar la presencia de características, números enteros, etapas o componentes mencionados, pero no excluir la presencia o adición de una o más características, números enteros, etapas, componentes o grupos de los mismos. En las figuras, se representan diagramas de flujo de realizaciones particulares de los métodos divulgados en la presente memoria. Los diagramas de flujo no representan ningún medio en particular, en su lugar, los diagramas de flujo ilustran la información funcional que un experto en la materia necesita para llevar a cabo dichos métodos requeridos según la presente divulgación. Los expertos en la materia apreciarán que, a menos que se indique lo contrario en la presente memoria, la secuencia particular de etapas descrita es meramente ilustrativa y puede hacerse variar sin alejarse de la divulgación. Por tanto, a menos que se indique lo contrario, las etapas descritas son tan desordenadas que, cuando sea posible, las etapas pueden realizarse en cualquier orden conveniente o deseable. The term "comprising", whenever used in this document, is intended to indicate the presence of mentioned features, integers, steps or components, but not to exclude the presence or addition of one or more features, integers, steps, components or groups thereof. In the figures, flowcharts of particular embodiments of the methods disclosed herein are depicted. The flowcharts do not represent any particular means, instead the flowcharts illustrate the functional information that a person skilled in the art needs to carry out said methods required according to the present disclosure. Those skilled in the art will appreciate that, unless otherwise indicated herein, the particular sequence of steps described is merely illustrative and can be varied without departing from the disclosure. Therefore, unless otherwise indicated, the steps described are so unordered that, where possible, the steps can be performed in any convenient or desirable order.

Debe apreciarse que ciertas realizaciones de la divulgación descritas en la presente memoria pueden incorporarse como código (por ejemplo, un algoritmo o programa de software) que reside en firmware y/o en un medio utilizable por un ordenador que presenta lógica de control para permitir la ejecución en un sistema informático que presenta un procesador informático, tal como cualquiera de los servidores descritos en la presente memoria. Un sistema informático de este tipo suele incluir una memoria de almacenamiento configurada para proporcionar la salida de la ejecución del código que configura un procesador según la ejecución. El código puede disponerse como firmware o software, y puede organizarse como un conjunto de módulos, incluidos los diversos módulos y algoritmos descritos en la presente memoria, tales como módulos de código discretos, llamadas a funciones, llamadas a procedimientos u objetos en un entorno de programación orientado a objetos. Si se implementa utilizando módulos, el código puede comprender un único módulo o una pluralidad de módulos que operan en cooperación unos con otros para configurar la máquina en la que se ejecuta para realizar las funciones asociadas, tal como se describe en la presente memoria. It should be appreciated that certain embodiments of the disclosure described herein may be embodied as code (eg, an algorithm or software program) that resides in firmware and/or on usable media. by a computer having control logic to enable execution on a computer system having a computer processor, such as any of the servers described herein. Such a computer system typically includes storage memory configured to provide the output of code execution that configures a processor based on execution. The code may be arranged as firmware or software, and may be organized as a set of modules, including the various modules and algorithms described herein, such as discrete code modules, function calls, procedure calls, or objects in a framework environment. object oriented programming. If implemented using modules, the code may comprise a single module or a plurality of modules that operate in cooperation with one another to configure the machine on which it runs to perform associated functions, as described herein.

Claims (10)

REIVINDICACIONES 1. Método implementado por ordenador para evaluación de similitud de colores en procesamiento de imágenes entre un primer color de una imagen que va a procesarse y un segundo color, que es un color de referencia, comprendiendo dicho método las etapas siguientes:1. A computer-implemented method for evaluating the similarity of colors in image processing between a first color of an image to be processed and a second color, which is a reference color, said method comprising the following steps: aplicar uno o más filtros de diferencia de color a dicho primer y segundo colores, seleccionados de entre: apply one or more color difference filters to said first and second colors, selected from: un filtro de módulo obtenido calculando el módulo del vector de diferencia entre dicho primer y segundo colores representados como coordenadas 3D en un espacio de color RGB,a modulus filter obtained by calculating the modulus of the difference vector between said first and second colors represented as 3D coordinates in an RGB color space, un filtro de ángulo obtenido calculando el ángulo entre los dos vectores del primer y segundo colores representados como coordenadas 3D en un espacio de color RGB,an angle filter obtained by calculating the angle between the two vectors of the first and second colors represented as 3D coordinates in an RGB color space, un filtro de luminosidad obtenido calculando la diferencia de luminosidad entre el primer y segundo colores en el espacio de color CIELAB;a lightness filter obtained by calculating the difference in lightness between the first and second colors in the CIELAB color space; determinar que el primer y segundo colores son disímiles si por lo menos uno de entre dicho uno o más filtros aplicados está por encima de un umbral predeterminado para cada uno de los filtros de módulo, ángulo y luminosidad calculados;determining that the first and second colors are dissimilar if at least one of said one or more applied filters is above a predetermined threshold for each of the calculated modulus, angle, and luminosity filters; en caso contrario, calcular una diferencia de color CIEDE2000 AEooy determinar que el primer y segundo colores son disímiles si la diferencia de color CIEDE2000 AEoo calculada está por encima de un umbral de diferencia de color CIEDE2000 AEoo predeterminado;otherwise, calculating a CIEDE2000 AEoo color difference and determining that the first and second colors are dissimilar if the calculated CIEDE2000 AEoo color difference is above a predetermined CIEDE2000 AEoo color difference threshold; en caso contrario, determinar que el primer y segundo colores son similares;otherwise, determining that the first and second colors are similar; en el que los modelos de regresión que se entrenan previamente en una pluralidad de diferencias de color CIEDE2ooo precalculadas obtenidas a partir de un conjunto de datos de imagen se aplican para determinar una relación entre cada uno de entre los valores de umbral de filtro y los valores de umbral de diferencia de color CIEDE2ooo AEoo, y obtener a partir de dichas relaciones los umbrales predeterminados para cada uno de entre el filtro de módulo, filtro de ángulo y filtro de luminosidad para el umbral de diferencia de color CIEDE2ooo predeterminado que se establece de manera que dos colores se consideran perceptualmente diferentes.wherein regression models that are pretrained on a plurality of precomputed CIEDE2ooo color differences obtained from an image data set are applied to determine a relationship between each of the filter threshold values and the values color difference threshold value CIEDE2ooo AEoo, and obtaining from said relations the predetermined thresholds for each of the modulus filter, angle filter and luminosity filter for the predetermined color difference threshold CIEDE2ooo which is set automatically. that two colors are considered perceptually different. 2. Método implementado por ordenador según la reivindicación anterior, en el que la etapa de aplicación de uno o más filtros de diferencia de color comprende aplicar el filtro de módulo y el filtro de ángulo.A computer-implemented method according to the preceding claim, wherein the step of applying one or more color difference filters comprises applying the modulus filter and the angle filter. 3. Método implementado por ordenador según la reivindicación 2, en el que la etapa de aplicación de uno o más filtros de diferencia de color comprende aplicar el filtro de módulo y el filtro de ángulo, aplicados en sucesión, aplicando, de este modo, el filtro de ángulo después de aplicar el filtro de módulo.The computer-implemented method of claim 2, wherein the step of applying one or more color difference filters comprises applying the modulus filter and the angle filter, applied in succession, thereby applying the angle filter after applying the modulo filter. 4. Método implementado por ordenador según la reivindicación 3, en el que la etapa de aplicación de uno o más filtros de diferencia de color comprende aplicar el filtro de módulo, el filtro de ángulo y el filtro de luminosidad, aplicados en sucesión, aplicando, de este modo, el filtro de luminosidad después del filtro de ángulo, y aplicando el filtro de ángulo después de aplicar el filtro de módulo.The computer-implemented method of claim 3, wherein the step of applying one or more color difference filters comprises applying the modulus filter, the angle filter, and the luminosity filter, applied in succession, by applying, thus, the luminosity filter after the angle filter, and applying the angle filter after applying the module filter. 5. Método implementado por ordenador según la reivindicación 2, en el que la etapa de aplicación de uno o más filtros de diferencia de color comprende aplicar el filtro de módulo, el filtro de ángulo y el filtro de luminosidad, en paralelo.The computer-implemented method of claim 2, wherein the step of applying one or more color difference filters comprises applying the modulus filter, the angle filter, and the luminosity filter, in parallel. 6. Método implementado por ordenador según la reivindicación anterior, en el que la etapa de aplicación de uno o más filtros de diferencia de color comprende aplicar el filtro de módulo, el filtro de ángulo y el filtro de luminosidad, en paralelo de manera que la aplicación de dicho uno o más filtros es interrumpida cuando por lo menos uno de los filtros aplicados está por encima de un umbral predeterminado para dicho filtro.A computer-implemented method according to the preceding claim, wherein the step of applying one or more color difference filters comprises applying the modulus filter, the angle filter, and the luminosity filter, in parallel such that the application of said one or more filters is interrupted when at least one of the applied filters is above a predetermined threshold for said filter. 7. Método implementado por ordenador según cualquiera de las reivindicaciones anteriores, en el que el umbral predeterminado para el filtro de luminosidad se obtiene previamente a partir del umbral de AEoo utilizando un modelo de regresión lineal entrenado previamente entre el umbral de AEoo y el umbral predeterminado para el filtro de luminosidad.A computer-implemented method according to any of the preceding claims, wherein the predetermined threshold for the luminosity filter is pre-obtained from the AEoo threshold using a pretrained linear regression model between the AEoo threshold and the predetermined threshold for the lightness filter. 8. Método implementado por ordenador según cualquiera de las reivindicaciones anteriores, en el que el umbral predeterminado para el filtro de módulo y/o el umbral predeterminado para el filtro de ángulo se obtiene previamente a partir del umbral de AEoo utilizando un modelo de algoritmo de aprendizaje automático de algoritmo de bosque aleatorio entrenado previamente entre el umbral de AEoo y el umbral predeterminado para el filtro de módulo y/o el umbral predeterminado para el filtro de ángulo. A computer-implemented method according to any one of the preceding claims, wherein the predetermined threshold for the modulus filter and/or the predetermined threshold for the angle filter is pre-derived from the AEoo threshold using an algorithm model of pretrained random forest algorithm machine learning between the AEoo threshold and the default threshold for the modulus filter and/or the default threshold for the angle filter. 9. Medios de almacenamiento no transitorios que incluyen instrucciones de programa que, al ejecutarse por un ordenador, provocan que el ordenador lleve a cabo el método según cualquiera de las reivindicaciones 1 a 8. Non-transient storage media including program instructions which, when executed by a computer, cause the computer to carry out the method according to any one of claims 1 to 8. 10. Dispositivo de evaluación de similitud de colores que comprende los medios de almacenamiento no transitorios según la reivindicación 9 y un procesador de datos dispuesto para ejecutar dichas instrucciones. A color similarity evaluation device comprising the non-transient storage means according to claim 9 and a data processor arranged to execute said instructions.
ES18702326T 2017-01-11 2018-01-11 Method and device for evaluation of color similarity Active ES2947034T3 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PT2017109847 2017-01-11
EP17151878.0A EP3349149A1 (en) 2017-01-11 2017-01-17 Method and device for color similarity evaluation
PCT/IB2018/050184 WO2018130969A1 (en) 2017-01-11 2018-01-11 Method and device for color similarity evaluation

Publications (1)

Publication Number Publication Date
ES2947034T3 true ES2947034T3 (en) 2023-07-31

Family

ID=87427918

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18702326T Active ES2947034T3 (en) 2017-01-11 2018-01-11 Method and device for evaluation of color similarity

Country Status (1)

Country Link
ES (1) ES2947034T3 (en)

Similar Documents

Publication Publication Date Title
US9554109B2 (en) Identifying gray regions for auto white balancing
US8903169B1 (en) Automatic adaptation to image processing pipeline
US9020243B2 (en) Image adjustment
US9697592B1 (en) Computational-complexity adaptive method and system for transferring low dynamic range image to high dynamic range image
US10832034B2 (en) Facial image generating method, facial image generating apparatus, and facial image generating device
US20130121566A1 (en) Automatic Image Adjustment Parameter Correction
US11487884B2 (en) Methods of providing data privacy for neural network based inference
US20210272252A1 (en) Systems and methods for image processing
CN114719966A (en) Light source determination method and device, electronic equipment and storage medium
Banić et al. Using the random sprays Retinex algorithm for global illumination estimation
Banić et al. Color rabbit: Guiding the distance of local maximums in illumination estimation
Cepeda-Negrete et al. Gray-world assumption on perceptual color spaces
Kuhn et al. An improved contrast enhancing approach for color-to-grayscale mappings
ES2947034T3 (en) Method and device for evaluation of color similarity
Godau et al. The Logvinenko object color atlas in practice
KR102447599B1 (en) Method and apparatus for evaluating color similarity
Diaz et al. Estimating photometric properties from image collections
Singh et al. FPGA based implementation of real-time image enhancement algorithms for Electro-Optical surveillance systems
JP2014186534A (en) Feature quantity extraction device, feature quantity extraction method, and image identification device
Argyriou et al. A sparse representation method for determining the optimal illumination directions in photometric stereo
Faghih et al. Neural gray: A color constancy technique using neural network
Wang et al. Edge-based color constancy via support vector regression
Gaddam et al. Advanced Image Processing Using Histogram Equalization and Android Application Implementation
Sidorchuk wEscore: quality assessment method of multichannel image visualization with regard to angular resolution
Maeda et al. Haze Transfer Between Images Based on Dark Channel Prior