ES2939244T3 - Identificación de puntos clave - Google Patents

Identificación de puntos clave Download PDF

Info

Publication number
ES2939244T3
ES2939244T3 ES14752573T ES14752573T ES2939244T3 ES 2939244 T3 ES2939244 T3 ES 2939244T3 ES 14752573 T ES14752573 T ES 14752573T ES 14752573 T ES14752573 T ES 14752573T ES 2939244 T3 ES2939244 T3 ES 2939244T3
Authority
ES
Spain
Prior art keywords
image
pixel
value
filtered
function
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
ES14752573T
Other languages
English (en)
Inventor
Massimo Balestri
Gianluca Francini
Skjalg Lepsøy
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.)
Telecom Italia SpA
Original Assignee
Telecom Italia SpA
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
Application filed by Telecom Italia SpA filed Critical Telecom Italia SpA
Application granted granted Critical
Publication of ES2939244T3 publication Critical patent/ES2939244T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration using non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Dc Digital Transmission (AREA)

Abstract

Se propone un método para identificar puntos clave en una imagen digital que comprende un conjunto de píxeles. Cada píxel tiene asociado un valor respectivo de un parámetro representativo de la imagen. Dicho método comprende la aproximación de una imagen filtrada. Dicha imagen filtrada depende de un parámetro de filtrado y comprende para cada píxel de la imagen una función de filtrado que depende del parámetro de filtrado para calcular un valor filtrado del valor del parámetro representativo del píxel. Dicha aproximación comprende: a) generar un conjunto de imágenes filtradas de base; cada imagen filtrada base es la imagen filtrada con un valor respectivo del parámetro de filtrado; b) para cada píxel de al menos un subconjunto de dicho conjunto de píxeles, aproximar la función de filtrado por medio de una respectiva función de aproximación basada en las imágenes base filtradas; dicha función de aproximación es una función del parámetro de filtrado dentro de un rango predefinido del parámetro de filtrado; el método comprende además, para cada píxel de dicho subconjunto, identificar dicho píxel como un punto clave candidato si la función de aproximación tiene un extremo local que también es un extremo global con respecto al parámetro de filtrado en un respectivo subrango interno a dicho rango predefinido . Para cada píxel identificado como un punto clave candidato, el método comprende además: c) comparar el valor asumido por la función de aproximación en el valor del parámetro de filtrado correspondiente al extremo global del píxel con los valores asumidos por las funciones de aproximación de los adyacentes píxeles en la imagen en los valores de los parámetros de filtrado de los respectivos extremos globales de dichos píxeles adyacentes, (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Identificación de puntos clave
Antecedentes de la invención
Campo de la invención
[0001] La presente invención se refiere al campo del análisis de imágenes.
Descripción de la técnica anterior
[0002] En el campo del análisis de imágenes, antes de someter una imagen formada por una pluralidad de puntos (píxeles), cada uno caracterizado por un valor respectivo de un parámetro físico representativo de la imagen, tal como luminancia, a algunos tipos de procesamiento, tal como comparación con otra imagen, es ventajoso realizar la identificación de la posición y el tamaño de los detalles relevantes representados en esta imagen. En el campo del análisis de imágenes, con "detalle relevante" de una imagen se entiende una parte de un objeto incluido en la imagen que es fácilmente detectable incluso en presencia de cambios en el punto de vista del mismo objeto, en la iluminación y en el tipo de cámara.
[0003] Hasta hace unos años, era posible identificar la posición de los detalles relevantes de una imagen, pero no su tamaño. Más detalladamente, la identificación de la ubicación de un detalle relevante de una imagen se realiza a través de la identificación de un punto relevante asociado de la imagen, en la jerga, punto clave, que corresponde sustancialmente al centro del detalle relevante. En el caso de un detalle que tiene una forma circular, el punto clave coincide con el centro del detalle, mientras que en el caso de detalles que tienen diferentes formas, la posición del punto clave puede divergir del centro actual del detalle.
[0004] Recientemente, además de la identificación de puntos clave de una imagen, se han desarrollado procedimientos, gracias a los cuales también es posible determinar el tamaño del detalle relevante asociado con cada punto clave.
[0005] Actualmente, los procedimientos utilizados para identificar la posición y el tamaño de los detalles relevantes se basan en el concepto de "espacio de escala", que proporciona la aplicación de una serie de filtros gradualmente más intensos a la imagen. Los filtros aplicados a la imagen son típicamente filtros que realizan operaciones diferentes sobre los valores de los parámetros físicos (por ejemplo, luminancia) de los puntos de imagen. Típicamente, tales filtros se basan en la función gaussiana, cuya intensidad de filtrado está regida por un parámetro de filtrado a (la desviación típica de la función gaussiana): cuanto mayor es el parámetro de filtrado a, más plana y más ancha es la gaussiana, y más intenso es el efecto de suavizado que tiene la gaussiana. El espacio de escala de una imagen formada por una matriz de píxeles de coordenadas (x, y) es el espacio formado por el conjunto de imágenes filtradas (en términos de luminancia) obtenidas a partir de la imagen de partida aplicando filtros gradualmente más intensos, es decir, con valores gradualmente mayores de a y es, por lo tanto, un espacio de tres dimensiones (x, y, a).
[0006] La teoría (véase, por ejemplo, T. Lindeberg (1992), "Scale-space behavior of local extremos and blobs", J. of Mathematical Imaging and Vision, 1 (1), páginas 65-99) establece que si se tiene un valor extremo, con respecto a a, de la imagen filtrada para un punto (xp, yp, ap) perteneciente al espacio (x, y, a), es decir, un máximo o un mínimo, con respecto a a, en una parte del espacio (x, y, a) que rodea el punto (xp, yp, ap), entonces ese punto está asociado con un detalle relevante, cuyas coordenadas centrales son (xp, yp), y el tamaño es proporcional a ap. El tamaño (diámetro) del detalle (en unidades o píxeles) es igual a 2 * sqrt(2) * ap.
[0007] Identificando todos los puntos extremos en el espacio de escala, se obtiene por lo tanto la posición y el tamaño de los detalles relevantes de la imagen.
[0008] Para encontrar los puntos extremos en el espacio de escala, los procedimientos conocidos (tales como el procedimiento que usa el descriptor "Transformada de característica invariante de escala", SIFT, descrito en 1999 en el artículo Object recognition from local scale-invariant features of Lowe, David G., Proceedings of the International Conference on Computer Vision 2. páginas 1150 a 1157 y el tema de la Patente de Estados Unidos 6.711.293), considere una secuencia de imágenes filtradas con valores crecientes de a, y, para cada punto de una imagen filtrada con un a, comparar sus valores con los valores de ocho puntos adyacentes de la misma imagen y los valores de los 18 (9 9) puntos adyacentes presentes en las imágenes filtradas correspondientes a los valores anteriores y siguientes de a en la secuencia. Si este punto es menor o mayor que todos los adyacentes, entonces el punto es un extremo del espacio x, y, a, y es un candidato para ser un punto clave. Este punto es solo un candidato porque se sabe (véase, por ejemplo, Lowe, DG, "Distinctive Image Features from Scale-Invariant Keypoints", International Journal of Computer Vision, 60, 2, páginas 91-110, 2004) que hay que eliminar los puntos correspondientes a partes de la imagen que tienen un bajo contraste y los puntos que se encuentran en estructuras similares a bordes, ya que la ubicación de un detalle a lo largo de un borde puede variar fácilmente en diferentes imágenes que representan la misma escena. Por lo tanto, el punto no es fiable y, por lo tanto, se descarta.
Resumen de la invención
[0009] El solicitante se ha percatado de que los enfoques conocidos en el estado de la técnica para la identificación de los puntos clave de una imagen usan un subconjunto limitado de valores de a para filtrar la imagen obteniendo únicamente una representación discreta de la imagen filtrada a medida que a varía.
[0010] Sin embargo, el solicitante ha observado que para identificar con mayor precisión y eficacia los puntos clave de una imagen, reduciendo al mismo tiempo la cantidad de cálculos necesarios, es posible aproximar la imagen filtrada genérica para representarla con continuidad con respecto a a, y no solo relativamente a un pequeño conjunto de valores discretos de este parámetro.
[0011] Un aspecto de la presente invención se refiere a un procedimiento para identificar puntos clave en una imagen digital que comprende un conjunto de píxeles. Cada píxel tiene asociado al mismo un valor respectivo de un parámetro representativo de imagen. Dicho procedimiento comprende aproximar una imagen filtrada. Dicha imagen filtrada depende de un parámetro de filtrado y comprende para cada píxel de la imagen una función de filtrado que depende del parámetro de filtrado para calcular un valor filtrado del valor del parámetro representativo del píxel. Dicha aproximación comprende:
a) generar un conjunto de imágenes de base filtradas; cada imagen de base filtrada es la imagen filtrada con un valor respectivo del parámetro de filtrado;
b) para cada píxel de al menos un subconjunto de dicho conjunto de píxeles, aproximar la función de filtrado mediante una función de aproximación respectiva en función de las imágenes de base filtradas; dicha función de aproximación es una función del parámetro de filtrado dentro de un intervalo predefinido del parámetro de filtrado;
[0012] El procedimiento comprende además, para cada píxel de dicho subconjunto, identificar dicho píxel como un candidato de punto clave si la función de aproximación tiene un extremo local que también es un extremo general con respecto al parámetro de filtrado en un subintervalo respectivo interno a dicho intervalo predefinido.
[0013] Para cada píxel identificado como un punto clave candidato, el procedimiento comprende además: c) comparar el valor asumido por la función de aproximación en el valor del parámetro de filtrado correspondiente al extremo general del píxel con los valores asumidos por las funciones de aproximación de los píxeles adyacentes en la imagen en los valores de los parámetros de filtrado de los respectivos extremos generales de dichos píxeles adyacentes, y
d) seleccionar dicho píxel en función de esta comparación.
[0014] Según una realización de la presente invención, dicha aproximación de la función de filtrado por medio de una función de aproximación respectiva en función de las imágenes de base filtradas comprende calcular dicha función de aproximación en función de una combinación lineal de dichas imágenes de base filtradas.
[0015] Según una realización de la presente invención, dicha función de aproximación se basa en una aproximación adicional de dicha combinación lineal de dichas imágenes de base filtradas.
[0016] Según una realización de la presente invención, dicha función de aproximación es un polinomio que tiene el parámetro de filtrado como una variable.
[0017] Según una realización de la presente invención, los coeficientes de dicho polinomio se calculan en función de las imágenes de base filtradas y en función de una aproximación de ponderaciones de dicha combinación lineal.
[0018] Según una realización de la presente invención, el procedimiento comprende además descartar a partir de los píxeles seleccionados los píxeles donde el valor asumido por la función de aproximación en el parámetro de filtrado correspondiente al extremo general del píxel tiene un valor absoluto menor que un primer umbral.
[0019] Según una realización de la presente invención, el procedimiento comprende además:
- para cada píxel seleccionado, calcular la curvatura principal y la curvatura secundaria de la superficie formada por las funciones de filtrado en los píxeles de la imagen contenida en un parche centrado en dicho píxel seleccionado; - descartar/mantener dicho píxel a partir de/en los píxeles seleccionados en función de la relación entre la curvatura principal y la curvatura secundaria.
[0020] Según una realización de la presente invención, el procedimiento comprende además:
- para cada píxel seleccionado, calcular el valor asumido por la segunda derivada de la función de aproximación con respecto al parámetro de filtrado en el extremo general correspondiente, y
- descartar/mantener dicho píxel a partir de/en los píxeles seleccionados en función de dicho valor asumido por la segunda derivada.
[0021] Según una realización de la presente invención, dicho punto clave de identificación se repite además en al menos una versión escalada de la imagen, usando el mismo intervalo predefinido del parámetro de filtrado.
[0022] Según una realización de la presente invención:
- al menos uno de los valores del parámetro de filtrado de las imágenes de base filtradas es igual al doble del menor de los valores del parámetro de filtrado de las otras imágenes de base filtradas;
- dicha versión escalada de la imagen se obtiene mediante la aproximación de las imágenes de base filtradas a partir de una versión aproximada de la imagen de base filtrada que tiene el valor más bajo del parámetro de filtrado, dicha versión aproximada de la imagen de base filtrada se aproxima mediante el submuestreo de la imagen de base filtrada con dicho valor del parámetro de filtrado que es el doble del valor más bajo del parámetro de filtrado.
[0023] Según una realización de la presente invención, dicha imagen filtrada se basa en la aplicación de filtros basados en laplacianos de gaussianos o filtros basados en diferencias de gaussianos, y dicho parámetro de filtrado es la desviación típica de la función gaussiana.
[0024] Según una realización de la presente invención, dicho polinomio es un polinomio de tercer grado con respecto al parámetro de filtrado.
[0025] Según una realización de la presente invención, cada píxel de la imagen tiene al menos una coordenada correspondiente que identifica la ubicación de los píxeles en la imagen; dicho procedimiento comprende además, para cada píxel seleccionado, modificar dicha al menos una coordenada de dicho píxel calculando un cambio correspondiente de coordenadas en función de una función de aproximación adicional que aproxima la función de filtrado en el píxel con respecto a dicho cambio de coordenadas; dicha función de aproximación adicional se basa:
1) en la función de filtrado de dicho píxel seleccionado en el valor del parámetro de filtrado correspondiente al extremo general del píxel seleccionado, y
2) en las funciones de filtrado de los píxeles adyacentes al píxel seleccionado en la imagen en el valor del parámetro de filtrado correspondiente al extremo general del píxel seleccionado.
[0026] Según una realización de la presente invención, dicho cálculo del cambio de coordenadas comprende identificar puntos máximos o mínimos en la función de aproximación adicional con respecto al cambio de coordenadas y establecer dicho cambio de coordenadas en función de los puntos máximos o mínimos identificados.
Breve descripción de los dibujos
[0027] Estas y otras características y ventajas de la presente invención resultarán evidentes a partir de la siguiente descripción de algunas realizaciones a modo de ejemplo y no de limitación, que se leerá junto con los dibujos adjuntos, en los que:
La Figura 1A es un gráfico que muestra una señal de luminancia en función de una coordenada;
La Figura 1B muestra, para diferentes valores crecientes de a, un filtro de LoG correspondiente y la señal de la Figura 1A filtrada a través de este filtro de LoG;
La Figura 2A muestra una imagen bidimensional, cada punto de la cual tiene un valor de luminancia respectivo; La Figura 2B muestra, para valores de a, un filtro de LoG correspondiente y la imagen de la Figura 2A filtrada a través del filtro de LoG;
La Figura 3A ilustra cuatro filtros de base LoGB;
La Figura 3B muestra cómo el filtro de LoG aproximado por medio de una combinación lineal de acuerdo con una realización de la presente invención es similar al que se ha calculado explícitamente;
La Figura 3C ilustra un diagrama que muestra cómo varían las ponderaciones de una combinación lineal de cuatro filtros de base LoG en función de a para obtener un filtro de LoG genérico;
La Figura 4A muestra la imagen de la Figura 2A filtrada a través de una convolución con un filtro LoG que tiene un a igual a 2,5;
La Figura 4B muestra la imagen de la Figura 2A filtrada que se aproxima al filtro de LoG con a igual a 2,5 por medio de la función de aproximación de acuerdo con una realización de la presente invención;
La Figura 4C es la imagen resultante de la diferencia entre la imagen de la Figura 4A y la imagen de la Figura 4B; Las Figuras 5A-5B muestran un diagrama de flujo que ilustra en términos de bloques funcionales un proceso para identificar el punto clave de una imagen de acuerdo con una realización de la presente invención;
La Figura 6A muestra, por medio de una escala de grises, un ejemplo del valor máximo asumido por la función de aproximación de acuerdo con una realización de la presente invención para cada punto de la imagen ejemplar de la Figura 2A;
La Figura 6B muestra, por medio de una escala de grises, un ejemplo del valor mínimo asumido por la función de aproximación de acuerdo con una realización de la presente invención para cada punto de la imagen de la Figura 2A;
Las Figuras 6C y 6D muestran un ejemplo de cuáles de los puntos de la imagen de la Figura 2A son puntos de máximo y mínimo, respectivamente, que son candidatos para ser puntos clave potenciales;
Las Figuras 7A y 7B muestran, respectivamente, los puntos correspondientes de máximo y mínimo que todavía se consideran puntos clave potenciales después de que se haya llevado a cabo un procedimiento de comparación con los puntos adyacentes de acuerdo con una realización de la presente invención;
La Figura 8A muestra los puntos identificados como punto clave en la primera octava de la imagen en la Figura 2A, y
La Figura 8B muestra los puntos identificados como punto clave en cinco octavas consideradas de la imagen de la Figura 2A.
Descripción detallada de realizaciones ejemplares de la invención
[0028] Típicamente, el filtro basado en la función gaussiana que se aplica a las imágenes puede ser un laplaciano de gaussiano ("Laplacian Of Gaussian", LoG) o una diferencia de gaussianos ("Difference Of Gaussian" DoG). La diferencia de gaussianos se aproxima al laplaciano de gaussiano, pero puede ser conveniente adoptarla por razones computacionales. En consecuencia, aunque en este documento siempre se hará referencia a las operaciones que utilizan filtros de LoG, se aplican consideraciones equivalentes en el caso de los filtros de DoG.
[0029] Con el fin de mostrar el mecanismo que se encuentra en la base de la identificación de detalles relevantes por medio de la aplicación de filtros de LoG, a continuación se presentarán dos ejemplos: en el primer ejemplo, ilustrado en las Figuras 1A y 1B, por simplicidad, en lugar de una imagen bidimensional, se considera una señal de luminancia unidimensional, mientras que el segundo ejemplo, mostrado en las Figuras 2A y 2B, se refiere a una imagen bidimensional.
[0030] Haciendo referencia al primer ejemplo, la Figura 1A es un gráfico que muestra, en función de una única coordenada x, un valor de luminancia; observando el gráfico de la Figura 1A, es posible advertir ya la presencia de dos detalles relevantes, correspondientes a los dos picos de la señal. Para ver cómo se pueden identificar estos dos detalles relevantes mediante un procedimiento de filtros de LoG, que permite no solo identificar la coordenada central, sino también el tamaño, se hará referencia a la Figura 1B, que muestra, para diferentes valores crecientes de a (a = 2, a = 6, a = 10, a = 14, a = 18, a = 22), un filtro de LoG correspondiente (a la izquierda de la figura) y la señal de la Figura 1A filtrada a través de este filtro de LoG (a la derecha en la figura). En el ejemplo considerado, se pueden identificar dos extremos, a saber, un primer extremo en x = 210 cuando a = 6, y un segundo extremo en x = 110 cuando a = 14. Estos extremos indican la presencia de dos detalles relevantes cuyos centros están en 210 y 110 puntos (o píxeles si se tratara de una imagen) y cuya anchura es de aproximadamente 16,87 y 39,59 puntos, usando la relación de diámetro de punto relevante = 2 * sqrt (2) * a.
[0031] Con referencia al segundo ejemplo, la Figura 2A muestra una imagen bidimensional, cada punto de la cual tiene un valor de luminancia respectivo, mientras que la Figura 2B muestra, para valores crecientes de a (a = 2, a = 9, a = 16, a = 23), un filtro de LoG correspondiente (a la derecha de la figura) y la imagen de la Figura 2A filtrada a través de dicho filtro de LoG (a la izquierda de la figura). La ventana en forma de media luna junto a la palabra "SCUOLA" es un detalle relevante, con una forma distinta fácilmente detectable, que tiene una altura en el centro de aproximadamente 19 píxeles. Esto significa que en el centro de la ventana, el resultado de la aplicación del filtro de LoG a la imagen tiene un valor máximo en un a igual a 19 / (2 * sqrt (2)) = 6,46. De hecho, se puede observar que en el centro de la ventana, el valor más alto (el más claro) obtenido como resultado del filtrado es aquel que corresponde al filtro de LoG que tiene a = 9, es decir, el filtro de LoG de los cuatro filtros de LoG empleados que tienen el valor a más cercano a 6,46.
[0032] Dado que un filtro de LoG tiende a aumentar considerablemente de tamaño a medida que aumenta a (con a = 50 el filtro se puede representar con una matriz de casi 500x500 puntos), el procesamiento descrito anteriormente se puede realizar ventajosamente usando un enfoque de "octava", con el fin de reducir el número de cálculos. El procesamiento de octavas se basa en la observación de que el resultado de un filtro con a = a* en la imagen original se puede reproducir con un filtro con a = a */ 2 en la imagen escalada al 50 %. En el procesamiento de octavas, se fija un intervalo para a, las imágenes filtradas se estudian con algunos a que se encuentran en el intervalo, y luego la imagen se escala al 50 % repitiendo el mismo tipo de análisis en la imagen reducida (realizando los mismos filtrados). El proceso se itera hasta que la imagen escalada tiene un tamaño inferior a un umbral predeterminado. Por ejemplo, a partir de una imagen VGA (640x480) y deteniendo el proceso cuando el lado más corto de la imagen es inferior a 20 píxeles, se obtienen cinco octavas (640x480, 320x240, 160x120, 80x60, 40x30).
[0033] Uno de los conceptos básicos de la solución de acuerdo con las realizaciones de la presente invención se deriva de la observación de que es posible aproximar un filtro de LoG (x, y, a) (donde x, y son las coordenadas espaciales de la imagen (es decir, los puntos o píxeles que forman la imagen) y a es la desviación típica de la gaussiana, con x, y, a que definen el espacio de escala) como una combinación lineal de n filtros LoGB (x, y, ai) calculados previamente con diferentes n a = ai (i = 1, 2,. .., n), en lo sucesivo denominados filtros básicos:
Figure imgf000006_0001
donde pi (a), p2 (a),..., pn (a) son ponderaciones cuyo valor es una función de a, como se mostrará más adelante en esta descripción. La dependencia espacial de x e y se ha omitido por simplicidad.
[0034] Con referencia al ejemplo que se muestra en la Figura 3A, se supone que se han calculado cuatro filtros de base LoGB (ai), LoGB (a2), LogB (a3), LoGB (a4) con ai = 1,8, a2 = 2,846, a3 = 3,6 y a4 = 4, combinación lineal de estos cuatro filtros de base LoGB, es posible aproximar el filtro de LoG como:
Figure imgf000006_0002
LoGB (x, y , 3,6) P4 (a) LoGB (x, y, 4,2214).
[0035] Usando la relación (2), es posible obtener una buena aproximación del filtro de LoG con a igual a, por ejemplo, 2,5:
Figure imgf000006_0003
~ 0,0161 LoGB (x, y, 1,8 )+ 0 ,2501 LoGB (x, y, 2 ,846) -0,187
LoGB (x, y, 3,6) 0 ,0836 LoGB (x, y, 4 ,2214)
[0036] En la Figura 3B es posible observar cómo el filtro de LoG aproximado por una combinación lineal (a la derecha de la figura) es similar al calculado explícitamente (a la izquierda de la figura).
[0037] Las ponderaciones p1(a), p2(a), ..., pn(a) se calculan resolviendo el sistema de ecuaciones lineales:
Figure imgf000006_0004
donde:
- A es una matriz que tiene un número de columnas igual al número n de filtros de base LoGB (en el ejemplo considerado, cuatro), en la que cada columna representa un filtro de base LoGB correspondiente. Suponiendo que el filtro de LoG genérico se puede representar mediante una matriz cuadrada m x m (donde cada elemento corresponde a un píxel), cada columna de A se construye dibujando en columnas las columnas de la matriz de cada filtro de base
LoGB obteniendo un vector de columna correspondiente de m2 elementos.
- b es el vector de columna de m2 elementos que representa el filtro de LoG a aproximar.
- p es un vector de n elementos que contienen las ponderaciones p1(a), p2(a),..., pn(a) (en el ejemplo considerado, p1, p2, p3, p4) que se determinan resolviendo el sistema.
[0038] Para resolver el sistema, de acuerdo con una realización de la presente invención, es posible usar el procedimiento de mínimos cuadrados conocido o cualquier otro procedimiento que permita reducir la norma de la diferencia entre los valores observados y aproximados, como, por ejemplo, el procedimiento conocido como "recocido simulado"(a este respecto, véase, por ejemplo, Kirkpatrick, S., Gelatt, CD, Vecchi, MP (1983). "Optimization by Simulated Annealing. "Science 220 (4598): 671-680).
[0039] Eligiendo un conjunto de q filtros de LoG a aproximar que tengan respectivamente a = a'1, a'2, ..., a'q, y en función de la relación (4), es posible calcular una matriz de ponderación W que tiene una fila para cada uno de los n filtros de base LoGB y una columna para cada uno de los q filtros de LoG a aproximar, y que contiene para cada columna las ponderaciones p1(a), p2(a),..., pn(a) para aproximar el filtro de LoG correspondiente a dicha columna según la siguiente relación:
Figure imgf000006_0005
donde D es una matriz que contiene los q filtros de LoG (a'j) (j = 1, 2,..., q).
[0040] Interpolando para cada uno de los n filtros de base LoGB los elementos correspondientes de la matriz de ponderación W es entonces posible determinar cómo varían las ponderaciones pi(a), p2(a), ..., pn(a) con respecto a a. La precisión con la que se aproxima la tendencia de las ponderaciones pi(a), p2(a),..., pn(a) con respecto a a depende del número q de filtros de LoG considerados en relación (5) (cuanto mayor sea q, mejor será la aproximación).
[0041] La Figura 3C ilustra un diagrama que muestra cómo variar las ponderaciones pi(a), p2(a), p3(a), p4(a) del ejemplo considerado anteriormente en función de a. En este caso, las curvas se generaron interpolando para cada ponderación 13 puntos correspondientes cada uno a 13 diferentes a = a'i, a'2,..., a'q (es decir, q = 13).
[0042] Con el fin de filtrar la imagen con un filtro de LoG(a), la convolución del filtro de LoG se realiza con esta imagen I:
(6): L (a) = LoG(a) * [,
donde L(a) es el resultado del filtro de LoG aplicado a la imagen (en lo sucesivo, simplemente denominado "imagen filtrada") y * es el símbolo de convolución.
[0043] Dado que la convolución es un operador lineal, explotando dicha propiedad, es ventajosamente posible obtener la aproximación de cualquier imagen filtrada L(i) (es decir, para un filtrado correspondiente a cualquier a) sin tener que calcularla explícitamente. De hecho, al explotar dicha propiedad y sustituir la relación (1) en la relación (6), se obtiene la siguiente relación:
(7 ): L (x, y, (j) f= Pi(cf) L (x, y, íti) pifo) L (x, y, C12) pifa) L (x, y , qx) — -p.(cf) L (x, y, o„)
[0044] En otras palabras, gracias a la solución de acuerdo con una realización de la presente invención, es suficiente calcular explícitamente el filtrado para un número reducido de veces (es decir, n) para obtener n imágenes filtradas L(ai) (i = 1,2, ..., n) usando los n filtros de base LoGB(ai), y explotar la relación (7) para aproximar la imagen filtrada genérica L(a) a partir de estas imágenes filtradas L(a)
[0045] Por lo tanto, para obtener una aproximación a una imagen filtrada L(a) es suficiente calcular una sola vez la matriz de ponderación W que da el valor de las n ponderaciones pi(a) para un cierto conjunto de a suficientemente grande (es decir, considerando una matriz D que contiene un número suficiente q de filtros de LoG) con el fin de satisfacer las necesidades de precisión requeridas.
[0046] El segundo concepto básico de la solución de acuerdo con las realizaciones de la presente invención proporciona la aproximación de la imagen filtrada genérica L(a) por medio de una función de aproximación de filtrado que depende de un conjunto continuo de valores de a.
[0047] De acuerdo con una realización de la presente invención, la función de aproximación es un polinomio de grado r, aunque se aplican consideraciones equivalentes en el caso en el que esta función de aproximación es una función diferente, por ejemplo, la función alog(a) ba2 ca d. Sin embargo, la elección de un polinomio es ventajosa puesto que los polinomios son fáciles de manejar, ya que son rápidos de calcular, fácilmente derivables y libres de singularidades.
[0048] Con el fin de calcular la función de aproximación como un polinomio de grado r de acuerdo con una realización de la presente invención, la matriz de ponderación W se aproxima a su vez de la siguiente manera:
Figure imgf000007_0001
donde S es la matriz de tamaño q x (r 1):
Figure imgf000008_0001
donde la notación (a’i) r significa "a’1 elevado a r",
y F es una matriz que contiene los valores de aproximación que sirven para aproximar, mediante polinomios de grado r en a’i, a’2, ..., a’q, los pesos de la matriz de ponderación W a usar para aproximar los filtros de LoG que tienen a = a’i, a’2, ..., a’q, respectivamente. En mayor detalle, la matriz de aproximación F es una matriz de dimensión (r 1) x n, donde cada columna de F se usa para hacer una combinación lineal de las columnas de S. La matriz S multiplicada por una i-ésima columna F es un vector que se aproxima a las ponderaciones contenidas en la i-ésima columna de WT. El elemento genérico de la k-ésima columna y la i-ésima fila de F es el valor que se usa en la combinación lineal de la k-ésima columna de S que corresponde a (a’¡)(r‘k+1). Con el fin de resolver el sistema (8), de acuerdo con una realización de la presente invención, es posible usar el procedimiento de mínimos cuadrados conocido o cualquier otro procedimiento que permita reducir la norma de la diferencia entre valores observados y aproximados.
[0049] Sustituyendo la relación (8) en (5), se obtiene:
Figure imgf000008_0002
[0050] Por tanto, sobre la base de la relación (10), de acuerdo con una realización de la presente invención, es posible aproximar un filtro LoG(a) que tiene cualquier a realizando una combinación lineal de los valores de filtros de base LoGB(ai) contenidos en la matriz A por medio de la multiplicación con la matriz FT, y usando el resultado como coeficientes de un polinomio de grado r en a, como se indica a continuación:
Figure imgf000008_0003
donde (:) es una notación que indica que la matriz que precede a la notación se transforma en un vector, obtenido mediante el dibujo en columnas de las diversas columnas de la matriz.
[0051] Cabe señalar que, dada una base formada por los filtros básicos LoGB(ai) contenidos en la matriz A, la matriz F se calcula solo una vez y se usa para aproximar cualquier filtro LoG(a).
[0052] Como se hizo anteriormente, usando la propiedad de linealidad de la convolución, y sustituyendo la relación (11) en la relación (6), se obtiene:
Figure imgf000008_0004
donde L(a) representa una imagen genérica filtrada con un filtro LoG(a), y L(ai) (i = 1, 2, ..., n) representa imágenes filtradas por medio de los n filtros de base LoGB(ai).
[0053] En otras palabras, ampliando la relación (12), de acuerdo con una realización de la presente invención, una imagen filtrada genérica L(x, y, a) puede aproximarse con la siguiente función de aproximación:
( 13): L (x, y. <r) - c,(x, y )^ c,;.r-i)(x, y)cru-l> i ■■■ i ci(x, y)a i co(x, y),
donde los (r 1) coeficientes cr, ...,co del polinomio de la función de aproximación son funciones de las imágenes filtradas L(oí) (i = 1,2, ..., n) usando los n filtros de base LoGB(ai) y de la matriz F, y varían de píxel a píxel en función de las coordenadas x e y. Esta aproximación es válida en el intervalo (cuyos extremos son parámetros que se pueden establecer) en donde a varía en una sola octava.
[0054] De acuerdo con una realización, el grado r del polinomio de la función de aproximación es ventajosamente igual a 3, ya que está comprobado que es un buen término medio entre la complejidad de los cálculos y la precisión en la aproximación. Específicamente, con r = 3, la imagen filtrada genérica L (x, y, a) se puede aproximar con la siguiente función de aproximación:
Figure imgf000009_0001
[0055] Para tener una idea de lo bueno de la aproximación obtenida mediante una función de aproximación como un polinomio de tercer grado, compare la Figura 4A, que muestra la imagen filtrada obtenida a partir de la imagen de la Figura 2A a través de una convolución con un filtro de LoG que tiene un a igual a 2,5, con la Figura 4B, que representa la imagen filtrada obtenida a partir de la misma imagen de la Figura 2A mediante la aproximación del filtro de LoG con un a igual a 2,5 por medio de la función de aproximación (14) usando cuatro filtros de base LoGB (ai) con ai = 1,8, 2,846, 3,6, y 4,2214. La Figura 4C es la imagen resultante de la diferencia entre la imagen de la Figura 4A con la imagen de la Figura 4B. Como puede apreciarse observando la Figura 4C, la diferencia entre la imagen filtrada por medio de una convolución explícita con LoG (Figura 4A) y la imagen filtrada por medio de la función de aproximación (14) (Figura 4B) es cercana a cero.
[0056] Como se describirá en lo sucesivo en el presente documento en detalle, de acuerdo con una realización de la presente invención, la herramienta de la función de aproximación que se acaba de describir se usa ventajosamente para identificar, en cualquier imagen digital I, el conjunto de puntos clave a explotar para realizar el posterior análisis de imágenes.
[0057] El proceso de identificación del punto clave de una imagen digital I de acuerdo con una realización de la presente invención se ilustra en términos de bloques funcionales en el diagrama de flujo 100 mostrado en las Figuras 5A-5B.
[0058] Antes de pasar a describir en detalle los bloques funcionales de este proceso, debe observarse que la construcción de la función de aproximación requiere el uso de la matriz de aproximación F (véase la relación (12)), que se calcula ventajosamente una vez, por ejemplo, durante una fase previa de entrenamiento, y luego se usa para aproximar cualquier filtro LoG(a) aplicado a cualquier imagen I. Durante esta fase de entrenamiento, seleccionar un conjunto de n filtros de base LoGB (ai) (i = 1,2,..., n), con un ai <a i 1, y un conjunto de q filtros LoG(a'j) (j = 1, 2, ..., q), y calcular la matriz de aproximación F como se describió anteriormente (véase la relación (10)).
[0059] Volviendo ahora a las Figuras 5A-5B, la primera fase del proceso proporciona que, a partir de una imagen genérica I, se calculan las n imágenes correspondientes filtradas por medio de los filtros de base LoGB (ai), a saber, se calculan los L (ai) (i = 1, 2, ..., n) (bloque 102).
[0060] En este punto (bloque 104), se selecciona un intervalo de trabajo en a, donde se realizan las siguientes operaciones. Como quedará claro en la siguiente descripción, seleccionar como extremo inferior del intervalo de trabajo ai= 1, y como extremo superior del intervalo de trabajo ai = n, es posible evitar hacer algunos cálculos en las etapas posteriores del proceso.
[0061] Entonces se selecciona un punto (xt, yt) de la imagen I (bloque 106), tal como el punto de coordinación (xt = 0, yt = 0), para realizar en él operaciones relativas a los bloques 108-124.
[0062] La imagen filtrada L (xt, yt, a) en el punto seleccionado (xt, yt) se aproxima entonces calculando una función de aproximación (por ejemplo, un polinomio de grado r) usando la relación (12) con x = xt e y = yt (bloque 108). Por ejemplo, en el caso de r = 3, la imagen filtrada L (xt, yt, a) se aproxima mediante la siguiente función polinómica de tercer grado de a (con coeficientes que dependen de (xt, yt)): c3 (xt, yt) a3 c2 (xt, yt) a2 c1 (xt, yt) a c0 (xt, yt).
[0063] Una condición necesaria para que un punto en la imagen sea un punto clave es que ese punto tenga un valor extremo en una parte del espacio de escala (x, y, a) que rodea este punto. De acuerdo con una realización de la presente invención, gracias al hecho de que las imágenes filtradas L (x, y, a) se aproximan mediante una función de aproximación que depende de a, la determinación de si un punto tiene un valor extremo puede realizarse ventajosamente comparando la tendencia en a de la función de aproximación de este punto con la tendencia en a de las funciones de aproximación de los puntos adyacentes.
[0064] Por esta razón, en la siguiente etapa (bloque 110), se calcula la primera derivada de la función de aproximación con respecto a a, y se realiza una comprobación de si, y, en el caso afirmativo, dónde, esta derivada asume un valor igual a cero en el intervalo a considerado (excluyendo los extremos), para identificar posibles puntos máximos o mínimos locales. Usando un polinomio como una función de aproximación, es posible calcular fácilmente la derivada muy rápidamente. Con referencia al ejemplo considerado, la primera derivada de la imagen filtrada en el punto (xt, yt) L (xt, yt, a) es igual a: 3c3 (xt, yt) a2 2c2 (xt, yt) a ci (xt, yt).
[0065] Si esta primera derivada asume el valor cero en al menos un punto (am del intervalo a, excluyendo los extremos de este intervalo, (rama de salida Y del bloque 112), el proceso proporciona el cálculo del valor asumido por la función de aproximación en dicho al menos un am (bloque 114) y la comparación de este valor de la función de aproximación con los valores asumidos por la misma función de aproximación en correspondencia con los extremos del intervalo a considerado (bloque 116). Si el intervalo a determinado en el bloque 104 tenía como extremo inferior ai = 1, y como extremo superior ai = n, ni siquiera es necesario tener que calcular los valores de la función de aproximación en los extremos del intervalo, puesto que estos valores ya se han calculado (sin aproximación) en el bloque 102 como imágenes filtradas L (a1), L (an) a través de la base de filtro LoGB (a1), LoGB (an).
[0066] A través de la comparación realizada en el bloque 116, se puede determinar si am es también un punto máximo (o mínimo) general de la función de aproximación en el intervalo a considerado o si es solo un punto máximo (o mínimo) local.
[0067] Si se determina que am es una función de aproximación de punto máximo (o mínimo) general con respecto a a (rama de salida Y del bloque 118), entonces el punto seleccionado correspondiente (xt, yt) que ha determinado los valores de los coeficientes actuales cr,..., c0 de la función de aproximación es un punto clave potencial. En este caso (bloque 120), las coordenadas (xt, yt) del punto, el valor am y el valor de la función de aproximación calculados para am se insertan en un elemento de una primera tabla, identificada como tabla de "puntos clave potenciales". Cabe señalar que para cada uno de los puntos que pertenecen a la primera tabla, también se obtiene una evaluación del diámetro del detalle relevante asociado con ese punto, igual a 2 * sqrt (2) * am.
[0068] En cambio, si se determina que am no es un punto máximo (o mínimo) general de la función de aproximación con respecto a a (rama de salida N del bloque 118), o en el caso en el que la derivada de la función de aproximación no asume el valor cero en al menos un punto am en el intervalo a, excluyendo los extremos de este intervalo, (rama de salida N del bloque 112), entonces el punto seleccionado correspondiente (xt, yt) que determinó los valores de los coeficientes actuales cr,..., c0 de la función de aproximación no puede ser un punto clave potencial. En este caso, (bloque 122), las coordenadas (xt, yt) del punto y el valor de la función de aproximación calculados para am se insertan en un elemento de una segunda tabla, identificada como tabla de "puntos descartados".
[0069] De acuerdo con otra realización de la presente invención, con el fin de que un punto se considere un punto clave potencial, y luego que éste sea insertado en la primera tabla, el punto máximo (o mínimo) general correspondiente am debe satisfacer además la condición de estar incluido en un subconjunto del intervalo de trabajo seleccionado en el bloque 104, con dicho subconjunto teniendo un extremo inferior mayor que ai = 1, y un extremo superior menor que ai = n. De esta manera, solo se conocen los puntos máximos o mínimos que ocurren en am de los que se conoce el comportamiento de las funciones de aproximación en un entorno de am que es suficientemente grande, tal como un entorno que tiene un tamaño mínimo de aproximadamente 0,1 (con respecto a a).
[0070] Además, con el fin de evitar la aparición de artefactos que podrían comprometer la correcta identificación de los puntos clave, los puntos de imagen pertenecientes al borde de la imagen se descartan directamente y, por lo tanto, se insertan en la segunda tabla, independientemente de la presencia de posibles puntos máximos (o mínimos) generales.
[0071] Cabe señalar que para cada punto de coordenadas (xt, yt) es posible que haya más puntos máximos y/o mínimos. En este caso, en el caso del punto máximo, se puede considerar solo el punto que tiene el valor L(xt, yt, a) más alto, mientras que en el caso del punto mínimo, se puede considerar solo el punto que tiene el valor L(xt, yt, a) más bajo.
[0072] De acuerdo con una realización adicional de la presente invención, en lugar de usar para cada punto el mismo intervalo de trabajo en a, es posible usar un intervalo de trabajo diferente respectivo. Por ejemplo, un punto máximo (o mínimo) local de la función de aproximación puede considerarse como un máximo (o mínimo) general con respecto a un intervalo a que es un subintervalo del intervalo de trabajo que comprende am y que tiene extremos dependientes de am. En este punto se realiza una comprobación para determinar si el punto seleccionado (xt, yt) es el último punto de la imagen I o no (bloque 124).
[0073] En el caso negativo (rama de salida N del bloque 124) se selecciona un nuevo punto (xt, yt) de la imagen (bloque 126), y las operaciones descritas anteriormente se repiten en el nuevo punto (volver al bloque 108).
[0074] En el caso afirmativo (rama de salida Y del bloque 124), todos los puntos de la imagen se clasifican en la primera o en la segunda tabla.
[0075] La Figura 6A muestra, mediante una escala de grises, un ejemplo del valor máximo asumido por la función de aproximación para cada punto de la imagen de la Figura 2A ejemplar, donde un color más claro corresponde a un valor más alto. La Figura 6B muestra, mediante una escala de grises, un ejemplo del valor mínimo asumido por la función de aproximación para cada punto de la imagen de la Figura 2A, donde también en este caso un color más claro corresponde a un valor más alto. Las Figuras 6C y 6D muestran en negro un ejemplo de cuáles de los puntos de la imagen de la Figura 2A son los puntos máximos y mínimos, respectivamente, que son candidatos para ser puntos clave potenciales (es decir, puntos que se incluyeron en la primera tabla).
[0076] De acuerdo con una realización de la presente invención, las operaciones posteriores del proceso de identificación de los puntos clave de las Figuras 5A-5B prevén verificar, para cada punto (xt, yt) de la imagen que pertenece a la primera tabla que tiene un máximo en la función de aproximación, si el valor de la función de aproximación de dicho punto en el valor om del máximo identificado también es mayor que los valores máximos asumidos por las funciones de aproximación de los ocho puntos adyacentes a ese punto en la imagen. De manera similar, para cada punto (xt, yt) de la imagen que pertenece a la primera tabla que tiene un mínimo en la función de aproximación, se verifica si el valor de la función de aproximación de ese punto en el valor om del mínimo identificado también es menor que los valores mínimos asumidos por las funciones de aproximación de los ocho puntos adyacentes a ese punto en la imagen.
[0077] Considerando los puntos máximos (consideraciones similares también pueden aplicarse a puntos mínimos), de acuerdo con una realización de la presente invención, se selecciona un punto (xt, yt) de la primera tabla (bloque 128), y el valor máximo de la función de aproximación del punto, que se puede obtener a partir del elemento correspondiente en la primera tabla, se compara (bloque 130) con los valores máximos de las funciones de aproximación de los ocho puntos adyacentes en la imagen, que se pueden obtener por los elementos correspondientes a esos puntos adyacentes en la primera y/o en la segunda tabla. Se subraya que cada uno de los ocho puntos adyacentes puede ser, a su vez, un punto clave potencial (en este caso, el punto se enumera en la primera tabla) o un punto que ya se ha descartado (en este caso, el punto se enumera en la segunda tabla). Si el valor máximo de la función de aproximación en el punto seleccionado parece ser mayor que todos los valores máximos de las funciones de aproximación de los puntos adyacentes (rama de salida Y del bloque 132), entonces ese punto todavía se considera un punto clave potencial y, por lo tanto, se deja en la primera tabla (bloque 134). Si el valor máximo de la función de aproximación en el punto seleccionado no es mayor que todos los valores máximos de la función de aproximación de los puntos adyacentes (rama de salida N del bloque 132), entonces ese punto ya no debe considerarse un punto clave potencial y, por lo tanto, se elimina de la primera tabla y se inserta en la segunda tabla (bloque 136). A continuación, se realiza una comprobación para determinar si se han comparado o no todos los puntos enumerados en la primera tabla. En el caso negativo (rama de salida N del bloque 138), se selecciona un nuevo punto de la primera tabla (bloque 140), y las operaciones de los bloques 132-136 se llevan a cabo de nuevo en este nuevo punto. En el caso positivo (rama de salida Y del bloque 138), la selección inicial de puntos clave potenciales ha terminado.
[0078] Usando las soluciones de acuerdo con las realizaciones de la presente invención, fue posible evaluar de una manera rápida y eficiente el comportamiento de la imagen filtrada en un punto genérico de la imagen con respecto al comportamiento de la imagen filtrada en los puntos adyacentes, simplemente comparando la tendencia de la función de aproximación de ese punto con la tendencia de las funciones de aproximación de los puntos adyacentes.
[0079] Volviendo al ejemplo ilustrado en las Figuras 6C y 6D, las Figuras 7A y 7B muestran en color negro los puntos máximos y mínimos correspondientes, respectivamente, que han permanecido en la primera tabla (es decir, que todavía son puntos clave potenciales) después de que se haya llevado a cabo el procedimiento de los bloques 130-140.
[0080] De acuerdo con una realización de la presente invención, los puntos clave potenciales restantes en la primera tabla se consideran a partir de ahora independientemente del hecho de que son puntos máximos o mínimos.
[0081] El procedimiento de identificación de puntos clave de acuerdo con una realización de la presente invención comprende además eliminar de la primera tabla de los puntos clave potenciales a aquellos puntos que se supone que tienen una estabilidad deficiente, es decir, los puntos clave que pertenecen a elementos de la escena que, observando la escena de una manera diferente o con diferentes condiciones de iluminación, pueden cambiar la posición con respecto al objeto sobre el que se encuentran, o ya no pueden detectarse. De acuerdo con una realización de la presente invención, la estabilidad se determina llevando a cabo una o más de las siguientes tres pruebas de estabilidad.
[0082] La primera prueba de estabilidad de acuerdo con una realización de la presente invención (bloque 142) proporciona descartar de la primera tabla los puntos con el valor absoluto de la función de aproximación calculado en Om correspondiente inferior a un cierto umbral. Estos puntos pertenecen a áreas de la imagen con un contraste inferior a un contraste mínimo (determinado por el umbral). Esta verificación también permite eliminar posibles puntos que se han identificado como punto clave solo debido a la aproximación realizada mediante la función de aproximación. En la práctica, en correspondencia con un área que tiene un color uniforme (por tanto, un área con un contraste muy bajo), el resultado del filtrado en un punto que pertenece a dicha área como variable debe tener valores casi constantes y cercanos a cero y, por lo tanto, debe tener una tendencia plana, pero la aproximación que explota la función de aproximación tiende a generar (especialmente si la función de aproximación es un polinomio) un máximo o mínimo local cercano a cero solo introducido por la aproximación, lo que puede permitir que el punto se clasifique como un punto clave en lugar de ser descartado.
[0083] La segunda prueba de estabilidad de acuerdo con una realización de la presente invención (bloque 144) prevé calcular para cada punto de la primera tabla y en el parche de 3x3 píxeles de la imagen centrada en este punto la curvatura principal y la curvatura secundaria (ortogonal a la primera curvatura principal) de la superficie formada por la función L(x, y, a) en los puntos pertenecientes a ese parche, y para comparar esas dos curvaturas, calcular la relación. Si parece que las dos curvas son similares, entonces significa que el punto cae en un área de la imagen donde su posición está bien definida, y el punto se deja en la primera tabla, mientras que si las dos curvas difieren significativamente, entonces significa que el punto cae en un área de la imagen similar a un tablero y, por lo tanto, no es muy fiable ya que su ubicación o existencia varía considerablemente dependiendo de cómo se observe la escena. En este último caso, el punto se elimina de la primera tabla. Esta prueba también se usa en los procedimientos conocidos para la identificación de los puntos clave, pero, a diferencia de este último, en el que el parche de puntos usado para calcular las curvaturas pertenece a una imagen ya filtrada, de acuerdo con las realizaciones de la presente invención, el parche se construye en el momento mediante el cálculo de la imagen filtrada en los puntos en el am del punto considerado, con el fin de tener una imagen más precisa de la superficie, en la escala a la que realmente pertenece el detalle.
[0084] La tercera prueba de estabilidad de acuerdo con una realización de la presente invención (bloque 146), prevé calcular el valor de la curvatura (en a) de la función L(x, y, a), dado por la segunda derivada de la función de aproximación calculada en correspondencia con am del punto. Con referencia al ejemplo previamente considerado de función de aproximación correspondiente a un polinomio de tercer grado, la curvatura de la función L(xt, yt, a) en el punto am es igual a: L"(xt, yt, am) = 6c3 (xt, yt) am 2c2(xt, yt). Si el valor absoluto de la curvatura es mayor que un umbral, entonces el punto se considera estable y, por lo tanto, se deja en la primera tabla. Si el valor absoluto de la curvatura resulta ser menor que el umbral, entonces el punto se considera inestable y, por lo tanto, se elimina de la primera tabla.
[0085] Para reducir los cálculos, el proceso para identificar los puntos clave se realiza ventajosamente con el enfoque de octavas, es decir, repitiendo todas las operaciones descritas hasta ahora en versiones de la imagen I que están cada vez más escaladas, usando siempre el mismo intervalo de trabajo de a.
[0086] Por esta razón, de acuerdo con una realización de la presente invención, después de realizar las operaciones descritas hasta ahora, se lleva a cabo un refinamiento de las coordenadas de los puntos enumerados en la primera tabla (bloque 148). Hasta este punto, de hecho, las coordenadas (xt, yt) de cada punto enumerado en la primera tabla corresponden a las coordenadas reales y enteras de los píxeles de la imagen original I. Si no se llevase a cabo dicho refinamiento, las coordenadas de los puntos identificados en las octavas superiores, en las que la imagen se escala a la mitad, a un cuarto, a un octavo, y así sucesivamente del tamaño original de la imagen, devuelta a resolución completa, provocarían la identificación de puntos clave que no están centrados con los detalles relevantes correspondientes. La fase de refinamiento de las coordenadas está dirigida a determinar con mayor precisión el centro de los detalles relevantes.
[0087] Con el fin de llevar a cabo este refinamiento, de acuerdo con una realización de la presente invención, un enfoque similar al que se ha expuesto en lo anterior para aproximar con una función de aproximación la imagen filtrada en un punto a medida que a varía. En este caso, lo que se aproxima es en cambio la imagen filtrada ya que las coordenadas espaciales xt - u e yt - v varían en el entorno del punto genérico (xt, yt) enumerado en la primera tabla, fijando a en el valor am correspondiente.
[0088] Por ejemplo, de acuerdo con una realización de la presente invención, la imagen filtrada al variar x e y puede aproximarse mediante una función de aproximación, por ejemplo, un polinomio de segundo grado en las dos variables u y v:
( 15): L(xt - u, yt - v, a) a¡ ls(xt, yt, o)u 2 - ] r(x( , yt,
Figure imgf000012_0001
yt, cr)uv -I- b(Xt, yt,
c r )n 4 ] i ( x t , y t, cf) v 4 1o( x t , y(, o )
[0089] De una manera similar a la ya descrita, los coeficientes de la función de aproximación se calculan como una combinación lineal de algunas imágenes filtradas obtenidas por filtrado de LoG. Por ejemplo, de acuerdo con una realización de la presente invención, los coeficientes son una combinación de la imagen filtrada en los puntos 3 x 3 centrados en el punto (xt, yt), con o en el valor om (es decir, en los valores del parche usado para calcular la relación de las curvaturas principal y secundaria). Generalizando, para obtener los coeficientes, se construye una matriz de aproximación G de la misma manera que la matriz de aproximación F descrita anteriormente, y dicha matriz se multiplica por los filtros de LoG del parche. A continuación, la función de aproximación se somete a operaciones para la identificación de un máximo o mínimo (dependiendo de si el punto (xt, yt) se ha identificado como un máximo o un mínimo), correspondiente al punto donde la primera derivada con respecto a u y la primera derivada con respecto a v son iguales a cero. Estando el parche centrado en el punto (xt, yt), la u y la v que resuelven el sistema dado imponiendo la primera derivada con respecto a u y la primera derivada con respecto a v iguales a cero, proporcionan el cambio a aplicar a las coordenadas (xt, yt). De acuerdo con una realización de la presente invención, si se calcula que el cambio es mayor en valor absoluto de un píxel de la imagen al menos a lo largo de u o a lo largo de v, entonces, el punto se descarta de la primera tabla. Este último evento es poco común, pero aún puede ocurrir ya que todo el proceso de identificación de los extremos en el espacio de escala (x, y, o) ocurrió primero trabajando a lo largo de o, y luego a lo largo de x e y. De acuerdo con una realización de la presente invención, proporcionada para aumentar los cálculos requeridos y la complejidad del procedimiento, sería posible aproximar la imagen filtrada con una única función de x, y y o.
[0090] En este punto, todos los puntos que permanecen en la primera tabla se identifican como puntos clave de la imagen I en la octava considerada (bloque 150). Para cada punto clave, se conoce tanto la posición del mismo en la imagen (las coordenadas (xt, yt), posiblemente modificadas de acuerdo con la fase de refinamiento del bloque 148), como el tamaño del detalle relevante asociado (igual a 2 * sqrt(2) * om).
[0091] La Figura 8A muestra los puntos identificados como puntos clave en la primera octava de la imagen ejemplar mostrada en la Figura 2A. Cada punto clave se identifica con un círculo centrado en la posición del punto clave, y tiene un diámetro proporcional al diámetro del detalle relevante asociado.
[0092] Volviendo a las Figuras 5A-5B, en este punto, se verifica si la octava considerada hasta ahora es la última de un conjunto de octavas seleccionadas (por ejemplo, cinco octavas). En el caso positivo (rama de salida Y del bloque 151), el proceso finaliza, de lo contrario (rama de salida N del bloque 151) se calcula una versión escalada de la imagen (bloque 152) para pasar a la octava siguiente, y luego el proceso de identificación de punto clave se reitera en la nueva octava (retorno al bloque 102). Después de haber reiterado el proceso durante un número suficiente de octavas (por ejemplo, cinco), se termina el proceso de identificación de puntos clave.
[0093] La Figura 8B muestra los puntos identificados como punto clave en todas las octavas consideradas, en el ejemplo considerado, cinco, de la imagen de muestra mostrada en la Figura 2A.
[0094] De acuerdo con una realización de la presente invención, en lugar de calcular directamente la imagen escalada correspondiente a la siguiente octava, la versión escalada de la imagen puede aproximarse eligiendo el Oi para los filtros de base LoGB (Oi) de modo que uno de tales Oi es igual al doble del primer Oi=í (que es el más bajo entre los Oi considerados), y la imagen filtrada puede submuestrearse con dicho Oi que es el doble de 01 (tomando un píxel cada dos tanto horizontal como verticalmente). De esta manera, se obtiene una buena aproximación de cómo resultaría la imagen escalada al 50 % si se filtra con el filtro de base LoGB (oí). Con el submuestreo, por lo tanto, se obtiene la imagen de la siguiente octava filtrada con el primer filtro de base LoGB (oí). El filtrado de la imagen escalada al 50 % correspondiente al filtro de base genérico LoGB (Oi) se obtiene filtrando la imagen escalada al 50 % filtrada con el filtro de base previo LoGB (Oi-í). Las coordenadas x, y y las escalas o de los puntos clave extraídos en las diversas octavas se comunican posteriormente al tamaño de la imagen original I.
[0095] La descripción anterior muestra y describe en detalle varias realizaciones de la presente invención; sin embargo, hay varias modificaciones posibles a las realizaciones descritas, así como diferentes realizaciones de la invención, sin apartarse del alcance definido por las reivindicaciones adjuntas.
[0096] Por ejemplo, aunque en la presente descripción se hace referencia a un procedimiento para la identificación de un punto clave que prevé realizar operaciones en todos los puntos de imagen (excluyendo los puntos en su borde), se pueden aplicar consideraciones similares en el caso en que solo un subconjunto de los puntos sea sometido a dichas operaciones.
[0097] Es más, aunque en la descripción se ha hecho referencia a filtros basados en LoG o DoG, donde el parámetro de filtrado que determina la intensidad de filtrado de dichos filtros es la desviación típica de la función gaussiana, se aplican consideraciones similares en el caso en el que los filtros se obtienen sobre la base de diferencias de versiones suavizadas de la imagen.

Claims (1)

  1. REIVINDICACIONES
    1. Un procedimiento para identificar puntos clave en una imagen digital (/) que comprende un conjunto de píxeles, teniendo cada píxel, asociado al mismo, un valor respectivo de un parámetro representativo de imagen, comprendiendo dicho procedimiento:
    - aproximar (108), sin calcular explícitamente, una imagen filtrada (L(a), 102) de dicha imagen digital (/), siendo dicha imagen filtrada obtenida a partir de dicha imagen digital (/) por medio de una función de filtrado, siendo dicha función de filtrado un laplaciano de gaussiano o una diferencia de gaussianos y teniendo un parámetro de filtrado que es la desviación típica de la función gaussiana, comprendiendo dicha aproximación:
    a) generar (102) un conjunto de imágenes de base filtradas (L(a,)) de dicha imagen digital (/), siendo cada imagen de base filtrada (L(a)) la imagen digital (/) filtrada por medio de un filtro de base respectivo, siendo cada filtro de base una matriz cuyos elementos se obtienen calculando dicha función de filtrado con un valor respectivo (a,) del parámetro de filtrado;
    b) para cada píxel (xt,yt) de al menos un subconjunto de dicho conjunto de píxeles de la imagen digital (/), aproximar (106) la imagen filtrada (L(xt,yt,a)) obtenida a partir de dicha imagen digital (/) por medio de dicha función de filtrado que tiene un valor de parámetro de filtrado por medio de una función de aproximación respectiva en función de las imágenes de base filtradas, siendo dicha función de aproximación una función del parámetro de filtrado dentro de un intervalo predefinido (104) de valores del parámetro de filtrado (a), variando dicho intervalo predefinido desde un valor más bajo del parámetro de filtrado hasta un valor más alto del parámetro de filtrado, donde:
    donde dicha función de aproximación es un polinomio expresado de la siguiente manera:
    (13): L (x, y, ct) - c,(x, y)& c(J-i)(x, y)air'n i ■■■ i ci(x, y)a \ cu(x, y),
    donde:
    L(x, y, a), es la imagen filtrada a aproximar
    cr(x, y) es el coeficiente polinómico para ar
    donde dichos coeficientes polinómicos cr(x, y) se obtienen como una combinación lineal de dichas imágenes de base filtradas según la siguiente ecuación:
    Figure imgf000014_0001
    donde FT se calcula resolviendo la siguiente ecuación:
    Figure imgf000014_0002
    donde:
    F es la incógnita que, después de ser calculada y transpuesta, da FT
    S es una matriz formada por valores específicos de ai de la siguiente manera:
    Figure imgf000014_0003
    donde a’i (con i variando de 1 a q) son valores específicos del parámetro de filtrado a W es una matriz calculada resolviendo la siguiente ecuación:
    Figure imgf000015_0001
    donde:
    A es una matriz formada por los filtros de base, donde la matriz A tiene un número de columnas igual al número de filtros de base, donde cada columna de la matriz A representa un filtro de base respectivo, donde cada columna de la matriz A se construye mediante la disposición en columnas de las columnas de cada filtro de base
    D es una matriz, cada elemento de la cual se obtiene calculando la función de filtrado, para cada punto (x, y) y para cada uno de dichos valores específicos o’j con j variando de 1 a q
    W es la incógnita que, después de ser calculada y transpuesta, da WT
    - para cada píxel de dicho al menos un subconjunto, identificar (120) dicho píxel como un punto clave candidato si, en dicho píxel, la función de aproximación tiene un extremo local (110) que también es un extremo general (116) con respecto al parámetro de filtrado para un valor Om del parámetro de filtrado en un subintervalo respectivo de valores del parámetro de filtrado interno a dicho intervalo predefinido, teniendo dicho subintervalo respectivo un extremo inferior más grande que dicho valor más bajo del parámetro de filtrado y un extremo superior más bajo que dicho valor más alto del parámetro de filtrado, donde la diferencia entre dicho valor más bajo y dicho extremo inferior, y la diferencia entre dicho valor más alto y dicho extremo superior, son tales que solo se consideran como puntos clave candidatos los puntos máximos o mínimos que ocurren en Om de los que se conoce el comportamiento de la función de aproximación en un entorno de Om que es suficientemente grande;
    - para cada píxel identificado como punto clave candidato:
    c) comparar (130) el valor asumido por la función de aproximación en el valor del parámetro de filtrado correspondiente al extremo general del píxel con los valores asumidos por las funciones de aproximación de los píxeles adyacentes a dicho píxel en la imagen en los valores de los parámetros de filtrado de los respectivos extremos generales de dichos píxeles adyacentes, y
    d) seleccionar (136) dicho píxel en función de esta comparación.
    2. El procedimiento de la reivindicación 1, que comprende además descartar de los píxeles seleccionados los píxeles donde el valor asumido por la función de aproximación en el parámetro de filtrado correspondiente al extremo general del píxel tiene un valor absoluto menor que un primer umbral.
    3. El procedimiento de cualquiera de las reivindicaciones anteriores, que comprende además:
    - para cada píxel seleccionado, calcular la curvatura principal y la curvatura secundaria de la superficie formada por las funciones de filtrado en los píxeles de la imagen contenida en un parche centrado en dicho píxel seleccionado;
    - descartar/mantener dicho píxel a partir de/en los píxeles seleccionados en función de la relación entre la curvatura principal y la curvatura secundaria.
    4. El procedimiento de cualquiera de las reivindicaciones anteriores, que comprende además:
    - para cada píxel seleccionado, calcular el valor asumido por la segunda derivada de la función de aproximación con respecto al parámetro de filtrado en el extremo general correspondiente, y
    - descartar/mantener dicho píxel a partir de/en los píxeles seleccionados en función de dicho valor asumido por la segunda derivada.
    5. El procedimiento de cualquiera de las reivindicaciones anteriores, donde dicha identificación de puntos clave se repite además en al menos una versión escalada de la imagen, usando el mismo intervalo predefinido del parámetro de filtrado.
    6. El procedimiento de la reivindicación 5, donde:
    - al menos uno de los valores del parámetro de filtrado de las imágenes de base filtradas es igual al doble del menor de los valores del parámetro de filtrado de las otras imágenes de base filtradas;
    - dicha versión escalada de la imagen se obtiene mediante la aproximación de las imágenes de base filtradas a partir de una versión aproximada de la imagen de base filtrada que tiene el valor más bajo del parámetro de filtrado, siendo dicha versión aproximada de la imagen de base filtrada aproximada mediante el submuestreo de la imagen de base filtrada con dicho valor del parámetro de filtrado que es el doble del valor más bajo del parámetro de filtrado.
    7. El procedimiento de cualquiera de las reivindicaciones anteriores, donde dicha función de aproximación es un polinomio de tercer grado con respecto al parámetro de filtrado.
    8. El procedimiento según cualquiera de las reivindicaciones anteriores, donde cada píxel de la imagen tiene al menos una coordenada (x, y) correspondiente que identifica la ubicación de los píxeles en la imagen, comprendiendo además dicho procedimiento, para cada píxel seleccionado, modificar (148) dicha al menos una coordenada de dicho píxel calculando un cambio correspondiente de coordenadas en función de una función de aproximación adicional que aproxima la imagen filtrada en el píxel con respecto a dicho cambio de coordenadas, basándose dicha función de aproximación adicional:
    1) en la función de filtrado de dicho píxel seleccionado en el valor del parámetro de filtrado correspondiente al extremo general del píxel seleccionado, y
    2) en las funciones de filtrado de los píxeles adyacentes al píxel seleccionado en la imagen en el valor del parámetro de filtrado correspondiente al extremo general del píxel seleccionado.
    9. El procedimiento de la reivindicación 8, donde dicho cálculo del cambio de coordenadas comprende identificar puntos máximos o mínimos en la función de aproximación adicional con respecto al cambio de coordenadas y establecer dicho cambio de coordenadas en función de los puntos máximos o mínimos identificados.
ES14752573T 2013-07-24 2014-07-23 Identificación de puntos clave Active ES2939244T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT001244A ITMI20131244A1 (it) 2013-07-24 2013-07-24 Identificazione di keypoint
PCT/EP2014/065808 WO2015011185A1 (en) 2013-07-24 2014-07-23 Keypoint identification

Publications (1)

Publication Number Publication Date
ES2939244T3 true ES2939244T3 (es) 2023-04-20

Family

ID=49118659

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14752573T Active ES2939244T3 (es) 2013-07-24 2014-07-23 Identificación de puntos clave

Country Status (12)

Country Link
US (1) US10152646B2 (es)
EP (1) EP3025273B1 (es)
JP (1) JP6499647B2 (es)
KR (1) KR102195826B1 (es)
CN (1) CN105493105B (es)
BR (1) BR112016001377B1 (es)
CA (1) CA2918947C (es)
ES (1) ES2939244T3 (es)
IT (1) ITMI20131244A1 (es)
MX (1) MX350657B (es)
RU (1) RU2663356C2 (es)
WO (1) WO2015011185A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9576218B2 (en) * 2014-11-04 2017-02-21 Canon Kabushiki Kaisha Selecting features from image data
WO2017114581A1 (en) 2015-12-30 2017-07-06 Telecom Italia S.P.A. System for generating 3d images for image recognition based positioning
EP3239896B1 (en) 2016-04-28 2018-11-28 Joanneum Research Forschungsgesellschaft mbH Data structure for describing an image sequence, and methods for extracting and matching these data structures
CN106056636B (zh) * 2016-05-31 2019-04-02 公安部禁毒情报技术中心 一种冰毒片剂的标识特征信息提取方法
CN108648206B (zh) * 2018-04-28 2022-09-16 成都信息工程大学 一种Robert边缘检测膜计算系统及方法
CN111080674B (zh) * 2019-12-18 2023-11-14 上海无线电设备研究所 一种基于混合高斯模型的多目标isar关键点提取方法
CN113627528B (zh) * 2021-08-11 2024-09-06 江南大学 一种基于人眼视觉深度学习的国画所属画家自动识别方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711293B1 (en) 1999-03-08 2004-03-23 The University Of British Columbia Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
US20050289519A1 (en) * 2004-06-24 2005-12-29 Apple Computer, Inc. Fast approximation functions for image processing filters
JP4605445B2 (ja) * 2004-08-24 2011-01-05 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
US7751639B1 (en) * 2005-04-20 2010-07-06 University Of East Anglia Obtaining intrinsic images
WO2011069021A2 (en) * 2009-12-02 2011-06-09 Qualcomm Incorporated Improving performance of image recognition algorithms by pruning features, image scaling, and spatially constrained feature matching
US8582889B2 (en) * 2010-01-08 2013-11-12 Qualcomm Incorporated Scale space normalization technique for improved feature detection in uniform and non-uniform illumination changes
US9530073B2 (en) * 2010-04-20 2016-12-27 Qualcomm Incorporated Efficient descriptor extraction over multiple levels of an image scale space
RU2438174C1 (ru) * 2010-06-15 2011-12-27 Общество с ограниченной ответственностью "Томсклаб" Способ распознавания объектов
US9141871B2 (en) * 2011-10-05 2015-09-22 Carnegie Mellon University Systems, methods, and software implementing affine-invariant feature detection implementing iterative searching of an affine space

Also Published As

Publication number Publication date
ITMI20131244A1 (it) 2015-01-25
EP3025273B1 (en) 2022-11-30
KR102195826B1 (ko) 2020-12-29
RU2016103624A3 (es) 2018-05-21
JP2016527634A (ja) 2016-09-08
WO2015011185A1 (en) 2015-01-29
CA2918947A1 (en) 2015-01-29
US10152646B2 (en) 2018-12-11
KR20160034928A (ko) 2016-03-30
RU2016103624A (ru) 2017-08-29
JP6499647B2 (ja) 2019-04-10
MX2016000994A (es) 2016-04-19
CN105493105B (zh) 2018-12-28
MX350657B (es) 2017-09-12
US20160155014A1 (en) 2016-06-02
EP3025273A1 (en) 2016-06-01
CN105493105A (zh) 2016-04-13
CA2918947C (en) 2022-07-12
RU2663356C2 (ru) 2018-08-03
BR112016001377A2 (es) 2017-08-29
BR112016001377B1 (pt) 2023-01-24

Similar Documents

Publication Publication Date Title
ES2939244T3 (es) Identificación de puntos clave
WO2019200837A1 (zh) 一种包裹体积的测量方法、系统、储存介质及移动终端
CN104574421B (zh) 一种大幅面小重合区域高精度多光谱图像配准方法及装置
WO2018137722A1 (zh) 检测方法、装置、设备及计算机存储介质
ES2851391T3 (es) Registro de sistema de coordenadas de portaobjetos de microscopio
CN103218812B (zh) 基于摄影测量的树木形态模型参数快速获取方法
KR20130026741A (ko) 캘리브레이션을 위한 자동 피처 탐지용 기구물 및 그 탐지 방법
KR20180105875A (ko) 단일 영상을 이용한 카메라 캘리브레이션 방법 및 이를 위한 장치
JP2012067462A (ja) 鉄筋撮影用具及び配筋情報取得方法
JP2008250487A (ja) エッジ検出によるモデルマッチングを用いたカメラ校正方法
CN112200838A (zh) 一种弹丸轨迹跟踪方法、装置、设备及存储介质
ES2941678T3 (es) Dispositivo de determinación de marcador, sistema de detección de determinación de marcador, dispositivo de detección de determinación de marcador, marcador, método de determinación de marcador y programa para el mismo
JP2014021067A (ja) 配筋情報取得方法
CN107527323B (zh) 镜头畸变的标定方法及装置
CN113375555A (zh) 一种基于手机影像的电力线夹测量方法及系统
ES2943287T3 (es) Método para verificar la identidad de un usuario identificando un objeto dentro de una imagen que tiene una característica biométrica del usuario y separando una porción de la imagen que comprende la característica biométrica de otras porciones de la imagen
CN110689586B (zh) 中医智能舌诊中的舌像识别方法和用于该方法的便携式校正色卡
ES2488541T3 (es) Sistema y método de análisis de imagen
JP6080424B2 (ja) 対応点探索装置、そのプログラムおよびカメラパラメータ推定装置
ES2931975T3 (es) Procedimiento para registrar huellas dactilares
JP6734213B2 (ja) 情報処理装置及びプログラム
US20190385327A1 (en) Image processing apparatus, image processing method, and image processing program
CN113409402B (zh) 相机标定板及其使用方法、相机标定的特征点提取方法
JP2011124955A (ja) 画像処理方法及び画像処理装置
CN118505821A (zh) 基于几何约束的高精度相机标定方法、装置及电子设备