ES2752728T3 - Sistemas y métodos para el reconocimiento basado en características de imagen - Google Patents

Sistemas y métodos para el reconocimiento basado en características de imagen Download PDF

Info

Publication number
ES2752728T3
ES2752728T3 ES15731669T ES15731669T ES2752728T3 ES 2752728 T3 ES2752728 T3 ES 2752728T3 ES 15731669 T ES15731669 T ES 15731669T ES 15731669 T ES15731669 T ES 15731669T ES 2752728 T3 ES2752728 T3 ES 2752728T3
Authority
ES
Spain
Prior art keywords
image
query
descriptors
feature descriptors
crumbling
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
ES15731669T
Other languages
English (en)
Inventor
Philipp Holzschneider
Thorsten Otto Wolfgang Magers
Hannes Priehn
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.)
Geenee GmbH
Original Assignee
Geenee GmbH
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 Geenee GmbH filed Critical Geenee GmbH
Application granted granted Critical
Publication of ES2752728T3 publication Critical patent/ES2752728T3/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes

Abstract

Un servidor para identificar y transmitir a un dispositivo móvil (121, 122) información adicional relacionada con una imagen de consulta obtenida por un usuario con el dispositivo móvil, comprendiendo el servidor: una base de datos de imágenes de referencia (720) que almacena uno o más descriptores de características de referencia, asociados con una o más imágenes de referencia, en una tabla de desmenuzamiento, en donde dicha tabla de desmenuzamiento comprende una pluralidad de cubetas, cada cubeta que está asociada con una dirección y cada cubeta que comprende cero o un elemento(s), en donde almacenar uno o más descriptores de características de referencia comprende: calcular, para cada uno de los descriptores de características de referencia, una pluralidad de primeras direcciones de desmenuzamiento utilizando una pluralidad de funciones de desmenuzamiento; usar una función aleatoria para calcular, para cada una de la pluralidad de primeras direcciones de desmenuzamiento, una segunda dirección de desmenuzamiento dentro de un intervalo predefinido alrededor de una primera dirección de desmenuzamiento respectiva; almacenar el descriptor de características de referencia respectivo en cubetas asociadas con la pluralidad de segundas direcciones de desmenuzamiento y reemplazar el un elemento en la cubeta con el descriptor de características de referencia cuando la cubeta respectiva no está vacía; y Un procesador para ejecutar módulos que comprende: un módulo de recepción de consultas para recibir, desde el dispositivo móvil (121, 122), una primera consulta que incluye uno o más descriptores de características de imagen de consulta; un módulo de recuperación de descriptores de características candidatas (746) para: calcular, para cada uno del uno o más descriptores de características de imagen de consulta asociados con la imagen de consulta, una pluralidad de terceras direcciones de desmenuzamiento utilizando la pluralidad de funciones de desmenuzamiento, y calcular un número de apariciones de cada descriptor de características de imagen de referencia almacenados en la base de datos de imágenes de referencia (720) dentro de un segundo intervalo de direcciones predefinido alrededor de cada una de la pluralidad de terceras direcciones de desmenuzamiento; un módulo de recuperación de imágenes candidatas (750) para: seleccionar un conjunto de descriptores de características de imagen de referencia que se calculó a ocurrir con mayor frecuencia; un módulo de coincidencia de imagen (142; 710) para: comparar el conjunto seleccionado de descriptores de características de imagen de referencia con el uno o más descriptores de características de imagen de consulta para determinar si alguna imagen de referencia coincide con la imagen de consulta; el servidor además está configurado para realizar las etapas de, si se determina una imagen de referencia coincidente, la obtención de información adicional asociada con la al menos una imagen de referencia coincidente desde una base de datos de anotaciones (144; 780), y transmitir la información adicional al dispositivo móvil para visualizarla como información adicional relacionada con el al menos un artículo de interés para el usuario.

Description

DESCRIPCIÓN
Sistemas y métodos para el reconocimiento basado en características de imagen
Solicitudes relacionadas
Esta solicitud reivindica prioridad de la solicitud de patente provisional de EE.UU. N.° 61/937.859, presentada el 10 de febrero de 2014.
Campo
La presente descripción se refiere al reconocimiento de objetos visuales, y más específicamente, a métodos y sistemas para el reconocimiento de contenido y objetos en imágenes digitales, y métodos y sistemas para la entrega rápida de contenido adicional y/o información relacionada con los objetos de contenido reconocidos. Los métodos y sistemas descritos en este documento también pueden ser aplicables a servicios de búsqueda y procesos de recuperación y reconocimiento de imágenes basados en contenido.
Antecedentes
En el mundo de hoy, casi todos tienen un dispositivo móvil con cámara en todo momento. Los usuarios de dispositivos móviles se han acostumbrado a poder usar el dispositivo móvil para obtener información adicional sobre el mundo que los rodea utilizando su dispositivo móvil. Los usuarios de dispositivos móviles de hoy usarán Internet para obtener información adicional, investigar precios, ver los productos antes de comprar e incluso comprar artículos o contenido. Los usuarios de hoy quieren ese acceso de la manera más rápida y eficiente posible, con el menor número de etapas posible.
El deseo de obtener más información puede desencadenarse, por ejemplo, al ver un objeto o escena en el mundo que nos rodea, algo visto en forma impresa, como una valla publicitaria, póster o película, o por algo visto en una pantalla, tal como una película, programa de televisión, sitio web u otro contenido digital.
Hay técnicas existentes para facilitar la entrega de información adicional sobre artículos o contenido al dispositivo móvil de un usuario. Por ejemplo, un marcador, como un código de barras unidimensional o un código QR bidimensional, se puede juntar físicamente a un producto o se puede imprimir al lado de una imagen del producto en una página impresa, póster o valla publicitaria. En algunos casos, se pueden agregar patrones generados artificialmente a las imágenes. Al escanear el código o el patrón generado artificialmente, ya sea con un dispositivo de escaneo de utilidad especial o usando la función de cámara y una aplicación en el dispositivo móvil del usuario, se puede entregar más información al usuario. La información adicional se puede codificar directamente en el marcador, o la información codificada en el marcador se puede utilizar para recuperar información adicional de una base de datos.
El reconocimiento de imágenes sin la inserción de marcadores artificiales es técnicamente más sofisticado ya que no todos los objetos tienen o pueden tener dicho marcador. Para estos casos, se han desarrollado técnicas para reconocer imágenes utilizando una combinación de algoritmos de reconocimiento de objetos y coincidencia de patrones. El método Viola-Jones, por ejemplo, como se describe en "The Rapid Object Detection Using a Boosted Cascade of Simple Features", por Paul Viola y Michael Jones, realiza una cascada de operaciones de escaneo predefinidas para así evaluar la probabilidad de la presencia de cierta forma en la imagen y un algoritmo de clasificación, como AdaBoost, para identificar el objeto. Usando una "imagen integral" como una estructura de datos de acceso de píxeles aleatorio, el método Viola-Jones selecciona una pequeña cantidad de características visuales críticas de un conjunto genérico más grande para producir un subconjunto de clasificadores, luego combina clasificadores progresivamente más complejos en una "cascada" (AdaBoost) para permitir que se descarten las regiones de fondo y que se realicen más computaciones en regiones prometedoras similares a objetos. Los métodos de clasificación generalmente tienen dos fases, una fase de entrenamiento y una fase de prueba, durante la cual los datos de entrenamiento pueden usarse para identificar objetos. Los métodos de clasificación son computacionalmente intensivos y dependen de la preselección cuidadosa de las imágenes de entrenamiento. Estos tipos de métodos de reconocimiento de objetos se usan típicamente en la detección de objetos con la misma forma y características, tal como caras, señales de tráfico, logotipos de marcas y similares.
Otros enfoques utilizan atributos o características distintivos presentes en las imágenes para la detección y el reconocimiento basado en imágenes. En estos sistemas, las características se extraen de un conjunto de imágenes de entrenamiento, y luego el sistema detecta si hay características correspondientes entre un conjunto de instantáneas o entre una instantánea y un conjunto de imágenes de entrenamiento. Las aplicaciones de detección y reconocimiento basadas en imágenes abarcan desde la costura de panorámicas y de imágenes, la reconstrucción 3D dispersa, la realidad aumentada (por ejemplo, Microsoft® Photosynth™, VisualSFM™, Qualcomm® Vuforia™), hasta servicios de búsqueda y reconocimiento de imágenes proporcionados por Google® Goggles™ y Kooaba™/Vuforia™ Cloud Recognition. Estas técnicas de reconocimiento basadas en imágenes se usan solo para reconocer objetos y no extraen información adicional depositada dentro de la imagen. Además, las tecnologías existentes generalmente requieren la transmisión de archivos de medios con gran densidad de datos (como la imagen en sí o datos de video y / o audio) desde un dispositivo de captura (por ejemplo, un teléfono inteligente) a un servidor de procesamiento a través de una red, lo que retrasa aún más reconocimiento del objeto. Los métodos existentes también requieren que toda la información adicional asociada con el objeto se transmita desde un servidor de vuelta al dispositivo móvil, lo que lleva tiempo y siendo inutilizable en situaciones en las que no hay conexión de red al servidor.
Existen algunos métodos y sistemas para extraer ciertas características del video y generar una "huella digital" para transmitir a un servidor de identificación de contenido para su uso en la identificación del contenido. La patente de estados unidos N.° 8.793.274 de Yu, por ejemplo, extrae huellas digitales de VDNA por sus siglas en inglés (ADN de video), a partir de los contenidos capturados. La patente '274, sin embargo, se concierne específicamente con la extracción de huellas digitales del video (es decir, capturar una secuencia de imágenes), incluso del audio que lo acompaña.
También ha habido algunos intentos de proporcionar algunos métodos y sistemas para el reconocimiento automático del contenido de medios, pero hasta la fecha todos han sido insatisfactorios. Cualesquiera métodos y sistemas existentes que funcionan para medios fijos no se adaptan fácilmente para su uso con video. Los sistemas que generan huellas digitales de VDNA son computacionalmente intensivos y utilizan archivos de medios de gran tamaño que son difíciles de transmitir rápidamente a través de una red. Es más, cualquier sistema que use huellas digitales de VDNA debe preocuparse por los picos de uso, ya que los accesos múltiples a través de la red al mismo tiempo exacerbarán aún más el problema del ancho de banda. Los sistemas que intentan reconocer medios de video y objetos en los mismos deben resolver el problema de capturar una buena imagen utilizable que contenga los artículos de interés. Dichos sistemas también deben tener en cuenta el retardo de tiempo que ocurre inevitablemente entre el momento en que se muestra la escena que puede haber interesado a un usuario y el momento en que el usuario inicia la captura.
Por lo tanto, existe la necesidad de sistemas y métodos que requieran solo una cantidad mínima de datos de medios (tal como una sola imagen, en lugar de una generación de huella digital al estilo VDNA que requiere el uso de una serie de imágenes junto con datos de audio) para detectar o reconocer un objeto o contenido, y que no requiere la transmisión de datos de medios a través de una red. Es más, también existe la necesidad de un sistema que sea escalable para manejar un gran volumen de datos de entrenamiento de las tramas de video, para superar las limitaciones que generalmente están asociadas con el reconocimiento de imágenes usando tramas de video como conjunto de entrenamiento. Dichas limitaciones pueden incluir la comparación de una gran cantidad de imágenes individuales o tramas de video con dominios de reconocimiento de imágenes clásicos, y una enorme redundancia en el conjunto de datos de entrenamiento generado a partir de tramas de video. Además, también hay una necesidad de acelerar y mejorar la precisión del proceso de reconocimiento, especialmente cuando el reconocimiento de imagen se realiza a través de un video. Por último, también hay una necesidad de filtrar las consultas redundantes para manejar los picos en las consultas, para reservar valiosos recursos de red y de computación.
XIN XIN ET AL: "Large Visual Repository Search with Hash Collision Design Optimization", 1 de abril de 2013, XP011515223, se dirige a una forma para realizar una búsqueda visual en un repositorio de imágenes grandes. MANI MALEK ESMAEILE ET AL: "A Fast Approximate Nearest Neighbor Search Algorithm in the Hamming Space", 1 de diciembre de 2012, XP011490765 se dirige hacia un algoritmo de búsqueda de vecino más cercano para un espacio de Hamming.
Breve descripción de los dibujos
Los dibujos adjuntos, que se incorporan y constituyen una parte de esta descripción, ilustran varias realizaciones y, junto con la descripción, sirven para explicar los principios descritos en los dibujos:
La figura 1A es un diagrama que ilustra un sistema ilustrativo para proporcionar a los usuarios con información adicional relacionada con un artículo de interés en el contenido digital visualizado, de acuerdo con las realizaciones de la presente descripción.
La figura 1B ilustra el uso de métodos y sistemas ilustrativos descritos en este documento para obtener más información sobre objetos o cosas en el contenido digital visualizado.
La figura 1C ilustra el uso de métodos y sistemas ilustrativos descritos en este documento para proporcionar más información a los usuarios sobre objetos o cosas en un medio digital.
La figura 2A ilustra el proceso de la técnica anterior de generar a partir de los puntos destacados en una imagen una colección de vectores descriptores de características para ser ensamblados como huellas digitales de imágenes.
La figura 2B son diagramas que ilustran métodos de la técnica anterior para encontrar una transformada de ajuste que coincida con las ubicaciones de características correspondientes de la imagen de consulta y la imagen de referencia.
La figura 3 es un diagrama de bloques que ilustra un sistema ilustrativo para obtener información adicional sobre un objeto de interés en una instantánea de imagen, de acuerdo con realizaciones de la presente descripción.
La figura 4A es un diagrama de flujo que ilustra un método ilustrativo para consultar una base de datos de índice de características de imagen para procesar una transmisión de video de cámara en vivo como entrada, de acuerdo con las realizaciones de la presente descripción.
La figura 4B es un diagrama de flujo que ilustra un método ilustrativo para procesar el resultado de consultar la base de datos del índice de características de imagen para encontrar una imagen coincidente, de acuerdo con las realizaciones de la presente descripción.
La figura 4C es un diagrama de flujo que ilustra un método ilustrativo para consultar un conjunto de imágenes en la caché antes de consultar la base de datos de índice de características de imagen para encontrar una imagen coincidente, de acuerdo con las realizaciones de la presente descripción.
Las figuras 5A-5H son diagramas que ilustran métodos de la técnica anterior para consultar, organizar y acceder a la base de datos de índice de características de imagen.
Las figuras 6A-6E son diagramas que ilustran otros métodos ilustrativos para consultar, organizar y acceder a la base de datos del índice de características de imagen, de acuerdo con las realizaciones de la presente descripción.
La figura 7 es un diagrama de bloques que ilustra un sistema ilustrativo para procesar huellas digitales de imagen, de acuerdo con las realizaciones de la presente descripción.
La figura 8 es un diagrama de bloques que ilustra otro sistema ilustrativo para procesar huellas digitales de imagen, de acuerdo con las realizaciones de la presente descripción.
La figura 9 es un diagrama de bloques que ilustra un sistema ilustrativo en el que se pueden implementar realizaciones de la presente divulgación.
Descripción detallada de las realizaciones ilustrativas
Ahora se hará referencia en detalle a las realizaciones, cuyos ejemplos se ilustran en los dibujos adjuntos. Siempre que sea posible, se utilizarán los mismos números de referencia en todos los dibujos para referirse a las mismas partes o partes similares.
De acuerdo con aspectos de la invención, se proporciona un servidor para identificar y transmitir a un dispositivo móvil información adicional relacionada con una imagen de consulta obtenida por un usuario con el dispositivo móvil, un método informático para identificar y visualizar información adicional relacionada con la primera imagen de consulta obtenida por un usuario con un dispositivo móvil y un medio legible por ordenador como se expone en las reivindicaciones 1, 2 y 5, respectivamente.
Los métodos y sistemas se describen en este documento para proporcionar a los usuarios una experiencia de visualización rica en información, al proporcionarles a los usuarios información adicional sobre personas, lugares y cosas que ven en el contenido digital o el mundo que los rodea. Los métodos y sistemas descritos en este documento ofrecen varias ventajas sobre los sistemas de la técnica anterior. Primero, los métodos y sistemas en este documento operan sobre una sola trama de imagen, ya sea capturado a partir de video, impreso o del mundo que rodea al usuario. Los métodos y sistemas en este documento pueden ser practicados mediante una aplicación operada en el dispositivo móvil de un usuario conectado a un servidor basado en la web, siempre que el dispositivo móvil tenga la funcionalidad de captura de imágenes y el servidor proporcione un servicio de reconocimiento de imágenes. De hecho, una de las ventajas de las invenciones descritas en este documento es que estos métodos y sistemas pueden implementarse usando fotos hechas con cámaras de consumidor portátiles como se encuentran en teléfonos inteligentes y tabletas.
En los métodos y sistemas descritos en este documento, se extrae una "huella digital" de la instantánea y se utiliza para identificar información adicional. Los métodos y sistemas se describen en este documento para identificar y describir características de imagen y generar una huella digital única de la imagen individual. Además, la imagen original no necesita almacenarse en el dispositivo móvil del usuario, ya que la huella digital puede usarse para visualizarla de vuelta al usuario con la información adicional, si así lo desea.
El uso de los sistemas y métodos descritos en este documento, la recuperación información adicional identificando los medios o el contenido relacionado con la instantánea inicial se realiza utilizando la huella digital como una consulta. El reconocimiento basado en características de imagen, como se describe en este documento, utiliza un índice de características para identificar un conjunto más pequeño de coincidencias candidatas a partir de una base de datos de imágenes más grande. El uso del índice de características permite búsquedas más rápidas en grandes conjuntos de imágenes. Las soluciones existentes que utilizan la indexación de características fallan en escenarios con conjuntos de gran tamaño (cientos de millones) de imágenes de características con una gran cantidad de similitudes, como se ve típicamente en colecciones de una sola trama extraídos del material de video. En cambio, los métodos y sistemas descritos en este documento superan los problemas de la técnica anterior utilizando una métrica de distancia y un diseño de tabla de desmenuzamiento radical que explota los efectos probabilísticos. Los métodos y sistemas descritos en este documento clasifican automáticamente las características de la imagen distintivas en lugar de las redundantes, permitiendo que solo los puntos de datos más distintivos permanezcan residentes dentro del índice, produciendo un índice ajustado que puede usarse rápidamente en el proceso de identificación. Por el contrario, los métodos tradicionales de vecino más cercano aproximado (ANN, por sus siglas en inglés) almacenan todos los puntos de datos sin filtrar, lo que deteriora en gran medida su rendimiento de coincidencia.
Los métodos y sistemas descritos en este documento proporcionan medios para manejar grandes cantidades de datos de imagen mientras que se mantiene la resolución y distinción de la imagen. Los métodos y sistemas descritos en este documento también manejarán los picos en el tráfico de solicitudes debido a los altos períodos de uso.
Además, en algunas realizaciones descritas en el presente documento, se puede identificar información adicional sin realizar el reconocimiento de imagen a escala completa en el dispositivo móvil. Los métodos y sistemas descritos en este documento introducen el uso de una capa replicable autónoma que opera entre la capa de comunicación web y un sistema de búsqueda en un servidor para interceptar y manejar muchas de las solicitudes. Al almacenar en la caché e identificar selectivamente solicitudes similares o equivalentes en el dispositivo móvil, es necesario reenviar menos solicitudes al servidor.
Las múltiples invenciones descritas en el presente documento pueden implementarse solas o en diversas combinaciones entre sí. Cada uno de los diversos inventos se describirán con más detalle a continuación.
la figura 1A es un diagrama que muestra a un alto nivel un sistema 100 para conectar proveedores de contenido 101 a usuarios 102 a través de medios visuales 103, usando algunas o todas las invenciones descritas en este documento. Los proveedores de contenido 101 pueden ser, por ejemplo, productores, minoristas, anunciantes, propietarios de contenido de medios y otras entidades que tienen producto o contenido. Los medios visuales 103 pueden ser, por ejemplo, una transmisión de televisión, película, impresión o cartelera. Los medios visuales se pueden entregar, a través de la red de distribución 104, a una plataforma de difusión de medios de video 105 o medios impresos 106.
En el sistema mostrado en la figura 1A , un usuario 102 tiene un dispositivo móvil, tal como una tableta 121 o un teléfono inteligente 122. El dispositivo móvil también puede ser, en algunas realizaciones, una cámara con procesador, memoria y capacidad de comunicación inalámbrica. En algunas realizaciones, el dispositivo móvil comprende un acelerómetro, giroscopio u otro dispositivo para detectar la orientación del dispositivo móvil. En las realizaciones descritas en este documento, el dispositivo móvil está habilitado para el internet. Las realizaciones del dispositivo móvil se describirán con más detalle a continuación en relación con las figuras 3 ,8 y 9 .
En algunas realizaciones, el usuario 102 puede consumir contenido 123 como se visualiza o se difunde en las plataformas 105 y 106 directamente. El contenido 123 también se puede mostrar directamente en el dispositivo móvil del usuario.
En una primera etapa, el usuario identifica algo de interés sobre el que le gustaría obtener más información. La cosa de interés puede ser, por ejemplo, un artículo que se muestra en el contenido 123 o 124, como un producto, utilería, ropa u otros objetos. la cosa de interés también podría ser la ubicación de la escena en sí, o el tema representado en la escena. En algunas realizaciones, la cosa de interés es el contenido particular en sí mismo, por ejemplo, la película, el video o el programa que se visualiza.
Usando una aplicación de usuario final y la funcionalidad de la cámara en el dispositivo móvil del usuario, el usuario toma una instantánea de la pantalla que representa la cosa de interés. La instantánea puede ser un primer plano de la cosa en sí, o puede incluir el área alrededor de la cosa de interés. La instantánea también puede comprender más que solo el dispositivo de visualización que está visualizando el contenido y el contenido que se visualiza en la pantalla. En algunas realizaciones, como cuando el contenido 121 o 122 se visualiza en el dispositivo móvil del usuario, el usuario puede tomar una instantánea de la pantalla que representa la cosa de interés tomando una captura de pantalla.
La figura 1B ilustra el uso de métodos y sistemas ilustrativos descritos en este documento para obtener más información sobre objetos o cosas en el contenido digital visualizado. Como se muestra en la figura 1B , el usuario puede sostener dispositivos móviles 121 o 122 de modo que se muestre en la pantalla un área de visión grande (incluyendo la cosa de interés). En algunas realizaciones, se captura toda el área de visión. En algunas realizaciones, el sistema puede determinar automáticamente que solo una cierta parte del área de visión (tal como la pantalla de visualización que muestra el contenido) es material, y solo se captura la pantalla de visualización. En algunas realizaciones, el usuario puede indicar, a través de la interfaz 150, un subconjunto de la imagen mostrada en la pantalla, por ejemplo, tocando o haciendo un círculo alrededor de la cosa de interés con el dedo del usuario o un lápiz óptico, como se indica en la parte 151. La aplicación de usuario final puede capturar entonces solo la parte 151 de la imagen en la pantalla del dispositivo móvil. Si se indica una parte, la parte 151 de la imagen se usa entonces para generar una consulta para ser procesada por una base de datos de imágenes. La base de datos de imágenes puede entonces devolver una imagen 152, que se determina que coincide con al menos parte de la porción 151, para visualizarla en los dispositivos móviles.
Se puede seleccionar información adicional 153 basado en la imagen capturada y visualizarlo para el usuario. La información adicional 153 visualizada será información relacionada o asociada con el contenido de medios en la instantánea. La información adicional 153 puede seleccionarse basándose en la instantánea completa o cualquier parte identificada 151.
En algunas realizaciones, la imagen 152 puede mostrarse junto con información adicional 153, encima, debajo o a lado de la información adicional 153. En algunas realizaciones, la imagen 152 puede incluir etiquetas 154 (también llamadas anotaciones) que se correlacionan con la información adicional 154. En al menos algunas realizaciones, las etiquetas 154 aparecen junto a algunos o todos los artículos como se representa en la imagen 152, para los cuales se ha identificado información adicional 153. En algunas realizaciones, el usuario puede usar las etiquetas 154 para navegar a partes de información adicional 153 asociadas con el artículo marcado por la etiqueta. Al hacer clic en una etiqueta, por ejemplo, se puede llevar al usuario a la información asociada en la pantalla, que puede ser resultados de búsqueda o un enlace a información adicional. En algunas realizaciones, la etiqueta en sí misma representa un hipervínculo a la información adicional.
En la realización mostrada en la figura 1C, la imagen 163 mostrada en el centro ya ha sido anotada. El diagrama de la izquierda muestra un directorio 162 que almacena, en una jerarquía, la información adicional 164. La información adicional 164 puede asociarse con una etiqueta particular 166 que apunta a un objeto (por ejemplo, un sofá como se ilustra en la figura 1C), y puede incluir información relacionada con el objeto. La información puede incluir imágenes, texto de descripción, precios, enlaces a información adicional, etc., que sean pertinentes al objeto, y la información se almacena en una estructura jerárquica en el directorio 162. Como se ilustra en la figura 1C, después de que el usuario active la etiqueta 166, se visualiza al menos parte de la información adicional 164. Por ejemplo, se puede visualizar la imagen 167 del sofá, el texto de descripción 168 del sofá y otra información.
Volviendo ahora a la figura 1A, después de que el usuario tome una instantánea, la aplicación de usuario final genera una huella digital de la instantánea o la parte indicada de la instantánea. Existen muchos métodos conocidos para generar una huella digital de una imagen. Generalmente, como primera etapa, estos métodos detectan puntos destacados en la imagen utilizando un algoritmo de detección de puntos destacados, como características de la prueba de segmento acelerado (FAST, por sus siglas en inglés), Harris, regiones extremas máximamente estables (MSER, por sus siglas en inglés), etc., o el equivalente. Los puntos destacados pueden usarse entonces, como se muestra en la FIG. 2A, para generar vectores descriptores de características. Como se muestra en la figura 2A, los puntos destacados 219a y 219b de una imagen 218 pueden ser representados respectivamente por los vectores 220a y 220b. La transformada de características invariantes a escala (en inglés, Scale-invariant feauture transform - SIFt ), las características robustas aceleradas (en inglés, Speeded Up Robust Features - SURF), el punto clave escalable invariable robusto binario (en inglés, Binary Robust Invariant Scalable Keypoint - BRISK), el punto clave de retina rápida (en inglés, Fast Retina Keypoint - FREAK), son ejemplos de métodos conocidos para generar vectores descriptores de características. Los vectores descriptores de características pueden ser un vector de tamaño fijo de números de coma flotante o bits que caracterizan el área de píxeles (por ejemplo, un vector de coma flotante de 64 o 128 dimensiones, o un vector de bits de 512 dimensiones). El vector puede generarse muestreando las áreas de píxeles, dispuestos dentro de la imagen de acuerdo con la malla de píxeles 222, dentro de una cuadrícula de muestreo de descriptores 224, y los valores de los vectores se pueden elegir de modo que la distancia entre dos vectores que representan dos áreas de píxeles se correlaciona con un grado de similitud (por ejemplo, en luminancia/brillo) entre las dos áreas de píxeles.
Como se muestra en la FIG. 2B, el contenido de la imagen se puede orientar de manera diferente en comparación con el contenido correspondiente en la imagen de referencia, y aún se pueden encontrar coincidencias. Por ejemplo, se puede encontrar que las características de consulta 242 de la imagen de consulta 240 coinciden con las características de consulta 252 de la imagen de referencia 250. La posición (u orientación) relativa del contenido de la imagen 240 puede entonces derivarse de un conjunto de relaciones entre las ubicaciones de cada una de las características de consulta 242 dentro de la imagen de consulta 240, y las ubicaciones de las características de referencia 252 correspondientes dentro de la imagen de referencia 250. El conjunto de relaciones se puede representar como una matriz de transformación. En algunas realizaciones, la matriz de transformación se puede calcular de forma iterativa para transformar las ubicaciones de las características de la imagen de referencia 250, hasta que las ubicaciones transformadas de las características de la imagen de referencia se ajusten a las ubicaciones de las al menos algunas de las características de la imagen de consulta 240. Para cada iteración del cálculo de la matriz de transformación, se puede verificar la validez de la matriz de transformación determinando si hay un ajuste para un conjunto de consenso de características correspondientes entre la imagen de referencia (para la cual las ubicaciones de características se han transformado con la matriz de transformación) y la imagen de consulta (para la cual las ubicaciones de las características no se transforman). En algunas realizaciones, la matriz de transformación se puede calcular usando una aproximación de mínimos cuadrados. Como se trata más adelante con respecto a los métodos inventivos descritos en las figuras 4A y 4B, la determinación de la posición puede realizarse en el dispositivo móvil o en el servidor.
Se puede usar entonces una combinación de descriptores de características para representar una o más características visuales incluidas en una imagen de consulta, que se representan gráficamente en una combinación de áreas de píxeles correspondientes a los descriptores de características. La combinación de descriptores de características también se puede utilizar para identificar, con un cierto grado de certeza, una imagen de referencia que incluye los descriptores de características. La identificación de la imagen de referencia puede basarse en una relación entre los descriptores de características asociados con la imagen de referencia y los descriptores de características extraídos de (y asociados con) la imagen de consulta e incluidos en la huella digital. La relación entre los descriptores de características puede determinar la probabilidad de éxito de la identificación.
La huella digital es una representación digital de ciertas características extraídas de la instantánea. La huella puede incluir (o generarse basándose en) un conjunto de descriptores de características confeccionados para el propósito de la consulta. El usuario puede seleccionar los descriptores de características que se incluirán en la generación de la huella digital de la imagen. La aplicación de usuario final puede entonces detectar puntos destacados dentro de la porción de imagen 151, y generar los descriptores de características en consecuencia. Cuando el usuario no realiza una selección, la aplicación de usuario final puede detectar puntos destacados de la totalidad de la instantánea y generar huellas digitales asociadas con los puntos destacados detectados en consecuencia. En algunas realizaciones, el usuario puede seleccionar además un objeto particular en una imagen a través de una acción de pulsaciones en la interfaz 150, y la aplicación de usuario final puede priorizar la transmisión de huellas digitales asociadas al objeto seleccionado.
Con referencia de nuevo a la FIG. 1A , después de obtener o generar una huella digital de la imagen instantánea, la huella digital se usa para obtener información adicional. En al menos una realización, la huella digital se transmite a un servidor 140 a través del enlace de comunicaciones 130. La huella digital puede transmitirse de forma inalámbrica al servidor a través de un enlace inalámbrico o a través de otro enlace de comunicaciones.
El servidor 140 puede comprender, por ejemplo, una o más cachés de consulta replicables 141, un módulo de coincidencia de imagen 142 y una base de datos de índice de características de imagen 143. Estos componentes, dentro del círculo discontinuo, también pueden denominarse sistema de búsqueda Geenee.
Las cachés de consulta replicables 141 pueden funcionar como un punto de entrada al sistema de búsqueda Geenee. Las cachés de consulta replicables 141 pueden recibir huellas digitales de consulta directamente desde dispositivos móviles. Antes de reenviar una huella digital de consulta entrante al módulo de coincidencia de imagen 142, la huella digital de consulta entrante se compara con las huellas digitales recibidas previamente. Si se encuentra una coincidencia, se puede devolver una respuesta de las huellas digitales recibidas previamente (por ejemplo, un conjunto de imágenes candidatas, o una imagen coincidente, o ninguna imagen coincidente, etc.). Si la huella digital de consulta entrante no coincide con las huellas digitales recibidas anteriormente, la huella digital de consulta entrante se puede enviar al módulo de coincidencia de imagen 142.
En algunas realizaciones, el módulo de coincidencia de imagen 142 recibe la huella digital de consulta entrante directamente. El módulo de coincidencia de imagen 142 reenvía la huella digital de consulta a la base de datos del índice de características de imagen 143, y se procesa adicionalmente. A partir del procesamiento adicional, se identifica un conjunto de imágenes candidatas (o referencias de huellas digitales a esas imágenes) y se devuelve al módulo de coincidencia de imagen 142. La base de datos de anotaciones 144 almacena un conjunto de imágenes de referencia, a partir del cual se debe identificar las imágenes candidatas, y una asignación entre el conjunto de imágenes de referencia y los descriptores de características que representan características incluidas en las imágenes de referencia. Para las imágenes de referencia que están anotadas, la base de datos de anotaciones 144 también almacena una asignación entre la anotación y la información adicional asociada con la anotación.
Después de recibir las huellas digitales de la imagen candidata de la base de datos del índice de características de imagen 143, el módulo de coincidencia de imagen 142 compara las huellas digitales de las imágenes candidatas con la huella digital de la consulta (o parte de la misma) y determina si hay una coincidencia. Si hay una coincidencia, entonces recupera la imagen coincidente junto con las anotaciones adjuntas a la misma desde la base de datos de anotaciones 144, y devuelve esta como resultado.
Como se describirá con más detalle a continuación, la base de datos del índice de características de imagen 143 proporciona un índice en el que se puede buscar para descriptores de características extraídos de imágenes de referencia proporcionadas anteriormente a la base de datos de anotaciones. A continuación se describen diversas realizaciones de búsqueda basada en índice de característica de imagen de acuerdo con la presente divulgación con respecto a, por ejemplo, las figuras 6A-6E.
El servidor 140 también puede comprender una interfaz de proveedor de contenido 145. La interfaz de proveedor de contenido 145 puede implementarse como un servicio web. Los proveedores de contenido pueden usar la interfaz del proveedor de contenido para proporcionar material de medios (y anotaciones adicionales para adjuntar al mismo) con intención de ser incluidos en Geenee Search. Al menos parte del material de los medios, y las anotaciones adicionales, pueden almacenarse en la base de datos de anotaciones 144.
Debe entenderse que el servidor 140 podría ser un servidor o una colección de servidores. En algunas realizaciones, el servidor 140 puede incluir una pluralidad de servidores unidos entre sí para formar una nube 160. Además, aunque el índice de características de imagen 143 y la base de datos de anotaciones 144 se muestran como residentes en el servidor 140, también pueden residir en otras áreas de almacenamiento accesibles al servidor 140. En algunas realizaciones, la interfaz de proveedor de contenido 145 es una aplicación basada en la nube.
Como ejemplo ilustrativo, haciendo referencia de nuevo a la figura 1B, el usuario elige una escena particular de un programa de televisión, que se esté emitiendo en un televisor, y toma una instantánea de la misma, para incluir la escena en particular de la consulta, que luego se transmite al servidor 140. Dentro del servidor 140, la consulta puede producir un conjunto de imágenes candidatas que incluye una imagen de referencia de la escena particular, si los descriptores de características asociados con la captura de pantalla también se almacenan en la base de datos de índice de características de imagen 143. El módulo de coincidencia de imagen 140 detecta una imagen coincidente entre las imágenes candidatas, y puede devolver la imagen coincidente, o una indicación de que no hay imagen coincidente, como respuesta a la consulta del usuario. La información adicional asociada con la imagen candidata coincidente también se puede recuperar de la base de datos de anotaciones 144. En algunas realizaciones, el usuario puede seleccionar además un objeto en la instantánea pulsando para limitar el alcance de la consulta a los descriptores de características asociados con el objeto. El usuario también puede seleccionar un objeto en la imagen coincidente, devuelta por el servidor 140 en respuesta a una consulta, para adquirir otra información adicional.
Reconocimiento basado en características de imagen en el dispositivo móvil
es un diagrama de bloques que ilustra un sistema ilustrativo para obtener información adicional sobre un objeto de interés en una instantánea de imagen, de acuerdo con las realizaciones de la presente divulgación. El sistema 300 puede ser, por ejemplo, un dispositivo móvil que comprende al menos un procesador, memoria, hardware y software de comunicación y una cámara. En algunas realizaciones, el sistema 300 es un dispositivo de cliente 910 como se muestra en la figura 9. Como el sistema 300 puede ser operado por un usuario que intenta obtener información adicional sobre un objeto de interés, el sistema 300 también puede ser denominado dispositivo móvil del usuario. La figura 3 ilustra varios módulos, que pueden implementarse en hardware o software, que pueden estar presentes en el sistema 300, de acuerdo con los métodos y sistemas descritos en este documento. Como se muestra en la figura 3, el sistema 300 incluye un módulo de adquisición de imágenes 310, un módulo de generación de descriptores de características 320, un módulo de generación de huellas digitales 330 y un módulo de adquisición de datos adicional 340.
El módulo de adquisición de imágenes 310 adquiere datos que representan una primera imagen o "instantánea". La instantánea puede ser capturada, por ejemplo, por una cámara o la función de cámara de un teléfono inteligente o tableta. En algunas realizaciones, se toma una instantánea de toda la escena visible para la cámara y se almacena. En algunas realizaciones, un usuario puede indicar una o más partes de la escena visibles en la pantalla, y solo se almacenan las partes indicadas. El módulo de adquisición de imágenes 310 también puede adquirir datos de imágenes de otras fuentes (por ejemplo, desde un dispositivo de almacenamiento de datos local o remoto). Los primeros datos de imagen se transmiten al módulo de generación de descriptores de características 320 para su procesamiento adicional.
El módulo de generación de descriptores de características 320 puede extraer una o más características basándose en los valores de píxeles representados por los primeros datos de imagen, y puede generar una representación numérica de las características extraídas. En algunas realizaciones, el módulo de generación de descriptores de características 320 detecta y localiza puntos destacados dentro de la una o más partes seleccionadas de la primera imagen, y genera descriptores de características para representar los puntos destacados. Los métodos y sistemas para detectar y localizar puntos destacados, y generar vectores descriptores de características a partir de los mismos, están descritos anteriormente.
El módulo de generación de huellas digitales 330 genera una huella digital de imagen basada en los vectores descriptores de características generados por el módulo de generación de descriptores de características 220. La huella digital puede incluir (o generarse basándose en) un conjunto de descriptores de características basados en puntos destacados detectados en una parte de la imagen capturada (o un objeto representado específico) seleccionado por el usuario, o puntos destacados detectados en la totalidad de la imagen capturada.
Después de que se genera la huella digital, la huella digital se usa para adquirir información adicional mediante el módulo de adquisición de datos adicional 340. En algunas realizaciones, la huella digital se transmite a otro sistema (por ejemplo, el sistema 700 como se describirá en la figura 7 o el servidor 940 de la figura 9) a través de una red para usar en la identificación de información adicional. El proceso de búsqueda e identificación de información adicional basada en la huella digital se describirá con más detalle a continuación con respecto a, por ejemplo, la figura 4A.
En algunas realizaciones, el procesamiento de la consulta incluye determinar, con cierto grado de certeza, que los descriptores de características de la imagen de consulta coinciden con los descriptores de características de una imagen candidata. Basándose en esta determinación, el procesador de la consulta puede identificar el contenido de los medios (por ejemplo, una imagen que representa una escena de un programa de televisión, una imagen de un anuncio publicado, etc.) que se representa en la imagen de la consulta. Los detalles sobre el procesamiento de la consulta se describirán más adelante en, por ejemplo, las figuras 6A-6E.
Después de que se procesa la consulta con la huella digital, el módulo de adquisición de datos adicional 340 puede adquirir datos adicionales basados en el resultado de la consulta. Por ejemplo, basándose en la consulta, se ubica una segunda imagen que incluye el objeto representado por la huella digital en la consulta, con un cierto grado de certeza, y el módulo de adquisición de datos adicional 340 puede adquirir la segunda imagen para visualizarla. La segunda imagen puede incluir información adicional asociada con el objeto que no está representada en la primera imagen (por ejemplo, un punto de vista diferente, un fondo diferente, artículos adicionales ahora representados en la primera imagen, etc.). Es más, los datos adicionales relacionados con el objeto también pueden ser adquiridos por el módulo de adquisición de datos adicional 340. Volviendo al ejemplo ilustrativo descrito anteriormente en las figuras 1B-C, después de que se procesa una consulta que incluye los descriptores de características del sofá, se identifica un sofá de una marca y modelo específicos a partir de la consulta, y se puede obtener la información de marca y modelo mediante el módulo de adquisición de datos adicional 340 y mostrado al usuario. Además, como resultado de la identificación, el módulo de adquisición de datos adicional 340 también puede obtener otra información, como el precio, los vendedores que venden el sofá, etc. y se visualiza para usuario.
Búsqueda basada en características de imagen
Para una imagen de consulta dada, la búsqueda basada en características de imagen encuentra coincidencias dentro de una gran colección de imágenes (conjunto de entrenamiento) comparando las características de imagen extraídas previamente del conjunto de entrenamiento con aquellas extraídas de la imagen de consulta. Para mantener al mínimo estas costosas comparaciones por cada imagen, se utiliza una estructura de datos de búsqueda adicional para preseleccionar un conjunto de candidatas aproximado de manera eficiente. Esta estructura de datos de búsqueda, llamada el índice de características de imagen, permite realizar una búsqueda de similitud (por ejemplo, la búsqueda del vecino más cercano aproximado (ANN)), donde un punto dado de datos de características de la imagen de consulta se puede asignar a sus puntos de datos correspondientes más cercanos de un conjunto de entrenamiento de imágenes. Las imágenes asociadas con estos puntos de datos se recuperarán como un conjunto de imágenes candidatas. Como se describirá más adelante, el índice de características de imagen proporciona una tabla de asignación capaz de indexar/direccionar puntos de datos de características. Dicha tabla de asignación puede ser una tabla de desmenuzamiento, y la relación entre la dirección y los puntos de datos de características se puede definir de acuerdo con una función de desmenuzamiento.
Ahora se hace referencia a la figura 4A, que es un diagrama de flujo que ilustra un método ilustrativo para realizar el reconocimiento basado en características de imagen de video, sin que el usuario tome una instantánea, de acuerdo con las realizaciones de la presente descripción. En la etapa 402, el dispositivo móvil del usuario captura una imagen de cámara estable (es decir, los objetos parecen estacionarios). En algunas realizaciones, el dispositivo móvil puede determinar que una imagen es estable cuando detecta poco o ningún movimiento usando, por ejemplo, un sensor acelerómetro del teléfono móvil u otro dispositivo que detecta movimiento. Después de detectar poco o ningún movimiento, el dispositivo móvil puede capturar una o más imágenes. En algunas realizaciones, donde se capturan múltiples imágenes, el dispositivo móvil puede determinar cuál de las múltiples imágenes es la imagen más estable y usar la imagen más estable como la imagen de consulta.
En algunas realizaciones, particularmente aquellas en las que un usuario está tomando una instantánea del video, puede haber un retardo entre lo que se visualiza en la pantalla y cuando la instantánea se toma después de que el usuario inicia la captura de la instantánea. A menudo, debido a que ha transcurrido el tiempo, la instantánea capturada ya no contiene los artículos o la escena de interés. En algunas realizaciones descritas en el presente documento, una imagen tomada una cierta cantidad de tiempo (por ejemplo, un segundo) antes de que se tome la instantánea se usa como la imagen de consulta.
En la etapa 404, la imagen de consulta se usa para encontrar una imagen coincidente dentro del conjunto de imágenes de referencia. Los descriptores de características se extraen de los puntos destacados detectados en la imagen de consulta, y se genera una huella digital a partir de los descriptores de características extraídos. Luego, la huella digital se transmite a un servidor, donde se realiza el reconocimiento basado en características de imagen para encontrar un conjunto de imágenes candidatas, de las cuales se puede encontrar una imagen coincidente.
Si no se puede encontrar una imagen coincidente, en la etapa 406, lo que significa que no se pueden realizar más análisis para esa imagen de cámara particular, la etapa 402 se vuelve a ejecutar para adquirir una imagen estable diferente.
Si se encuentra una imagen coincidente en la etapa 406, entonces se puede ejecutar la etapa 408 en el dispositivo móvil. En la etapa 408, se puede estimar la posición de la imagen de consulta. La estimación de la posición y ajuste también puede ser parte de la determinación sobre si una imagen de consulta y una imagen de referencia coinciden, como se describirá en la figura 4B. Después de determinar que las dos imágenes se ajustan, la información de la posición puede transmitirse al dispositivo móvil en la etapa 410. En algunas realizaciones, la información de la posición puede mostrarse en el dispositivo móvil.
En la etapa 412, el sistema determina si se pierde el seguimiento. El seguimiento se puede determinar basándose en, por ejemplo, si se detecta un cambio sustancial en la posición. En algunas realizaciones, las etapas 402 a 412 pueden usarse para entrenar primero el sistema para identificar y seguir cosas de interés (como lo indique el usuario o por otros medios). Se puede perder un seguimiento cuando, por ejemplo, la persona que opera el dispositivo móvil cambia sustancialmente la dirección de disparo, o aparece un nuevo objeto que no se ha identificado antes en el video.
Una vez que el sistema es capaz de seguir la cosa de interés, se puede ejecutar la etapa 414 para comenzar a procesar imágenes de cámara en vivo, desde las cuales se pueden detectar puntos destacados y ubicarlos en la etapa 416, y se generan descriptores de características en la etapa 418. Los descriptores de características pueden usarse entonces para estimar la posición de nuevo en la etapa 408.
Con tal disposición como se muestra en la figura 4A , el contenido que ya se ha identificado antes puede no necesitar consultarse de nuevo. Por lo tanto, se puede reducir el número de accesos a la base de datos de características de imagen (ya sea ubicado de forma remota o local al dispositivo que genera la consulta). Esto es especialmente útil cuando se utiliza un dispositivo móvil para generar consultas a partir de un video en vivo, cuando se espera que las imágenes del mismo objeto con características idénticas se capturan repetidamente. El rendimiento puede mejorarse al no tener que consultar la base de datos de características de imagen repetidamente para características idénticas.
En este caso, el dispositivo móvil puede actuar como un guardián de puerta para determinar si se pierde un seguimiento (por ejemplo, a través de las etapas 406 a 412) y acceder a la base de datos solo cuando se pierde el seguimiento (por ejemplo, la persona que opera la videocámara desplaza la dirección de disparo sustancialmente, o un nuevo objeto que no ha sido identificado antes aparece en el video).
Ahora se hace referencia a la figura 4B, que ilustra un método ilustrativo para determinar si una imagen candidata coincide con una imagen de consulta, como se describe en este documento. En la etapa 432, se recibe una consulta que incluye una huella digital de imagen. En la etapa 436, se obtienen uno o más vectores descriptores de características para los puntos destacados de la imagen de consulta a partir de la huella digital. En la etapa 438, se consulta la base de datos del índice de características de imagen, y se obtiene un conjunto de huellas digitales de la imagen candidata basándose en los descriptores de características en la consulta. En algunas realizaciones, las imágenes candidatas se almacenan en una base de datos (por ejemplo, la base de datos de anotaciones 144 de la figura 1A). Las imágenes de referencia pueden almacenarse junto con las correspondientes huellas digitales y anotaciones. En algunas realizaciones, las imágenes de referencia y las anotaciones son proporcionadas por los proveedores de contenido.
Las etapas 440-448 ilustran un bucle que compara a todas las candidatas con la imagen de consulta utilizando la técnica de comparación de coincidencia directa como se muestra, por ejemplo, en la figura 2B, y puede ser parte de la etapa 404 de la figura 4A. En la etapa 440, se obtiene una imagen de referencia del conjunto de imágenes candidatas, y luego se puede eliminar del conjunto. En la etapa 442, se calculan las distancias de las características entre la imagen de consulta y la imagen de referencia. Estas distancias de características se pueden usar para identificar las características correspondientes entre la imagen de consulta y la imagen de referencia. Las distancias de las características pueden expresarse, por ejemplo, usando la distancia euclidiana en el espacio de características. En tal ejemplo, para M características en una imagen de consulta y N características en una imagen de referencia, el resultado puede ser una Matriz MxN de distancias euclidianas, por lo general, solo un cierto porcentaje (por ejemplo, 20%) de las entidades más cercanas se acepta como "correspondencia". En la etapa 444, basándose en las características correspondientes identificadas, se puede estimar una posición (por ejemplo, orientación) de la imagen de referencia con respecto a la imagen de consulta, de una manera similar a la descrita en la figura 2B. La imagen de consulta y la imagen de referencia se comparan entonces en la etapa 446, teniendo en cuenta cualquier diferencia en las posiciones del contenido de la imagen de consulta y el contenido de la imagen de referencia, para determinar si la imagen de consulta coincide con la imagen de referencia. En algunas realizaciones, la etapa 446 se ejecuta de una manera similar a la descrita en la figura 2B, donde se aplica una transformación homográfica a la imagen de referencia, y luego se determina si al menos parte de la imagen de consulta, incluido el conjunto de características de consenso, se ajusta a la imagen de referencia transformada, a partir de la cual se determina si las dos imágenes coinciden. Si se determina que las dos imágenes no coinciden, la etapa 448 se ejecutará para determinar si quedan imágenes en el conjunto de imágenes candidatas, si quedan imágenes candidatas restantes, las etapas 440, 442, 444, 446 y 448 se repetirán para la siguiente imagen de referencia, hasta que no queden más imágenes en el conjunto de candidatas. Si ninguna de las imágenes de referencia en el conjunto de candidatas coincide con la imagen de consulta, se concluirá que no hay coincidencia, y se devolverá una indicación apropiada al dispositivo móvil en la etapa 450.
La figura 4C es un diagrama de flujo que ilustra un método ilustrativo para consultar un conjunto de imágenes en la caché antes de consultar la base de datos de índice de características de imagen para encontrar una imagen coincidente, de acuerdo con las realizaciones de la presente descripción. En algunas realizaciones, las imágenes de referencia que se ha encontrado que coinciden con una consulta pueden depositarse en una base de datos de conjunto de imágenes en la caché. En algunas realizaciones, el método de la figura 4C puede implementarse mediante cachés de consulta replicables 141 de la figura 1A. Se puede realizar una búsqueda de dos niveles buscando primero en la base de datos del conjunto de imágenes en la caché. Como la base de datos del conjunto de imágenes en la caché suele ser mucho más pequeña que la base de datos de imágenes de referencia completa, la búsqueda requiere menos tiempo y menos recursos computacionales. En algunas realizaciones, la base de datos del conjunto de imágenes en la caché también se puede organizar de la misma manera que la base de datos de imágenes de referencia (por ejemplo, empleando el índice de características de imagen), pero a una escala más pequeña. En algunas realizaciones, la base de datos del conjunto de imágenes en la caché también puede almacenar una asignación entre una huella digital de consulta recibida previamente y su correspondiente imagen de referencia coincidente. La consulta en la caché también se puede asociar con varios usuarios. Cuando se reciben múltiples consultas idénticas (por ejemplo, consultas que incluyen la misma huella digital) de diferentes usuarios, solo se procesa una de las consultas (ya sea realizando una búsqueda en la base de datos del conjunto de imágenes en la caché o en la base de datos de imágenes de referencia) y los otros usuarios quienes envían la misma consulta se les puede reenviar el resultado de la búsqueda.
Como se muestra en la figura 4C, se recupera una huella digital de consulta en la etapa 432, y se seleccionan los descriptores de características de la huella digital en la etapa 436. Las etapas 432 y 436 son los mismos que en la figura 4B y su descripción no se repite. Los descriptores de características seleccionados se pueden usar entonces para buscar en la base de datos del conjunto de imágenes en la caché en la etapa 463. La búsqueda se puede llevar a cabo basándose en la realización de una búsqueda para los descriptores de características de consulta actual dentro del conjunto de imágenes en la caché, o comparando las huellas digitales de la consulta actual con la huella digital de la consulta recibida anteriormente.
En algunas realizaciones, si se encuentra una imagen de consulta en la caché en la etapa 464, el usuario (o el dispositivo móvil asociado con el usuario) puede registrarse y asociarse con el acierto de caché, en la etapa 465. Como se describió anteriormente, asociar al usuario con un historial de aciertos de caché puede ser útil para refinar la política de acceso a la caché. Y luego se puede ejecutar la etapa 466, donde la imagen de referencia recuperada se compara con la imagen de consulta para determinar si coinciden, de forma similar a las etapas 440 a 448 de la figura 4B. El resultado de búsqueda se puede informar en la etapa 467, después de lo cual se puede proporcionar información adicional al usuario basándose en el resultado de búsqueda.
Por otro lado, si no se encuentra una imagen de consulta en la caché en la etapa 464, la huella digital de la consulta se enviará para consultar la base de datos de imágenes de referencia en la etapa 468. En la etapa 469, si se encuentra una coincidencia, la huella digital de la consulta se puede agregar a la base de datos del conjunto de imágenes en la caché y asociarse con la imagen de referencia coincidente encontrada en la etapa 468. En algunas realizaciones, el resultado de búsqueda también puede emitirse a otros usuarios, en la etapa 470. La difusión puede ser útil para disuadir a otros usuarios enviar la misma consulta al sistema.
Índice de características de imagen
Una característica clave de los métodos y sistemas de reconocimiento basados en características de imagen novedosos descritos aquí es el índice de características de imagen. Los métodos y sistemas descritos intercambian la pérdida compensable en la precisión de la trama de video para la gestión de datos probabilísticos con pérdida, lo que permite reducir drásticamente los costes computacionales y los requisitos de almacenamiento junto con la poda automática de contenido de imagen menos distintivo. Dichos métodos y sistemas son particularmente adecuados para gestionar datos de imágenes de referencia generados a partir de videos.
Para comprender los nuevos métodos y sistemas descritos en este documento, la siguiente es una descripción de los sistemas de la técnica anterior. Las figuras 5A-5H ilustran los problemas asociados con los métodos conocidos para el uso de tablas de desmenuzamiento. En la figura 5A, la tabla de desmenuzamiento 510 se usa para organizar descriptores de características asociados con un conjunto de imágenes de entrenamiento, a partir del cual se puede seleccionar imágenes candidatas. La tabla de desmenuzamiento 510 incluye una matriz de cubetas 512, donde cada dirección de cubeta está asociada, mediante funciones de desmenuzamiento, con uno o más segmentos del espacio de características. Cada cubeta puede almacenar entonces referencias a características (por ejemplo, características 514) que residen geométricamente dentro del segmento de espacio asociado a la cubeta. Cada cubeta de desmenuzamiento puede tener un número ilimitado de casillas y puede contener un número ilimitado de referencias de características. Las cubetas de desmenuzamiento están asociadas con descriptores de características (y los componentes de vector del mismo) basados en una relación entre los descriptores de características, determinados a partir de la ubicación del componente de vector de características dentro del espacio de características, la dirección de desmenuzamiento asociada con el segmento de espacio de características y la cubeta de desmenuzamiento asociada con esa dirección. En algunos casos, una o más funciones de desmenuzamiento se aplican al vector descriptor de características, y la salida de las funciones de desmenuzamiento se puede usar para determinar con qué direcciones (y qué cubetas de desmenuzamiento) debe asociarse el descriptor de características.
En algunos casos, las funciones de desmenuzamiento se usan para particionar un espacio de características 515, que es el nombre dado a una colección de características que puede representarse mediante un conjunto de descriptores de características. Cuando los descriptores de características se expresan como vectores, un vector de descriptores de características tendrá un componente en cada una de las dimensiones. Las funciones de desmenuzamiento pueden dividir el espacio vectorial (que representa el espacio de características) en una o más áreas (por ejemplo, área de espacio de características 518), donde cada área puede tener una colección de componentes de vector de características que representan las características del conjunto de datos 514, y cada área puede ser asociado con una dirección de cubeta de desmenuzamiento. Las funciones de desmenuzamiento asignan entonces cada vector de características en las cubetas de desmenuzamiento, y los vectores que cumplen ciertos criterios (por ejemplo, que representan características similares) se pueden asignar en la misma área (y, por lo tanto, asignar en la misma cubeta de desmenuzamiento).
De esa manera, el desmenuzamiento sensible a la localidad (en inglés, Locality Sensitive Hashing - LSH) se puede utilizar para realizar la búsqueda de similitud, en la que la tabla de desmenuzamiento 510 está asociada con una familia de funciones de desmenuzamiento que pueden asociar, con alta probabilidad, puntos de datos similares (por ejemplo, vectores que constituyen descriptores de características similares) con las mismas cubetas de desmenuzamiento. La sensibilidad a la localidad se refiere al hecho de que la probabilidad de asociación entre los puntos de datos aumenta continuadamente para puntos de datos con creciente similitud entre los mismos. Como se muestra en la figura 5A, para una característica 519 de consulta dada, el descriptor de características correspondiente a la característica 519 puede incluir un conjunto de componentes de vector 520 (denotado por "x") a lo largo de cada dimensión de vector. Para cada componente de vector 520, se puede realizar una búsqueda aproximada del vecino k más cercano (ANN) seleccionando puntos de datos que comparten la misma membresía de cubeta de desmenuzamiento con el componente de vector de consulta, y que también están dentro de un límite de distancia de similitud 521 del componente de vector de consulta. Esos puntos de datos se pueden catalogar de acuerdo con, por ejemplo, una distancia entre un vector descriptor de características que incluye esos puntos de datos como componentes de vector, y el descriptor de características que representa las características de consulta. Se puede hacer una determinación de coincidencia basada en el catalogado (por ejemplo, la distancia más corta).
La figura 5B ilustra un método de la técnica anterior 530 para realizar el proceso de consulta a una base de datos de índice de características de imagen como se describió anteriormente. En la etapa 531, los descriptores de características incluidos en una huella digital de consulta se extraen y almacenan en una estructura de datos (por ejemplo, una lista), para recorrer las características individuales. Las etapas 534 a 537 se ejecutan para realizar una primera ronda de recuperación de descriptores de características de la base de datos de índice de características de imagen en respuesta a la consulta. Como se describió anteriormente, se utiliza una familia de funciones de desmenuzamiento para particionar el espacio de muestra de características. Por lo tanto, cada función de desmenuzamiento en la familia se recupera en la etapa 535 (después de verificar que queda una función de desmenuzamiento no utilizada en la etapa 534), y luego la función de recuperación se usa para generar una dirección a una cubeta basándose en un descriptor de características de consulta particular en la etapa 535. Los puntos de datos del descriptor de características de referencia almacenados en la cubeta direccionada se recopilan en la etapa 536. Las etapas 534 a 537 se repiten hasta que se hayan utilizado todas las funciones de desmenuzamiento en la familia, como se determina en la etapa 534,
Después de que se recopilan los puntos de datos del descriptor de características de referencia, se filtrarán a través de las etapas 538 a 542, donde se calcula una distancia entre cada punto de datos del descriptor de características de referencia recopilados y el punto de datos del descriptor de características de consulta en la etapa 540 y se compara con una cierta distancia R en la etapa 541, y solo aquellos descriptores de características de referencia que dentro de la distancia R serán aceptados en la etapa 542. Las etapas 538 a 542 se repiten hasta que se analicen todos los puntos de datos de referencia recopilados de las etapas 534 a 537.
Una vez analizadas todas las características de consulta, las imágenes de referencia que contienen las características aceptadas se recopilarán como imágenes candidatas en la etapa 543. Las imágenes candidatas se ordenan de acuerdo con, por ejemplo, una distancia sumada (desde los descriptores de características de consulta) de todos los descriptores de características de referencia aceptados, en la etapa 544, y la lista ordenada se informa en la etapa 545. Basado en la lista ordenada, se puede determinar entonces qué imagen candidata utilizar para un procesamiento posterior.
La figura 5C ilustra un método de la técnica anterior 550 para insertar una imagen de referencia en una base de datos de índice de características de imagen como se describió anteriormente. En la etapa 551, las características de referencia se extraen de una imagen de referencia. En algunas realizaciones, las características de referencia (representadas por descriptores de características) se identifican directamente a partir de una huella digital asociada con la imagen de referencia. Las características extraídas se seleccionarán entonces, una a la vez, en la etapa 553. El descriptor de características seleccionado se ingresará luego a una familia de funciones de desmenuzamiento, donde se seleccionará cada función de desmenuzamiento de la familia, en la etapa 555, para calcular una dirección de cubeta a partir del descriptor de características seleccionado, en la etapa 556. El descriptor de características de referencia se agregará luego a la cubeta, adjuntando el punto de datos del descriptor de características a una lista de entrada de la cubeta, en la etapa 557. Después de que todas las funciones de desmenuzamiento se hayan utilizado para calcular la dirección para el descriptor de características seleccionado, en la etapa 554, el siguiente descriptor de características extraído se seleccionará para procesar en la etapa 553, hasta que se procesen todos los descriptores de características extraídos, como se determinó en la etapa 552. Los vectores de características también se almacenarán como claves de desmenuzamiento asociadas con la imagen de referencia en la etapa 558.
Un inconveniente potencial con el método descrito en las figuras 5A-5B es que la cubeta seleccionada puede no proporcionar una buena cobertura de puntos de datos de características que sean similares a los puntos de datos de consulta. Por ejemplo, como se muestra en la figura 5D, el componente de vector de característica de consulta 570 se asigna al área de espacio de características 572. Dentro del límite de distancia de similitud 571, solo se buscará la parte de área 573, que está dentro de la misma área de espacio de características que el componente de vector de características de consulta 570. Se encuentra que el punto de datos 574, que también está dentro de la parte de área 573, es el vecino más cercano aparente al componente de vector de características de consulta 570. Sin embargo, el punto de datos 575 es el que tiene la distancia más corta desde el componente de vector de características de consulta 570, pero no se selecciona porque pertenece a un área de espacio de características diferente. El punto de datos 575 se encontrará si la búsqueda se extiende a cubetas adyacentes (y al área de espacio de características adyacentes), pero tal disposición puede ser muy computacionalmente intensiva ya que el número de cubetas adyacentes crece exponencialmente para el aumento de la dimensionalidad. Por lo tanto, aparte de extender la búsqueda a las cubetas adyacentes, es deseable mejorar aún más la probabilidad de que puntos de datos similares estén asociados con la misma cubeta, mejorando así la precisión de la búsqueda
Una técnica conocida para mejorar aún más la probabilidad de que puntos de datos similares estén asociados con la misma cubeta es, como se muestra en la figura 5E, usar múltiples tablas de desmenuzamiento 530 asociadas con diferentes funciones de desmenuzamiento. En tal método, varias funciones de desmenuzamiento (por ejemplo, familias de funciones de desmenuzamiento 582 y 584) pueden particionar los mismos espacios de características de maneras diferentes pero solapadas (como se indica mediante la malla de línea continua y la malla de línea discontinua), de modo que los descriptores de características incluidos en una consulta puede conducir al acceso de múltiples cubetas que cubren simultáneamente un conjunto de áreas de espacio de características solapadas simultáneamente en diferentes tablas, y la búsqueda puede limitarse al conjunto de áreas. Aunque las cubetas solapadas permiten una mejor cobertura de un espacio de características particionadas, es posible que las características de referencia que no son las más cercanas a las características de consulta se puedan incluir en una cubeta direccionada por las características de consulta, y puede ser necesario realizar un filtrado adicional (por ejemplo, calculando una distancia entre las características de referencia en la cubeta y la característica de consulta) para determinar si las características de referencia se incluirán en el conjunto de imágenes candidatas.
Otra técnica conocida para mejorar el LSH, como se muestra en la figura 5F, es utilizar un LSH basado en entropía para generar puntos de datos aleatorios cerca del punto de datos de consulta. Estos puntos de datos aleatorios también pueden hacer que las funciones de desmenuzamiento asignen áreas de espacio de características 590, 592 y 594 en la misma cubeta de desmenuzamiento. El límite de distancia de similitud 596 para la búsqueda de ANN también se puede expandir (en relación con el límite de distancia de similitud 521 de la figura 5A) para incluir los puntos de datos aleatorios. Además, como se muestra en la figura 5G, el LSH de múltiples sondeos puede obtener puntos de consulta adicionales mediante el empleo de una secuencia de sondeo obtenida de consulta de supuestas cubetas vecinas.
Si bien las técnicas de LSH mencionadas anteriormente pueden mejorar el efecto de cobertura de la cubeta inherente a la partición del espacio de parámetros, puede haber un gran coste computacional y requisito de almacenamiento cuando las imágenes candidatas, cuyos descriptores de características se deben extraer y organizar en la tabla de desmenuzamiento 510, se generan a partir de un video. Debido al enorme volumen de datos generados a partir de un video, puede consumir mucho tiempo y ser computacionalmente intenso examinar cada punto de datos almacenado en cualquier cubeta dada mientras se realiza la búsqueda ANN, que implica el cálculo de la distancia real entre cada punto de datos en una cubeta de desmenuzamiento y el punto de datos de consulta. Además, como se muestra en la figura 5H, el video generalmente incluye una gran cantidad de contenido de imágenes repetidas y, como resultado, la gran mayoría de las características de imagen extraídas pueden no contribuir a ninguna información distintiva, o pueden causar que se pierda una minoría de características de imágenes distintivas en la mayoría de las características menos distintivas, diluyendo cualquier catalogado de probabilidad de coincidencia de imagen que depende de la presencia de características. Aparte, las cubetas de desmenuzamiento ocupadas en exceso también pueden aportar desproporcionadamente muchos puntos de datos a los conjuntos de descriptores de características candidatas y frustrar las ganancias de rendimiento para ciertas características de imagen recurrentes, mientras que los movimientos y las transformadas de características uniformes pueden disminuir la capacidad de las pruebas de alineación homógrafica de correspondencias de características para identificar de manera confiable las coincidencias.
El LSH mejorado
Los métodos y sistemas que describen una técnica modificada de LSH se proporcionarán a continuación. La técnica modificada se puede utilizar para explotar las propiedades de cobertura estadística de la superposición de múltiples funciones de desmenuzamiento no congruentes bien elegidas como una métrica de distancia de reemplazo aproximada. Estos métodos y sistemas requieren menos cálculos y menos almacenamiento.
El método descrito elimina la necesidad de realizar computaciones de distancia utilizando los componentes de vector de los puntos de datos almacenados en la tabla de desmenuzamiento como en las implementaciones de la técnica anterior mencionadas anteriormente de ANN basadas en el LSH. La información posicional oculta en múltiples funciones de desmenuzamiento no congruentes superpuestas se puede aprovechar directamente, interpretando las cubetas de desmenuzamiento solapadas como un supermuestreo irregular del espacio de parámetros continuo. Dada la propiedad del desmenuzamiento sensible a la localidad, la probabilidad de una colisión de la cubeta de desmenuzamiento entre las muestras pi y la muestra de consulta q aumenta cuanto más cerca estén. Interpretado de forma inversa para un conjunto dado de L diferentes funciones de desmenuzamiento sensibles a la localidad, esto implica que la cobertura de área de espacio de características dimensionales D de cubetas de desmenuzamiento solapadas dentro de un límite de distancia de similitud alrededor de un punto de consulta q aumenta para radios más pequeños (R1 < R2 ):
Figure imgf000013_0001
En otras palabras, para un punto de consulta q, el número de cubetas de desmenuzamiento solapadas simultáneamente que se direccionadas por h(q) se relaciona de manera aproximada con la distancia al punto de consulta. Esta observación puede usarse directamente como una métrica de catalogado de distancia cuantificada:
L
R(P,q) = ^ j S(hl (q),hl (p)) ~m\pmq\
1=1
Cuanto más se acerca un punto de muestra pi a q, mayor es la probabilidad de que esté cubierto por algunas de las cubetas de desmenuzamiento solapadas seleccionadas por q, y, como consecuencia, con mayor frecuencia aparece como un duplicado al recopilar todos los puntos unidos a las cubetas. En cierto modo, todas las ubicaciones de puntos de datos espaciales pueden verse como codificadas con pérdidas o supermuestreadas dentro del patrón de membresía de la cubeta de las tablas de desmenuzamiento. Esta codificación sirve como un reemplazo para las ubicaciones de los puntos de datos.
La calidad y resolución de esta codificación está definida por las funciones de desmenuzamiento. Primero, la densidad de las cubetas solapadas alrededor de un punto de consulta converge a una distribución normal (es decir, cuantas más funciones de desmenuzamiento no congruentes se usen, más refinado será la resolución):
%2
íím -E L i S (hffq d • x),hl (c¡)'] = e ' ad d e RD A a~\d\
En segundo lugar, el catalogado de distancia absoluta aumenta entre muestras más cercanas y el resto (incluido el ruido). Solo los puntos de datos p que se encuentran dentro de una distancia correspondiente al mayor tamaño de cubeta a un punto de consulta q están sujetos a la relación mencionada anteriormente entre la cobertura de la cubeta y la distancia:
L L L
^5 (h ¡(p ),h ¡(q )) ■ ^ 5 (h ¡(r) ,h ¡(q )) = ^ j P(hl (p) = hl (q)) ■L • Pcollslón
¡=i ¡=i ¡=i
para los puntos de datos p, r: | p-q | < R < | r-q |
Aquellas muestras que se encuentran fuera de esa distancia de cubeta de gran tamaño no comparten la misma área cubierta por la cubeta, pero pueden compartir cubetas debido a colisiones de direcciones de desmenuzamiento/distorsión de muestreo de cubetas. Para determinadas funciones de desmenuzamiento ideales, estas colisiones se distribuyen estadísticamente de manera uniforme sobre el espacio de parámetros, y todas las muestras que no están sujetas a la relación catalogado-distancia tienen la misma probabilidad fija Pcolisión para mostrarse como falsos positivos en el conjunto de candidatas. La brecha de señal a ruido se puede ajustar bien aumentando el número de funciones de desmenuzamiento o aumentando el tamaño de la tabla, reduciendo en efecto la probabilidad de Pcolisión.
El efecto de aumentar el número de funciones de desmenuzamiento se ilustra en la figura 6A. A la izquierda, el punto de datos de características de consulta 693 está direccionado a un espacio de cubeta 694. Se utilizan varias funciones de desmenuzamiento para particionar el espacio de cubeta 694, donde cada espacio direccionado por función de desmenuzamiento (por ejemplo, el espacio 695) puede solaparse con el punto de datos 693. Los puntos de datos dentro de la parte del espacio 695 que no se solapan con 694 (por ejemplo, el espacio 696) todavía se pueden recopilar como puntos de datos candidatos (debido a su asociación con una función de desmenuzamiento cuyo espacio direccionado 695 se solapa con el punto de datos de consulta). La densidad de cubetas solapadas alrededor del punto de consulta se puede representar mediante una distribución 690. Como se muestra a la derecha, a medida que aumenta el número de funciones de desmenuzamiento, la distribución 690 converge para convertirse en una distribución gaussiana. Debido a la naturaleza de una función de desmenuzamiento, que esta asignando un espacio de parámetros infinito a un conjunto finito de cubetas, los puntos de datos que se encuentran fuera de todos los segmentos 694, 695, 696, direccionados por el punto de consulta 693, aún pueden caer en la misma cubeta de desmenuzamiento. Asumiendo funciones de desmenuzamiento ideales, estas llamadas colisiones de cubeta aparecen como ruido uniforme, ya que no están sujetas a la propiedad de sensibilidad a la localidad.
Las figuras 6B-C muestran métodos ilustrativos 602, 604 y 606 para organizar la estructura de datos de búsqueda que explota aún más la naturaleza probabilística de la métrica de catalogado de distancia mencionada anteriormente. En algunas realizaciones, como se muestra en la figura 6B, se pueden superponer múltiples espacios de dirección de función de desmenuzamiento concurrentes en una tabla de desmenuzamiento unificada 607, donde los índices de desmenuzamiento de las familias de desmenuzamiento se asignan a un conjunto de cubetas de desmenuzamiento, permitiendo múltiples funciones de desmenuzamiento direccionar la misma cubeta de desmenuzamiento, con cada cubeta de desmenuzamiento almacenando una lista de elementos. Además, las tablas de desmenuzamiento 608 y 609 de la figura 6C ilustra un enfoque de almacenamiento novedoso del uso de un diseño de tabla de desmenuzamiento de direccionamiento abierto modificado, donde una cubeta siempre tiene cero o un elemento(s). Para resolver colisiones de desmenuzamiento (es decir, múltiples funciones de desmenuzamiento que apuntan a la misma cubeta), se puede emplear un método de direccionamiento abierto. Como se muestra por el método 604 de la figura 6C, cuando un punto de datos de características se debe escribir en una cubeta direccionado a 3, que ya almacena datos. La tabla de desmenuzamiento se puede sondear para una cubeta vacía de acuerdo con una secuencia de sondeo lineal. En este ejemplo ilustrativo, la tabla de desmenuzamiento se atravesará de forma lineal (por ejemplo, atravesando cubetas que están direccionadas de manera consecutiva). Cuando se calcula una dirección de tabla de desmenuzamiento para un punto de datos de características de consulta, todos los elementos que comienzan desde la dirección de la tabla de desmenuzamiento calculada hasta que se alcanza una cubeta vacía se incluirán en los puntos de datos candidatos. Los puntos de datos de características candidatas recopilados a lo largo de la secuencia de sonda se pueden filtrar mediante la comparación de distancia, donde solo se retienen los puntos de datos de características que están dentro de una distancia de similitud predefinida a los puntos de datos de características de consulta.
En algunas realizaciones, como se muestra en el método 606 de la figura 6C, en lugar de un sondeo lineal, se puede usar un sondeo local probabilístico para resolver la colisión de desmenuzamiento dispersando aleatoriamente los puntos de datos insertados en las cubetas dentro de un intervalo predefinido alrededor de la cubeta direccionada originalmente por los puntos de datos, y no se hace un seguimiento de la secuencia de sondeo. Además, no se realiza ningún filtrado utilizando la comparación de distancia, y los componentes de vector de características, que se utilizan para el cálculo de la dirección de desmenuzamiento, no necesitan almacenarse.
Dado que la métrica de distancia probabilística mencionada anteriormente usa la aparición de puntos de datos de características como indicador de distancia, los puntos de datos candidatos que se recopilan dentro de una cubeta pero que originan de diferentes direcciones de desmenuzamiento pueden aparecer como ruido que se distribuye estadísticamente sobre el espacio de características, cuando luego se recuperan como un resultado de consulta. Como se describe a continuación, estos puntos de datos se pueden diferenciar de los puntos de datos recopilados correctamente basado en una serie de apariciones de estos puntos de datos dentro de un bloque de entradas de cubeta. Por ejemplo, las imágenes a las que se han referido igual o menor que el nivel de ruido intrínseco de la tabla de desmenuzamiento pueden descartarse (véase, por ejemplo, la etapa 616 de la figura 6D). El ruido puede mitigarse (dirigirse con precisión), por ejemplo, aumentando el tamaño de las tablas de desmenuzamiento, aumentando el número de funciones de desmenuzamiento, etc.
Además, como se muestra en la figura 6C, según el método 606, una entrada puede sobrescribirse con datos más recientes. Por ejemplo, la cubeta direccionada en 89 se utiliza para almacenar puntos de datos 620, pero como resultado del sondeo local probabilístico, se sobrescribe con los puntos de datos 630, ya que normalmente los puntos de datos que están asociados con cubetas ocupadas en exceso provienen de características voluminosas pero menos distintivas, la sobrescritura de estos datos permite que estas características se difuminen y sus influencias para determinar las características coincidentes se pueden reducir. Esta política de sobrescritura también se puede ajustar para manejar la situación de desbordamiento (es decir, cuando todas las entradas de la tabla de desmenuzamiento tienen datos almacenados).
Con una tabla de desmenuzamiento dispuesta según, por ejemplo, las tablas de desmenuzamiento 607-609 de las figuras 6B-C, las áreas adyacentes en la tabla de desmenuzamiento son aproximadamente el equivalente de una lista de cubeta. En consecuencia, para cada dirección de desmenuzamiento calculada a partir de un punto de datos de características, se puede realizar una lectura de bloque de tamaño fijo de la tabla de desmenuzamiento alrededor de la dirección de desmenuzamiento utilizando, por ejemplo, la funcionalidad de paginación comúnmente utilizada en el acceso a archivos asignados en memoria. Cada bloque que se lee de esta manera puede representar una lista de cubetas, que a su vez representa un área de espacio de características de sobremuestreo de cubeta solapada, particionada por la función de desmenuzamiento. Como se explicó anteriormente, el número de cubetas de desmenuzamiento solapadas simultáneamente direccionado por un punto de datos de consulta (es decir, las cubetas de desmenuzamiento que están asociadas a direcciones calculadas aplicando las funciones de desmenuzamiento al punto de datos de consulta) se relaciona de manera aproximada con la distancia del punto de datos de consulta, de modo que cuanto más cerca esté un punto de datos particular en la cubeta al punto de datos de consulta, mayor será la probabilidad de que ese punto de datos en particular esté cubierto por al menos algunas de las cubetas de desmenuzamiento solapadas direccionadas por el punto de datos de consulta. Como resultado, ese punto de datos en particular puede aparecer con mayor frecuencia como un duplicado dentro de las cubetas de desmenuzamiento solapadas (es decir, las cubetas de desmenuzamiento asignados para solapar al área de espacio de características), y el número de apariciones de ese punto de datos en particular dentro de las cubetas de desmenuzamiento solapadas (representado por la lectura de bloque) se puede utilizar para estimar su distancia desde el punto de datos de consulta. Aquellos puntos de datos que ocurren con mayor frecuencia dentro del bloque se pueden determinar cómo las características coincidentes en respuesta a la consulta, e incluirse en los puntos de datos candidatos. A partir de los puntos de datos candidatos, las imágenes asociadas con los puntos de datos candidatos se pueden adquirir como imágenes candidatas.
La figura 6D ilustra un método ilustrativo para realizar el proceso de consulta a una base de datos de índice de características de imagen, con la base de datos organizada utilizando, por ejemplo, la tabla de desmenuzamiento 609 de la figura 6C. Las etapas 532-536 son los mismos que los de la figura 5B y sus descripciones no se repiten aquí. Después de determinar la dirección de la cubeta en la etapa 536, se realiza en la etapa 612 una lectura de bloque de la tabla de desmenuzamiento alrededor de esa cubeta, como se describió anteriormente con referencia a la figura 6C. Cada punto recopilado de datos de características de referencia duplicado se cuenta, por ejemplo, haciendo un seguimiento de un contador de referencia asociado con cada punto de datos de características de referencia en la etapa 613. Después de analizar todos los puntos de datos de consulta, las imágenes candidatas asociadas con los puntos recopilados de datos de característica de referencia se seleccionan como candidatas coincidentes en la etapa 614. Cada imagen candidata se puede asociar con una combinación de contadores de referencia asociados con cada punto de datos de características de referencia duplicado como se determina en la etapa 613. La combinación de los contadores de referencia se puede utilizar entonces para catalogar y ordenar las imágenes candidatas en la etapa 615. En la etapa 616, las imágenes candidatas con algunos contadores de referencia que están por encima de cierto umbral pueden descartarse. Tal umbral puede determinarse en base a un nivel de ruido predeterminado.
La figura 6E ilustra un método para insertar una imagen de referencia en una base de datos de índice de características de imagen como se describió anteriormente. Las etapas 551-556 son los mismos que las etapas con números similares de la figura 5C, y su descripción no se repite aquí. En la etapa 621, después de que se determina una primera dirección de cubeta para la cantidad de característica de referencia, se utiliza una función aleatoria para calcular una segunda dirección de cubeta. La función aleatoria se puede usar para dispersar aleatoriamente puntos de datos insertados en las cubetas dentro de un intervalo predefinido alrededor de la cubeta originalmente direccionada por los puntos de datos, de manera similar al método 602 de la figura 6B. El punto de datos de referencia se almacenará entonces en una cubeta direccionado por la segunda dirección, en la etapa 622. Si hay otros datos más antiguos almacenados en esa cubeta, esos datos se descartarán a favor del punto de datos de referencia, en la etapa 623.
La figura 7 es un diagrama de bloques que ilustra un sistema ilustrativo 700 con el que se pueden implementar las realizaciones descritas en este documento, de acuerdo con las realizaciones de la presente descripción. En algunas realizaciones, el sistema 700 puede ser parte del servidor 140 de la figura 1A. En algunas realizaciones, el sistema 700 se puede usar para procesar una consulta enviada por, por ejemplo, el sistema 300 de la figura 3. En al menos una realización ilustrativa, el sistema 700 comprende el módulo de coincidencia de imagen 752, la base de datos de imágenes de referencia 720, la tabla de desmenuzamiento 730, el módulo de gestión de la tabla de desmenuzamiento 740, el módulo de recuperación de descriptores de características candidatas 746, el módulo de recuperación de imágenes candidatas 750 y las funciones de desmenuzamiento 770.
En al menos algunas realizaciones ilustrativas, el módulo de coincidencia de imagen 752 es el módulo de coincidencia de imagen 142 como se describió anteriormente con respecto a la figura 1A.
La base de datos de imágenes de referencia 720 puede almacenar un conjunto de imágenes candidatas. Cada imagen candidata puede ser una imagen de medios visuales (por ejemplo, una captura de pantalla de una escena durante un programa de televisión) y puede incluir un conjunto de características visuales predeterminadas. Se puede predeterminar que estas características visuales se incluirán en una consulta que el sistema 700 procesará. Estas características pueden representarse mediante los descriptores de características mencionados anteriormente. Cada imagen de referencia puede asociarse con uno o más descriptores de características correspondientes a por lo menos parte del conjunto de características visuales predeterminadas incluidas en la imagen. Cuando se recibe una consulta que incluye un conjunto de descriptores de características, se pueden recuperar una o más imágenes candidatas de la base de datos de imágenes de referencia 720 en respuesta a una consulta basada en una determinación de que los descriptores de características incluidas en las imágenes candidatas recuperadas coinciden con al menos algunos de los descriptores de características incluidos en la huella digital de la consulta, con cierto grado de certeza. En algunas realizaciones, aquellas imágenes candidatas recuperadas se pueden comparar con la imagen de la consulta (es decir, la imagen a partir de la cual se genera la consulta) para encontrar la imagen candidata que mejor coincida.
Aunque aquí se presenta una base de datos de imágenes de referencia, debe entenderse que existen otras formas de agrupar características visuales en una base de datos (por ejemplo, asociando una combinación de características visuales o descriptores de características con un objeto particular, en lugar de una imagen candidata), que son completamente aplicables a las técnicas descritas en el presente documento y están dentro del alcance de la presente descripción.
La tabla de desmenuzamiento 730 está asociada con un conjunto de funciones de desmenuzamiento 770. En algunas realizaciones, el módulo de gestión de la tabla de desmenuzamiento 740 incluye además un módulo de resolución de colisiones 742 y un módulo de manejo de desbordamiento 744.
En algunas realizaciones, el módulo de gestión de la tabla de desmenuzamiento 740, el módulo de recuperación de descriptores de características candidatas 746 y el módulo de recuperación de imágenes candidatas 750 pueden configurarse para implementar el procesamiento de la consulta como se describe en las figuras 6D-E. El módulo de gestión de la tabla de desmenuzamiento 740 proporciona acceso a la tabla de desmenuzamiento 730 en respuesta a una consulta. El módulo de gestión de la tabla de desmenuzamiento 340 proporciona una tabla de asignación que asigna los índices de desmenuzamiento (es decir, las direcciones) de todas las tablas de desmenuzamiento incluidas en la tabla de desmenuzamiento 730 a un conjunto de cubetas de desmenuzamiento, similar a las tablas de desmenuzamiento unificadas 602, 604 y 606 de las figuras 6B-C . Las direcciones se calculan basándose en los puntos de datos del descriptor de características utilizando las funciones de desmenuzamiento 770.
El módulo de resolución de colisiones 742, que forma parte del módulo de gestión de la tabla de desmenuzamiento 740, maneja las colisiones de desmenuzamiento (es decir, cuando dos puntos de datos diferentes están direccionados a la misma cubeta) cuando se asocia un nuevo punto de datos (por ejemplo, un conjunto de descriptores de características) con la tabla de desmenuzamiento 730. En algunas realizaciones, el módulo de resolución de colisiones 742 implementa los métodos de direccionamiento abierto y sondeo como se describió anteriormente en referencia a las figuras 6C y 6E.
El módulo de gestión de desbordamiento 744, que forma parte del módulo de gestión de la tabla de desmenuzamiento 740, maneja la asociación de un nuevo punto de datos (por ejemplo, un conjunto de descriptores de características) con la tabla de desmenuzamiento 730 en el caso de que no se pueda encontrar una casilla vacía en la tabla de desmenuzamiento. En algunas realizaciones, el módulo de manejo de desbordamiento 744 implementa la política de sobrescritura como se describió anteriormente en referencia a las figuras 6C y 6E.
El módulo de recuperación de descriptores de características candidatas 746 accede a la tabla de desmenuzamiento 730 para adquirir un conjunto de puntos de datos de descriptores de características candidatas. Para cada descriptor de características incluido en una consulta, el módulo de recuperación de descriptores de características candidatas 746 aplica las funciones de desmenuzamiento para calcular las direcciones, usa las direcciones para ubicar las cubetas y luego recupera todos los puntos de datos asociados con las cubetas. En el caso de que no se hace un seguimiento de una secuencia de sondeo, también se recuperarán todos los puntos de datos asociados con otras cubetas a lo largo de la secuencia de sondeo. En el caso de que se utilice el sondeo local probabilístico, también se recuperarán todos los puntos de datos dentro del intervalo predefinido alrededor de la cubeta direccionada. Después de recuperar los puntos de datos de descriptores de características candidatas, los puntos de datos se envían entonces al módulo de recuperación de imágenes de candidatas 750, que luego puede determinar qué conjunto de puntos de datos de descriptores de características se repite con mayor frecuencia dentro del conjunto de puntos de datos candidatos. Se determinará que estos descriptores de características son los más similares a los descriptores de características incluidos en la consulta, y luego se pueden usar para identificar un conjunto de imágenes candidatas u otra información adicional en respuesta a la consulta. En algunas realizaciones, el módulo de recuperación de descriptores de características candidatas 746 y el módulo de recuperación de imágenes candidatas 750 implementan al menos parte de los métodos de las figuras 6D y 6E.
Después de recibir la imagen candidata, el módulo de coincidencia de imagen 752 compara entonces las huellas digitales de las imágenes candidatas con la huella digital de consulta (o parte de la misma), y determina si hay una coincidencia. Si hay una coincidencia, el sistema 700 recupera la imagen coincidente junto con las anotaciones adjuntas a la misma desde la base de datos de anotaciones 780, y devuelve la información adicional y las anotaciones al dispositivo móvil.
En algunas realizaciones, como se muestra en la figura 8, un dispositivo de cliente ilustrativo 800 puede incluir, además del sistema 300 de la figura 3, una caché de consultas 840 y un módulo de gestión de caché de consultas 850, para formar un sistema de dos niveles para el procesamiento de consultas. La caché de consultas 840 puede almacenar una asignación entre consultas recibidas previamente y los descriptores de características (y/o la(s) imágen(es) candidata(s)) recuperadas del servidor 140 en respuesta a esas consultas, empleando un método similar al descrito en la figura 4C. Cuando se recibe una nueva consulta, el módulo de gestión de caché de consultas 850 puede comparar el contenido de la nueva consulta con el contenido de las consultas almacenadas en la caché de consultas 800. Si se encuentra una coincidencia en la caché de consultas 840, los descriptores de características asociados (y/o la(s) imágen(es) candidata(s)) se pueden proporcionar como respuesta sin enviar la consulta al servidor 130. Si no se puede encontrar una coincidencia en la caché de consultas 840 y/o la base de datos de imágenes candidatas 820, la consulta se transmitirá entonces al sistema 700.
En algunas realizaciones, dicho sistema de dos niveles también se puede implementar entre dos servidores diferentes, o como parte del sistema 700, para manejar consultas originadas desde diferentes dispositivos cliente pero que incluyen contenido similar. Después de que un primer dispositivo de cliente envía una primera consulta que provoca que el servidor 130 recupere una imagen coincidente, otro dispositivo de cliente puede enviar una segunda consulta que incluye contenido similar. En ese caso, la segunda consulta puede manejarse buscando a través de la caché de consultas 840, y el resultado de la primera consulta puede reutilizarse. Tal disposición puede ser útil para manejar picos en consultas con contenido similar. Por ejemplo, como se describió anteriormente, cuando un video se emite a millones de espectadores, muchos de ellos pueden enviar una consulta tomando una instantánea de un artículo de interés que aparece simultáneamente en sus dispositivos de visualización, y estas consultas pueden incluir contenido muy similar. Después de que la primera consulta se procesa accediendo a la base de datos de imágenes de referencia 720 mucho más grande y el resultado se agrega a la caché de consultas 840, las otras consultas que incluyen el mismo artículo de interés pueden manejarse en su lugar accediendo a la caché de consultas 840, lo que puede mejorar la eficiencia enormemente.
La figura 9 es un diagrama de bloques de un sistema ilustrativo 900 con el que se pueden implementar las realizaciones descritas en el presente documento, de acuerdo con las realizaciones de la presente descripción. Como se muestra en la figura 9, el sistema 900 incluye un dispositivo de cliente 910, una red 930 y un servidor 940. El dispositivo de cliente 910 incluye uno o más procesadores 912, un dispositivo de memoria 914, un dispositivo de almacenamiento 916, una pantalla 917, una interfaz de red 918, una cámara 119 (u otro dispositivo de generación de imágenes) y un acelerómetro 922 (u otro dispositivo de determinación de orientación), todos los cuales pueden comunicarse entre sí a través de un bus 920. En algunas realizaciones, la pantalla 917 es preferiblemente una pantalla táctil. Los dispositivos de E/S pueden incluir un micrófono y cualquier otro dispositivo que pueda adquirir y/o emitir una señal. A través de la red 930, el dispositivo de cliente 910 puede intercambiar datos con un servidor 940. El servidor 940 también incluye uno o más procesadores 942, un dispositivo de memoria 944, un dispositivo de almacenamiento 946 y una interfaz de red 948, todos los cuales pueden comunicarse entre sí a través de un bus 950.
Ambas memorias 914 y 944 pueden ser una memoria de acceso aleatorio (RAM, por sus siglas en inglés) u otros dispositivos de almacenamiento volátiles para almacenar información e instrucciones que serán ejecutadas, respectivamente, por los procesadores 912 y 942. Las memorias 914 y 944 también se pueden usar para almacenar variables temporales u otra información intermedia durante la ejecución de las instrucciones que serán ejecutadas por los procesadores 912 y 942. Dichas instrucciones, después de almacenarse en medios de almacenamiento no transitorios accesibles para los procesadores 912 y 914 (por ejemplo, los dispositivos de almacenamiento 916 y 946), convierten los sistemas informáticos 910 y 940 en máquinas de utilidad especial que están hechas a medida para realizar las operaciones especificadas en las instrucciones. Las instrucciones pueden organizarse en diferentes módulos de software, que pueden incluir, a modo de ejemplo, componentes, como componentes de software, componentes de software orientados a objetos, componentes de clase y componentes de tareas, procesos, funciones, campos, procedimientos, subrutinas, segmentos de código de programa, controladores, programa firme, microcódigo, circuitería, datos, bases de datos, estructuras de datos, tablas, matrices y variables.
En general, la palabra "módulo", como se usa en el presente documento, se refiere a la lógica incorporada en hardware o programa firme, o a una colección de instrucciones de software, posiblemente con puntos de entrada y salida, escritos en un lenguaje de programación, como, por ejemplo, Java, Lua, C o C++. Un módulo de software puede compilarse y vincularse a un programa ejecutable, instalarse en una biblioteca de enlaces dinámicos o escribirse en un lenguaje de programación interpretado como, por ejemplo, BASIC, Perl o Python. Se apreciará que los módulos de software pueden llamarse desde otros módulos o desde ellos mismos, y/o pueden invocarse en respuesta a eventos o interrupciones detectados. Los módulos de software configurados para la ejecución en dispositivos informáticos se pueden proporcionar en un medio legible por ordenador, como un disco compacto, disco de video digital, unidad de flash, disco magnético o cualquier otro medio tangible, o como una descarga digital (y se pueden almacenar originalmente en un formato comprimido o instalable que requiere instalación, descompresión o descifrado antes de la ejecución). Tal código de software puede almacenarse, parcial o totalmente, en un dispositivo de memoria del dispositivo informático ejecutor, para la ejecución por el dispositivo informático. Las instrucciones de software pueden empotrarse en el programa firme, tal como una memoria EPROM. Se apreciará además que los módulos de hardware pueden estar compuestos por unidades lógicas conectadas, tal como puertas y biestables sincronizados por flancos, y/o pueden estar compuestas por unidades programables, tal como matrices de puertas o procesadores programables. Los módulos o la funcionalidad del dispositivo informático descritos en el presente documento se implementan preferiblemente como módulos de software, pero se pueden representar en hardware o programa firme. En general, los módulos descritos en el presente documento se refieren a módulos lógicos que pueden combinarse con otros módulos o dividirse en submódulos a pesar de su organización física o almacenamiento.
El dispositivo de cliente 910 y el servidor 940 pueden implementar las técnicas descritas en el presente documento que utiliza lógica cableada personalizada, uno o más ASIC o FPGA, lógica de programa firme y/o programa que, en combinación con el sistema informático, provoca o programa que el dispositivo de cliente 910 y el servidor 940 sean una máquina de utilidad especial. Según algunas realizaciones, las operaciones, funcionalidades, y técnicas y otras características descritas en el presente documento son realizadas por el dispositivo de cliente 940 y el servidor 940 en respuesta a los procesadores 912 y 942 que ejecutan una o más secuencias de una o más instrucciones contenidas en, respectivamente, las memorias 914 y 944. Dichas instrucciones pueden leerse en las memorias 914 y 944 desde otro medio de almacenamiento, como los dispositivos de almacenamiento 916 y 946. La ejecución de las secuencias de instrucciones contenidas en las memorias 914 y 944 provoca que los procesadores 912 y 942, respectivamente, realicen las etapas del proceso descritos en el presente documento. En realizaciones alternativas, la circuitería cableada puede usarse en lugar de o en combinación con instrucciones de software.
El término "medios no transitorios", como se usa en el presente documento, se refiere a cualquier medio no transitorio para almacenar datos y/o instrucciones que provocan que una máquina funcione de una manera específica. Dichos medios no transitorios pueden comprender medios no volátiles y/o medios volátiles. Los medios no volátiles pueden incluir, por ejemplo, dispositivos ópticos o magnéticos, como los dispositivos de almacenamiento 916 y 946, los medios volátiles pueden incluir memoria dinámica, tal como las memorias 914 y 944. Las formas comunes de medios no transitorios incluyen, por ejemplo, un disquete, un disco flexible, disco duro, unidad de estado sólido, cinta magnética o cualquier otro medio de almacenamiento de datos magnéticos, un CD-ROM, cualquier otro medio de almacenamiento óptico de datos, cualquier medio físico con patrones de agujeros, una RAM, una PROM y EPROM, una FLASH-EPROM, NVRAM, cualquier otro chip o cartucho de memoria, y versiones en red de los mismos.
Por ejemplo, los dispositivos 121 y 122 de la figura 1A puede implementarse como dispositivo de cliente 910, donde el sistema 300 de la figura 3 y los métodos 400, 430 y 460 de las figuras 4A-4B se puede implementar como instrucciones de software almacenadas en el almacenamiento 916 y la memoria 914. En algunas realizaciones, el servidor 140 de la figura 1A puede implementarse como servidor 940, donde el sistema 700 de la figura 7 y los métodos 600, 602, 610 y 620 de las figuras 6B-6D puede implementarse como instrucciones de software almacenadas en el almacenamiento 946 y la memoria 944.
Las interfaces de red 918 y 948 pueden proporcionar un acoplamiento de comunicación de datos bidireccional a la red 930. Por ejemplo, las interfaces de red 918 y 948 pueden ser una tarjeta de red digital de servicios integrados (ISDN, por sus siglas en inglés), módem de cable, módem de satélite o un módem para proporcionar una conexión de comunicación de datos a un tipo correspondiente de línea telefónica. Como otro ejemplo, las interfaces de red 918 y 948 pueden ser una tarjeta de red de área local (LAN, por sus siglas en inglés) para proporcionar una conexión de comunicación de datos a una LAN compatible. Los enlaces inalámbricos también se pueden implementar. En cualquier implementación de este tipo, las interfaces de red 918 y 948 pueden enviar y recibir señales eléctricas, electromagnéticas u ópticas que transportan flujos de datos digitales que representan diversos tipos de información, y proporcionan el flujo de datos a los dispositivos de almacenamiento 916 y 946. Los procesadores 912 y 942 pueden entonces convertir los datos en una forma diferente (por ejemplo, ejecutando instrucciones de software para comprimir o descomprimir los datos), y luego almacenar los datos convertidos en los dispositivos de almacenamiento (por ejemplo, los dispositivos de almacenamiento 916 y 946), y/o transmitir los datos convertidos a través de las interfaces de red 918 y 948 a través de la red 930.
De acuerdo con algunas realizaciones, las operaciones, técnicas y/o componentes descritos en este documento pueden implementarse mediante un dispositivo electrónico, que puede incluir uno o más dispositivos informáticos de utilidad especial. Los dispositivos informáticos de utilidad especial pueden estar cableados para realizar las operaciones, técnicas y/o componentes descritos en este documento, o pueden incluir dispositivos electrónicos digitales como uno o más circuitos integrados de aplicación específica (ASIC, por sus siglas en inglés) o conjunto configurable de puertas (FPGA, por sus siglas en inglés) que se programan de manera persistente para realizar las operaciones, técnicas y/o componentes descritos en este documento, o pueden incluir uno o más procesadores de hardware programados para realizar tales funciones de la presente descripción de acuerdo con las instrucciones del programa en el programa firme, memoria, otro almacenamiento o una combinación. Dichos dispositivos informáticos de utilidad especial también pueden combinar lógica cableada personalizada, ASIC o FPGA con programación personalizada para lograr la técnica y otras características de la presente descripción. Los dispositivos informáticos de utilidad especial pueden ser sistemas informáticos de escritorio, sistemas informáticos portátiles, dispositivos de mano, dispositivos de red o cualquier otro dispositivo que incorpore lógica cableada y/o de programa para implementar las técnicas y otras características de la presente descripción.
El uno o más dispositivos informáticos de utilidad especial pueden estar generalmente controlados y coordinados por software de sistema operativo, tal como iOS, Android, Blackberry, Chrome OS, Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server, Windows CE, Unix, Linux, SunOS, Solaris, VxWorks u otros sistemas operativos compatibles. En otras realizaciones, el dispositivo informático puede controlarse mediante un sistema operativo de propietario. Los sistemas operativos controlan y programan procesos informáticos para la ejecución, realizan la gestión de memoria, proporcionan sistemas de archivos, redes, servicios de E/S y proporcionan una funcionalidad de interfaz de usuario, tal como una interfaz gráfica de usuario («GUI», por sus siglas en inglés), entre otras cosas.
Los sistemas mencionados anteriormente descritos en el presente documento tienen muchos usos y pueden usarse en una variedad de escenarios. Por ejemplo, los métodos y sistemas descritos en el presente documento pueden usarse en sistemas para entregar publicidad a un usuario de un dispositivo móvil. Por ejemplo, un usuario puede identificar un artículo, tema, paisaje o ubicación de interés mientras visita un lugar, lee una publicación o ve una película. Usando los sistemas y métodos en el presente documento inventivos, el usuario puede tomar una instantánea del artículo, el paisaje o cualquier cosa de interés, y generar una imagen. La imagen se puede capturar incluyendo el área alrededor y en cualquier ángulo de visión. Luego, el sistema extrae características de la imagen, genera una consulta que incluye descriptores de características correspondientes al menos a algunas de las imágenes y envía la consulta para una búsqueda basada en las características extraídas a un servidor remoto. La información adicional que se puede visualizar para el usuario, se puede proporcionar de forma gratuita al usuario, o parte o la totalidad de la información puede ser en forma de publicidad pagada. En algunos escenarios, una entidad puede proporcionar el servicio de búsqueda y cobrar a los proveedores por enviar información adicional sobre productos o servicios que se envían a los usuarios. En algunos escenarios, se les puede cobrar a los usuarios de dispositivos móviles por la capacidad de recuperar información sobre productos o servicios que utiliza los métodos y sistemas mencionados anteriormente.
En la especificación anterior, se han descrito las realizaciones con referencia a numerosos detalles específicos que pueden variar de implementación a implementación. Se pueden hacer ciertas adaptaciones y modificaciones de las realizaciones descritas. Otras realizaciones pueden ser evidentes para los expertos en la técnica a partir de la consideración de la especificación y la práctica de la invención descrita en este documento. Se pretende que la especificación y los ejemplos se consideren solo como ilustrativos. También se pretende que la secuencia de etapas mostrada en las figuras sea solo para fines ilustrativos y no se pretende que se limiten a ninguna secuencia particular de etapas. Como tal, los expertos en la técnica pueden apreciar que estas etapas se pueden realizar en un orden diferente mientras que se implementa el mismo método.

Claims (5)

REIVINDICACIONES
1. Un servidor para identificar y transmitir a un dispositivo móvil (121, 122) información adicional relacionada con una imagen de consulta obtenida por un usuario con el dispositivo móvil, comprendiendo el servidor:
una base de datos de imágenes de referencia (720) que almacena uno o más descriptores de características de referencia, asociados con una o más imágenes de referencia, en una tabla de desmenuzamiento, en donde dicha tabla de desmenuzamiento comprende una pluralidad de cubetas, cada cubeta que está asociada con una dirección y cada cubeta que comprende cero o un elemento(s), en donde almacenar uno o más descriptores de características de referencia comprende:
calcular, para cada uno de los descriptores de características de referencia, una pluralidad de primeras direcciones de desmenuzamiento utilizando una pluralidad de funciones de desmenuzamiento;
usar una función aleatoria para calcular, para cada una de la pluralidad de primeras direcciones de desmenuzamiento, una segunda dirección de desmenuzamiento dentro de un intervalo predefinido alrededor de una primera dirección de desmenuzamiento respectiva;
almacenar el descriptor de características de referencia respectivo en cubetas asociadas con la pluralidad de segundas direcciones de desmenuzamiento y reemplazar el un elemento en la cubeta con el descriptor de características de referencia cuando la cubeta respectiva no está vacía; y
Un procesador para ejecutar módulos que comprende:
un módulo de recepción de consultas para recibir, desde el dispositivo móvil (121, 122), una primera consulta que incluye uno o más descriptores de características de imagen de consulta;
un módulo de recuperación de descriptores de características candidatas (746) para:
calcular, para cada uno del uno o más descriptores de características de imagen de consulta asociados con la imagen de consulta, una pluralidad de terceras direcciones de desmenuzamiento utilizando la pluralidad de funciones de desmenuzamiento, y calcular un número de apariciones de cada descriptor de características de imagen de referencia almacenados en la base de datos de imágenes de referencia (720) dentro de un segundo intervalo de direcciones predefinido alrededor de cada una de la pluralidad de terceras direcciones de desmenuzamiento;
un módulo de recuperación de imágenes candidatas (750) para:
seleccionar un conjunto de descriptores de características de imagen de referencia que se calculó a ocurrir con mayor frecuencia;
un módulo de coincidencia de imagen (142; 710) para:
comparar el conjunto seleccionado de descriptores de características de imagen de referencia con el uno o más descriptores de características de imagen de consulta para determinar si alguna imagen de referencia coincide con la imagen de consulta;
el servidor además está configurado para realizar las etapas de, si se determina una imagen de referencia coincidente, la obtención de información adicional asociada con la al menos una imagen de referencia coincidente desde una base de datos de anotaciones (144; 780), y
transmitir la información adicional al dispositivo móvil para visualizarla como información adicional relacionada con el al menos un artículo de interés para el usuario.
2. Un método implementado por ordenador para identificar y visualizar información adicional relacionada con una primera imagen de consulta obtenida por un usuario con un dispositivo móvil (121, 122), el método que comprende:
almacenar, en una base de datos de imágenes de referencia (720), uno o más descriptores de características de referencia en una tabla de desmenuzamiento, en donde dicha tabla de desmenuzamiento comprende una pluralidad de cubetas, cada cubeta que está asociada con una dirección y cada cubeta que comprende cero o un elemento(s), en donde almacenar uno o más descriptores de características de referencia comprende:
calcular, para cada uno del uno o más descriptores de características de referencia, una pluralidad de primeras direcciones de desmenuzamiento usando una pluralidad de funciones de desmenuzamiento;
usar una función aleatoria para calcular, para cada una de la pluralidad de primeras direcciones de desmenuzamiento, una segunda dirección de desmenuzamiento dentro de un intervalo predefinido alrededor de una primera dirección de desmenuzamiento respectiva;
almacenar el descriptor de características de referencia respectivo en cubetas asociadas con la pluralidad de segundas direcciones de desmenuzamiento y reemplazar el un elemento en la cubeta con el descriptor de características de referencia cuando la cubeta respectiva no está vacía;
recibir, desde el dispositivo móvil, una primera consulta que incluye uno o más descriptores de características de imagen de consulta correspondientes a al menos un artículo de interés para el usuario incluido en la primera imagen de consulta;
sensible a la recepción de la primera consulta, realizando una búsqueda de similitud, en donde la búsqueda de similitud comprende:
para cada uno de los descriptores de características de imagen de consulta asociados con la imagen de consulta, calcular una pluralidad de terceras direcciones de desmenuzamiento utilizando la pluralidad de funciones de desmenuzamiento;
calcular un número de apariciones de cada descriptor de características de imagen de referencia almacenado en la base de datos de imágenes de referencia (720) dentro de un segundo intervalo de direcciones predefinido alrededor cada una de la pluralidad de terceras direcciones de desmenuzamiento; y
determinar una o más imágenes candidatas basándose en los descriptores de características de imagen de referencia que se calculó a ocurrir con mayor frecuencia;
comparar los descriptores de características para una o más imágenes candidatas con los descriptores de características de imagen de consulta para determinar si hay una coincidencia; y
sí hay una coincidencia, adquirir información adicional asociada con la coincidencia; y
transmitir, al dispositivo móvil, la información adicional asociada con la coincidencia para visualizarlo para el usuario.
3. El método implementado por ordenador de la reivindicación 2, en donde la determinación de una o más imágenes candidatas comprende:
determinar que el número de apariciones de un descriptor de característica de imagen de referencia excede un umbral predeterminado; y
adquirir una o más imágenes candidatas asociadas con ese descriptor de características de imagen de referencia.
4. El método implementado por ordenador de la reivindicación 3, que comprende además:
recibir, desde el dispositivo móvil (121, 122), una segunda consulta que incluye uno o más descriptores de características de imagen de segunda consulta;
comparar el uno o más descriptores de características de imagen de primera consulta con uno o más descriptores de características de imagen de segunda consulta; y
basado en un resultado de la comparación:
determinar no realizar la búsqueda de similitud; y
adquirir, basándose en una asignación entre la primera consulta y la una o más imágenes candidatas almacenadas en una caché de consultas (141), la una o más imágenes candidatas.
5. Un medio legible por ordenador que comprende instrucciones que, cuando son ejecutadas por un ordenador, provocan que el ordenador realice el método de cualquiera de las reivindicaciones 2 a 4.
ES15731669T 2014-02-10 2015-02-10 Sistemas y métodos para el reconocimiento basado en características de imagen Active ES2752728T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461937859P 2014-02-10 2014-02-10
PCT/IB2015/000908 WO2015125025A2 (en) 2014-02-10 2015-02-10 Systems and methods for image-feature-based recognition

Publications (1)

Publication Number Publication Date
ES2752728T3 true ES2752728T3 (es) 2020-04-06

Family

ID=53488361

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15731669T Active ES2752728T3 (es) 2014-02-10 2015-02-10 Sistemas y métodos para el reconocimiento basado en características de imagen

Country Status (14)

Country Link
US (6) US9122706B1 (es)
EP (1) EP3066591B1 (es)
JP (1) JP6208898B2 (es)
KR (2) KR101826815B1 (es)
CN (1) CN106462728B (es)
AU (1) AU2015220463B2 (es)
BR (1) BR112016018389A8 (es)
CA (1) CA2939161C (es)
DK (1) DK3066591T3 (es)
ES (1) ES2752728T3 (es)
MX (2) MX353871B (es)
PL (1) PL3066591T3 (es)
SG (1) SG11201606424XA (es)
WO (1) WO2015125025A2 (es)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101404596B1 (ko) * 2012-05-03 2014-06-11 (주)엔써즈 이미지에 기반하여 동영상 서비스를 제공하는 시스템 및 방법
US9720974B1 (en) 2014-03-17 2017-08-01 Amazon Technologies, Inc. Modifying user experience using query fingerprints
US10026107B1 (en) 2014-03-17 2018-07-17 Amazon Technologies, Inc. Generation and classification of query fingerprints
US9727614B1 (en) 2014-03-17 2017-08-08 Amazon Technologies, Inc. Identifying query fingerprints
US9760930B1 (en) * 2014-03-17 2017-09-12 Amazon Technologies, Inc. Generating modified search results based on query fingerprints
US9747628B1 (en) 2014-03-17 2017-08-29 Amazon Technologies, Inc. Generating category layouts based on query fingerprints
US10304111B1 (en) * 2014-03-17 2019-05-28 Amazon Technologies, Inc. Category ranking based on query fingerprints
US10572215B1 (en) * 2014-03-31 2020-02-25 Amazon Technologies, Inc. Extendable architecture for augmented reality system
US20150363660A1 (en) * 2014-06-12 2015-12-17 Asap54.Com Ltd System for automated segmentation of images through layout classification
US20170135647A1 (en) * 2014-06-27 2017-05-18 Ohio University Systems Using Fingerprint images as Diagnostic Detection systems for Type 2 Diabetes
JP6432182B2 (ja) * 2014-07-02 2018-12-05 富士通株式会社 サービス提供装置、方法、及びプログラム
US9922271B2 (en) * 2015-03-20 2018-03-20 Netra, Inc. Object detection and classification
US9760792B2 (en) * 2015-03-20 2017-09-12 Netra, Inc. Object detection and classification
US10015541B2 (en) * 2015-03-25 2018-07-03 Cisco Technology, Inc. Storing and retrieval heuristics
CN106462726A (zh) * 2015-05-06 2017-02-22 埃西勒国际通用光学公司 镜架识别系统及方法
US10839006B2 (en) * 2015-05-18 2020-11-17 Oath Inc. Mobile visual search using deep variant coding
US10423657B2 (en) 2015-07-15 2019-09-24 Rewardstyle, Inc. Systems and methods for screenshot linking
JP2017041022A (ja) * 2015-08-18 2017-02-23 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
ITUB20153277A1 (it) * 2015-08-28 2017-02-28 St Microelectronics Srl Procedimento per ricerche visuali, sistema, apparecchiatura e prodotto informatico corrispondenti
US10929666B2 (en) * 2015-09-11 2021-02-23 Christophe BOSSUT System and method for providing augmented reality interactions over printed media
US10157333B1 (en) * 2015-09-15 2018-12-18 Snap Inc. Systems and methods for content tagging
RU2613848C2 (ru) * 2015-09-16 2017-03-21 Общество с ограниченной ответственностью "Аби Девелопмент" Выявление "нечетких" дубликатов изображений с помощью троек смежных оцененных признаков
US10169684B1 (en) 2015-10-01 2019-01-01 Intellivision Technologies Corp. Methods and systems for recognizing objects based on one or more stored training images
CN105893405A (zh) * 2015-11-12 2016-08-24 乐视云计算有限公司 重复视频检测方法和系统
GB2548316A (en) * 2015-12-01 2017-09-20 Zaptobuy Ltd Methods and systems for identifying an object in a video image
US10321167B1 (en) 2016-01-21 2019-06-11 GrayMeta, Inc. Method and system for determining media file identifiers and likelihood of media file relationships
US9773194B2 (en) * 2016-01-28 2017-09-26 Longsand Limited Select type of test image based on similarity score to database image
US9906831B2 (en) 2016-02-24 2018-02-27 Sorenson Media, Inc. Fingerprinting media content using hashing
US10956484B1 (en) 2016-03-11 2021-03-23 Gracenote, Inc. Method to differentiate and classify fingerprints using fingerprint neighborhood analysis
US10496694B2 (en) 2016-03-21 2019-12-03 Hong Kong Applied Science and Technology Research Institute Company Limited Rating and advising for selection of augmented reality markers
CN105894541B (zh) * 2016-04-18 2019-05-17 武汉烽火众智数字技术有限责任公司 一种基于多视频碰撞的运动目标检索方法及系统
US10740385B1 (en) * 2016-04-21 2020-08-11 Shutterstock, Inc. Identifying visual portions of visual media files responsive to search queries
US20170323149A1 (en) * 2016-05-05 2017-11-09 International Business Machines Corporation Rotation invariant object detection
WO2018002677A1 (en) * 2016-06-27 2018-01-04 Balázs Ferenc István Method for 3d reconstruction with a mobile device
US11334768B1 (en) 2016-07-05 2022-05-17 Snap Inc. Ephemeral content management
WO2018093438A1 (en) * 2016-08-26 2018-05-24 William Marsh Rice University Camera-based positioning system using learning
US20180068023A1 (en) * 2016-09-07 2018-03-08 Facebook, Inc. Similarity Search Using Polysemous Codes
US10860898B2 (en) 2016-10-16 2020-12-08 Ebay Inc. Image analysis and prediction based visual search
US11748978B2 (en) 2016-10-16 2023-09-05 Ebay Inc. Intelligent online personal assistant with offline visual search database
US11004131B2 (en) 2016-10-16 2021-05-11 Ebay Inc. Intelligent online personal assistant with multi-turn dialog based on visual search
US10970768B2 (en) 2016-11-11 2021-04-06 Ebay Inc. Method, medium, and system for image text localization and comparison
WO2018091083A1 (en) * 2016-11-16 2018-05-24 Huawei Technologies Co., Ltd. Method and apparatus for determining data on a device
US10719492B1 (en) 2016-12-07 2020-07-21 GrayMeta, Inc. Automatic reconciliation and consolidation of disparate repositories
US9977990B1 (en) * 2017-01-08 2018-05-22 International Business Machines Corporation Cognitive method for visual classification of very similar planar objects
EP3559804B1 (en) 2017-01-19 2024-03-06 Samsung Electronics Co., Ltd. Vision intelligence management for electronic devices
US10909371B2 (en) 2017-01-19 2021-02-02 Samsung Electronics Co., Ltd. System and method for contextual driven intelligence
CN106730845A (zh) * 2017-02-13 2017-05-31 淘金科技投资(北京)股份有限公司 游戏方法及系统
EP3410353A1 (en) * 2017-06-01 2018-12-05 eyecandylab Corp. Method for estimating a timestamp in a video stream and method of augmenting a video stream with information
US10430686B2 (en) * 2017-07-11 2019-10-01 Verizon Patent And Licensing Inc. Systems and methods for enhancing image recognition techniques using primary and secondary foci
US11074434B2 (en) * 2018-04-27 2021-07-27 Microsoft Technology Licensing, Llc Detection of near-duplicate images in profiles for detection of fake-profile accounts
US10860647B2 (en) * 2018-09-06 2020-12-08 Gracenote, Inc. Systems, methods, and apparatus to improve media identification
CN109376256B (zh) * 2018-09-29 2021-03-26 京东方科技集团股份有限公司 图像搜索方法及装置
US10848775B2 (en) * 2018-11-02 2020-11-24 Fungible, Inc. Memory layout for JPEG accelerator
US10827192B2 (en) 2018-11-02 2020-11-03 Fungible, Inc. Work allocation for JPEG accelerator
US10931958B2 (en) 2018-11-02 2021-02-23 Fungible, Inc. JPEG accelerator using last-non-zero (LNZ) syntax element
US10827191B2 (en) 2018-11-02 2020-11-03 Fungible, Inc. Parallel coding of syntax elements for JPEG accelerator
CN109710792B (zh) * 2018-12-24 2023-02-03 西安烽火软件科技有限公司 一种基于索引的快速人脸检索系统应用
CN109815351B (zh) * 2018-12-27 2020-11-24 深圳云天励飞技术有限公司 信息查询方法及相关产品
CN109902198A (zh) * 2019-03-11 2019-06-18 京东方科技集团股份有限公司 一种以图搜图的方法、装置及应用系统
JP2020181332A (ja) * 2019-04-24 2020-11-05 株式会社Toreru 高精度類似画像検索方法、プログラム及び高精度類似画像検索装置
US10726630B1 (en) * 2019-06-28 2020-07-28 Capital One Services, Llc Methods and systems for providing a tutorial for graphic manipulation of objects including real-time scanning in an augmented reality
WO2021025579A1 (ru) * 2019-08-07 2021-02-11 Общество с ограниченной ответственностью "Новотранс Актив" Система и способ идентификации железнодорожных номерных деталей
CN110879987B (zh) * 2019-11-21 2023-06-09 成都东方闻道科技发展有限公司 一种识别试题作答内容的方法
CN111008297B (zh) * 2019-12-11 2023-12-15 维沃移动通信有限公司 寻址方法及服务器
CN111738194B (zh) * 2020-06-29 2024-02-02 深圳力维智联技术有限公司 一种用于人脸图像相似性的评价方法和装置
US20220066929A1 (en) * 2020-09-03 2022-03-03 FLC Technology Group, Inc. Hash function with pre-scrambler
TW202215289A (zh) * 2020-10-14 2022-04-16 王建華 用於指紋圖像識別的方法、設備及計算機可讀介質
US20220189266A1 (en) * 2020-12-11 2022-06-16 Patriot One Technologies Inc. System and method for real-time multi-person threat tracking and re-identification
WO2022195323A1 (en) * 2021-03-15 2022-09-22 One Game Studio S.A.P.I De C.V. System and method to interpret a surround of a user to generate an augmented reality environment
CN113706361B (zh) * 2021-08-19 2022-04-26 兰州大学 一种基于机密计算的数字图像权属保护云系统
CN113743420B (zh) * 2021-08-26 2023-12-05 北京邮电大学 一种基于云边端协同的Web AR图像识别方法及系统
CN115908280B (zh) * 2022-11-03 2023-07-18 广东科力新材料有限公司 基于数据处理的pvc钙锌稳定剂的性能确定方法及系统
CN116386091B (zh) * 2022-11-18 2024-04-02 荣耀终端有限公司 指纹识别方法和装置

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8218873B2 (en) 2000-11-06 2012-07-10 Nant Holdings Ip, Llc Object information derived from object images
US7680324B2 (en) 2000-11-06 2010-03-16 Evryx Technologies, Inc. Use of image-derived information as search criteria for internet and other search engines
US8224078B2 (en) 2000-11-06 2012-07-17 Nant Holdings Ip, Llc Image capture and identification system and process
US7872669B2 (en) * 2004-01-22 2011-01-18 Massachusetts Institute Of Technology Photo-based mobile deixis system and related techniques
US7751805B2 (en) 2004-02-20 2010-07-06 Google Inc. Mobile image-based information retrieval system
US7707218B2 (en) 2004-04-16 2010-04-27 Mobot, Inc. Mobile query system and method based on visual cues
US8369655B2 (en) * 2006-07-31 2013-02-05 Ricoh Co., Ltd. Mixed media reality recognition using multiple specialized indexes
US20080177640A1 (en) 2005-05-09 2008-07-24 Salih Burak Gokturk System and method for using image analysis and search in e-commerce
US7809722B2 (en) 2005-05-09 2010-10-05 Like.Com System and method for enabling search and retrieval from image files based on recognized information
US7657126B2 (en) 2005-05-09 2010-02-02 Like.Com System and method for search portions of objects in images and features thereof
GB2445688A (en) 2005-09-01 2008-07-16 Zvi Haim Lev System and method for reliable content access using a cellular/wireless device with imaging capabilities
US8234277B2 (en) 2006-12-29 2012-07-31 Intel Corporation Image-based retrieval for high quality visual or acoustic rendering
US7949191B1 (en) 2007-04-04 2011-05-24 A9.Com, Inc. Method and system for searching for information on a network in response to an image query sent by a user from a mobile communications device
US8407744B2 (en) 2007-06-19 2013-03-26 Verizon Patent And Licensing Inc. Snapshot recognition for TV
US8315423B1 (en) 2007-12-28 2012-11-20 Google Inc. Providing information in an image-based information retrieval system
US8406531B2 (en) 2008-05-15 2013-03-26 Yahoo! Inc. Data access based on content of image recorded by a mobile device
US20120030553A1 (en) 2008-06-13 2012-02-02 Scrible, Inc. Methods and systems for annotating web pages and managing annotations and annotated web pages
US8195689B2 (en) * 2009-06-10 2012-06-05 Zeitera, Llc Media fingerprinting and identification system
US8385971B2 (en) 2008-08-19 2013-02-26 Digimarc Corporation Methods and systems for content processing
US8483519B2 (en) 2008-12-22 2013-07-09 Ipointer Inc. Mobile image search and indexing system and method
US9195898B2 (en) * 2009-04-14 2015-11-24 Qualcomm Incorporated Systems and methods for image recognition using mobile devices
US9135277B2 (en) 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
US8352465B1 (en) 2009-09-03 2013-01-08 Google Inc. Grouping of image search results
CN101697232B (zh) * 2009-09-18 2012-03-07 浙江大学 面向近重复图像匹配的sift特征裁减方法
US8811742B2 (en) 2009-12-02 2014-08-19 Google Inc. Identifying matching canonical documents consistent with visual query structural information
CN101710334B (zh) * 2009-12-04 2012-01-25 大连理工大学 基于图像哈希的大规模图像库检索方法
US8548255B2 (en) 2010-04-15 2013-10-01 Nokia Corporation Method and apparatus for visual search stability
US20110258526A1 (en) 2010-04-20 2011-10-20 International Business Machines Corporation Web content annotation management web browser plug-in
US9015139B2 (en) 2010-05-14 2015-04-21 Rovi Guides, Inc. Systems and methods for performing a search based on a media content snapshot image
US20120224768A1 (en) 2011-03-04 2012-09-06 Olive Root, LLC System and method for visual search
US8553981B2 (en) 2011-05-17 2013-10-08 Microsoft Corporation Gesture-based visual search
EP2724262A4 (en) 2011-06-21 2015-04-01 Ericsson Telefon Ab L M INTERMEDIATE STORAGE SUPPORT FOR VISUAL SEARCH AND EXTENDED REALITY IN MOBILE NETWORKS
US8793274B2 (en) 2011-08-08 2014-07-29 Lei Yu System and method for auto content recognition
US9311494B2 (en) 2011-12-01 2016-04-12 Hitachi, Ltd. Secure search method and secure search device
US20130260360A1 (en) 2012-03-27 2013-10-03 Sony Corporation Method and system of providing interactive information
JP5945823B2 (ja) * 2012-06-06 2016-07-05 国立大学法人 熊本大学 画像処理方法および画像処理装置
US20140188648A1 (en) 2012-12-28 2014-07-03 Wal-Mart Stores, Inc. Searching Digital Receipts At A Mobile Device
US9633272B2 (en) 2013-02-15 2017-04-25 Yahoo! Inc. Real time object scanning using a mobile phone and cloud-based visual search engine
US20140240523A1 (en) 2013-02-22 2014-08-28 T-Mobile Usa, Inc. Information delivery based on image data
US9323785B2 (en) 2013-03-06 2016-04-26 Streamoid Technologies Private Limited Method and system for mobile visual search using metadata and segmentation

Also Published As

Publication number Publication date
PL3066591T4 (pl) 2020-04-30
US10521667B2 (en) 2019-12-31
EP3066591B1 (en) 2019-07-10
MX2016010267A (es) 2017-04-27
CA2939161A1 (en) 2015-08-27
US20190034732A1 (en) 2019-01-31
WO2015125025A3 (en) 2015-12-23
US20210397838A1 (en) 2021-12-23
CN106462728B (zh) 2019-07-23
AU2015220463B2 (en) 2017-06-01
US10929671B2 (en) 2021-02-23
PL3066591T3 (pl) 2020-04-30
DK3066591T3 (da) 2019-10-21
MX360261B (es) 2018-10-26
US20150227557A1 (en) 2015-08-13
CA2939161C (en) 2017-05-09
US20150227796A1 (en) 2015-08-13
AU2015220463A1 (en) 2016-09-08
BR112016018389A8 (pt) 2022-06-28
KR20160144354A (ko) 2016-12-16
US20200234047A1 (en) 2020-07-23
KR20180014257A (ko) 2018-02-07
JP2017513150A (ja) 2017-05-25
MX353871B (es) 2018-02-01
US20160110605A1 (en) 2016-04-21
WO2015125025A2 (en) 2015-08-27
US9122706B1 (en) 2015-09-01
KR101887002B1 (ko) 2018-09-10
US9230172B2 (en) 2016-01-05
US9946932B2 (en) 2018-04-17
CN106462728A (zh) 2017-02-22
JP6208898B2 (ja) 2017-10-04
KR101826815B1 (ko) 2018-02-07
EP3066591A2 (en) 2016-09-14
BR112016018389A2 (es) 2017-08-08
SG11201606424XA (en) 2016-09-29

Similar Documents

Publication Publication Date Title
ES2752728T3 (es) Sistemas y métodos para el reconocimiento basado en características de imagen
ES2731327T3 (es) Método para caracterizar imágenes adquiridas a través de un dispositivo médico de vídeo
Qian et al. Image location estimation by salient region matching
Zhao et al. Strategy for dynamic 3D depth data matching towards robust action retrieval
US20100226582A1 (en) Assigning labels to images in a collection
WO2009131629A1 (en) Image classification using capture-location-sequence information
Guan et al. On-device mobile landmark recognition using binarized descriptor with multifeature fusion
Kim et al. m CLOVER: mobile content-based leaf image retrieval system
Yin et al. Content vs. context: Visual and geographic information use in video landmark retrieval
Wu et al. Self-similarity-based partial near-duplicate video retrieval and alignment
Weng et al. Semantic signatures for large-scale visual localization
Chen et al. Mobile visual search from dynamic image databases
Conaire et al. Sensecam image localisation using hierarchical surf trees
Peng et al. The knowing camera 2: recognizing and annotating places-of-interest in smartphone photos
Peng et al. KISS: Knowing camera prototype system for recognizing and annotating places-of-interest
CN108780462A (zh) 用于对多媒体内容元素进行聚类的系统和方法
Yang et al. Ranking canonical views for tourist attractions
Romberg From local features to local regions
Ulges et al. Scene-based image retrieval by transitive matching
Mashhadani An object-based multimedia forensic analysis tool
Khairnar et al. Content Based Image retrieval System
Joly Large-scale Content-based Visual Information Retrieval
Chang Large Scale Mobile Visual Search