ES2898868T3 - Método y dispositivo para la búsqueda de imágenes - Google Patents

Método y dispositivo para la búsqueda de imágenes Download PDF

Info

Publication number
ES2898868T3
ES2898868T3 ES16745824T ES16745824T ES2898868T3 ES 2898868 T3 ES2898868 T3 ES 2898868T3 ES 16745824 T ES16745824 T ES 16745824T ES 16745824 T ES16745824 T ES 16745824T ES 2898868 T3 ES2898868 T3 ES 2898868T3
Authority
ES
Spain
Prior art keywords
images
fingerprint
search
compressed
sensor
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
ES16745824T
Other languages
English (en)
Inventor
Diego Valsesia
Giulio Coluccia
Tiziano Bianchi
Enrico Magli
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.)
Politecnico di Torino
Original Assignee
Politecnico di Torino
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 Politecnico di Torino filed Critical Politecnico di Torino
Application granted granted Critical
Publication of ES2898868T3 publication Critical patent/ES2898868T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2137Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on criteria of topology preservation, e.g. multidimensional scaling or self-organising maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2137Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on criteria of topology preservation, e.g. multidimensional scaling or self-organising maps
    • G06F18/21375Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on criteria of topology preservation, e.g. multidimensional scaling or self-organising maps involving differential geometry, e.g. embedding of pattern manifold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • G06V10/7515Shifting the patterns to accommodate for positional errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/80Recognising image objects characterised by unique random patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/22Source localisation; Inverse modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/90Identifying an image sensor based on its output data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Collating Specific Patterns (AREA)
  • Image Input (AREA)

Abstract

Método para la búsqueda de imágenes en los medios (12, 13) de memoria que contienen al menos - una o más imágenes y/o referencias a dichas imágenes, y, - para cada imagen y/o referencia de la misma, al menos una huella dactilar de sensor asociada con dicha imagen y/o con dicha referencia, y relacionada con el sensor que adquirió dicha imagen, en donde al menos una de las huellas dactilares del sensor contenidas en los medios (12, 13) de memoria es generada en base a la imagen asociada a los mismos, en donde dicho método comprende - una fase (P1) de lectura, en la que, a través de los medios (14, 15) de lectura, se lee una huella dactilar del sensor de búsqueda, - una fase (P2) de compresión, en donde la huella dactilar del sensor de búsqueda y dicha al menos una de las huellas dactilares del sensor asociadas con las imágenes y/o con las referencias a dichas imágenes se comprimen, a través de los medios (11) de cálculo, utilizando una técnica de proyección aleatoria, y - una fase (P3) de búsqueda, en la que, a través de los medios (11) de cálculo, cada una de las imágenes y/o referencias de imágenes contenidas en los medios (12, 13) de memoria se selecciona o se descarta en base a al menos una comparación entre al menos una parte de la huella dactilar del sensor comprimida de una de las imágenes y al menos una parte de la huella dactilar del sensor de búsqueda comprimida, y en donde se calcula un índice de correlación, a través de los medios (11) de cálculo, entre la huella dactilar del sensor de búsqueda comprimida y cada una de las huellas dactilares comprimidas asociadas con las imágenes y/o con las referencias a dichas imágenes, y en donde las imágenes o las referencias a dichas imágenes son seleccionadas o descartadas en base al valor de dicho índice de correlación caracterizado por que durante la fase (P3) de búsqueda, se llevan a cabo dos o más iteraciones de búsqueda a través de los medios (11) de cálculo, en donde, durante al menos una de las iteraciones que preceden a la última iteración, se calcula un índice de correlación entre al menos una parte de la huella dactilar de búsqueda comprimida y una parte de cada una de las huellas dactilares comprimidas asociadas con las imágenes y/o con las referencias a dichas imágenes, y se selecciona un conjunto de imágenes o referencias a dichas imágenes en base a los índices de correlación, y en donde, durante la última iteración, se realiza una comparación entre la huella dactilar de búsqueda comprimida y cada una de las huellas dactilares comprimidas asociadas con las imágenes y/o con las referencias a dichas imágenes incluidas en dicho conjunto de imágenes, y en donde las partes de cada una de las huellas dactilares comprimidas asociadas con las imágenes y/o con las referencias a dichas imágenes que se comparan con la huella dactilar del sensor de búsqueda comprimida durante al menos una de las iteraciones que preceden a la última iteración se determinan en base a la posición de los puntos característicos de la huella dactilar del sensor de búsqueda comprimida, en donde los puntos característicos son puntos de una huella dactilar comprimida que tiene valores mayores que un cierto valor umbral o mayores que el valor medio de la puntos de dicha huella dactilar.

Description

DESCRIPCIÓN
Método y dispositivo para la búsqueda de imágenes
La presente invención se refiere a un método y un dispositivo para la búsqueda de imágenes, en particular para la búsqueda de imágenes en medios de memoria mediante la utilización de huellas dactilares de sensores que adquirieron dichas imágenes.
Como se sabe, las imperfecciones de los sensores de imagen se pueden considerar como huellas dactilares únicas que identifican un dispositivo de adquisición específico, siendo así útil para varias actividades forenses importantes, tales como identificación de dispositivos, conexión de dispositivos, recuperación del historial de procesamiento y detección de falsificaciones digitales, como se ilustra en el documento de J. Fridrich, “Digital image forensics”, 2009 y en artículos científicos de D. Valsesia et al. (Valsesia et al. “Compressed fingerprint matching and camera identification via random projections”. IEEE Transactions on Information Forensics and Security 10.7 (2015): 1472-1485; Valsesia et al. “Scale-robust compressive camera fingerprint matching with random projections”. 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), págs. 1697-1701,2015). La huella dactilar de la cámara más común es la PRNU (“Photo-Response Non-Uniformity”) del sensor de imagen digital (véase también J. Lukas, J. Fridrich y M. Goljan, “Determining digital image origin using sensor imperfections”), en Proc. SPIE Digital Imaging, Image and Video Communication and Processing, vol. 5685, 2005, págs. 249-260). La PRNU de los sensores de imagen es una propiedad única de cada matriz de un sensor, ya que está determinada por la capacidad diferente de cada sensor óptico para convertir fotones en electrones. Esta diferencia se debe principalmente a las impurezas en las obleas de silicio utilizadas para la fabricación de los sensores, y su efecto es un patrón de ruido particular que afecta a cada imagen adquirida por un sensor específico. De ello se deduce que la PRNU puede considerarse como una huella dactilar digital de banda ancha del sensor utilizado para adquirir una imagen o un conjunto de imágenes determinado. La PRNU es multiplicativa, lo que significa que, si un sensor de imagen se ilumina idealmente con una intensidad uniforme i, sin considerar otras fuentes de ruido, la salida del sensor será o = i + i ■ k, donde k representa la matriz que caracteriza los valores PRNU e i k indica el producto elemental de i y k. Cabe señalar que el término k tiene las siguientes propiedades:
- tiene el mismo tamaño de píxel que el sensor;
- identifica unívocamente un sensor en particular, p. ej. cada sensor óptico tiene una y solo una PRNU;
- está presente en todas las imágenes adquiridas por un sensor en particular, excepto en aquellas que son completamente oscuras (debido a su naturaleza multiplicativa);
- es estable en diferentes condiciones ambientales (p. ej., diferente temperatura/humedad, diferentes niveles de carga de la batería de la cámara, etc.);
- es resistente a distintas operaciones de procesamiento de señales.
Esta naturaleza de la PRNU lo hace particularmente interesante para buscar en cualquier banco de datos (p. ej., un banco de datos accesible a través de Internet, tal como Flickr, Instagram o similares) para fotografías adquiridas por un sensor en particular, es decir, un dispositivo en particular (cámara, teléfono inteligente, o similar).
Sin embargo, esta aplicación presenta algunas dificultades técnicas porque, en el caso de la PRNU, la huella dactilar digital de un sensor es esencialmente un patrón del mismo tamaño que el sensor, que, según el estado actual de la técnica, asciende a decenas de millones de píxeles. Por lo tanto, una base de datos realista de miles de huellas dactilares de sensores asociadas con las fotografías respectivas requeriría una capacidad de almacenamiento superior a 1010 valores de un solo píxel en formato sin comprimir.
Tales grandes dimensiones también harían muy difícil encontrar una huella dactilar digital en particular en una gran base de datos, lo que típicamente requeriría el cálculo de un índice de correlación entre cada huella dactilar digital en la base de datos y la huella dactilar a buscar. Esto implicaría una carga computacional particularmente alta por búsqueda, limitando así el número de imágenes que se pueden buscar por unidad de tiempo.
Varios autores han comenzado recientemente a abordar los problemas relacionados con la gestión de una gran base de datos de huellas dactilares de cámaras digitales.
En los documentos de M. Goljan, J. Fridrich y T. Filler, “Managing a large database of camera fingerprints”, 2010 y Y. Hu, B. Yu y C. Jian, “Source camera identification using large components of sensor pattern noise”, 2009, los autores proponen una llamada "selección" de huellas dactilares digitales, que opera manteniendo solo un número fijo de los valores más grandes de huellas dactilares digitales y de las posiciones de las mismas, de modo que la base de datos será independiente de la resolución del sensor.
Se ha propuesto una búsqueda mejorada basada en una selección de huellas digitales en el documento de Y. Hu, C.-T. Li, Z. Lai y S. Zhang, "Fast camera fingerprint search algorithm for source camera identification”, 2012.
Sin embargo, estas soluciones propuestas no aseguran que durante el proceso de reducción del tamaño de la huella dactilar del sensor se preserve una cantidad suficientemente grande de información en comparación con la contenida originalmente la huella dactilar original.
Una solución alternativa para lograr una complejidad de tiempo reducida es representar las huellas dactilares del sensor en forma binaria cuantificada, como se muestra en S. Bayram, H. Sencar y N. Memon, “Efficient sensor fingerprint matching through fingerprint binarization”, 2012: aunque las dimensiones de las huellas dactilares digitales binarias dependen de la resolución del sensor, la binarización puede acelerar considerablemente el proceso de coincidencia de huellas dactilares digitales. Sin embargo, también en este caso, no hay garantía de que la cantidad de información contenida en la huella dactilar procesada sea suficientemente alta, en comparación con la contenida originalmente en la huella dactilar original.
Ninguno de los documentos mencionados anteriormente indica cómo reducir significativamente el tamaño de la base de datos de huellas dactilares de cámaras digitales y al mismo tiempo conservar la eficacia de los procesos de coincidencia de huellas dactilares digitales que permiten la identificación de imágenes adquiridas por un sensor en particular.
De hecho, la compresión de las huellas dactilares del sensor a través de una técnica sin pérdidas (p. ej., LZW o similar) conduciría a una base de datos de huellas dactilares más pequeña, pero también implicaría un mayor coste computacional (es decir, mayor complejidad de tiempo), debido a una comparación significativa entre dos huellas dactilares que solo se pudieron tomar después de descomprimirlas, lo que resultó en una pérdida de tiempo computacional.
En el documento de Edith COHEN y David D. LEWIS, “Approximating Matrix Multiplication for Pattern Recognition Tasks”, 1997, los autores proponen un algoritmo basado en muestreo aleatorio que permite identificar, para cualquier vector de consulta dado, vectores de instancia que tienen productos escalares grandes, evitando al mismo tiempo el cálculo explícito de todos los productos escalares. Esto proporciona una aceleración considerable para las tareas de recuperación de texto.
La presente invención tiene como objetivo resolver estos y otros problemas proporcionando un método para la búsqueda de imágenes como se establece en las reivindicaciones adjuntas.
Además, la presente invención tiene como objetivo resolver estos y otros problemas proporcionando un dispositivo para la búsqueda de imágenes como se establece en las reivindicaciones adjuntas.
La idea básica de la presente invención es comprimir las huellas dactilares del sensor utilizando una técnica de proyección aleatoria (un caso particular de proyecciones de Johnson-Lindenstrauss) como se define en la reivindicación 1.
Esta solución permite conservar, en las huellas dactilares comprimidas, las distancias entre los puntos de la huella dactilar original, para guardar la mayor cantidad de información posible. De esta manera, dos huellas dactilares se pueden comparar de manera significativa (p. ej., calculando un índice de correlación) sin requerir descompresión, reduciendo así la complejidad en el espacio (las huellas dactilares siempre se tratan de forma comprimida) y en el tiempo (la cantidad de datos procesados es más pequeña, dando como resultado que se lleven a cabo menos operaciones).
Otras características ventajosas de la presente invención se expondrán en las reivindicaciones adjuntas.
Estas características, así como otras ventajas de la presente invención, resultarán más evidentes a partir de la siguiente descripción de una realización de la misma como se muestra en los dibujos adjuntos, que se proporcionan a modo de ejemplo no limitativo, en los que:
La figura 1 muestra un diagrama de bloques de un dispositivo para la búsqueda de imágenes según la invención;
La figura 2 muestra un sistema que comprende el dispositivo de la figura 1;
La figura 3 es un diagrama de flujo que ilustra el método según la invención.
Cualquier referencia a "una realización" en esta descripción indicará que una configuración, estructura o característica particular está comprendida en al menos una realización de la invención. Por lo tanto, la frase "en una realización" y otras frases similares, que pueden estar presentes en diferentes partes de esta descripción, no necesariamente estarán todas relacionadas con la misma realización. Además, cualquier configuración, estructura o característica particular puede combinarse en una o más realizaciones de cualquier forma que se considere apropiada. Por lo tanto, las referencias a continuación se utilizan solo por motivos de simplicidad y no limitan el alcance de protección o la extensión de las distintas realizaciones.
Con referencia a la figura 1, una realización no reivindicada del dispositivo 1 comprende los siguientes componentes: - medios 11 de control y procesamiento, p. ej. una o más CPU, que gobiernan el funcionamiento del dispositivo 1, preferiblemente de manera programable, mediante la ejecución de instrucciones adecuadas;
- medios 12 de memoria volátil, p. ej. una memoria RAM de acceso aleatorio, en comunicación de señales con los medios 11 de control y procesamiento, en donde dichos medios 12 de memoria volátil almacenan al menos instrucciones que pueden ser leídas por los medios 11 de control y procesamiento cuando el dispositivo 1 está en un estado operativo;
- medios 13 de memoria masiva, preferiblemente uno o más discos magnéticos (discos duros) o una memoria Flash o similar, en comunicación de señales con los medios 11 de control y procesamiento y con los medios 12 de memoria volátil, en donde dichos medios 13 de memoria almacenan al menos una o más imágenes y/o referencias a dichas imágenes (p. ej., punteros, direcciones universales URL, o similares) y, para cada imagen y/o referencia de la misma, al menos una huella dactilar de sensor asociada a dicha imagen y/o con dicha referencia y relacionada con el sensor que adquirió dicha imagen;
- medios 14 de comunicación, preferiblemente una interfaz de red que funcione según una norma de las familias IEEE 803.2 (también conocida como Ethernet) o 802.11 (también conocida como WiFi) o 802.16 (también conocida como WiMax) o una interfaz para una red de datos GSM/GPRS/UMTS/LTE o TETRA, que permiten que el dispositivo 1 se comunique con otros dispositivos a través de una red de datos, los últimos dispositivos se describen con más detalle a continuación);
- medios 15 de entrada/salida (E/S), que pueden utilizarse, por ejemplo, para conectar dicho dispositivo 1 a periféricos (p. ej., una o más interfaces que permiten el acceso a otros medios de memoria masiva, para permitir preferiblemente copiar información de estos últimos a los medios 13 de memoria masiva) o a un terminal de programación configurado para escribir instrucciones (que los medios 12 de control y procesamiento tendrán que ejecutar) en los medios 12 de memoria; tales medios 14 de entrada/salida pueden comprender, por ejemplo, un adaptador USB, Firewire, RS232, IEEE 1284 o similar;
- un bus 17 de comunicación que permite el intercambio información entre los medios 11 de control y procesamiento, los medios 12 de memoria volátil, los medios 13 de memoria masiva, los medios 14 de comunicación y los medios 15 de entrada/salida.
Como alternativa al bus 17 de comunicación, los medios 11 de control y procesamiento, los medios 12 de memoria volátil, los medios 13 de memoria masiva, los medios 14 de comunicación de campo, los medios 15 de comunicación de red y los medios 16 de entrada/salida pueden estar conectados mediante una arquitectura en estrella.
Cabe señalar de inmediato que los medios 13 de memoria masiva pueden ser sustituidos por medios remotos de memoria masiva (p. ej., una Red de Área de Almacenamiento - SAN), no comprendidos en dicho dispositivo 1; para tal fin, los medios 15 de entrada/salida (E/S) pueden comprender una o más interfaces de acceso a memoria masiva, tales como, por ejemplo, FC (Canal de Fibra) y/o iSCSI (Internet SCSI), de modo que el dispositivo 1 se puede configurar para tener acceso a dichos medios remotos de memoria masiva.
También con referencia a la figura 2, lo siguiente describirá un escenario de uso que es típico del dispositivo 1, en donde un sistema S de búsqueda de imágenes comprende el dispositivo 1, al menos un terminal 2 de acceso de cliente (también denominado cliente), y un dispositivo 3 de adquisición de datos.
El dispositivo 1 puede constar de uno o más servidores configurados apropiadamente para formar una agrupación, y está configurado preferiblemente para recibir, preferiblemente desde el terminal 2 de acceso de cliente, al menos una consulta que comprende al menos una huella dactilar del sensor de búsqueda relacionada con un sensor, las imágenes adquiridas por las que se van a buscar. De hecho, como se describirá con más detalle en esta descripción, el dispositivo 1 está configurado para la búsqueda de todas las imágenes (o referencias a las mismas) contenidas en los medios 12 de memoria volátil o en los medios 13 de memoria masiva (locales o remotos) accesibles al dispositivo 1 y adquiridos por un sensor que tiene una huella dactilar lo más similar posible a la huella dactilar del sensor de búsqueda especificada en la consulta. Con este fin, se asocia al menos una huella dactilar de sensor con cada imagen almacenada en los medios 12, 13 de memoria, cuya huella dactilar de sensor se describirá con más detalle a continuación; esta información se organiza en una estructura de datos adecuada que permite una gestión eficaz de los datos (es decir, añadir, editar o eliminar datos), tal como, por ejemplo, un Sistema de Gestión de Bases de Datos (DBMS) relacional o basado en objetos, cuyas instrucciones son ejecutadas por el dispositivo 1 o por otro dispositivo.
El terminal 2 puede constar alternativamente de un ordenador personal, un ordenador portátil, un teléfono inteligente u otro dispositivo electrónico que permita la formulación de consultas que comprendan huellas dactilares de sensores.
El dispositivo 1 se puede configurar para recibir dicha consulta a través de los medios 14 de comunicación, de modo que el terminal 2 pueda transmitir la consulta al dispositivo 1 a través de una red de datos (p. ej., una red privada basada en Ethernet y/o una red pública tal como la Internet). Para ello, el dispositivo 1 se puede configurar preferiblemente para ejecutar instrucciones que implementen funcionalidades de servidor web, para permitir la formulación preferible de consultas a través de una o más páginas HTML, a través de las cuales será posible cargar una o más huellas dactilares de sensores de búsqueda para ser utilizadas para buscar imágenes.
Cabe señalar que el dispositivo 1 y el terminal 2 pueden coincidir en una sola entidad, es decir, el usuario también puede realizar consultas directamente en el dispositivo 1.
El dispositivo 3 de adquisición de datos está configurado para actualizar la información del banco de datos, es decir, para ejecutar instrucciones que hacen que tome las siguientes acciones:
- explorar un archivo de imágenes (p. ej., Flickr, Instagram, Facebook o similares), un conjunto de sitios web o similares, y encontrar las imágenes contenidas allí dentro;
- generar, para cada imagen encontrada, una huella dactilar del sensor, si aún no está presente en los medios de memoria accesibles al dispositivo 1, y posiblemente comprimir la huella dactilar del sensor generada, como se describirá con más detalle a continuación;
- almacenar, preferiblemente de manera incremental/diferencial (es decir, solo aquellas imágenes o referencias a las mismas que aún no están presentes en dichos medios de memoria), las imágenes encontradas y las huellas dactilares del sensor comprimidas asociadas con ellas en los medios de memoria accesibles al dispositivo 1.
También cabe que señalar que el dispositivo 1 y el dispositivo 3 de adquisición de datos pueden coincidir en una sola entidad, es decir, el dispositivo 1 se encargará de actualizar los medios de memoria introduciendo nuevas imágenes (y las huellas dactilares del sensor de las mismas) tan pronto como se ponen a su disposición por cualquier medio, p. ej., mediante un proceso de exploración web (rastreador).
También con referencia a la figura 3, a continuación se describirá el método para la búsqueda de imágenes según la invención, que preferiblemente se lleva a cabo por el dispositivo 1 cuando se encuentra en un estado operativo. El método comprende las siguientes fases:
- una fase P1 de lectura de huellas dactilares, en la que se lee una huella dactilar del sensor de búsqueda, que preferiblemente está comprendida en una consulta contenida preferiblemente en un mensaje de solicitud recibido por el dispositivo 2 a través de los medios 14 de comunicación, en donde dicho mensaje de solicitud es generado preferiblemente por el terminal 2 después de la interacción con un usuario de dicho terminal 2 o tras la ejecución autónoma de una secuencia de instrucciones por dicho terminal 2;
- una fase P2 de compresión de huellas dactilares, en donde la huella dactilar leída durante la fase P1 anterior es comprimida por los medios 11 de procesamiento y control del dispositivo 1 utilizando la técnica de proyección aleatoria que se describirá más adelante;
- una fase P3 de búsqueda, en donde la huella dactilar comprimida en la fase P2 se compara, a través de los medios 11 de procesamiento y control, con al menos una de las huellas dactilares comprimidas almacenadas en los medios 12, 13 de memoria accesibles al dispositivo 1, y en donde una imagen (o referencia a la misma) se selecciona o se descarta en base a un índice de correlación calculado entre dicha huella dactilar del sensor de búsqueda comprimida y una de las huellas dactilares del sensor comprimida asociada con las imágenes (o referencias a las mismas), p. ej., si la comparación entre al menos una parte de la huella dactilar del sensor de búsqueda y al menos una parte de la huella dactilar asociada con la imagen que se está evaluando excede un valor umbral, dicha imagen será seleccionada, en caso contrario será descartada;
- una fase P4 de salida de resultados, en donde las imágenes (o referencias a las mismas) seleccionadas por el dispositivo 1 durante la fase P3 se incorporan preferiblemente en uno o más mensajes de respuesta y se envían al remitente del mensaje de solicitud (p. ej., el terminal 2, o un proceso en ejecución en el dispositivo 1, o similar).
Cuando el dispositivo 1 está en un estado operativo, los medios 11 de procesamiento y control pueden ejecutar cíclicamente las fases P1-P4 de manera secuencial.
Como alternativa a lo anterior, el dispositivo 1 se puede configurar para ejecutar las fases de una manera que no sea estrictamente secuencial, es decir, la fase P3 puede comenzar cuando la fase P2 aún no se ha completado, y la fase P4 puede comenzar cuando la fase P2 y/o la fase P3 aún no se han completado.
Como se mencionó anteriormente, este método comprime las huellas dactilares digitales contenidas en los medios 12, 13 de memoria y la huella dactilar de búsqueda con muy poca o, idealmente, ninguna pérdida de información. Más en particular, el método se basa en la técnica de Proyección Aleatoria (RP), que es un método simple y poderoso de reducción dimensional. La idea básica de la técnica RP es proyectar los datos n-dimensionales originales en un
subespacio m-dimensional, con m < n, utilizando una matriz aleatoria ® ^ Qomo resultado, una colección
n
Figure imgf000006_0002
Figure imgf000006_0001
de A/datos n-dimensionales se reduce a un subespacio m-dimensional según la siguiente fórmula:
A = 0 D (1)
La propiedad clave subyacente de la técnica RP es el lema de Johnson-Lindenstrauss (que se considera una parte integral de esta descripción), que se refiere a incrustaciones de puntos de baja distorsión desde el espacio euclidiano de alta dimensión al espacio euclidiano de baja dimensión. El lema establece que un pequeño conjunto de puntos en un espacio de alta dimensión puede incrustarse en un espacio de dimensión mucho más baja de tal manera que las distancias entre los puntos se conservan (casi).
Basado en esta suposición, el método de la presente invención prevé calcular una versión comprimida de cada huella dactilar de sensor tratada por el sistema S mediante proyecciones aleatorias, es decir, multiplicando (producto matricial) una matriz de compresión por una matriz que representa dicha huella dactilar del sensor (o viceversa), en donde dicha matriz de compresión tiene un número de filas (o columnas) que es menor que el de la matriz que representa la huella dactilar del sensor de una cámara.
Se debe tener en cuenta que la imagen es una matriz y se puede representar como un vector columna obtenido al leer la matriz de la imagen columna por columna; asimismo, la huella dactilar de la cámara digital (sin comprimir) extraída de la misma imagen también se puede representar como un vector de columna que tiene las mismas dimensiones que el vector de imagen, es decir, los dos vectores de columna correspondientes tienen el mismo número de elementos.
En combinación con lo anterior, la matriz de compresión puede ser preferiblemente una matriz circulante aleatoria, en particular una matriz circulante parcial aleatoria. El término "circulante" indica una matriz cuyas filas son versiones traducidas circularmente de la primera fila, es decir, un caso particular de matriz de Toeplitz. El término "parcial" indica que el número de filas de la matriz de detección es menor que el número de filas de la huella dactilar digital, es decir, la matriz de compresión es una matriz rectangular con menos filas que columnas. El término "aleatorio" indica que la primera fila de la matriz de detección comprende variables aleatorias generadas según una distribución elegida (p. ej., variables aleatorias gaussianas). Este tipo de matriz permite de manera ventajosa reducir el espacio ocupado por dicha matriz y la complejidad del cálculo de una huella dactilar comprimida, ya que todas las filas de tal matriz contienen los mismos valores, y por lo tanto dicha matriz se puede generar simplemente generando una fila y luego trasladándola circularmente para obtener las otras filas de dicha matriz. Así, es posible aumentar el número de imágenes en las que el dispositivo 1 puede realizar una búsqueda por unidad de tiempo, ya que esto reduce el número de parámetros distintos que necesitan ser leídos por los medios 11 de procesamiento y control para comprimir las huellas dactilares del sensor (p. ej., la huella dactilar del sensor de búsqueda durante la fase P2 de compresión).
Además, la utilización de la matriz circulante aleatoria permite obtener el producto entre la huella dactilar sin comprimir y la matriz circulante aleatoria mediante la utilización de la Transformada Rápida de Fourier (FFT), que permite de manera ventajosa reducir el número de multiplicaciones que se deben llevar a cabo para comprimir una huella dactilar de 0(N2) para 0(N log(N)), es decir, reducir la complejidad computacional de esta operación. Esto dará lugar a un mayor número de imágenes en las que el dispositivo 1 puede realizar una búsqueda por unidad de tiempo, ya que se puede aumentar la velocidad a la que se comprimen las huellas dactilares (tanto las de los medios de memoria como las de la huella dactilar del sensor de búsqueda).
El experto en la técnica también puede utilizar otros tipos de matrices de compresión, p. ej., una matriz completamente aleatoria que comprende variables aleatorias gaussianas independientes e idénticamente distribuidas (i.i.d.), o variables aleatorias de Rademacher i.i.d., o variables aleatorias de Bernoulli, o incluso matrices de detección deterministas, sin apartarse, sin embargo, de las enseñanzas de la presente invención.
En esta realización de la invención, el dispositivo 1 está configurado para calcular, durante la fase P3 de búsqueda, un índice de correlación entre la huella dactilar del sensor de búsqueda comprimida y cada una de las huellas dactilares comprimidas almacenadas en los medios 12, 13 de memoria accesibles al dispositivo 1, seleccionando únicamente aquellas imágenes (o referencias a dichas imágenes) para las que el índice de correlación tiene un valor superior a un valor umbral.
Este índice de correlación se determina preferentemente en base a la distancia de Hamming, que en este caso particular mide el número de sustituciones de bits necesarias para convertir la huella dactilar del sensor de búsqueda en la huella dactilar de la imagen con la que se compara dicha huella dactilar del sensor de búsqueda, o viceversa, es decir, representa el número de bits que hacen que la huella dactilar del sensor de búsqueda sea diferente de la huella dactilar comprimida asociada a una de las imágenes.
Cabe señalar que la distancia de Hamming (Dh) entre dos huellas dactilares (a, b) que tienen la misma longitud (L) se puede calcular de la siguiente manera:
b ) = ZLi 0 b ± (2)
Como se puede ver, el cálculo de la distancia de Hamming se puede realizar contando el número de bits que tienen el valor lógico 1 en el resultado de una operación lógica OR exclusiva bit a bit (XOR) entre dos huellas dactilares. Estas operaciones se pueden realizar ventajosamente por los medios 11 de procesamiento y control de una manera muy eficiente y sin operaciones de coma flotante, de modo que será posible aumentar el número de imágenes en las que el dispositivo 1 puede realizar una búsqueda por unidad de tiempo.
Con el fin de mejorar la eficiencia en tiempo y espacio de la fase P3 de búsqueda, el dispositivo 1 también está configurado para no buscar imágenes en una sola iteración (es decir, comparar la huella dactilar del sensor de búsqueda con cada una de las huellas dactilares almacenadas en los medios de memoria), sino para hacer dos o más iteraciones. Más en detalle, el dispositivo 1 está configurado para realizar, durante una primera iteración o de todos modos durante cualquier iteración anterior a la última iteración, una comparación entre una parte de la huella dactilar de búsqueda y una parte de cada una de las huellas dactilares asociadas con las imágenes, seleccionando aquellas imágenes (o referencias a dichas imágenes) que están asociadas con las huellas dactilares que tienen un índice de correlación superior al valor umbral, por lo que, en el curso de la última iteración, se realizará una comparación entre la huella dactilar de búsqueda y las huellas dactilares asociadas con las imágenes seleccionadas durante la iteración o iteraciones anteriores. De esta manera, se puede reducir el número de operaciones de comparación que se van a llevar a cabo; de hecho, cuando se utiliza la distancia de Hamming como índice de correlación, es posible reducir el número de operaciones OR exclusivas (XOR) que deben llevar a cabo los medios 11 de procesamiento para realizar una búsqueda, es decir, comparar la huella dactilar de búsqueda con las huellas dactilares asociadas con las imágenes almacenadas en los medios de memoria, dando como resultado un mayor número de huellas dactilares (y por tanto de imágenes) en las que el dispositivo 1 podrá realizar una búsqueda por unidad de tiempo.
Cabe señalar que el tamaño de las huellas dactilares comparadas durante la última iteración es mayor que el de las huellas dactilares comparadas durante las fases anteriores. Por esta razón, se pueden asociar dos o más huellas dactilares de diferentes tamaños con cada imagen, y la huella dactilar de búsqueda debe comprimirse de tal manera que se obtengan dos o más huellas dactilares cuyas dimensiones sean compatibles con las de las huellas dactilares asociadas con las imágenes.
Como alternativa a lo anterior, no cubierto por las reivindicaciones, siempre se puede asociar una sola huella dactilar con cada imagen, mientras que la huella dactilar más pequeña (es decir, la que se utilizará durante las iteraciones que preceden a la última) se obtiene en base a la huella dactilar más grande (es decir, la que se utilizará durante la última iteración). Por lo tanto, se puede afirmar que la(s) huella(s) dactilar(es) más pequeña(s) está(n) incrustada(s) en la huella dactilar más grande. Esto reducirá la complejidad en el espacio de una búsqueda, porque ya no será necesario almacenar dos o más huellas dactilares por cada imagen contenida en los medios de memoria accesibles al dispositivo, sino solo un índice estático que permitirá saber qué bits de la huella dactilar más grande tendrán que ser seleccionados y/o leídos por los medios 11 de procesamiento y control con el fin de generar la huella dactilar más pequeña; esto aumentará el número de imágenes que se pueden almacenar y, por lo tanto, el número de imágenes en las que el dispositivo 1 podrá llevar a cabo una búsqueda.
Además, la eficiencia en el espacio se puede mejorar cuantificando el valor de los puntos de las huellas dactilares procesadas por el dispositivo 1, en donde el término cuantificación se refiere a convertir el valor de cada punto de una huella dactilar en un conjunto de valores predefinido y limitado (p. ej., 0 y 1 o un conjunto mayor). De esta manera, será posible almacenar un mayor número de huellas dactilares asociadas a la imagen en los medios de memoria accesibles al dispositivo 1, de modo que se puedan llevar a cabo búsquedas en una mayor cantidad de imágenes.
La realización descrita hasta ahora contiene la siguiente característica adicional. Según una característica adicional de la realización descrita anteriormente, el dispositivo 1 está configurado de tal manera que genera, en lugar del índice estático descrito anteriormente (que permite obtener una huella dactilar más pequeña a partir de la huella dactilar comprimida más grande), un índice en base a la posición de los puntos característicos de la huella dactilar del sensor de búsqueda comprimida, es decir, puntos de dicha huella dactilar que tienen valores mayores que un valor umbral dado o que la media de los valores de los puntos de dicha huella dactilar; tales puntos también se conocen como "valores atípicos". Por lo tanto, las huellas dactilares más pequeñas solo se pueden generar cuando el dispositivo 1 haya generado la versión comprimida de la huella dactilar del sensor de búsqueda contenida en el mensaje de solicitud, pues solo en ese momento será posible conocer la posición de los valores atípicos en dicha huella dactilar del sensor de búsqueda. Este enfoque limita el número de falsos negativos (huellas dactilares/imágenes descartadas por error) que pueden ocurrir durante la primera iteración (véase la parte de la descripción relacionada con la realización anterior) en el caso de que no se tengan en cuenta partes de las huellas dactilares que contengan información significativa (p. ej., uno o más valores atípicos), ya que con este enfoque se hace una comparación solo entre puntos de huellas dactilares que tienen valores muy por encima del umbral de ruido del sensor de adquisición y/o de las operaciones de extracción de huellas dactilares. De esta manera, será posible aumentar el número de imágenes en las que el dispositivo 1 puede realizar una búsqueda por unidad de tiempo sin detrimento de la precisión y recuperación del método según la invención.
En combinación con lo anterior, también es posible, para cada imagen en la que el dispositivo 1 realiza una búsqueda, cargar en los medios 12 de memoria volátil las posiciones (coordenadas) y, opcionalmente, los valores de los valores atípicos de la huella dactilar comprimida asociada con dicha imagen, es decir, cargar en los medios 12 de memoria volátil los puntos característicos, es decir, aquellos puntos que tienen valores mayores que un valor umbral dado o que la media de los valores de los otros puntos de dicha huella dactilar.
De esta manera, los medios 11 de procesamiento y control pueden determinar qué imágenes (o referencias a las mismas) tienen los valores atípicos en las mismas posiciones y, opcionalmente, con los mismos valores, sin requerir que se carguen datos desde los medios 13 de memoria masiva, haciendo así que aumente el número de imágenes buscadas por el dispositivo 1 por unidad de tiempo.
Además, también es posible combinar los dos enfoques descritos anteriormente, es decir, configurar el dispositivo 1 para cargar las posiciones (coordenadas) y, opcionalmente, los valores de los valores atípicos de las huellas dactilares comprimidas asociadas con una parte de la imagen (p. ej., el que tiene la mayor probabilidad de ser seleccionado) en los medios 12 de memoria volátil y para determinar las huellas dactilares (más pequeñas) asociadas con la parte de imagen restante en base a las posiciones de los valores atípicos en la huella dactilar del sensor de búsqueda, es decir, cargadas desde los medios 13 de memoria masiva durante la búsqueda. De esta manera, será posible aumentar ventajosamente el número de imágenes en las que se puede realizar una búsqueda por unidad de tiempo, limitando también la cantidad de memoria volátil necesaria para realizar dicha búsqueda.
Para mejorar la eficiencia en el espacio, la información acerca de las posiciones (coordenadas) de los valores atípicos cargados en los medios 12 de memoria volátil se puede codificar con una resolución (espacial) menor que la resolución de las huellas dactilares comprimidas, de modo que la información acerca de un número mayor de las imágenes se puede cargar en los medios 12 de memoria volátil, siendo el espacio ocupado igual. De este modo, será posible aumentar el número de imágenes en las que el dispositivo 1 puede realizar una búsqueda, siendo el espacio en la memoria volátil igual, sin detrimento de la precisión y recuperación del método según la invención.
Con el fin de reducir aún más el espacio de memoria volátil necesario para realizar una búsqueda (p. ej., para aumentar la eficiencia en el espacio), las posiciones y, opcionalmente, los valores de los valores atípicos se pueden comprimir utilizando una codificación adecuada que no perjudique el rendimiento del tiempo de una búsqueda; las posiciones se pueden comprimir, por ejemplo, llevando a cabo, preferiblemente a través de los medios 11 de procesamiento y control, las siguientes etapas:
- clasificar las posiciones atípicas en orden creciente;
- codificar la primera posición utilizando el menor número posible de bits;
- codificar las posiciones después de la primera de una manera diferencial (p. ej., utilizando la codificación delta), es decir, calculando la diferencia entre la segunda posición y la primera posición, entre la tercera posición y la segunda posición, y así sucesivamente;
- codificar las diferencias de posición utilizando una codificación Exponencial-Golomb de k-ésimo orden.
En un aspecto adicional de la invención, se puede utilizar una pluralidad de matrices de compresión, en contraposición a una sola, para hacer posible realizar consultas utilizando huellas dactilares de sensores de búsqueda que tienen diferentes resoluciones. Más en detalle, los medios 11 de procesamiento y control están configurados para seleccionar, durante la fase P2 de compresión de huellas dactilares, una o más matrices de compresión (que deben ser multiplicadas por o multiplicar la huella dactilar del sensor que necesita ser comprimida) de una pluralidad de matrices contenidas en un conjunto de matrices de compresión en base a la resolución (es decir, las dimensiones) de la huella dactilar del sensor que se debe comprimir. De esta manera, será posible de forma ventajosa realizar búsquedas en imágenes que tengan diferentes resoluciones o utilizar huellas dactilares de sensores que tengan diferentes resoluciones, aumentando así el número de imágenes en las que se puede llevar a cabo una búsqueda.
En combinación con lo anterior, los medios 11 de procesamiento y control están configurados para seleccionar, durante la fase P2 de compresión de huellas dactilares, dos o más matrices de compresión de tal tamaño que su producto (matriz), preferiblemente entre la primera matriz de compresión seleccionada, la huella dactilar del sensor y la segunda matriz de compresión seleccionada, generará una huella dactilar de sensor comprimida que tiene dimensiones predefinidas y constantes, es decir, de modo que el tamaño de la matriz comprimida siempre será el mismo que el tamaño de la huella dactilar a comprimir cambia. De esta forma, será posible comparar huellas dactilares comprimidas directamente, sin tener que llevar a cabo ninguna operación de cambio de escala de huellas dactilares, reduciendo así la carga computacional; además, al utilizar huellas dactilares que tengan un tamaño predefinido, también será posible de manera ventajosa optimizar el hardware (p. ej., creando o configurando medios de procesamiento dedicados de alto rendimiento tales como DSP, FPGA, CPLD o similares) del dispositivo 1 y/o el software ejecutado por dicho dispositivo 1 con el fin de llevar a cabo las operaciones de coincidencia de huellas dactilares lo más rápidamente posible, aumentando así el número de imágenes en las que se puede realizar una búsqueda.
En un aspecto adicional de la invención, cada una de las huellas dactilares del sensor de búsqueda y de las huellas dactilares asociadas con las imágenes (o referencias a las mismas) accesibles al dispositivo 1 puede ser generada, preferiblemente por el dispositivo 1 y/o por el dispositivo 3 de adquisición de datos, como sigue:
- se lee la huella dactilar (ya sea extraída del dispositivo 3 o contenida en un mensaje de solicitud) y se genera un número determinado de versiones, cada una con una resolución diferente;
- cada versión de la huella dactilar se comprime utilizando una técnica de proyección aleatoria, como se describió anteriormente con respecto a las otras realizaciones de la invención;
- cada versión de la huella digital comprimida se convierte en un vector (como se describió anteriormente), y todos los vectores se concatenan juntos, generando así un solo vector (para cada huella dactilar original) que contiene todas las diferentes versiones (en todas las diferentes resoluciones) de la huella digital comprimida.
Al generar las huellas dactilares del sensor asociadas con las imágenes (o con referencias a las mismas) de esta manera, se evitará de manera ventajosa que, en el curso de una búsqueda, el dispositivo 1 pueda tener que cambiar la resolución de al menos una de dichas huellas dactilares como una función de la resolución de la huella dactilar de búsqueda; de hecho, esta realización de la invención permite generar, durante una búsqueda, una huella dactilar comprimida que contiene una pluralidad de huellas dactilares comprimidas a diferentes resoluciones para la huella dactilar de búsqueda únicamente. De esta forma, será posible comparar la huella dactilar de búsqueda así generada, preferiblemente calculando la distancia de Hamming, directamente con las otras huellas dactilares asociadas con las imágenes (o referencias a las mismas) generadas de manera similar, sin tener que llevar a cabo ninguna conversión de resolución (aumento o disminución) en el curso de la búsqueda, lo que da como resultado un mayor número de imágenes en las que el dispositivo 1 podrá realizar una búsqueda por unidad de tiempo.
En un aspecto adicional de la invención, una búsqueda puede ser realizada por un sistema de cálculo que comprende una pluralidad de dispositivos 1 o por un dispositivo 1 equipado con medios 11 de procesamiento que comprenden una pluralidad de CPU y/o una o más CPU que comprenden una pluralidad de núcleos, para aumentar la velocidad de ejecución de dicha búsqueda. Para ello, cada CPU y/o núcleo y/o dispositivo 1 está configurado para realizar una búsqueda parcial (subfase de búsqueda) en un subconjunto de las imágenes en las que se tiene que realizar la búsqueda (completa), y en donde dicho subconjunto se desconecta preferiblemente de los otros subconjuntos buscados por las otras CPU y/o núcleos y/o dispositivos 1. De esta manera, la carga computacional se distribuirá entre las diferentes CPU/núcleos/dispositivos 1, porque cada búsqueda parcial (subfase de búsqueda) será independiente de las demás, lo que dará como resultado un mayor número de imágenes en las que se puede realizar una búsqueda.
La presente descripción ha abordado algunas de las posibles variantes, pero resultará evidente para el experto en la técnica que también pueden implementarse otras realizaciones, en donde algunos elementos pueden ser sustituidos por otros elementos técnicamente equivalentes. Por lo tanto, la presente invención no se limita a los ejemplos explicativos descritos en este documento, sino que puede estar sujeta a muchas modificaciones, mejoras o sustituciones de piezas y elementos equivalentes sin apartarse del alcance de las siguientes reivindicaciones.

Claims (16)

REIVINDICACIONES
1. Método para la búsqueda de imágenes en los medios (12, 13) de memoria que contienen al menos
- una o más imágenes y/o referencias a dichas imágenes, y,
- para cada imagen y/o referencia de la misma, al menos una huella dactilar de sensor asociada con dicha imagen y/o con dicha referencia, y relacionada con el sensor que adquirió dicha imagen,
en donde al menos una de las huellas dactilares del sensor contenidas en los medios (12, 13) de memoria es generada en base a la imagen asociada a los mismos,
en donde dicho método comprende
- una fase (P1) de lectura, en la que, a través de los medios (14, 15) de lectura, se lee una huella dactilar del sensor de búsqueda,
- una fase (P2) de compresión, en donde la huella dactilar del sensor de búsqueda y dicha al menos una de las huellas dactilares del sensor asociadas con las imágenes y/o con las referencias a dichas imágenes se comprimen, a través de los medios (11) de cálculo, utilizando una técnica de proyección aleatoria, y
- una fase (P3) de búsqueda, en la que, a través de los medios (11) de cálculo, cada una de las imágenes y/o referencias de imágenes contenidas en los medios (12, 13) de memoria se selecciona o se descarta en base a al menos una comparación entre al menos una parte de la huella dactilar del sensor comprimida de una de las imágenes y al menos una parte de la huella dactilar del sensor de búsqueda comprimida, y en donde se calcula un índice de correlación, a través de los medios (11) de cálculo, entre la huella dactilar del sensor de búsqueda comprimida y cada una de las huellas dactilares comprimidas asociadas con las imágenes y/o con las referencias a dichas imágenes, y en donde las imágenes o las referencias a dichas imágenes son seleccionadas o descartadas en base al valor de dicho índice de correlación
caracterizado por que
durante la fase (P3) de búsqueda, se llevan a cabo dos o más iteraciones de búsqueda a través de los medios (11) de cálculo, en donde, durante al menos una de las iteraciones que preceden a la última iteración, se calcula un índice de correlación entre al menos una parte de la huella dactilar de búsqueda comprimida y una parte de cada una de las huellas dactilares comprimidas asociadas con las imágenes y/o con las referencias a dichas imágenes, y se selecciona un conjunto de imágenes o referencias a dichas imágenes en base a los índices de correlación, y en donde, durante la última iteración, se realiza una comparación entre la huella dactilar de búsqueda comprimida y cada una de las huellas dactilares comprimidas asociadas con las imágenes y/o con las referencias a dichas imágenes incluidas en dicho conjunto de imágenes, y en donde las partes de cada una de las huellas dactilares comprimidas asociadas con las imágenes y/o con las referencias a dichas imágenes que se comparan con la huella dactilar del sensor de búsqueda comprimida durante al menos una de las iteraciones que preceden a la última iteración se determinan en base a la posición de los puntos característicos de la huella dactilar del sensor de búsqueda comprimida, en donde los puntos característicos son puntos de una huella dactilar comprimida que tiene valores mayores que un cierto valor umbral o mayores que el valor medio de la puntos de dicha huella dactilar.
2. Método según la reivindicación 1, en donde la huella dactilar del sensor de búsqueda y cada una de las huellas dactilares del sensor asociadas con las imágenes y/o con las referencias a dichas imágenes se comprimen multiplicando al menos una matriz de compresión por cada una de dichas huellas dactilares, o viceversa.
3. Método según la reivindicación 2, en donde dicha al menos una matriz de compresión es una matriz circulante parcial.
4. Método según la reivindicación 3, en donde la multiplicación entre dicha al menos una matriz de compresión y al menos una de las huellas dactilares del sensor asociadas con las imágenes y/o con las referencias a dichas imágenes se lleva a cabo utilizando la transformada rápida de Fourier.
5. Método según una cualquiera de las reivindicaciones 2 a 4, en donde dicha al menos una matriz de compresión se selecciona de un conjunto de matrices de compresión en base al tamaño de la huella dactilar a comprimir.
6. Método según la reivindicación 5, en donde se seleccionan dos o más matrices de compresión del conjunto de matrices de compresión en base al tamaño de la huella dactilar a comprimir, y en donde las dimensiones de dichas matrices de compresión seleccionadas son tales que el producto entre dichas matrices de compresión y la huella dactilar a comprimir generarán una huella dactilar del sensor comprimida que tiene un tamaño predefinido.
7. Método según una cualquiera de las reivindicaciones 1 a 4, en donde cada huella dactilar del sensor se comprime, a través de los medios (11) de cálculo, mediante la concatenación de una pluralidad de versiones de dicha huella dactilar del sensor que tienen diferentes resoluciones, y en donde cada versión de dicha huella dactilar se comprime utilizando una técnica de proyección aleatoria.
8. Método según una cualquiera de las reivindicaciones 1 a 7, en donde el índice de correlación se calcula sobre la base de la distancia de Hamming entre la huella dactilar del sensor de búsqueda comprimida y cada una de las huellas dactilares comprimidas asociadas con las imágenes y/o con las referencias a dicha imágenes.
9. Método según una cualquiera de las reivindicaciones 1 a 8, que comprende además una fase de carga de memoria, que se lleva a cabo antes de la fase P3 de búsqueda, en donde la información de búsqueda que comprende la posición de los puntos característicos de las huellas dactilares del sensor asociadas con las imágenes y/o con las referencias a dichas imágenes se carga en medios (12) de memoria volátil.
10. Método según la reivindicación 9, en donde las posiciones comprendidas en la información de búsqueda se codifican con una resolución que es inferior a la resolución de las huellas dactilares comprimidas asociadas con las imágenes y/o con las referencias a dichas imágenes.
11. Método según la reivindicación 9 o 10, en donde las posiciones comprendidas en la información de búsqueda se codifican de manera diferencial utilizando una codificación Exponencial-Golomb del k-ésimo orden.
12. Método según una cualquiera de las reivindicaciones anteriores, en donde la fase (P3) de búsqueda comprende una pluralidad de subfases de búsqueda, en donde cada una de dichas subfases se puede llevar a cabo, a través de los medios (11) de cálculo, independientemente de la otras, y en donde cada una de dichas subfases se lleva a cabo sobre un subconjunto de las imágenes contenidas en los medios (12, 13) de memoria.
13. Método según la reivindicación 12, en donde cada subconjunto de imágenes contenidas en los medios (12, 13) de memoria, sobre el que se lleva a cabo una subfase de búsqueda, se desconecta de los otros subconjuntos.
14. Método según cualquiera de las reivindicaciones anteriores, en donde, durante la fase (P2) de compresión, el valor de cada uno de los puntos de las huellas dactilares comprimidas se convierte, a través de los medios (11) de cálculo, en un valor comprendido dentro de un conjunto limitado de valores.
15. Producto de programa informático que se puede cargar en la memoria de un ordenador electrónico y que comprende partes de código de software para ejecutar las fases del método de búsqueda de imágenes según cualquiera de las reivindicaciones 1 a 14.
16. Dispositivo (1) para la búsqueda de imágenes, que comprende
- medios (15) de entrada/salida adaptados para acceder a medios (13) de memoria masiva que contienen al menos • una o más imágenes y/o referencias a dichas imágenes, y,
• para cada imagen y/o referencia de la misma, al menos una huella dactilar de sensor asociada con dicha imagen y/o con dicha referencia, y relacionada con el sensor que adquirió dicha imagen,
en donde al menos una de dichas huellas dactilares del sensor es generada solo en base a la imagen asociada con la misma,
- medios (14) de lectura configurados para leer una huella dactilar de sensor de búsqueda,
- medios (12) de memoria volátil, en los que se puede cargar al menos una parte de dichas huellas dactilares del sensor, y
- medios (11) de cálculo en comunicación de señales con los medios (12, 13) de memoria y los medios (14) de lectura, en donde dichos medios (11) de cálculo están configurados para llevar a cabo una búsqueda entre las imágenes y/o las referencias a dichas imágenes, en donde cada una de las imágenes y/o referencias a dichas imágenes contenidas en los medios (12, 13) de memoria se selecciona o se descarta en base a al menos una comparación entre al menos una parte de la huella dactilar del sensor de dicha imagen y al menos una parte de la huella digital del sensor de búsqueda,
en donde los medios (11) de cálculo también están configurados para ejecutar las fases de un método según una cualquiera de las reivindicaciones 1 a 14.
ES16745824T 2015-06-23 2016-06-20 Método y dispositivo para la búsqueda de imágenes Active ES2898868T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ITUB20151608 2015-06-23
PCT/IB2016/053656 WO2016207774A1 (en) 2015-06-23 2016-06-20 Method and device for searching images

Publications (1)

Publication Number Publication Date
ES2898868T3 true ES2898868T3 (es) 2022-03-09

Family

ID=54064511

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16745824T Active ES2898868T3 (es) 2015-06-23 2016-06-20 Método y dispositivo para la búsqueda de imágenes

Country Status (8)

Country Link
US (1) US10515112B2 (es)
EP (1) EP3314534B1 (es)
JP (1) JP6891379B2 (es)
CN (1) CN107735783B (es)
ES (1) ES2898868T3 (es)
IL (1) IL256105B (es)
PL (1) PL3314534T3 (es)
WO (1) WO2016207774A1 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201515615D0 (en) * 2015-09-03 2015-10-21 Functional Technologies Ltd Clustering images based on camera fingerprints
IT201600105253A1 (it) * 2016-10-19 2018-04-19 Torino Politecnico Dispositivo e metodi per l'autenticazione di unn apparato d'utente
CN106656210B (zh) * 2017-01-03 2020-06-19 重庆邮电大学 一种基于完备循环差集的可快速编码的type-II QC-LDPC码构造方法
EP3576365B1 (en) * 2017-03-01 2022-10-26 Siemens Aktiengesellschaft Data processing device and method
CN107760633A (zh) * 2017-11-30 2018-03-06 成都欧林生物科技股份有限公司 肺炎链球菌的固体培养基
US11146445B2 (en) * 2019-12-02 2021-10-12 Alibaba Group Holding Limited Time series decomposition
WO2021207941A1 (zh) * 2020-04-14 2021-10-21 华为技术有限公司 一种摄像机的认证方法及控制装置
CN111522973B (zh) * 2020-04-16 2023-03-31 重庆邮电大学 一种融合压缩感知的隐私保护图像检索方法
CN112640391B (zh) * 2020-11-16 2021-10-22 华为技术有限公司 一种摄像头标识方法、认证方法、系统及终端

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091634A (ja) * 1996-08-15 1998-04-10 Hewlett Packard Co <Hp> 写真画像検索システム
US7092017B2 (en) * 2002-09-13 2006-08-15 Eastman Kodak Company Fixed pattern noise removal in CMOS imagers across various operational conditions
JP2004258963A (ja) * 2003-02-26 2004-09-16 Fujitsu Ltd 多段階照合による高速idレス照合方法およびシステム
JP4032241B2 (ja) * 2003-02-28 2008-01-16 日本電気株式会社 指紋照合装置及びその方法
US7251372B2 (en) * 2004-01-14 2007-07-31 Nec Solutions (America) Inc. Method and system for compressing digitized fingerprint images by a uniform degree of compression
JP4428067B2 (ja) * 2004-01-28 2010-03-10 ソニー株式会社 画像照合装置、プログラム、および画像照合方法
AU2005295331A1 (en) * 2004-10-15 2006-04-27 The Regents Of The University Of Colorado, A Body Corporate Revocable biometrics with robust distance metrics
US7787030B2 (en) 2005-12-16 2010-08-31 The Research Foundation Of State University Of New York Method and apparatus for identifying an imaging device
US7616237B2 (en) * 2005-12-16 2009-11-10 The Research Foundation Of State University Of New York Method and apparatus for identifying an imaging device
US8385971B2 (en) * 2008-08-19 2013-02-26 Digimarc Corporation Methods and systems for content processing
JP2011077958A (ja) * 2009-09-30 2011-04-14 Chiba Univ 次元圧縮装置、次元圧縮方法及び次元圧縮プログラム
US8731236B2 (en) * 2011-01-14 2014-05-20 Futurewei Technologies, Inc. System and method for content protection in a content delivery network
US8374386B2 (en) * 2011-01-27 2013-02-12 Polytechnic Institute Of New York University Sensor fingerprint matching in large image and video databases
US8571306B2 (en) * 2011-08-10 2013-10-29 Qualcomm Incorporated Coding of feature location information
CN102508144A (zh) * 2011-10-26 2012-06-20 西安电子科技大学 测量ccd芯片暗信号非均匀性和光子响应非均匀性的方法
GB2486987B (en) * 2012-01-03 2013-09-04 Forensic Pathways Ltd Methods for automatically clustering images acquired by unknown devices
SG11201504839PA (en) * 2012-08-02 2015-07-30 Agency Science Tech & Res Testing apparatuses, servers and methods for controlling a testing apparatus
CN103020641A (zh) * 2012-11-18 2013-04-03 郑州大学 一种基于dft交叉相关分析的数码照片来源识别方法
PL3172700T3 (pl) * 2014-07-21 2021-11-22 Politecnico Di Torino Ulepszony sposób dopasowywania odcisków palców i identyfikacji aparatu fotograficznego, urządzenie i system

Also Published As

Publication number Publication date
US10515112B2 (en) 2019-12-24
JP6891379B2 (ja) 2021-06-18
IL256105A (en) 2018-02-28
CN107735783B (zh) 2021-10-15
WO2016207774A1 (en) 2016-12-29
EP3314534B1 (en) 2021-09-01
PL3314534T3 (pl) 2022-01-17
JP2018522312A (ja) 2018-08-09
IL256105B (en) 2022-02-01
CN107735783A (zh) 2018-02-23
US20180157680A1 (en) 2018-06-07
EP3314534A1 (en) 2018-05-02

Similar Documents

Publication Publication Date Title
ES2898868T3 (es) Método y dispositivo para la búsqueda de imágenes
US11706020B2 (en) Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms
JP5926291B2 (ja) 類似画像を識別する方法および装置
CA2876466C (en) Scan optimization using bloom filter synopsis
TWI230361B (en) Pattern matching and pattern identification system, the related memory apparatus used by the system, pattern matching and pattern identification processing method
JP6780220B2 (ja) 方法、デバイス、システム、およびプログラム
KR101565265B1 (ko) 피쳐 위치 정보의 코딩
US20100119170A1 (en) Image compression by comparison to large database
WO2018200294A1 (en) Parser for schema-free data exchange format
US10970281B2 (en) Searching for data using superset tree data structures
CN110019865B (zh) 海量图片处理方法、装置、电子设备及存储介质
US11080196B2 (en) Pattern-aware prefetching using parallel log-structured file system
US20160019211A1 (en) A process for obtaining candidate data from a remote storage server for comparison to a data to be identified
CN108027816B (zh) 数据管理系统、数据管理方法及记录介质
CN110909186A (zh) 高光谱遥感数据存储、检索方法及系统、存储介质及终端
Guan et al. On-device mobile visual location recognition by using panoramic images and compressed sensing based visual descriptors
US11138151B2 (en) Compression scheme for floating point values
Wang et al. Deterministic constructions of compressed sensing matrices based on codes
US10037148B2 (en) Facilitating reverse reading of sequentially stored, variable-length data
US20170308561A1 (en) Indexing and sequentially storing variable-length data to facilitate reverse reading
Chen et al. FCBench: Cross-Domain Benchmarking of Lossless Compression for Floating-Point Data
Roy et al. A Comparative Study on the Evaluation of k-mer Indexing in Genome Sequence Compression
Prammer et al. Rethinking the Encoding of Integers for Scans on Skewed Data
Shoaib et al. Hardware/software co-design of embedded real-time KD-tree based feature matching systems
Lu et al. Performance analysis of compressed sensing with uniform scalar quantisation