ES2680574T3 - Dispositivo de búsqueda de imágenes, método de búsqueda de imágenes, programa y medio de almacenamiento legible por ordenador - Google Patents

Dispositivo de búsqueda de imágenes, método de búsqueda de imágenes, programa y medio de almacenamiento legible por ordenador Download PDF

Info

Publication number
ES2680574T3
ES2680574T3 ES13768360.3T ES13768360T ES2680574T3 ES 2680574 T3 ES2680574 T3 ES 2680574T3 ES 13768360 T ES13768360 T ES 13768360T ES 2680574 T3 ES2680574 T3 ES 2680574T3
Authority
ES
Spain
Prior art keywords
image
query
values
images
searched
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
ES13768360.3T
Other languages
English (en)
Inventor
Ali CEVAHIR
Junji Torii
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.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
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 Rakuten Inc filed Critical Rakuten Inc
Application granted granted Critical
Publication of ES2680574T3 publication Critical patent/ES2680574T3/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
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Un dispositivo de búsqueda de imágenes (1), que comprende: medios de obtención de valor de características de consulta (82) para obtener una pluralidad de valores de características de consulta, indicando cada uno de dicha pluralidad de valores de características de consulta una característica local de una imagen que sirve como consulta; medios de selección de valor de características de imagen (89) para seleccionar, para cada uno de la pluralidad de valores de características de consulta, valores de características de imagen de una pluralidad de valores de características de imagen que indican respectivamente características locales de cada una de una pluralidad de imágenes a buscar, que se almacenan en un medio de almacenamiento (12) por adelantado para cada una de las imágenes; medios de generación de puntuación (90) para generar una puntuación de imagen que indica un grado de similitud entre cada una de la pluralidad de imágenes a buscar y la imagen que sirve como consulta basándose en los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, en donde los medios de generación de puntuación (90) calculan un elemento de puntuación para cada una de la pluralidad de imágenes a buscar basándose en las proximidades entre la pluralidad de valores de características de consulta y los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, y generan la puntuación de imagen para una imagen a buscar basándose en una suma total de los elementos del puntuación para la imagen a buscar; y medios de selección de imagen (91) para seleccionar al menos una imagen de la pluralidad de imágenes a buscar, ordenando las puntuaciones de imagen en orden descendente de valor de puntuación de imagen, y seleccionando un cierto número de imágenes que tienen las puntuaciones de imagen más altas, o seleccionar imágenes que tienen puntuaciones de imagen superiores a un valor predeterminado, en el que los medios de selección de valor de características de imagen (89) seleccionan, para cada uno de la pluralidad de valores de características de consulta, no más de un valor de características de imagen por la imagen a buscar, siendo el no más de un valor de características de imagen seleccionado de una pluralidad de valores de características de imagen que aún no se han seleccionado para otro de la pluralidad de los valores de características de consulta.

Description

5
10
15
20
25
30
35
40
45
50
55
60
Dispositivo de búsqueda de imágenes, método de búsqueda de imágenes, programa y medio de almacenamiento legible por ordenador
Campo técnico
La presente invención se refiere a un dispositivo de búsqueda de imágenes, un método de búsqueda de imágenes, un programa y un medio de almacenamiento legible por ordenador.
Técnica antecedente
Los avances en la tecnología de redes y similares han dado como resultado una enorme cantidad de archivos de imágenes a gestionar. Ha estado disponible un método de búsqueda de imágenes para buscar en la enorme cantidad de imágenes para recuperar una imagen similar a una imagen (imagen de consulta) que sirve como consulta. Como una de las tecnologías de búsqueda de imágenes, hay una que utiliza un valor de características local que indica una característica local de una imagen, y con métodos generales, se calcula una puntuación que indica un grado de similitud con la imagen de consulta de manera simplificada para recuperar imágenes similares de una gran cantidad de imágenes en un corto tiempo de respuesta.
Uno de los métodos mencionados anteriormente se denomina "método de bolsa de características (BoF)". Este método se obtiene aplicando un método de búsqueda de documentos llamado "método de bolsa de palabras (BoW)". En el método BoF, cada uno de los valores de características locales (en lo sucesivo en el presente documento denominados "valores de características de imagen") extraídos de una imagen a buscar se almacena previamente en asociación con una palabra visual correspondiente a una palabra utilizada en el método BoW. Entonces, una pluralidad de valores de características locales (en lo sucesivo en el presente documento denominados "valores de características de consulta") se extraen de una imagen que sirve como consulta cuando se realiza una búsqueda, para obtener la palabra visual correspondiente a cada uno de los valores de características locales. A continuación, se procesa estadísticamente una frecuencia de aparición de la palabra visual, para generar de este modo una puntuación que indica un grado de similitud entre la imagen de consulta y la imagen a buscar y recuperar imágenes similares.
En la Bibliografía de patente 1, se describe un esquema de un método para buscar y recuperar una imagen usando la palabra visual, y una tecnología para buscar y recuperar una imagen combinando un vector de valor de características de imagen extraído de una imagen dada con un vector de valor de características de medio extraído de oraciones asociadas con la imagen dada.
En la Bibliografía de patente 2, se describe una tecnología para determinar una imagen de calle similar a una imagen de consulta. En la tecnología, se obtiene una correspondencia de los valores de características locales entre una imagen de consulta y una de las imágenes de la calle basándose en una condición para una restricción geométrica. Una imagen que será un resultado de búsqueda se determina basándose en la correspondencia.
Lista de citas
La Bibliografía de patente 3 se refiere a diferenciar un objeto en una imagen con respecto al fondo usando vectores de características.
La Bibliografía de patente 4 se refiere a un programa para determinar la similitud entre elementos de datos multimedia usando vectores de características.
La Bibliografía no perteneciente a patente 1 se refiere a la recuperación de imágenes basada en el contenido basándose en la similitud de una imagen de consulta con imágenes almacenadas calculadas basándose en descriptores visuales MPEG-7.
Bibliografía de patentes
[PTL 1] JP 2011-103082 A [PTL 2] JP 2011-113197 A [PTL 3] WO 2011/021605 A1 [PTL 4] US 2005/187975 A1
5
10
15
20
25
30
35
40
45
50
55
60
Bibliografía no perteneciente a patente
[NPL 1] Peter L Stanchev ET AL: "Selection of MPEG-7 Image Features for Improving Image Similarity Search on Specific Data Sets", 17 August 2004 (2004-08-17), XP55269991, Michigan, USA
Resumen de la invención
Problema técnico
En un método BoF, en general, se recupera una imagen similar usando tf-idf para procesar estadísticamente una frecuencia de aparición de un valor de características de imagen próximo a un valor de características de consulta. Por lo tanto, para una imagen a buscar, en un caso en que la frecuencia de aparición (TF) del valor de características que está cercano a un valor de características de consulta dado sea alta y que la frecuencia de aparición esté en un nivel en el que un valor de IDF no funciona lo suficiente, se eleva una puntuación que sirve como una escala de similitud de la imagen. Por ejemplo, cuando se realiza una búsqueda de imágenes similares a la bandera turca, incluyendo una marca de estrella, se puede mostrar una imagen de la bandera de estrellas de Estados Unidos que incluye un gran número de marcas de estrellas como resultado de búsqueda en lugar de una imagen que incluya la bandera turca.
La presente invención se ha realizado a la vista del problema mencionado anteriormente, y un objeto de la misma es proporcionar una tecnología para mejorar la precisión de una búsqueda suprimiendo un fenómeno en el que una imagen a buscar se recupera como una imagen similar cuando el número de valores de características locales extraídos de una imagen de consulta es diferente del número de valores de características locales en la imagen a buscar cerca de los valores de características locales extraídos de la imagen de consulta.
Solución al problema
Para resolver el problema mencionado anteriormente, de acuerdo con una realización de la presente invención, se proporciona un dispositivo de búsqueda de imágenes, que comprende: medios de obtención de valor de características de consulta para obtener una pluralidad de valores de características de consulta, indicando cada uno de dicha pluralidad de valores de características de consulta una característica local de una imagen que sirve como consulta; medios de selección de valor de características de imagen para seleccionar, para cada uno de la pluralidad de valores de características de consulta, valores de características de imagen de una pluralidad de valores de características de imagen que indican respectivamente características locales de cada una de una pluralidad de imágenes a buscar, que se almacenan en un medio de almacenamiento por adelantado para cada una de las imágenes; medios de generación de puntuación para generar una puntuación de imagen que indica un grado de similitud entre cada una de la pluralidad de imágenes a buscar y la imagen que sirve como consulta basándose en los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, en donde los medios de generación de puntuación calculan un elemento de puntuación para cada una de la pluralidad de imágenes a buscar basándose en las proximidades entre la pluralidad de valores de características de consulta y los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, y generan puntuaciones de imagen para una imagen a buscar basándose en una suma total de los elementos del puntuación para la imagen a buscar; y medios de selección de imagen para seleccionar al menos una imagen de la pluralidad de imágenes a buscar, ordenando las puntuaciones de imagen en orden descendente de valor de puntuación de imagen, y seleccionando un cierto número de imágenes que tienen las puntuaciones de imagen más altas, o seleccionar imágenes que tienen puntuaciones de imagen superiores a un valor predeterminado, en donde los medios de selección de valor de características de imagen seleccionan, para cada uno de la pluralidad de valores de características de consulta, no más de un valor de características de imagen por la imagen a buscar, siendo el no más de un valor de características de imagen seleccionado de una pluralidad de valores de características de imagen que aún no se han seleccionado para otro de la pluralidad de valores de características de consulta.
Además, de acuerdo con una realización de la presente invención, se proporciona un programa para hacer que una computadora funcione como: medios de obtención de valor de características de consulta para obtener una pluralidad de valores de características de consulta, indicando cada uno de dicha pluralidad de cantidades de características de consulta una característica local de una imagen que sirve como consulta; medios de selección de valor de características de imagen para seleccionar, para cada uno de la pluralidad de valores de características de consulta, valores de características de imagen de una pluralidad de valores de características de imagen que indican respectivamente características locales de cada una de una pluralidad de imágenes a buscar, que se almacenan en medios de almacenamiento por adelantado para cada una de las imágenes; medios de generación de puntuación para generar una puntuación de imagen que indica un grado de similitud entre cada una de la pluralidad de
5
10
15
20
25
30
35
40
45
50
55
60
imágenes a buscar y la imagen que sirve como consulta basándose en los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, en donde los medios de generación de puntuación calculan un elemento de puntuación para cada una de la pluralidad de imágenes a buscar basándose en las proximidades entre la pluralidad de valores de características de consulta y los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, y generan puntuaciones de imagen para una imagen a buscar basándose en una suma total de los elementos del puntuación para la imagen a buscar; y medios de selección de imagen para seleccionar al menos una imagen de la pluralidad de imágenes a buscar, ordenando las puntuaciones de imagen en orden descendente de valor de puntuación de imagen, y seleccionando un cierto número de imágenes que tienen las puntuaciones de imagen más altas, o seleccionar imágenes que tienen puntuaciones de imagen superiores a un valor predeterminado, en donde los medios de selección de valor de características de imagen seleccionan, para cada uno de la pluralidad de valores de características de consulta, no más de una cantidad por las imágenes a buscar, siendo el no más de un valor de características de imagen seleccionado de una pluralidad de valores de características de imagen que aún no se han seleccionado para otro de la pluralidad de valores de características de consulta.
Además, de acuerdo con una realización de la presente invención, se proporciona un método de búsqueda de imágenes, que comprende las etapas de: obtener una pluralidad de valores de características de consulta, indicando cada uno de dicha pluralidad de valores de características de consulta una característica local de una imagen que sirve como consulta; seleccionar, para cada uno de la pluralidad de valores de características de consulta, valores de características de imagen de una pluralidad de valores de características de imagen que indican respectivamente características locales de cada una de una pluralidad de imágenes a buscar, que se almacenan en medios de almacenamiento por adelantado para cada una de las imágenes; generar una puntuación de imagen que indica un grado de similitud entre cada una de la pluralidad de imágenes a buscar y la imagen que sirve como consulta basándose en los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, en donde generar la puntuación de imagen comprende calcular un elemento de puntuación para cada una de la pluralidad de imágenes a buscar basándose en las proximidades entre la pluralidad de valores de características de consulta y los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, y generar puntuaciones de imagen para una imagen a buscar basándose en una suma total de los elementos del puntuación para la imagen a buscar; y seleccionar al menos una imagen de la pluralidad de imágenes a buscar, ordenando las puntuaciones de imagen en orden descendente de valor de puntuación de imagen, y seleccionar un cierto número de imágenes con las puntuaciones de imagen más altas, o seleccionando imágenes con puntuaciones de imagen superiores a un valor predeterminado, en donde la etapa seleccionar valores de características de imagen comprende seleccionar, para cada uno de la pluralidad de valores de características de consulta, no más de un valor de características de imagen por las imágenes a buscar, siendo el no más de un valor de características de imagen seleccionado de una pluralidad de valores de características de imagen que aún no se han seleccionado para otro de la pluralidad de valores de características de consulta.
Además, de acuerdo con una realización de la presente invención, se proporciona un medio de almacenamiento legible por ordenador que tiene almacenado en el mismo un programa para hacer que un ordenador funcione como: medios de obtención de valor de características de consulta para obtener una pluralidad de valores de características de consulta, indicando cada uno de dicha pluralidad de valores de características de consulta una característica local de una imagen que sirve como consulta; medios de selección de valor de características de imagen para seleccionar, para cada uno de la pluralidad de valores de características de consulta, valores de características de imagen de una pluralidad de valores de características de imagen que indican respectivamente características locales de cada una de una pluralidad de imágenes a buscar, que se almacenan en medios de almacenamiento por adelantado para cada una de las imágenes; medios de generación de puntuación para generar una puntuación de imagen que indica un grado de similitud entre cada una de la pluralidad de imágenes a buscar y la imagen que sirve como consulta basándose en los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, en donde los medios de generación de puntuación calculan un elemento de puntuación para cada una de la pluralidad de imágenes a buscar basándose en las proximidades entre la pluralidad de valores de características de consulta y los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, y generan puntuaciones de imagen para una imagen a buscar basándose en una suma total de los elementos del puntuación para la imagen a buscar; y medios de selección de imagen para seleccionar al menos una imagen de la pluralidad de imágenes a buscar, ordenando las puntuaciones de imagen en orden descendente de valor de puntuación de imagen, y seleccionando un cierto número de imágenes que tienen las puntuaciones de imagen más altas, o seleccionar imágenes que tienen puntuaciones de imagen superiores a un valor predeterminado, en donde los medios de selección de valor de características de imagen seleccionan, para cada uno de la pluralidad de valores de características de consulta, no más de un valor por las imágenes a buscar, siendo el no más de un valor de características de imagen seleccionado de una pluralidad de valores de características de imagen que aún no se
5
10
15
20
25
30
35
40
45
50
55
60
han seleccionado para otro de la pluralidad de valores de características de consulta.
De acuerdo con un ejemplo, es posible suprimir un fenómeno en el que una imagen a buscar se recupera como una imagen similar cuando los valores de características locales dentro de la imagen a buscar cercanos a los valores de características locales extraídos de la imagen de consulta son mayores en número que los valores de características locales extraídos de la imagen de consulta.
En un ejemplo, el dispositivo de búsqueda de imágenes puede incluir además medios de selección de agrupamiento para seleccionar un agrupamiento correspondiente a cada uno de la pluralidad de valores de características de consulta de una pluralidad de agrupaciones en las que una pluralidad de valores de características de imagen que indican características de la pluralidad de las imágenes a buscar se clasifican, en donde los medios de selección de valor de características de imagen pueden seleccionar, para cada uno de la pluralidad de valores de consulta, el valor de características de imagen de la pluralidad de valores de características de imagen clasificados en un agrupamiento correspondiente al de la pluralidad de valores de características de consulta.
De acuerdo con este ejemplo, puede aumentarse la velocidad de búsqueda de imágenes.
En un ejemplo, los medios de selección de agrupamiento seleccionan agrupamientos que corresponden a los valores de características de consulta basados en distancias entre una pluralidad de valores de características representativos que representan respectivamente la pluralidad de agrupamientos y los valores de características de consulta.
De acuerdo con un ejemplo, es posible suprimir un fenómeno en el que una imagen a buscar se recupera como una imagen similar cuando los valores de características locales dentro de la imagen de consulta canos al valor de características local dentro de la imagen a buscar son mayores en número que los valores de las características locales dentro de la imagen a buscar.
En un ejemplo, los medios de selección de valor de características de imagen, para cada uno de la pluralidad de valores de características de consulta, todos los valores de características de imagen que satisfacen las condiciones de que varios valores de características de imagen a seleccionar no son más de uno para cada una de las imágenes a buscar, y de que el valor de características de imagen seleccionado no se selecciona con respecto a un valor de características de consulta que es diferente del correspondiente de la pluralidad de valores de características de consulta, a partir de la pluralidad de valores de características de imagen que pertenecen a uno de la pluralidad de valores de características de consulta.
En un ejemplo, el dispositivo de búsqueda de imágenes comprende además: medios de extracción de valor de características de imagen para extraer un valor de características de imagen de cada una de las imágenes a buscar; y medios de generación de agrupamiento para generar una pluralidad de agrupamientos en los que al menos una parte de los valores de características de imagen extraídos se clasifican, en donde los medios de generación de agrupamiento generan la pluralidad de agrupamientos de manera que un número de valores de características de imagen correspondiente a una cualquiera de la pluralidad de las imágenes a buscar entre los valores de características de imagen que pertenecen a un agrupamiento dado no exceda un valor predeterminado.
De acuerdo con este ejemplo, las imágenes pueden buscarse a mayor velocidad.
Breve descripción de los dibujos
La Figura 1 es un diagrama que ilustra un ejemplo de una configuración de un sistema de búsqueda de imágenes de acuerdo con una primera realización.
La Figura 2 es un diagrama que ilustra un ejemplo de una configuración de un dispositivo de búsqueda de imágenes de acuerdo con la primera realización.
La Figura 3 es un diagrama que ilustra un ejemplo de una configuración de un dispositivo de cálculo en paralelo.
La Figura 4 es un diagrama de bloques funcional que ilustra funciones del dispositivo de búsqueda de imágenes de acuerdo con la primera realización.
La Figura 5 es un diagrama de bloques funcional que ilustra una configuración funcional de una unidad de generación de índices de acuerdo con la primera realización.
La Figura 6 es un diagrama que ilustra un ejemplo de una imagen a buscar.
La Figura 7 es un diagrama que ilustra un concepto de vectores de características de imagen extraídos de una imagen.
La Figura 8 es un diagrama que ilustra un ejemplo de una estructura de árbol de vectores representativos.
5
10
15
20
25
30
35
40
45
50
55
60
La Figura 9 es un diagrama de bloques funcional que ilustra una configuración funcional de una unidad de búsqueda de imágenes de acuerdo con la primera realización.
La Figura 10 es un diagrama que ilustra un ejemplo de un flujo de procesamiento esquemático de procesamiento de la unidad de búsqueda de imágenes de acuerdo con la primera realización.
La Figura 11 es un diagrama que ilustra un ejemplo de una disposición de datos en una memoria en dispositivo.
La Figura 12 es un diagrama que ilustra un ejemplo de una disposición de vectores representativos en la memoria en dispositivo.
La Figura 13 es un diagrama que ilustra un ejemplo de una pantalla a la que se ingresa una imagen que sirve como consulta.
La Figura 14 es un diagrama que ilustra un ejemplo de un flujo de procesamiento de cálculo de distancia.
La Figura 15 es un diagrama que ilustra un ejemplo de una correspondencia entre un vector de características de consulta extraído de una imagen de consulta y un vector de características de imagen extraído de una pluralidad de imágenes a buscar.
La Figura 16 es un diagrama que ilustra un ejemplo de un flujo de procesamiento de una unidad de selección de vectores de características de imagen.
La Figura 17 es un diagrama que ilustra un ejemplo de un caso de selección de un vector de características de imagen correspondiente a un vector de características de consulta.
La Figura 18 es un diagrama que ilustra un ejemplo de una correspondencia entre una característica local dentro de una imagen de consulta y una característica local dentro de una imagen a buscar.
La Figura 19 es un diagrama que ilustra un ejemplo comparativo de la correspondencia entre la característica local dentro de la imagen de consulta y la característica local dentro de la imagen a buscar.
La Figura 20 es un diagrama que ilustra un ejemplo de variación en la distancia entre el vector de características de consulta y el vector de características de imagen.
La Figura 21 es un diagrama que ilustra un ejemplo de resultados de procesamiento estadístico de imágenes correspondientes a vectores de características de consulta.
La Figura 22 es un diagrama que ilustra un ejemplo de datos almacenados en una unidad de almacenamiento de valor de características de imagen de agrupamiento.
La Figura 23 es un diagrama de bloques funcional que ilustra una configuración funcional de una unidad de búsqueda de imágenes de acuerdo con un primer ejemplo.
La Figura 24 es un diagrama que ilustra un ejemplo de un flujo de procesamiento que ilustra un esquema de procesamiento de la unidad de búsqueda de imágenes de acuerdo con el primer ejemplo.
La Figura 25 es un diagrama para ilustrar una distribución de vectores de características de imagen dentro de un tercer agrupamiento de características de imagen y una selección realizada por vectores de características de consulta.
La Figura 26 es un diagrama que ilustra un ejemplo de una matriz transpuesta utilizada para generar una puntuación de imagen.
La Figura 27 es un diagrama que ilustra un ejemplo de un flujo de procesamiento que ilustra un esquema de procesamiento de una unidad de búsqueda de imágenes de acuerdo con un segundo ejemplo.
Descripción de realizaciones y ejemplos
A continuación, las realizaciones de la presente invención, y otros ejemplos se describen con referencia a los dibujos adjuntos. Los elementos a describir que tienen la misma función se designan con los mismos números de referencia, y se omite la descripción de los mismos.
[Primera realización]
La Figura 1 es un diagrama que ilustra un ejemplo de una configuración de un sistema de búsqueda de imágenes de acuerdo con una primera realización. El sistema de búsqueda de imágenes incluye un dispositivo de búsqueda de imágenes 1, un servidor web 2 y un dispositivo cliente 3. El servidor web 2 es, por ejemplo, un hardware de servidor operado por un programa de servidor web, y el dispositivo cliente 3 es, por ejemplo, un ordenador personal o un teléfono inteligente operado por un programa de un navegador web. Un resumen de la operación del sistema de búsqueda de imágenes para realizar una búsqueda de imágenes es como se indica a continuación. En primer lugar, el servidor web 2 obtiene una imagen que sirve como consulta a usar para una búsqueda de imágenes (denominada en lo sucesivo en el presente documento "imagen de consulta") del dispositivo cliente 3 a través de la red, tal como Internet, e ingresa la imagen de consulta al dispositivo de búsqueda de imágenes 1. Posteriormente, el dispositivo de búsqueda de imágenes 1 recupera una o una pluralidad de imágenes similares a la imagen de entrada, y las emite al servidor web 2. El servidor web 2 transmite datos que permiten que el dispositivo cliente 3 muestre las imágenes recuperadas por el dispositivo de búsqueda de imágenes 1.
5
10
15
20
25
30
35
40
45
50
55
60
La Figura 2 es un diagrama que ilustra un ejemplo de una configuración del dispositivo de búsqueda de imágenes 1 de acuerdo con la primera realización. El dispositivo de búsqueda de imágenes 1 incluye una CPU 11, una unidad de almacenamiento 12, una unidad de comunicación 13, un dispositivo de cálculo en paralelo 14 y un bus 15.
La CPU 11 opera de acuerdo con un programa almacenado en la unidad de almacenamiento 12. La CPU 11 controla la unidad de comunicación 13 y el dispositivo de cálculo en paralelo 14. Se ha de apreciar que, el programa mencionado anteriormente puede proporcionarse a través de la red, tal como Internet, o proporcionarse por estar almacenado en un medio de almacenamiento de información legible por ordenador, tal como un DVD-ROM y una memoria USB.
La unidad de almacenamiento 12 incluye, por ejemplo, un dispositivo de memoria tal como una RAM y una ROM y una unidad de disco duro. La unidad de almacenamiento 12 almacena el programa mencionado anteriormente. La unidad de almacenamiento 12 también almacena información y una entrada de resultado computacional de cada unidad.
La unidad de comunicación 13 implementa una función de comunicación hacia/desde otro dispositivo, tal como el servidor web 2, y está formada, por ejemplo, por medios de comunicación tales como una tarjeta de red. La tarjeta de red incluye un circuito integrado para comunicaciones y un terminal de comunicación. La unidad de comunicación 13 se controla por la CPU 11 para ingresar la información recibida de otro dispositivo a la CPU 11 y la unidad de almacenamiento 12 y para transmitir información a otro dispositivo.
El bus 15 forma una ruta para enviar o recibir datos a o desde la CPU 11, la unidad de almacenamiento 12, la unidad de comunicación 13 y el dispositivo de cálculo en paralelo 14. Por ejemplo, la CPU 11 y la unidad de almacenamiento 12 están conectadas al dispositivo de cálculo en paralelo 14 a través de un bus de expansión en el bus 15.
El dispositivo de cálculo en paralelo 14 es un hardware bueno para realizar una gran cantidad del mismo tipo de cálculo por cálculo en paralelo. El dispositivo de cálculo en paralelo 14 es, por ejemplo, una unidad de procesamiento gráfico (GPU). La Figura 3 es un diagrama que ilustra un ejemplo de una configuración del dispositivo de cálculo en paralelo 14. El dispositivo de cálculo en paralelo 14 incluye una pluralidad de unidades de ejecución en paralelo 40 y una memoria en dispositivo 45. Cada unidad de ejecución en paralelo 40 incluye una pluralidad de procesadores 41, una unidad de instrucciones 42, y una memoria de alta velocidad 43.
Cada uno de la pluralidad de procesadores 41 realiza el procesamiento tal como el cálculo en coma flotante y la lectura o escritura de datos desde o hacia la memoria en dispositivo 45 y la memoria de alta velocidad 43. La unidad de instrucciones 42 hace que la pluralidad de procesadores 41, que están incluidos en la unidad de ejecución en paralelo 40 que incluye la unidad de instrucciones 42, realice el procesamiento basándose en un programa almacenado en la memoria en dispositivo 45 y similares. La pluralidad de procesadores 41 incluidos en una de la pluralidad de unidades de ejecución en paralelo 40 procesa la misma instrucción de acuerdo con una instrucción de la unidad de instrucciones 42 incluida en dicha unidad de ejecución en paralelo 40. Con esta configuración, la pluralidad de procesadores 41 puede controlarse mediante una unidad de instrucciones 42, que puede suprimir un aumento de escala de un circuito de la unidad de instrucciones 42. Los procesadores 41 incluidos en el dispositivo de cálculo en paralelo 14 pueden aumentarse en número en comparación con los de la CPU 11, lo que facilita una aceleración más significativa que en el caso de usar una pluralidad de procesadores que son altamente independientes entre sí en dicho procesamiento de cálculo específico como se describe más adelante.
La memoria en dispositivo 45 está formada por una DRAM, y se puede acceder a la DRAM a mayor velocidad que a una RAM utilizada para la unidad de almacenamiento 12. La memoria en dispositivo 45 está conectada a la CPU 11 y la unidad de almacenamiento 12 a través del bus 15. El dispositivo de cálculo en paralelo 14 también incluye un circuito para transferir datos entre la memoria en dispositivo 45 y la unidad de almacenamiento 12 a través de una transferencia DMA. La memoria de alta velocidad 43 está formada, por ejemplo, por una SRAM a la que se puede acceder a mayor velocidad que a la memoria en dispositivo 45. No hay tanta diferencia entre la latencia cuando el procesador 41 accede a la memoria de alta velocidad 43 y la latencia cuando el procesador 41 accede a su registro interno. Aquí, cada una de la memoria en dispositivo 45 y la memoria de alta velocidad 43 es una memoria compartida accesible en común desde la pluralidad de procesadores 41.
La Figura 4 es un diagrama de bloques funcional que ilustra funciones del dispositivo de búsqueda de imágenes 1 de acuerdo con la primera realización. El dispositivo de búsqueda de imágenes 1 incluye funcionalmente una unidad de generación de índices 51 y una unidad de búsqueda de imágenes 52. Estas funciones se implementan por la CPU 11 ejecutando el programa almacenado en la unidad de almacenamiento 12 y controlando la unidad de comunicación 13 y el dispositivo de cálculo en paralelo 14, y mediante el dispositivo de cálculo en paralelo 14 que
5
10
15
20
25
30
35
40
45
50
55
60
ejecuta el programa para el dispositivo de cálculo en paralelo 14.
[Generación de índice]
Se hace la siguiente descripción del procesamiento para clasificar vectores de características de imagen 22 en agolpamientos y generar un índice.
La unidad de generación de índices 51 genera, a partir de una pluralidad de imágenes a buscar, el vector de características de imagen 22 utilizado para la búsqueda de imágenes y un índice que permite una fácil selección del vector de características de imagen 22. La unidad de búsqueda de imágenes 52 busca una imagen similar a la imagen de consulta con el uso del índice y el vector de características de imagen 22.
La Figura 5 es un diagrama de bloques funcional que ilustra una configuración funcional de la unidad de generación de índices 51. La unidad de generación de índices 51 incluye funcionalmente una unidad de extracción de vectores de características de imagen 61 y una unidad de generación de agrupamiento 62. La unidad de generación de agrupamiento 62 genera una estructura de árbol de un vector representativo, que es un índice de un agrupamiento, y almacena información en el índice en una unidad de almacenamiento de vectores representativos de la estructura de árbol 72. La unidad de almacenamiento de vectores de agrupamiento 71 almacena información en el vector de características de imagen 22 que pertenece al agrupamiento (agrupamiento representado por el vector representativo), que es una hoja de la estructura de árbol. Específicamente, la unidad de almacenamiento de vectores de agrupamiento 71 y la unidad de almacenamiento de vectores representativos de la estructura de árbol 72 están formadas por la unidad de almacenamiento 12.
La unidad de extracción de vectores de características de imagen 61 se implementa principalmente mediante la CPU 11, la unidad de almacenamiento 12 y el dispositivo de cálculo en paralelo 14. La unidad de extracción de vectores de características de imagen 61 extrae uno o una pluralidad de vectores de características de imagen 22 de cada una de una pluralidad de imágenes a buscar almacenadas en la unidad de almacenamiento 12. Además, la unidad de extracción de vectores de características de imagen 61 almacena los vectores de características de imagen extraídos 22 en la unidad de almacenamiento 12 en asociación con la imagen de la que se extraen los vectores de características de imagen 22.
La Figura 6 es un diagrama que ilustra un ejemplo de imágenes a buscar. La Figura 7 es un diagrama que ilustra un concepto de vectores de características de imagen 22 extraídos de una imagen. Cada uno de los vectores de características de imagen 22 extraídos de la imagen es una cantidad de características locales, que muestra las características locales en la imagen. Cada uno de los vectores de características de imagen 22 es un vector que tiene, por ejemplo, 128 elementos (dimensiones). Los métodos ya conocidos, tales como Transformación de características invariante en escala (SIFT) y Características robustas aceleradas (SURF), se pueden usar para extraer los vectores de características de imagen 22 de una imagen. El número de elementos que tiene cada vector de características de imagen 22 puede cambiarse de acuerdo con un método de extracción de vectores de características de imagen a partir de una imagen. Además, el número de vectores de características de imagen 22 extraídos de una imagen puede ser un número predeterminado (por ejemplo, 300). El número de vectores de características de imagen 22 extraídos de una imagen simple, sin embargo, puede ser menor que el número predeterminado.
La unidad de generación de agrupamiento 62 se implementa principalmente mediante la CPU 11, la unidad de almacenamiento 12 y el dispositivo de cálculo en paralelo 14. La unidad de generación de agrupamiento 62 clasifica al menos una parte de la pluralidad de vectores de características de imagen 22 extraídos por la unidad de extracción de vectores de características de imagen 61 en una pluralidad de agrupamientos mediante algoritmo de agrupamiento. En otras palabras, se genera una pluralidad de agrupamientos, en los que se clasifica al menos una parte de los vectores de características de la imagen extraída 22. Además, se generan vectores representativos que representan cada uno de esos agrupamientos. Los agrupamientos en los que se clasifican los vectores de características de imagen 22 pueden ser de múltiples etapas. De acuerdo con esto, el procesamiento para la clasificación en los agrupamientos no se limita a un proceso de una etapa, sino que puede ser un proceso de múltiples etapas. La siguiente descripción está hecha de un ejemplo de procesamiento en el que los procesos de múltiples etapas se implementan mediante una llamada recursiva. Se ha de apreciar que, en un ejemplo específico, se realizan procesos de logaritmo de agrupamiento en dos etapas. En la primera etapa, una pluralidad de vectores de características de imagen 22 extraídos por la unidad de extracción de vectores de características de imagen 61 se clasifican en 1.024 agrupamientos, y en la segunda etapa, cada uno de los 1.024 agrupamientos se clasifica en 512 agrupamientos.
En etapas respectivas del procesamiento realizado por la unidad de generación de agrupamiento 62, una pluralidad
5
10
15
20
25
30
35
40
45
50
55
60
de vectores de características de imagen 22 obtenidos se clasifican en un número predeterminado de agrupamientos por logaritmo de agrupamiento para generar una pluralidad de agrupamientos, se generan vectores representativos de la pluralidad de agrupamientos generados, y los vectores representativos generados se almacenan en la unidad de almacenamiento de vectores representativos de la estructura de árbol 72 como los vectores representativos en la etapa. Cuando la etapa en progreso no es la última etapa, la unidad de generación de agrupamiento 62 llama recursivamente al proceso en la siguiente etapa usando una pluralidad de vectores de características de imagen 22 que pertenecen a agrupamientos respectivos generados en la etapa en progreso como información de entrada. El vector representativo es, por ejemplo, el centroide para el vector de características de imagen 22 que pertenece al agrupamiento clasificado, y representativo del agrupamiento. Además, la unidad de generación de agrupamiento 62 almacena, para cada agrupamiento generado en la última etapa, los vectores de características de imagen 22 que pertenecen al agrupamiento en la unidad de almacenamiento de vectores de agrupamiento 71.
En el ejemplo mencionado anteriormente, en la primera etapa, la unidad de generación de agrupaciones 62 clasifica los vectores de características de imagen obtenidas 22 en 1.024 agrupaciones, luego genera vectores representativos respectivos de los agrupamientos clasificados en la primera etapa, y almacena los vectores representativos generados en la primera etapa en la unidad de almacenamiento de vectores representativos de la estructura de árbol 72. En la segunda etapa, la unidad de generación de agrupamiento 62 clasifica adicionalmente los 1.024 agrupamientos respectivos en 512 agrupamientos utilizando la pluralidad de vectores de características de imagen 22 que pertenecen a uno de los 1.024 agrupamientos generados en la primera etapa como información de entrada, luego genera vectores representativos respectivos de los agrupamientos clasificados en la segunda etapa, y almacena los vectores representativos generados en la etapa inferior en la unidad de almacenamiento de vectores representativos de la estructura de árbol 72. Cuando todos los agrupamientos se generan en la segunda etapa, el número total de los agrupamientos en la segunda etapa equivale a (1024 x 512). La unidad de generación de agrupamiento 62 también almacena, para cada agrupamiento generado en la segunda etapa, los vectores de características de imagen 22 que pertenecen al agrupamiento en la unidad de almacenamiento de vectores de agrupamiento 71. A continuación, para simplificar la descripción, el vector representativo que es representativo del agrupamiento en la primera etapa se denomina "vector representativo superior", y el vector representativo que es representativo del agrupamiento en la última etapa (segunda etapa en el ejemplo mencionado anteriormente) se denomina "vector de características representativos". El agrupamiento finalmente generado (agrupamiento en la segunda etapa en el ejemplo mencionado anteriormente) también se denomina "agrupamiento de características de imagen".
Cuando se clasifican los vectores de características de imagen 22 en agrupamientos, se puede emplear un método de agrupamiento ya conocido, tal como k-means. El número de agrupamientos es preferiblemente una potencia de 2 considerando los procesos realizados en la unidad de búsqueda de imágenes 52 descrita más adelante, pero puede no ser necesariamente una potencia de 2. Cuando se clasifican los vectores de características de imagen 22 incluidos en todas las imágenes, una pluralidad de los vectores de características de imagen 22 pertenece a cada agrupamiento de características de imagen. La unidad de generación de agrupamiento 62 realiza procesos recursivos de dos etapas, almacenando de este modo información de dos niveles en la unidad de almacenamiento de vectores representativo de la estructura de árbol 72. Ha de apreciarse que la unidad de extracción de vectores de características de imagen 61 y la unidad de generación de agrupamiento 62 pueden realizar cálculos sin utilizar el dispositivo de cálculo en paralelo 14. Sin embargo, se desea que el dispositivo de cálculo en paralelo 14 se use para realizar el cálculo mencionado anteriormente. Esto se debe a que, de acuerdo con un experimento comparativo, una velocidad de cálculo en el caso de usar el dispositivo de cálculo en paralelo 14 aumentó de 20 a 200 veces más rápido que en el caso de no usar el dispositivo de cálculo en paralelo 14.
La Figura 8 es un diagrama que ilustra un ejemplo de una estructura de árbol de vectores representativos. En un caso en el que la unidad de generación de agrupamiento 62 realiza los procesos de dos etapas mencionados anteriormente, los vectores representativos de dos etapas correspondientes a los agrupamientos de dos etapas construyen una estructura de árbol. El número de los vectores representativos superiores es 1.024, y cada uno de los vectores representativos superiores es un elemento primario de 512 vectores de características representativos. Cuando la estructura de árbol basada en agrupamientos de múltiples etapas se usa de la manera mencionada anteriormente, la unidad de búsqueda de imágenes 52 puede realizar una búsqueda utilizando una relación elemento primario-secundario entre los vectores representativos correspondientes a la estructura de árbol.
[Procesamiento para buscar y recuperar una imagen]
La Figura 9 es un diagrama de bloques funcional que ilustra una configuración funcional de la unidad de búsqueda de imágenes 52. La unidad de búsqueda de imágenes 52 incluye funcionalmente una unidad de transferencia de vectores representativos 81, una unidad de obtención de vectores de características de consulta 82, una unidad de
5
10
15
20
25
30
35
40
45
50
55
60
cálculo de distancia de vectores representativos superiores 83, una unidad de selección de agolpamiento representativo 84, una unidad de cálculo de distancia de vectores de características representativos 85, una unidad de selección de agolpamientos de características de imagen 86, una unidad de transferencia de vectores de características de imagen 87, una unidad de cálculo de distancia de vectores de características de imagen 88, una unidad de selección de vectores de características de imagen 89, una unidad de generación de puntuación de imagen 90, y una unidad de selección de imagen de resultado de búsqueda 91.
La Figura 10 es un diagrama que ilustra un esquema de procesamiento de la unidad de búsqueda de imágenes 52 de acuerdo con la primera realización. Se hace la siguiente descripción de las funciones respectivas incluidas en la unidad de búsqueda de imágenes 52 con referencia a un flujo de procesamiento ilustrado en la Figura 10.
[Inicialización del dispositivo de cálculo en paralelo]
La unidad de transferencia de vectores representativos 81 se implementa principalmente mediante el dispositivo de cálculo en paralelo 14 y la unidad de almacenamiento 12. La unidad de transferencia de vectores representativos 81 transfiere la pluralidad de vectores representativos superiores y la pluralidad de vectores de características representativos almacenados en la unidad de almacenamiento de vectores representativos de la estructura de árbol 72 en la memoria en dispositivo 45, que es accesible en común desde la pluralidad de procesadores 41 como procesamiento para inicializar el dispositivo de cálculo en paralelo 14 (Etapa S101).
La unidad de transferencia de vectores representativos 81 usa funciones de acceso directo a la memoria (DMA) del dispositivo de cálculo en paralelo 14 o el bus 15 para transferir los datos desde la unidad de almacenamiento 12 a la memoria en dispositivo 45.
La Figura 11 es un diagrama que ilustra un ejemplo de una disposición de datos en la memoria en dispositivo 45. La memoria en dispositivo 45 incluye una región para almacenar el vector de características representativo, una región para almacenar el vector representativo superior, y una región para almacenar los vectores de características de imagen 22 incluidos en un agrupamiento de características de imagen. La unidad de transferencia de vectores representativos 81 almacena información en una pluralidad de vectores representativos almacenados en la unidad de almacenamiento 12 en la región de memoria preasignada de la memoria en dispositivo 45. El almacenamiento de datos en la región para almacenar el agrupamiento de características de imagen se describe más adelante.
Cuando se supone que los elementos del vector de características representativo son 128 dimensiones, el número de vectores de características representativos es el mismo que el número de los agrupamiento de características de imagen (1024 x 512), y cada elemento es un entero de 1 byte, una cantidad de datos total de la pluralidad de vectores de características representativos es (1024 x 512 x 128) bytes (B), es decir, 64 MB. En este caso, el número de la pluralidad de vectores representativos superiores es 1.024, y de manera similar, una cantidad de datos de la pluralidad de vectores representativos superiores es así (1024 x 128) bytes, es decir, 128 KB. Por ejemplo, un tamaño de memoria de la memoria en dispositivo 45 instalada en la GPU existente es de aproximadamente 1 GB. Cuando se supone que el tamaño de la memoria en dispositivo 45 es también 1 GB, una cantidad de datos de la pluralidad de vectores representativos es menor que el tamaño de la memoria en dispositivo 45.
Por otra parte, cuando se supone que el número de imágenes es 1 millón, y el número de vectores de características de imagen 22 que se extraen de una imagen es 300, una cantidad de datos de los vectores de características de imagen 22 incluidos en la pluralidad de agrupamientos de características de imagen es (1 millón x 300 x 128) bytes, es decir, aproximadamente 36 GB, y no puede almacenarse en la memoria en dispositivo 45. El número promedio de vectores de características de imagen 22 para cada agrupamiento de características de imagen es (100 millones x 300 (1024 x 512)), es decir, aproximadamente de 600, y por lo tanto, la cantidad de datos es de
aproximadamente 75 KB. Incluso cuando el número de vectores de características de imagen 22 incluidos en el agrupamiento de características de imagen se cambia en cierto grado por logaritmo de agrupamiento, la suma de la cantidad de datos de la pluralidad de vectores de características representativos, la cantidad de datos de la pluralidad de vectores representativos superiores, y la cantidad de datos de los vectores de características de imagen 22 incluidos en un agrupamiento de características de imagen es menor que el tamaño de la memoria en dispositivo 45.
La Figura 12 es un diagrama que ilustra un ejemplo de una disposición de vectores representativos en la memoria en dispositivo 45. El tamaño de cada elemento del vector representativo almacenado en la memoria en dispositivo 45 es de 4 bytes, y los elementos están alineados en orden. Además, la dirección de comienzo de datos de uno de los vectores representativos es múltiplo del número de bytes de datos que se pueden leer de forma masiva en la memoria en dispositivo 45 (por ejemplo, 32 o 64). Esta estructura de datos permite que la pluralidad de procesadores 41 lean los datos almacenados en la memoria en dispositivo 45 de forma masiva en el proceso de
5
10
15
20
25
30
35
40
45
50
55
60
cálculo de distancia descrito más adelante. Aunque el tamaño de cada elemento del vector representativo es de 1 byte, la unidad de transferencia de vectores representativos 81 transfiere, a la memoria en dispositivo 45, datos en los que el tamaño de cada elemento se convierte en 4 bytes de manera que los datos puedan leerse de forma masiva. Ha de apreciarse que el vector representativo superior y los vectores de características de imagen 22 incluidos en un agrupamiento de características de imagen también se almacenan en la memoria en dispositivo 45 mediante una estructura de datos similar. En la memoria en dispositivo 45, los datos de la pluralidad de vectores de características representativos, la pluralidad de vectores representativos superiores, y los vectores de características de imagen 22 incluidos en un agrupamiento de características de imagen se aumentan cuatro veces en la cantidad, pero la suma de la cantidad de datos es aún menor que el tamaño de la memoria en dispositivo 45 en este ejemplo. En esta realización, el número de agrupamientos de características de imagen o vectores representativos puede ajustarse de manera que al menos la suma de la cantidad de datos de la pluralidad de vectores de características representativos y la pluralidad de vectores representativos superiores en la memoria en dispositivo 45 esté dentro del tamaño de la memoria en dispositivo 45.
[Obtención del vector de características de consulta]
La unidad de obtención de vectores de características de consulta 82 se implementa principalmente mediante la CPU 11, la unidad de almacenamiento 12, y el dispositivo de cálculo en paralelo 14. Después de inicializar el dispositivo de cálculo en paralelo 14, la unidad de obtención de vectores de características de consulta 82 obtiene uno o una pluralidad de vectores de características de consulta a partir de la imagen de consulta (Etapa S102). Además, la unidad de obtención de vectores de características de consulta 82 almacena uno o una pluralidad de vectores de características de consulta extraídos de la imagen de consulta en la memoria en dispositivo 45 que sirve como memoria compartida.
En primer lugar, la unidad de obtención de vectores de características de consulta 82 obtiene una imagen de consulta del dispositivo cliente 3 a través del servidor web 2. La Figura 13 es un diagrama que ilustra un ejemplo de una pantalla a la que se ingresa la imagen de consulta. El dispositivo cliente 3 visualiza la pantalla utilizando los datos generados por el servidor web 2. La imagen de consulta puede obtenerse cargando un archivo de imagen en el dispositivo cliente 3, o enviando una URL de una imagen mostrada en una página web. Como alternativa, la imagen de consulta se puede obtener seleccionándola entre las imágenes almacenadas en un servicio de intercambio de fotografías, por ejemplo. La unidad de obtención de vectores de características de consulta 82 obtiene entonces la imagen de consulta obtenida a través del servidor de web 2, y extrae y obtiene uno o una pluralidad de vectores de características de consulta de la imagen de consulta. El vector de características de consulta se genera por el mismo método utilizado por la unidad de extracción de vectores de características de imagen 61 para extraer el vector de características de imagen 22. A continuación, la unidad de obtención de vectores de características de consulta 82 almacena los vectores de características de consulta en la memoria en dispositivo 45. Aquí, la CPU 11 puede extraer los vectores de características de consulta, y el dispositivo de cálculo en paralelo 14 puede cargar los vectores de características de consulta en la memoria en dispositivo 45. Como alternativa, la imagen de consulta puede cargarse en el dispositivo de cálculo en paralelo 14, y el dispositivo de cálculo en paralelo 14 puede extraer y almacenar los vectores de características de consulta en la memoria en dispositivo 45.
[Selección de agrupamiento de características de imagen]
A continuación, la unidad de búsqueda de imágenes 52 selecciona el agrupamiento de características de imagen correspondiente a cada uno de la pluralidad de vectores de características de consulta (Etapa S103). Este proceso se realiza mediante la unidad de cálculo de distancia de vectores representativos superiores 83, la unidad de selección de agrupamiento representativo 84, la unidad de cálculo de distancia de vectores de características representativos 85, y la unidad de selección de agrupamiento de características de imagen 86.
La unidad de cálculo de distancia de vectores representativos superiores 83 está implementada principalmente por el dispositivo de cálculo en paralelo 14. La unidad de cálculo de distancia de vectores representativos superiores 83 calcula las distancias entre cada uno de la pluralidad de vectores representativos superiores y el vector de características de consulta utilizando la pluralidad de procesadores en paralelo 41. A continuación, se describen los detalles del cálculo de distancia mediante la unidad de cálculo de distancia de vectores representativos superiores 83. Ha de apreciarse que los procesos por la unidad de cálculo de distancia de vectores representativos superiores 83, la unidad de selección de agrupamiento representativo 84, la unidad de cálculo de distancia de vectores de características representativos 85, la unidad de selección de agrupamiento de características de imagen 86, la unidad de cálculo de distancia de vectores de características de imagen 88, y la unidad de selección de vectores de características de imagen 89 se realizan para cada vector de características de consulta extraído de la imagen de consulta.
5
10
15
20
25
30
35
40
45
50
55
60
La Figura 14 es un diagrama que ilustra un ejemplo de un flujo de procesamiento del cálculo de distancia. En primer lugar, la unidad de cálculo de distancia de vectores representativos superiores 83 carga los vectores de características de consulta desde la memoria en dispositivo 45 a la memoria de alta velocidad 43 de la unidad de ejecución en paralelo 40 donde se realiza el cálculo de distancia (Etapa S201). Posteriormente, la unidad de cálculo de distancia de vectores representativos superiores 83 carga cada elemento de un vector como objetivo de cálculo (aquí, vector representativo superior) desde la memoria en dispositivo 45 a un registro del procesador 41 en el que se calcula dicho elemento (Etapa S202). En este momento, la pluralidad de procesadores 41 lee, de forma masiva de la memoria en dispositivo 45, datos del vector como objetivo de cálculo. Los datos del vector como objetivo de cálculo se almacenan previamente en la memoria en dispositivo 45 mediante, por ejemplo, la unidad de transferencia de vectores representativos 81 de manera que los datos se leen de forma masiva y, por lo tanto, la pluralidad de procesadores 41 puede leer los datos. La unidad de cálculo de distancia de vectores representativos superiores 83 resta entonces los elementos del vector como objetivo de cálculo almacenado en el registro de los elementos correspondientes del vector de características de consulta, y cuadra el resultado de la resta (Etapa S203). En el cálculo de la distancia, se puede usar otra función de distancia, tal como el valor absoluto de un resultado de resta, en lugar de cuadrar el resultado de la resta. La distancia utilizada en la función de distancia no está limitada a la distancia euclidiana (L2) tal como en la Etapa S203, y puede ser una consigna, una distancia de Manhattan (L1) o similar.
A continuación, la unidad de cálculo de distancia de vectores representativos superiores 83 suma los resultados de cálculo obtenidos en la Etapa S103 con respecto a los elementos respectivos del vector como objetivo de cálculo (Etapa S204). Posteriormente, la unidad de cálculo de distancia de vectores representativos superiores 83 almacena la suma de los resultados en la memoria en dispositivo 45 (Etapa S205). Obsérvese que, cuando el número de procesadores 41 que están incluidos en una unidad de ejecución en paralelo 40 y ejecutan la misma instrucción es menor que el número de los elementos del vector de características de consulta o el vector como objetivo de cálculo, los procesos de la Etapa S202 a la Etapa S204 se dividen de acuerdo con el número de procesadores 41, y se ejecutan una pluralidad de veces. Además, cuando hay una pluralidad de unidades de ejecución en paralelo 40, la unidad de cálculo de distancia de vectores representativos superiores 83 hace que otra unidad de ejecución en paralelo 40 ejecute procesos de las Etapas S201 a S205 para otro vector como objetivo de cálculo. Otros vectores de características de consulta extraídos de la imagen de consulta también se pueden calcular en paralelo. De esta manera, el cálculo de la distancia de los vectores de características de consulta y otra pluralidad de vectores como objetivos de cálculo se realiza en paralelo en función de la capacidad de cálculo en paralelo del dispositivo de cálculo en paralelo 14 tal como una GPU. Como puede apreciarse a partir de los procesos del cálculo de distancia, el cálculo de distancia de la pluralidad de vectores dispuestos adecuadamente en la memoria en dispositivo 45 y los vectores de características de consulta tiene una alta compatibilidad con hardware tal como una GPU, y se realiza muy rápido.
La unidad de selección de agrupamiento representativo 84 se implementa principalmente mediante el dispositivo de cálculo en paralelo 14. La unidad de selección de agrupamiento representativo 84 selecciona uno de los grupos de la pluralidad de vectores de características representativos basándose en la distancia entre el vector de características de consulta y la pluralidad de vectores representativos superiores respectivos calculados en la unidad de cálculo de distancia de vectores representativos superiores 83. Más específicamente, por ejemplo, la unidad de selección de agrupamiento representativo 84 selecciona un grupo de pluralidad de vectores de características representativos que son secundarios del vector representativo superior que tiene la distancia más corta desde el vector de características de consulta. Los grupos de los vectores de características representativos corresponden a los agrupamientos respectivos (agrupamientos representativos) en la primera etapa. La selección de un grupo de vectores de características representativos corresponde a la selección de un agrupamiento representativo correspondiente al grupo. Cada uno de los vectores representativos superiores puede representar una pluralidad de vectores de características representativos. Más específicamente, la unidad de selección de agrupamiento representativo 84 selecciona un grupo de los vectores representativos calculando una dirección de comienzo de una región en una memoria para almacenar el grupo de los vectores representativos. Por ejemplo, cuando el número de vectores de características representativos que serán secundarios de un vector representativo superior se fija independientemente del vector representativo superior, y cuando es evidente en qué posición en el orden está vector representativo superior que tiene la distancia más corta, la unidad de selección de agrupamiento representativo 84 puede obtener la dirección de comienzo mediante un cálculo sencillo, tal como una multiplicación. De esta manera, no es necesario un cálculo que requiera una ramificación o acceso a la memoria adicional, y por lo tanto, es posible el procesamiento para hacer un mejor uso del rendimiento del hardware, tal como una GPU.
La unidad de cálculo de distancia de vectores de características representativos 85 se implementa principalmente mediante el dispositivo de cálculo en paralelo 14. La unidad de cálculo de distancia de vectores de características representativos 85 calcula las distancias entre cada uno de al menos algunos de la pluralidad de vectores de
5
10
15
20
25
30
35
40
45
50
55
60
características representativos y el vector de características de consulta usando la pluralidad de procesadores en paralelo 41. En este caso, un vector de características representativo como objetivo de cálculo es un vector de características representativo que pertenece al grupo seleccionado por la unidad de selección de agolpamiento representativo 84. La unidad de cálculo de distancia de vectores de características representativos 85 calcula distancias de acuerdo con el flujo de la Figura 14 de forma similar a la forma en que la unidad de cálculo de distancia de vectores representativos superiores 83 calcula las distancias. Sin embargo, el vector como objetivo de cálculo es el vector de características representativo mencionado anteriormente. De manera similar a la unidad de cálculo de distancia de vectores representativos superiores 83, este proceso tiene una alta compatibilidad con hardware, tal como una GPU, y se realiza muy rápido.
La unidad de selección de agrupamiento de características de imagen 86 se implementa principalmente mediante el dispositivo de cálculo en paralelo 14. La unidad de selección de agrupamiento de características de imagen 86 selecciona uno de la pluralidad de agrupamientos de características de imagen basándose en la distancia entre el vector de características de consulta y cada uno de una pluralidad de vectores de características representativos calculados por la unidad de cálculo de distancia de vectores de características representativos 85. Más específicamente, por ejemplo, la unidad de selección de agrupamiento de características de imagen 86 selecciona un agrupamiento de características de imagen representado por el vector de características representativo que tiene la distancia más corta desde el vector de características de consulta.
Obsérvese que, en esta realización, los vectores representativos tienen una estructura de árbol de dos etapas, tal como los vectores representativos superiores y los vectores de características representativos, pero pueden tener una estructura de una etapa sin los vectores representativos superiores. En este caso, los procesos de la unidad de cálculo de distancia de vectores representativos superiores 83 y la unidad de selección de agrupamiento representativo 84 no son necesarios, y la unidad de cálculo de distancia de vectores de características representativos 85 realiza el cálculo de distancia para todos los vectores de características representativos. Como alternativa, los vectores representativos pueden tener una estructura de tres etapas o más.
[Selección del vector de características de imagen]
Después de que se selecciona el agrupamiento de características de imagen, la unidad de búsqueda de imágenes 52 calcula una distancia entre cada uno de la pluralidad de vectores de características de consulta y el vector de características de imagen 22 que pertenece al agrupamiento de características de imagen seleccionado, y
selecciona uno o una pluralidad vectores de características de imagen 22 correspondientes al vector de
características de consulta basándose en la distancia (Etapa S104). Este proceso se realiza mediante la unidad de transferencia de vectores de características de imagen 87, la unidad de cálculo de distancia de vectores de características de imagen 88 y la unidad de selección de vectores de características de imagen 89.
La unidad de transferencia de vectores de características de imagen 87 se implementa principalmente por la unidad de almacenamiento 12 y el dispositivo de cálculo en paralelo 14. La unidad de transferencia de vectores de características de imagen 87 transfiere la pluralidad de vectores de características de imagen 22 que pertenecen al agrupamiento de características de imagen seleccionado por la unidad de selección de agrupamiento de
características de imagen 86 desde la unidad de almacenamiento de vectores de agrupamiento 71 a la memoria en
dispositivo 45, que es accesible en común desde la pluralidad de procesadores 41. De forma similar a la unidad de transferencia de vectores representativos 81 configurada para transferir, por ejemplo, el vector de características representativo, la unidad de transferencia de vectores de características de imagen 87 dispone los datos del vector de características de imagen 22 para permitir que la pluralidad de procesadores 41 lean de forma masiva los datos almacenados en la memoria en dispositivo 45.
La unidad de cálculo de distancia de vectores de características de imagen 88 se implementa principalmente mediante el dispositivo de cálculo en paralelo 14. La unidad de cálculo de distancia de vectores de características de imagen 88 calcula las distancias entre cada uno de la pluralidad de vectores de características de imagen 22 y el vector de características de consulta usando la pluralidad de procesadores en paralelo 41. Aquí, el vector de características de imagen 22 utilizado para el cálculo es el vector de características de imagen 22 que pertenece al agrupamiento de características de imagen seleccionado por la unidad de selección de agrupamiento de características de imagen 86. Los datos han sido transferidos por la unidad de transferencia de vectores de características de imagen 87 a la memoria en dispositivo 45. La unidad de cálculo de distancia de los vectores de características de imagen 88 calcula una distancia para cada vector de características de consulta de acuerdo con el flujo de la Figura 14 de forma similar a la forma en que la unidad de cálculo de distancia de vectores representativos superiores 83 calcula las distancias. Sin embargo, el vector como objetivo de cálculo es el vector de características de imagen 22. De manera similar a la unidad de cálculo de distancia de vectores representativos superiores 83, este proceso tiene una alta compatibilidad con hardware, tal como una GPU, y se realiza muy rápido.
5
10
15
20
25
30
35
40
45
50
55
60
La unidad de selección de vectores de características de imagen 89 se implementa principalmente mediante el dispositivo de cálculo en paralelo 14. La unidad de selección de vectores de características de imagen 89 selecciona la pluralidad de vectores de características de imagen 22 correspondientes a cada uno de la pluralidad de vectores de características de consulta basándose en las proximidades entre la pluralidad de vectores de características de consulta y la pluralidad de vectores de características de imagen 22 que pertenecen al agrupamiento de características de imagen seleccionado. Como la proximidad, se usa una distancia en este ejemplo. Aquí, la unidad de selección de vectores de características de imagen 89 selecciona la pluralidad de vectores de características de imagen 22 que satisfacen la siguiente condición. La condición indica que se selecciona un vector de características de imagen 22 para un valor de características de consulta dado de cada una de una pluralidad de imágenes a buscar. Esta condición evita que una pluralidad de vectores de características de imagen 22 extraídos de una imagen dada correspondan a un vector de características de consulta.
La Figura 15 es un diagrama que ilustra un ejemplo de una correspondencia entre el vector de características de consulta extraído de la imagen de consulta y el vector de características de imagen 22 extraído de la pluralidad de imágenes a buscar. Un rectángulo ilustrado en el lado izquierdo de la Figura 15 indica la imagen de consulta, y las marcas "x" incluidas en el mismo indican los vectores de características de consulta extraídos de la imagen de consulta. Cada uno de los rectángulos dispuestos en vertical en el lado derecho de la Figura 15 indica una imagen a buscar, y las respectivas marcas "x" incluidas en cada uno de los rectángulos indican el vector de características de imagen 22 extraído de la imagen. Como se ilustra en la Figura 15, un vector de características de consulta corresponde a un único vector de características de imagen 22 entre una imagen de consulta dada y una de las imágenes a buscar. Mientras tanto, el vector de características de imagen 22 extraído de las otras imágenes a buscar puede existir con respecto al vector de características de consulta. Debería entenderse que algunas imágenes no incluyen el vector de características de imagen 22 correspondiente al vector de características de consulta y, por lo tanto, el número de vectores de características de imagen 22 correspondientes a un vector de características de consulta dado que se extraen de una imagen dada es uno o cero.
La Figura 16 es un diagrama que ilustra un ejemplo de un flujo de procesamiento de la unidad de selección de vectores de características de imagen 89. La unidad de selección de vectores de características de imagen 89 realiza el procesamiento ilustrado en la Figura 16 para cada vector de características de consulta. Además, una lista de características ya seleccionadas descrita más adelante se comparte entre todos los vectores de características de consulta con respecto a una imagen de consulta dada, y la lista de características ya seleccionadas se inicializa antes de que se realice el procesamiento para el primer vector de características de consulta. Se hace la siguiente descripción del procesamiento para un vector de características de consulta dado.
En primer lugar, la unidad de selección de vectores de características de imagen 89 obtiene los vectores de características de imagen 22 cuyas distancias desde el vector de características de consulta son más cortas que un valor de umbral predefinido entre los vectores de características de imagen 22 que pertenecen al agrupamiento seleccionado, y ordena los vectores de características de imagen obtenidos 22 basándose en la distancia (Etapa S301).
La Figura 17 es un diagrama que ilustra un ejemplo de un caso de selección de vectores de características de imagen 22 con respecto a un vector de características de consulta. En la Figura 17, el círculo de línea continua indica el agrupamiento seleccionado, el círculo de color negro en el centro del círculo de línea continua indica un vector representativo 241 (precisamente, las coordenadas del vector) del agrupamiento, y los círculos de color blanco indican los vectores de características de la imagen 22 incluidos en el agrupamiento. Los signos más indican los vectores de características de consulta. En el ejemplo de la Figura 17, los vectores de características de imagen 221 y 223, que existen dentro de la línea discontinua alrededor del círculo de color blanco del vector de características de consulta 321, y cuya distancia desde un vector de características de consulta 321 está dentro de un rango del valor umbral, se obtienen con respecto al vector de características de consulta 321, y los vectores de características de imagen obtenidos 221 y 223 se clasifican. Además, los vectores de características de imagen 222 y 223 se obtienen con respecto a un vector de características de consulta 322, y se clasifican. Aquí, la precisión de búsqueda se puede controlar cambiando el valor de umbral. Específicamente, el valor de umbral más pequeño permite transmitir menos vectores de características de imagen 22 como los resultados de búsqueda, mientras que el valor de umbral más grande permite transmitir el vector de características de imagen 22 dentro del rango más amplio como resultados de búsqueda. Se ha de tener en cuenta que, todos los vectores de características de imagen incluidos en el agrupamiento se seleccionan cuando se establece el valor de umbral máximo. Se ha de apreciar que, se puede obtener un número predefinido de vectores de características de consulta en orden ascendente de la distancia en lugar de basarse en si la distancia está dentro de un rango. Cabe apreciar que, en la Figura 17, para facilitar la comprensión, el vector representativo del agrupamiento, los vectores de características de imagen incluidos en el agrupamiento, y los vectores de características de consulta se ilustran utilizando un dibujo
5
10
15
20
25
30
35
40
45
50
55
60
bidimensional, pero en realidad, estos vectores no son bidimensionales, sino de 128 dimensiones.
Posteriormente, la unidad de selección de vectores de características de imagen 89 borra e inicializa las imágenes que pertenecen a una lista de imágenes ya seleccionadas (Etapa S302). Posteriormente, la unidad de selección de vectores de características de imagen 89 obtiene el primer vector de características de imagen 22 como sujeto a procesar entre los vectores de características de imagen clasificados 22 (Etapa S303). Cuando el vector de características de imagen 22 a procesar no se ha extraído de una imagen incluida en la lista de imágenes ya seleccionadas (N en la Etapa S304) y no existe en la lista de características ya seleccionadas (N en la Etapa S305), la unidad de selección de vectores de características de imagen 89 selecciona el vector de características de imagen 22 a procesar como uno que corresponde al vector de características de consulta (Etapa S306). Después, la unidad de selección de vectores de características de imágenes 89 añade el vector de características de imágenes seleccionado 22 a la lista de características ya seleccionadas (Etapa S307) y añade la imagen de la que se ha extraído el vector de características de imagen seleccionado 22 a la lista de imágenes ya seleccionadas (Etapa S308). Cuando el vector de características de imagen 22 a procesar se ha extraído de la imagen incluida en la lista de imágenes ya seleccionadas (Y en la Etapa S304) o existe en la lista de características ya seleccionadas (Y en la Etapa S305), los procesos de la Etapa S306 a la Etapa S308 se omiten.
Cuando el vector de características de imagen 22 a procesar es el último vector de características de imagen 22 (Y en la Etapa S309), el procesamiento para el vector de características de consulta se finaliza, y cuando el vector de características de imagen 22 a procesar no es el último vector de características de imagen 22 (N en la Etapa S309), la unidad de selección de vectores de características de imagen 89 obtiene el siguiente vector de características de imagen 22 como sujeto a procesar (Etapa S310), y repite la Etapa S304 y las etapas posteriores.
De acuerdo con los procesos de la Etapa S304 y similares, es posible suprimir un fenómeno en el que se seleccionan una pluralidad de vectores de características de imagen 22 extraídos de una imagen para un vector de características de consulta dado. De acuerdo con los procesos de la Etapa S305 y similares, es posible suprimir un fenómeno en el que, por ejemplo, el vector de características de la imagen 223 ilustrado en la Figura 17 se selecciona una pluralidad de veces por la pluralidad de vectores de características de consulta. En otras palabras, los vectores de características de imagen 22 seleccionados con respecto a un vector de características de consulta no se solapan con los vectores de características de imagen 22 seleccionados con respecto a otro vector de características de consulta. Como resultado, el vector de características de consulta extraído de la imagen de consulta y el seleccionado de los vectores de características de imagen 22 extraídos de una cualquiera de las imágenes a buscar se corresponden entre sí en una base de uno a uno.
La Figura 18 es un diagrama que ilustra un ejemplo de una correspondencia entre una característica local dentro de una imagen de consulta (que corresponde al vector de características de consulta) y una característica local dentro de una imagen a buscar (correspondiente al vector de características de imagen 22). En la Figura 18, el rectángulo ilustrado en el lado superior indica la imagen de consulta, y el rectángulo ilustrado en el lado inferior indica la imagen a buscar. Una pluralidad de triángulos incluidos en estas imágenes indican características locales similares entre sí. De esta manera, la característica local dentro de la imagen de consulta y la característica local dentro de la imagen a buscar se corresponden entre sí en una base de uno a uno.
La Figura 19 es un diagrama que ilustra un ejemplo comparativo de la correspondencia entre la característica local dentro de la imagen de consulta y la característica local dentro de la imagen a buscar. La Figura 19 ilustra un ejemplo en el que los procesos de la Etapa S304 y S305 no se realizan. Este caso se refiere a una correspondencia de muchos a muchos, que aumenta drásticamente el número de vectores de características de imagen seleccionados 22.
Como es evidente a partir de la comparación entre la Figura 18 y la Figura 19, el procesamiento mencionado anteriormente puede evitar que se extraigan entre la imagen de consulta y una de las imágenes a buscar más vectores de características de imagen 22 que tienen diferentes números de valores de características locales que aquellos que tienen el mismo número. Esto puede reducir, a través del procesamiento de generación de puntuación descrito más adelante, la probabilidad de que una imagen en la que el número de características locales sea muy diferente del número de características locales incluidas en la imagen de consulta se pueda seleccionar como un resultado de búsqueda.
[Generación de puntuación para cada imagen]
Cuando se selecciona el vector de características de imagen 22, la unidad de generación de puntuación de imagen 90 incluida en la unidad de búsqueda de imágenes 52 genera una puntuación para cada una de las imágenes a buscar (Etapa S105). La unidad de generación de puntuación de imagen 90 se implementa principalmente mediante
5
10
15
20
25
30
35
40
45
50
el dispositivo de cálculo en paralelo 14. La unidad de generación de puntuación de imagen 90 calcula un elemento de puntuación para cada una de una pluralidad de imágenes basándose en las proximidades entre la pluralidad seleccionada de vectores de características de imagen 22 que indican la característica de la imagen y el vector de características de consulta correspondiente al vector de características de imagen seleccionado 22, y genera la puntuación de imagen de la imagen basándose en una suma total de los elementos de puntuación.
La unidad de generación de puntuación de imagen 90 usa la siguiente expresión para calcular un elemento de puntuación se para cada uno de los vectores de características de imagen seleccionados 22.
[Expresión 1]
1
se—---------------
In (disí + e)
En esta expresión, "dist" representa una distancia entre el vector de características de imagen 22 y el vector de características de consulta correspondiente al vector de características de imagen 22, "In" representa un logaritmo natural, y "e" representa una base del logaritmo natural. Con esto, el elemento de puntuación se del vector de características de imagen 22 que tiene un vector de características de consulta correspondiente cambia según la distancia. Posteriormente, para cada una de las imágenes, la unidad de generación de puntuación de imagen 90 usa una suma total de los elementos de puntuación s de los vectores de características de imagen 22 extraídos de la imagen y seleccionados por la unidad de selección de vectores de características de imagen 89, para calcular una puntuación de imagen si como en la siguiente expresión.
[Expresión 2]
imagen1
En esta expresión, "kn" representa el número de vectores de características de imagen 22 extraídos de la imagen. El puntuación de imagen si generada por estas expresiones es una puntuación generado al considerar no solo la frecuencia con la que se selecciona el vector de características de imagen 22 para cada una de las imágenes sino también la proximidad entre cada uno del vector de características de consulta y el vector de características de imagen correspondiente 22, que puede mejorar aún más la precisión de búsqueda.
La Figura 20 es un diagrama que ilustra un ejemplo de variación de distancias entre el vector de características de consulta y los vectores de características de imagen 22. Por ejemplo, en un caso en el que, como en la Figura 20, hay una imagen en la que un vector de características de consulta 324 está cerca de un vector de características de imagen 224 seleccionado con respecto al mismo, y una imagen en la que un vector de características de consulta 325 está cerca de un vector de características de imagen 225 seleccionado con respecto al mismo, por lo tanto, las puntuaciones se calculan con el mismo peso convencionalmente, pero de acuerdo con el procesamiento mencionado anteriormente, es posible calcular la puntuación en la que se refleja tal diferencia y realizar una búsqueda en la que se refleja adicionalmente la similitud en la característica local.
[Selección de imagen]
Cuando se genera la puntuación de imagen, la unidad de selección de imagen de resultado de búsqueda 91 incluida en la unidad de búsqueda de imágenes 52 selecciona la imagen que será el resultado de búsqueda (Etapa S106). La unidad de selección de imagen de resultado de búsqueda 91 está implementada principalmente por el dispositivo de cálculo en paralelo 14. La unidad de selección de imagen de resultado de búsqueda 91 selecciona al menos una de la pluralidad de imágenes a buscar como el resultado de búsqueda basándose en la puntuación de imagen calculada por la unidad de generación de puntuación de imagen 90. Específicamente, la unidad de selección de imagen de resultado de búsqueda 91 ordena las puntuaciones de imagen en orden descendente del valor, selecciona un cierto número de imágenes que tienen las puntuaciones de imagen más altas, o selecciona las imágenes que tienen puntuaciones de imagen superiores a un valor predeterminado.
La Figura 21 es un diagrama que ilustra un ejemplo de resultados de clasificación de puntuaciones de imagen. Cuando se usa la bandera turca, que incluye una marca de estrella, como la imagen de consulta como se ilustra en la Figura 21, se suprime un fenómeno en el que el puntuación de la imagen se eleva para una imagen de la bandera
5
10
15
20
25
30
35
40
45
50
55
60
de estrellas de Estados Unidos que incluye una gran cantidad de marcas de estrellas. Cuando se selecciona la imagen, la unidad de selección de imagen de resultado de búsqueda 91 envía información sobre la imagen seleccionada al servidor web 2. El servidor web 2 transmite la información para mostrar la imagen del resultado de búsqueda al dispositivo cliente 3.
Cabe apreciar que los procesos de la unidad de cálculo de distancia de vectores representativos superiores 83 a la unidad de cálculo de distancia de vectores de características de imagen 88 son altamente compatibles con el hardware para realizar cálculos en paralelo, tal como una GPU, y pueden aprovechar al máximo la capacidad de cálculo en paralelo de la GPU. Además, los procesos posteriores también permiten el procesamiento en paralelo en cierto grado, y son capaces de realizar el procesamiento a mayor velocidad que cuando se usa la CPU 11. Por lo tanto, es posible disfrutar suficientemente de un efecto de acortar un tiempo de procesamiento por la GPU. Además, la CPU 11 puede ejecutar una parte de esos procesos.
[Primer ejemplo]
A diferencia de la primera realización, un sistema de búsqueda de imágenes de acuerdo con un primer ejemplo no determina la distancia entre el vector de características de imagen 22 y el vector de características de consulta después de seleccionar el agrupamiento de características de imagen. Este método es un método de búsqueda parcialmente similar al método BoF. Se hace la siguiente descripción principalmente de las diferencias de la primera realización. Cabe apreciar que las configuraciones de los dispositivos que forman el sistema de búsqueda de imágenes ilustrado en la Figura 1 y puntos en los que el dispositivo de búsqueda de imágenes 1 incluye la unidad de generación de índices 51 y la unidad de búsqueda de imágenes 52 son las mismas que las de la primera realización.
[Generación de índice]
De la misma manera que en la primera realización, la unidad de generación de índices 51 incluye la unidad de extracción de vectores de características de imagen 61 y la unidad de generación de agrupamiento 62. La unidad de extracción de vectores de características de imagen 61 extrae la pluralidad de vectores de características de imagen 22 de cada una de la pluralidad de imágenes a buscar. La unidad de generación de agrupamiento 62 clasifica los vectores de características de imagen extraídos 22 en una pluralidad de agrupamientos de características de imagen. Además, la unidad de generación de agrupamiento 62 almacena los vectores representativos de estos agrupamientos de características de imagen en una unidad de almacenamiento de vectores representativos 172, y almacena información relacionada con los vectores de características de imagen 22 que pertenecen al agrupamiento de características de imagen en una unidad de almacenamiento de valor de características de imagen de agrupamiento 171. Se puede usar el mismo método que en la primera realización para la clasificación en los agrupamientos de características de imagen. Sin embargo, la unidad de generación de agrupamiento 62 almacena la información correspondiente al índice del vector de características de imagen 22, más específicamente, la información de identificación en la imagen de la que se han extraído los vectores de características de imagen, en la unidad de almacenamiento de valor de características de imagen de agrupamiento 171 en lugar de los respectivos elementos de los vectores de características de imagen 22. La unidad de almacenamiento de valor de características de imagen de agrupamiento 171 y la unidad de almacenamiento de vectores representativos 172 están configuradas específicamente por la unidad de almacenamiento 12.
La Figura 22 es un diagrama que ilustra un ejemplo de datos almacenados en la unidad de almacenamiento de valor de características de imagen de agrupamiento 171. La unidad de almacenamiento de valor de características de imagen de agrupamiento 171 almacena una pluralidad de registros que tienen cada uno elementos que incluyen un número de agrupamiento que sirve como información de identificación sobre el agrupamiento de características de imagen y un número de imagen que sirve como información de identificación sobre la imagen. Aquí, un registro corresponde a un vector de características de imagen 22. Cuando existe una pluralidad de vectores de características de imagen extraídos de una imagen dada en el mismo agrupamiento de características de imagen, el número de registros que tienen el mismo número de agrupamiento y el mismo número de imagen es el número de vectores de características de imagen 22.
[Procesamiento para buscar y recuperar una imagen]
La Figura 23 es un diagrama de bloques funcional que ilustra una configuración funcional de la unidad de búsqueda de imágenes 52 de acuerdo con el primer ejemplo. La unidad de búsqueda de imágenes 52 incluye funcionalmente una unidad de obtención de vectores de características de consulta 181, una unidad de selección de agrupación de características 182, una unidad de selección de vectores de características de imágenes 183, una unidad de generación de puntuación de imagen 184, y una unidad de selección de imagen de resultado de búsqueda 185.
5
10
15
20
25
30
35
40
45
50
55
60
La Figura 24 es un diagrama que ilustra un esquema de procesamiento de la unidad de búsqueda de imágenes 52 de acuerdo con el primer ejemplo. Se hace la siguiente descripción de las funciones respectivas incluidas en la unidad de búsqueda de imágenes 52 con referencia a un flujo de procesamiento ilustrado en la Figura 24.
[Obtención del vector de características de consulta]
La unidad de obtención de vectores de características de consulta 181 se implementa principalmente mediante la CPU 11, la unidad de almacenamiento 12, y el dispositivo de cálculo en paralelo 14. En primer lugar, la unidad de obtención de vectores de características de consulta 181 obtiene uno o una pluralidad de vectores de características de consulta a partir de la imagen de consulta (Etapa S1101). Este proceso es el mismo que el proceso realizado por la unidad de obtención de vectores de características de consulta 82 en la primera realización.
[Selección de agrupamiento de características de imagen]
La unidad de selección de agrupamiento de características de imagen 182 se implementa principalmente por la CPU 11, la unidad de almacenamiento 12 y el dispositivo de cálculo en paralelo 14. Cuando se obtiene el vector de características de consulta, la unidad de selección de agrupamiento de características de imagen 182 selecciona la pluralidad de agrupamientos de características de imagen que corresponden respectivamente a la pluralidad de vectores de características de consulta (Etapa S1102). Más específicamente, la unidad de selección de agrupamiento de características de imagen 182 selecciona, con respecto a cada uno de los vectores de características de consulta, el agrupamiento de características de imagen que tiene el vector representativo que está más cerca del vector de características de consulta. Como un método de cálculo más detallado, el cálculo de la distancia puede realizarse usando la CPU 11, o como se describe en la primera realización, el agrupamiento de características de imagen puede seleccionarse utilizando el dispositivo de cálculo en paralelo 14 y la estructura de árbol del vector representativo. Cabe apreciarse que puede asumirse que el agrupamiento de características de imagen seleccionado corresponde a una palabra visual utilizada en el método BoF.
[Selección del vector de características de imagen]
La unidad de selección de vectores de características de imagen 183 se implementa principalmente por la CPU 11 y la unidad de almacenamiento 12. La unidad de selección de vectores de características de imagen 183 selecciona el vector de características de imagen 22 correspondiente a cada uno de los vectores de características de consulta de los vectores de características de imagen 22 que pertenecen al agrupamiento de características de imagen seleccionado con respecto a cada uno de los vectores de características de consulta (Etapa S1103). Aquí, la unidad de selección de vectores de características de imagen 89 selecciona la pluralidad de vectores de características de imagen 22 que satisfacen las siguientes condiciones. Una condición indica que, para cada una de la pluralidad de imágenes a buscar, el número de vectores de características de imagen 22 seleccionados con respecto a un vector de características de consulta dado entre la pluralidad de vectores de características de imagen 22 extraídos de la imagen es uno. La otra condición indica que el vector de características de imagen 22 seleccionado con respecto a uno cualquiera de los vectores de características de consulta no se solapa con el vector de características de imagen 22 seleccionado con respecto a otro vector de características de consulta. La unidad de selección de vectores de características de imagen 183 selecciona, para cada uno de los vectores de características de consulta, todos los vectores de características de imagen 22 que satisfacen las condiciones mencionadas anteriormente como el vector de características de imagen 22 correspondiente al vector de características de consulta.
Como método de procesamiento específico, por ejemplo, el proceso de la Etapa S301 entre los procesos descritos en la primera realización con referencia a la Figura 16 puede cambiarse para obtener todos los vectores de características de imagen 22 incluidos en el agrupamiento de características de imagen seleccionado con respecto al vector de características de consulta. Cabe apreciar que, en este ejemplo, el propio vector de características de imagen 22 no está almacenado en la unidad de almacenamiento de valor de características de imagen de agrupamiento 171, y no se realiza el cálculo de distancia o el orden basándose en la distancia.
La Figura 25 es un diagrama para ilustrar una distribución de los vectores de características de imagen 22 dentro de un tercer agrupamiento de características de imagen y una selección realizada por vectores de características de consulta. La Figura 25 indica el número de vectores de características de imagen 22 para cada una de las imágenes dentro de un agrupamiento de características de imagen dado (aquí, agrupamiento de características de imagen que tiene el número de agrupamiento de "3"). En la Figura 25, el eje horizontal indica el número de imagen, y el eje vertical indica el número de vectores de características de imagen 22. Cuando el agrupamiento de características de imagen que tiene el número de agrupamiento "3" es seleccionado por un vector de características de consulta dado por primera vez, se selecciona un vector de características de imagen 22 extraído de cada una de las imágenes que tienen los números de imagen "3", "4", "5", "7" y "16". Además, cuando el agrupamiento de características de imagen
5
10
15
20
25
30
35
40
45
50
55
60
que tiene el número de agrupamiento "3" se selecciona por otro vector de características de consulta por segunda vez, se selecciona un vector de características de imagen 22 extraído de cada una de las imágenes que tienen los números de imagen "4" y "16" de entre los vectores de características de imagen restantes 22.
[Generación de puntuación para cada imagen]
La unidad de generación de puntuación de imagen 184 se implementa principalmente por la CPU 11 y la unidad de almacenamiento 12. La unidad de generación de puntuación de imagen 184 genera, para cada una de al menos una parte de la pluralidad de imágenes, la puntuación de imagen de la imagen basada en una frecuencia de aparición del vector de características de imagen 22 seleccionado dentro de la imagen correspondiente (Etapa S1104). Por ejemplo, la unidad de generación de puntuación de imagen 184 genera, para cada una de las imágenes, la puntuación de imagen contando el número de vectores de características de imagen 22 extraídos de la imagen y seleccionados con respecto al vector de características de consulta.
[Selección de imagen]
La unidad de selección de imagen de resultado de búsqueda 185 está implementada principalmente por la CPU 11 y la unidad de almacenamiento 12. La unidad de selección de imagen de resultado de búsqueda 185 selecciona la imagen que será el resultado de búsqueda (Etapa S1105). Específicamente, de la misma manera que en la unidad de selección de imagen de resultado de búsqueda 91 en la primera realización, la unidad de selección de imagen de resultado de búsqueda 185 selecciona al menos una de la pluralidad de imágenes a buscar basándose en la puntuación de la imagen como el resultado de búsqueda.
Como se ha descrito anteriormente, incluso cuando la distancia entre el vector de características de imagen 22 y el vector de características de consulta no se calcula después de seleccionar el agrupamiento de características de imagen, se produce tal efecto de que los vectores de características de consulta extraídos de la imagen de consulta están asociados con el vector de características de imagen 22 seleccionado de los vectores de características de imagen 22 extraídos de una cualquiera de las imágenes a buscar en una base de uno a uno, y la probabilidad de que la imagen en la que el número de características locales incluidas sea muy diferente de la cantidad de características locales incluidas en la imagen de consulta se puede seleccionar a medida que se suprime el resultado de búsqueda.
[Segundo ejemplo]
Como en el primer ejemplo, un sistema de búsqueda de imágenes de acuerdo con un segundo ejemplo no determina la distancia entre el vector de características de imagen 22 y el vector de características de consulta después de seleccionar el agrupamiento de características de imagen. En este ejemplo, se obtiene el mismo efecto que el del primer ejemplo utilizando un motor de búsqueda de texto completo como el que se usa en el método BoF. Se hace la siguiente descripción principalmente de las diferencias del primer ejemplo. Cabe apreciar que las configuraciones de los dispositivos que forman el sistema de búsqueda de imágenes ilustrado en la Figura y las configuraciones funcionales ilustradas en la Figura 2 y la Figura 23 son los mismos que las del primer ejemplo.
[Generación de índice]
En el segundo ejemplo, la unidad de generación de agrupamiento 62 almacena una matriz transpuesta generalmente utilizada en el método BoF en la unidad de almacenamiento de valor de características de imagen de agrupamiento 171. La matriz transpuesta utilizada en el método BoF representa una matriz formada por una columna correspondiente a la imagen y una fila correspondiente a la palabra visual. En este ejemplo, una cadena de caracteres que identifica la fila de la matriz se conoce como "identificador de palabra visual". Aquí, el identificador de palabra visual se obtiene al adjuntar información a un número de identificación del agrupamiento de características de imagen correspondiente a la palabra visual. La información indica una posición de orden del vector de características de imagen 22 correspondiente a una imagen dada en el agrupamiento de características de imagen relevante para extraer el vector de características de imagen 22.
La Figura 26 es un diagrama que ilustra un ejemplo de la matriz transpuesta utilizada para generar la puntuación de imagen. El identificador de palabra visual que no tiene guiones es el mismo que el número de agrupamiento del agrupamiento de características de imagen. Cuando "1" está en una celda definida por la fila de la palabra visual y la columna de un número de imagen dado, existe el primer vector de características de imagen 22 que se extrae de la imagen indicada por el número de imagen y pertenece al agrupamiento características de imagen. Además, con respecto al identificador de palabra visual que tiene guión, el número antes del guión indica el número de agrupamiento del agrupamiento de características de imagen, y el número después del guión indica un número
5
10
15
20
25
30
35
40
45
50
55
60
secuencia! del vector de características de imagen 22 dentro de la imagen. Por ejemplo, cuando "1" está en una celda definida por la fila que tiene el identificador de palabra visual "3-2" y la columna que tiene el número de imagen "4", el segundo vector de características de imagen 22 dentro de la cuarta imagen existe en el tercer agrupamiento de características de imagen. La celda en la que existe "1" corresponde al vector de características de imagen 22. Debe entenderse que no es necesario usar un guión para la expresión del identificador de palabra visual. El identificador de palabra visual puede expresarse en cualquier forma siempre que puedan identificarse los vectores de características de imagen 22 que pertenecen al mismo agrupamiento y se extraigan de la misma imagen.
Además, "muchos" dentro del identificador de palabra visual "3-muchos" indica un valor de umbral predefinido en el agrupamiento (aquí, "3") y los números secuenciales posteriores. Cuando "1" está en una celda definida por la fila que tiene el identificador de palabra visual "3-muchos" y la columna que tiene el número de imagen "4", los vectores de características de imagen 22 en una posición de orden predeterminada (tercera) y las posiciones de orden posterior existen en el tercer agrupamiento de características de imagen. En este ejemplo, "3-4" y las siguientes palabras visuales no pueden existir. Esto indica que la información sobre el cuarto vector de características de imagen 22 y los vectores de características de imagen posteriores 22 se borra. Además, esto es equivalente a que el número de valores de características de imagen correspondientes a una cualquiera de la pluralidad de imágenes a buscar entre los vectores de características de imagen 22 que pertenecen a un agrupamiento de características de imagen dado no exceda el valor de umbral en el agrupamiento. La unidad de generación de agrupamiento 62 elimina el vector de características de imagen 22 que excede el valor de umbral en el agrupamiento entre los vectores de características de imagen 22 que pertenecen a un agrupamiento de características de imagen dado y correspondientes a una cualquiera de la pluralidad de imágenes a buscar del agrupamiento de características de imagen, y almacena un resultado del mismo en la unidad de almacenamiento de valor de características de imagen de agrupamiento 171.
[Procesamiento para buscar y recuperar una imagen]
La Figura 27 es un diagrama que ilustra un esquema de procesamiento de la unidad de búsqueda de imágenes 52 de acuerdo con el segundo ejemplo. Se hace la siguiente descripción principalmente de las diferencias del primer ejemplo con referencia a un flujo de procesamiento ilustrado en la Figura 27.
En primer lugar, la unidad de obtención de vectores de características de consulta 181 obtiene uno o un pluralidad de vectores de características de consulta a partir de la imagen de consulta (Etapa S2101). Posteriormente, la unidad de selección de agrupamiento de características de imagen 182 selecciona la pluralidad de agrupamientos de características de imagen que corresponden respectivamente a la pluralidad de vectores de características de consulta (Etapa S2102). Esos procesos son los mismos que los del primer ejemplo y, por lo tanto, se omite una descripción de los mismos.
Posteriormente, la unidad de selección de vectores de características de imagen 183 genera el identificador de palabra visual basándose en el número de agrupamiento del agrupamiento de características de imagen seleccionado y una posición de orden en la que se selecciona el agrupamiento de características de imagen (Etapa
52103) . Esta regla de creación es la misma que una regla de generación para el identificador de palabra visual en la matriz transpuesta. Específicamente, el número de agrupamiento del agrupamiento de características de imagen se establece como el identificador de palabra visual cuando la posición de orden en la que se selecciona el agrupamiento de características de imagen es "1", el número de agrupamiento al que se añaden el guión y la posición de orden se establece como el identificador de palabra visual cuando la posición de orden es "2" a "(valor de umbral de características)-1", y el número de agrupamiento al que se añade "-muchos" se establece como el identificador de palabra visual cuando la posición de orden es el valor de umbral de características.
Posteriormente, la unidad de selección de vectores de características de imagen 183 selecciona el vector de características de imagen 22 correspondiente al identificador de palabra visual usando la matriz transpuesta (Etapa
52104) . La selección del vector de características de imagen 22 se realiza específicamente obteniendo la celda que contiene "1" y el número de imagen de la celda. Además, la unidad de selección de vectores de características de imagen 183 genera la puntuación de la imagen usando el número de imagen seleccionado y un valor numérico dentro de la celda (Etapa S2105). Entonces, la unidad de selección de vectores de características de imagen 183 selecciona la imagen que será el resultado de búsqueda basándose en la puntuación (Etapa S2106).
Los procesos de la Etapa S2104 a la Etapa S2106 se pueden realizar mediante un motor de búsqueda de texto completo conocido. Los ejemplos de este motor de procesamiento incluyen "Solr". Mediante la creación de la matriz transpuesta mencionada anteriormente, el valor dentro de la celda que se selecciona a partir de una imagen dada con respecto a un vector de características de consulta dado se limita a "1". Por consiguiente, los vectores de características de consulta extraídos de la imagen de consulta pueden asociarse con los vectores de características
de imagen 22 seleccionados para una imagen dada en una base de uno a uno. Esto produce un efecto de supresión de la probabilidad de que la imagen en la que el número de características locales es muy diferente del número de características locales incluidas en la imagen de consulta se pueda seleccionar como el resultado de búsqueda.
5 Lista de signos de referencia
1 dispositivo de búsqueda de imágenes, 2 servidor web, 3 dispositivo cliente, 11 CPU, 12 unidad de almacenamiento, 13 unidad de comunicación, 14 dispositivo de cálculo en paralelo, 15 bus, 22, 221, 222, 223, 224, 225 vector de características de imagen, 40 unidad de ejecución en paralelo, 41 procesador, 42 unidad de 10 instrucciones, 43 memoria de alta velocidad, 45 memoria en dispositivo, 51 unidad de generación de índices, 52 unidad de búsqueda de imágenes, 61 unidad de extracción de vectores de características de imagen, 62 unidad de generación de agrupamiento, 71 unidad de almacenamiento de vectores de agrupamiento, 72 unidad de almacenamiento de vectores representativos de la estructura de árbol, 81 unidad de transferencia de vectores representativos, 82, 181 unidad de obtención de vectores de características de consulta, 83 unidad de cálculo de 15 distancia de vectores representativos superiores, 84 unidad de selección de agrupamiento representativo, 85 unidad de cálculo de distancia de vectores de características representativos, 86, 182 unidad de selección de agrupamiento de características de imagen, 87 unidad de transferencia de vectores de características de imagen, 88 unidad de cálculo de distancia de vectores de características de imagen, 89, 183 unidad de selección de vectores de características de imagen, 90, 184 unidad de generación de puntuación de imagen, 91, 185 unidad de selección de 20 imagen de resultado de búsqueda, 171 unidad de almacenamiento de valor de características de imagen de agrupamiento, 172 unidad de almacenamiento de vectores representativos, 241 vector representativo, 321, 322, 324, 325 vector de características de consulta.

Claims (6)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    1. Un dispositivo de búsqueda de imágenes (1), que comprende:
    medios de obtención de valor de características de consulta (82) para obtener una pluralidad de valores de características de consulta, indicando cada uno de dicha pluralidad de valores de características de consulta una característica local de una imagen que sirve como consulta;
    medios de selección de valor de características de imagen (89) para seleccionar, para cada uno de la pluralidad de valores de características de consulta, valores de características de imagen de una pluralidad de valores de características de imagen que indican respectivamente características locales de cada una de una pluralidad de imágenes a buscar, que se almacenan en un medio de almacenamiento (12) por adelantado para cada una de las imágenes;
    medios de generación de puntuación (90) para generar una puntuación de imagen que indica un grado de similitud entre cada una de la pluralidad de imágenes a buscar y la imagen que sirve como consulta basándose en los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, en donde los medios de generación de puntuación (90) calculan un elemento de puntuación para cada una de la pluralidad de imágenes a buscar basándose en las proximidades entre la pluralidad de valores de características de consulta y los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, y generan la puntuación de imagen para una imagen a buscar basándose en una suma total de los elementos del puntuación para la imagen a buscar; y
    medios de selección de imagen (91) para seleccionar al menos una imagen de la pluralidad de imágenes a buscar, ordenando las puntuaciones de imagen en orden descendente de valor de puntuación de imagen, y seleccionando un cierto número de imágenes que tienen las puntuaciones de imagen más altas, o seleccionar imágenes que tienen puntuaciones de imagen superiores a un valor predeterminado, en el que los medios de selección de valor de características de imagen (89) seleccionan, para cada uno de la pluralidad de valores de características de consulta, no más de un valor de características de imagen por la imagen a buscar, siendo el no más de un valor de características de imagen seleccionado de una pluralidad de valores de características de imagen que aún no se han seleccionado para otro de la pluralidad de los valores de características de consulta.
  2. 2. El dispositivo de búsqueda de imágenes (1) de acuerdo con la reivindicación 1, que comprende
    además:
    medios de selección de agrupamiento (86) para seleccionar un agrupamiento correspondiente a cada uno de la pluralidad de valores de características de consulta de una pluralidad de agrupamientos en los que se clasifican una pluralidad de valores de características de imagen que indican características de la pluralidad de imágenes a buscar,
    en el que el medio de selección de valor de características de imagen (89) selecciona, para cada uno de la pluralidad de valores de características de consulta, el valor de características de imagen de la pluralidad de valores de características de imagen clasificados en un agrupamiento correspondiente a uno de la pluralidad de valores de características de consulta.
  3. 3. El dispositivo de búsqueda de imágenes (1) de acuerdo con la reivindicación 2, en el que:
    los medios de selección de agrupamiento (86) seleccionan agrupamientos que corresponden a los valores de características de consulta basados en distancias entre una pluralidad de valores de características representativos que representan respectivamente la pluralidad de agrupamientos y los valores de características de consulta.
  4. 4. El dispositivo de búsqueda de imágenes (1) de acuerdo con la reivindicación 3, en el que los medios de selección de valor de características de imagen (89) seleccionan, para cada uno de la pluralidad de valores de características de consulta, todos los valores de características de imagen que satisfacen las condiciones de que varios valores de características de imagen a seleccionar no son más de uno para cada una de las imágenes a buscar, y de que el valor de características de imagen seleccionado no se selecciona con respecto a un valor de características de consulta que es diferente del correspondiente de la pluralidad de valores de características de consulta, a partir de la pluralidad de valores de características de imagen que pertenecen al agrupamiento correspondiente a uno de la pluralidad de valores de características de consulta.
  5. 5. El dispositivo de búsqueda de imágenes (1) de acuerdo con cualquiera de la reivindicación 3 o 4, que comprende además:
    medios de extracción de valor de características de imagen (61) para extraer un valor de características de
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    imagen de cada una de las imágenes a buscar; y
    medios de generación de agolpamiento (62) para generar una pluralidad de agolpamientos en los que se clasifica al menos una parte de los valores de características de imagen extraídos,
    en el que los medios de generación de agrupamiento (62) generan la pluralidad de agrupamientos de manera que varios valores de características de imagen correspondientes a una cualquiera de la pluralidad de imágenes a buscar entre los valores de características de imagen que pertenecen a un agrupamiento dado no excedan un valor predeterminado.
    Un programa para hacer que un ordenador (1) funcione como:
    medios de obtención de valor de características de consulta (82) para obtener una pluralidad de valores de características de consulta, indicando cada uno de dicha pluralidad de cantidades de características de consulta una característica local de una imagen que sirve como consulta;
    medios de selección de valor de características de imagen (89) para seleccionar, para cada uno de la pluralidad de valores de características de consulta, valores de características de imagen de una pluralidad de valores de características de imagen que indican respectivamente características locales de cada una de una pluralidad de imágenes a buscar, que se almacenan en medios de almacenamiento (12) por adelantado para cada una de las imágenes;
    medios de generación de puntuación (90) para generar una puntuación de imagen que indica un grado de similitud entre cada una de la pluralidad de imágenes a buscar y la imagen que sirve como consulta basándose en los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, en donde los medios de generación de puntuación (90) calculan un elemento de puntuación para cada una de la pluralidad de imágenes a buscar basándose en las proximidades entre la pluralidad de valores de características de consulta y los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, y generan la puntuación de imagen para una imagen a buscar basándose en una suma total de los elementos del puntuación para la imagen a buscar; y
    medios de selección de imagen (91, 185) para seleccionar al menos una imagen de la pluralidad de imágenes a buscar, ordenando las puntuaciones de imagen en orden descendente de valor de puntuación de imagen, y seleccionando un cierto número de imágenes que tienen las puntuaciones de imagen más altas, o seleccionar imágenes que tienen puntuaciones de imagen superiores a un valor predeterminado, en el que los medios de selección de valor de características de imagen (89) seleccionan, para cada uno de la pluralidad de valores de características de consulta, no más de un valor de características de imagen por la imagen a buscar, siendo el no más de un valor de características de imagen seleccionado de una pluralidad de valores de características de imagen que aún no se han seleccionado para otro de la pluralidad de los valores de características de consulta.
    Un método de búsqueda de imágenes, que comprende las etapas de:
    obtener una pluralidad de valores de características de consulta, indicando cada uno de dicha pluralidad de valores de características de consulta una característica local de una imagen que sirve como consulta; seleccionar, para cada uno de la pluralidad de valores de características de consulta, valores de características de imagen de una pluralidad de valores de características de imagen que indican respectivamente características locales de cada una de una pluralidad de imágenes a buscar, que se almacenan en medios de almacenamiento (12) por adelantado para cada una de las imágenes; generar una puntuación de imagen que indica un grado de similitud entre cada una de la pluralidad de imágenes a buscar y la imagen que sirve como consulta basándose en los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, en donde generar la puntuación de imagen comprende calcular un elemento de puntuación para cada una de la pluralidad de imágenes a buscar basándose en las proximidades entre la pluralidad de valores de características de consulta y los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, y generar la puntuación de imagen para una imagen a buscar basándose en una suma total de los elementos del puntuación para la imagen a buscar; y seleccionar al menos una imagen de la pluralidad de imágenes a buscar, ordenando las puntuaciones de imagen en orden descendente de valor de puntuación de imagen, y seleccionando un cierto número de imágenes que tienen las puntuaciones de imagen más altas, o seleccionar imágenes que tienen puntuaciones de imagen superiores a un valor predeterminado,
    en el que la etapa de seleccionar valores de características de imagen comprende seleccionar, para cada uno de la pluralidad de valores de características de consulta, no más de un valor de características de imagen por las imágenes a buscar, siendo el no más de un valor de características de imagen seleccionado de una pluralidad de valores de características de imagen que aún no se han seleccionado para otro de la
    5
    10
    15
    20
    25
    30
    pluralidad de los valores de características de consulta.
  6. 8. Un medio de almacenamiento de información legible por ordenador que tiene almacenado en el mismo
    un programa para hacer que un ordenador (1) funcione como:
    medios de obtención de valor de características de consulta (82) para obtener una pluralidad de valores de características de consulta, indicando cada uno de dicha pluralidad de valores de características de consulta una característica local de una imagen que sirve como consulta;
    medios de selección de valor de características de imagen (89) para seleccionar, para cada uno de la pluralidad de valores de características de consulta, valores de características de imagen de una pluralidad de valores de características de imagen que indican respectivamente características locales de cada una de una pluralidad de imágenes a buscar, que se almacenan en medios de almacenamiento (12) por adelantado para cada una de las imágenes;
    medios de generación de puntuación (90) para generar una puntuación de imagen que indica un grado de similitud entre cada una de la pluralidad de imágenes a buscar y la imagen que sirve como consulta basándose en los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, en donde los medios de generación de puntuación (90) calculan un elemento de puntuación para cada una de la pluralidad de imágenes a buscar basándose en las proximidades entre la pluralidad de valores de características de consulta y los valores de características de imagen seleccionados con respecto a la pluralidad de valores de características de consulta, y generan la puntuación de imagen para una imagen a buscar basándose en una suma total de los elementos del puntuación para la imagen a buscar; y
    medios de selección de imagen (91, 185) para seleccionar al menos una imagen de la pluralidad de imágenes a buscar, ordenando las puntuaciones de imagen en orden descendente de valor de puntuación de imagen, y seleccionando un cierto número de imágenes que tienen las puntuaciones de imagen más altas, o seleccionar imágenes que tienen puntuaciones de imagen superiores a un valor predeterminado, en el que los medios de selección de valor de características de imagen (89) seleccionan, para cada uno de la pluralidad de valores de características de consulta, no más de un valor de características de imagen por la imagen a buscar, siendo el no más de un valor de características de imagen seleccionado de una pluralidad de valores de características de imagen que aún no se han seleccionado para otro de la pluralidad de los valores de características de consulta.
ES13768360.3T 2012-03-29 2013-03-29 Dispositivo de búsqueda de imágenes, método de búsqueda de imágenes, programa y medio de almacenamiento legible por ordenador Active ES2680574T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012078344 2012-03-29
JP2012078344A JP5577372B2 (ja) 2012-03-29 2012-03-29 画像検索装置、画像検索方法、プログラムおよびコンピュータ読取り可能な記憶媒体
PCT/JP2013/059551 WO2013147170A1 (ja) 2012-03-29 2013-03-29 画像検索装置、画像検索方法、プログラムおよびコンピュータ読取り可能な記憶媒体

Publications (1)

Publication Number Publication Date
ES2680574T3 true ES2680574T3 (es) 2018-09-10

Family

ID=49260411

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13768360.3T Active ES2680574T3 (es) 2012-03-29 2013-03-29 Dispositivo de búsqueda de imágenes, método de búsqueda de imágenes, programa y medio de almacenamiento legible por ordenador

Country Status (6)

Country Link
US (1) US9747305B2 (es)
EP (1) EP2829990B1 (es)
JP (1) JP5577372B2 (es)
CN (1) CN104246765B (es)
ES (1) ES2680574T3 (es)
WO (1) WO2013147170A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4976578B1 (ja) * 2011-09-16 2012-07-18 楽天株式会社 画像検索装置およびプログラム
CN103678660B (zh) * 2013-12-24 2017-01-11 北京邮电大学 一种图像检索方法
US20150254280A1 (en) * 2014-03-06 2015-09-10 Nec Laboratories America, Inc. Hybrid Indexing with Grouplets
JP5995916B2 (ja) * 2014-07-09 2016-09-21 日本電信電話株式会社 画像検索装置、方法、及びプログラム
US10509800B2 (en) * 2015-01-23 2019-12-17 Hewlett-Packard Development Company, L.P. Visually interactive identification of a cohort of data objects similar to a query based on domain knowledge
JP6557504B2 (ja) * 2015-04-22 2019-08-07 株式会社リクルート 画像適否判定装置、画像適否判定方法および画像適否判定プログラム
JP6012819B1 (ja) * 2015-07-03 2016-10-25 日本電信電話株式会社 類似画像取得装置、方法、及びプログラム
JP6317715B2 (ja) * 2015-09-11 2018-04-25 日本電信電話株式会社 画像認識装置、方法、及びプログラム
US11301509B2 (en) * 2017-01-20 2022-04-12 Rakuten Group, Inc. Image search system, image search method, and program
JP6811645B2 (ja) * 2017-02-28 2021-01-13 株式会社日立製作所 画像検索装置及び画像検索方法
JP6904102B2 (ja) * 2017-06-26 2021-07-14 大日本印刷株式会社 画像検索方法及びサーバ
CN110019903A (zh) 2017-10-10 2019-07-16 阿里巴巴集团控股有限公司 图像处理引擎组件的生成方法、搜索方法及终端、系统
US10789288B1 (en) * 2018-05-17 2020-09-29 Shutterstock, Inc. Relational model based natural language querying to identify object relationships in scene
CN109165309B (zh) * 2018-08-06 2020-10-16 北京邮电大学 负例训练样本采集方法、装置及模型训练方法、装置
US10949702B2 (en) * 2019-04-16 2021-03-16 Cognizant Technology Solutions India Pvt. Ltd. System and a method for semantic level image retrieval
CN110175546B (zh) * 2019-05-15 2022-02-25 深圳市商汤科技有限公司 图像处理方法及装置、电子设备和存储介质
CN112765380A (zh) * 2019-11-04 2021-05-07 阿里巴巴集团控股有限公司 图像处理方法、图像搜索方法、计算机设备、存储介质
CN116881485A (zh) * 2023-06-19 2023-10-13 北京百度网讯科技有限公司 生成图像检索索引的方法及装置、电子设备和介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4344134A (en) 1980-06-30 1982-08-10 Burroughs Corporation Partitionable parallel processor
US4742552A (en) 1983-09-27 1988-05-03 The Boeing Company Vector image processing system
JPS6432379A (en) 1987-07-29 1989-02-02 Hitachi Ltd Computer
US5253308A (en) 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
JP2609196B2 (ja) 1993-03-22 1997-05-14 株式会社エイ・ティ・アール自動翻訳電話研究所 類似度計算装置
US6134541A (en) 1997-10-31 2000-10-17 International Business Machines Corporation Searching multidimensional indexes using associated clustering and dimension reduction information
US6285995B1 (en) 1998-06-22 2001-09-04 U.S. Philips Corporation Image retrieval system using a query image
US6728752B1 (en) 1999-01-26 2004-04-27 Xerox Corporation System and method for information browsing using multi-modal features
EP1089198A3 (en) 1999-09-30 2003-03-12 Hewlett-Packard Company, A Delaware Corporation Content-based image searching
GB2382886B (en) 2001-10-31 2006-03-15 Alphamosaic Ltd Vector processing system
JP2005234994A (ja) * 2004-02-20 2005-09-02 Fujitsu Ltd 類似度判定プログラム、マルチメディアデータ検索プログラム、類似度判定方法、および類似度判定装置
JPWO2006033257A1 (ja) 2004-09-24 2008-05-15 松下電器産業株式会社 画像変換方法、画像変換装置、サーバークライアントシステム、携帯機器およびプログラム
US20070244925A1 (en) 2006-04-12 2007-10-18 Jean-Francois Albouze Intelligent image searching
CN101122949A (zh) * 2007-08-30 2008-02-13 中国科学技术大学 一种基于局部频率特征和局部方向特征的虹膜识别方法
JP5098559B2 (ja) 2007-10-11 2012-12-12 富士ゼロックス株式会社 類似画像検索装置、及び類似画像検索プログラム
WO2009060722A1 (ja) 2007-11-06 2009-05-14 National University Corporation Hokkaido University 類似画像検索装置
US8195689B2 (en) 2009-06-10 2012-06-05 Zeitera, Llc Media fingerprinting and identification system
US8144947B2 (en) 2008-06-27 2012-03-27 Palo Alto Research Center Incorporated System and method for finding a picture image in an image collection using localized two-dimensional visual fingerprints
JP2010250637A (ja) * 2009-04-17 2010-11-04 Seiko Epson Corp 画像サーバー、画像検索システム、画像検索方法および画像管理方法
US8429173B1 (en) 2009-04-20 2013-04-23 Google Inc. Method, system, and computer readable medium for identifying result images based on an image query
EP2469468A4 (en) * 2009-08-18 2014-12-03 Univ Osaka Prefect Public Corp OBJECT DETECTION METHOD
JP5458815B2 (ja) 2009-11-11 2014-04-02 株式会社デンソーアイティーラボラトリ マルチメディア検索システム
JP5337673B2 (ja) 2009-11-13 2013-11-06 株式会社日立製作所 画像検索システム
JP5385105B2 (ja) 2009-11-25 2014-01-08 Kddi株式会社 画像検索方法およびシステム
RU2533441C2 (ru) 2009-12-30 2014-11-20 Нокиа Корпорейшн Способ и устройство для обеспечения поиска изображения по содержимому
JP2012033022A (ja) * 2010-07-30 2012-02-16 Panasonic Corp 空間における変化領域検出装置及び方法
US9043316B1 (en) 2011-03-28 2015-05-26 Google Inc. Visual content retrieval

Also Published As

Publication number Publication date
US20150016729A1 (en) 2015-01-15
JP5577372B2 (ja) 2014-08-20
EP2829990A1 (en) 2015-01-28
US9747305B2 (en) 2017-08-29
EP2829990B1 (en) 2018-05-30
EP2829990A4 (en) 2015-06-03
WO2013147170A1 (ja) 2013-10-03
JP2013206437A (ja) 2013-10-07
CN104246765A (zh) 2014-12-24
CN104246765B (zh) 2018-03-20

Similar Documents

Publication Publication Date Title
ES2680574T3 (es) Dispositivo de búsqueda de imágenes, método de búsqueda de imágenes, programa y medio de almacenamiento legible por ordenador
ES2665504T3 (es) Dispositivo de búsqueda de imágenes, método de búsqueda de imágenes, programa y soporte de almacenamiento legible por ordenador
ES2699252T3 (es) Aparato de búsqueda de imágenes, método de búsqueda de imágenes, programa y medio de registro legible por ordenador
US8943091B2 (en) System, method, and computer program product for performing a string search
Zhang et al. Image retrieval with geometry-preserving visual phrases
US8625907B2 (en) Image clustering
WO2020005605A1 (en) Table detection in spreadsheet
US9158758B2 (en) Retrieval of prefix completions by way of walking nodes of a trie data structure
JP5373998B1 (ja) 辞書生成装置、方法、及びプログラム
CN113836448A (zh) 一种信息展示方法、装置、计算机设备及存储介质
US11422998B2 (en) Data management system, data management device, data management method, and storage medium
CN107220317B (zh) 基于人工智能的匹配度评估方法、装置、设备及存储介质
Shu et al. Face-graph matching for classifying groups of people
Tsai Two strategies for bag-of-visual words feature extraction
Nguyen et al. Integrating spatial information into inverted index for large-scale image retrieval
JP4418726B2 (ja) 文字列探索装置、探索方法およびこの方法のプログラム
CN112925837B (zh) 文本结构化方法及装置
Wu et al. Asymmetric Feature Fusion for Image Retrieval
TWI451277B (zh) 檢索標籤視覺化系統及其方法
US20230334122A1 (en) Roi-based data content graph for wide data management
US20180046873A1 (en) Reference line setting device, reference line setting method and reference line setting program
Luo et al. Efficient geometric re-ranking for mobile visual search
Ye et al. A method for organizing map dataset to support multi-scale
CN104572699A (zh) 一种基于saas的出版物平台的海量数据读取方法