ES2941259T3 - Sistemas y métodos para generar automáticamente metadatos para documentos de medios - Google Patents

Sistemas y métodos para generar automáticamente metadatos para documentos de medios Download PDF

Info

Publication number
ES2941259T3
ES2941259T3 ES17840385T ES17840385T ES2941259T3 ES 2941259 T3 ES2941259 T3 ES 2941259T3 ES 17840385 T ES17840385 T ES 17840385T ES 17840385 T ES17840385 T ES 17840385T ES 2941259 T3 ES2941259 T3 ES 2941259T3
Authority
ES
Spain
Prior art keywords
media
metadata
model
documents
feature vector
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
ES17840385T
Other languages
English (en)
Inventor
Mutto Carlo Dal
Alvise Memo
Duc Nguyen
Abbas Rafii
Jason Trachewsky
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.)
Packsize LLC
Original Assignee
Packsize LLC
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 Packsize LLC filed Critical Packsize LLC
Application granted granted Critical
Publication of ES2941259T3 publication Critical patent/ES2941259T3/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/56Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; 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/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/45Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

De acuerdo con una realización de la presente invención, un método para generar automáticamente metadatos para un documento de medios incluye: calcular un vector de características del documento de medios utilizando una red neuronal convolucional; buscar en una colección de documentos de medios uno o más documentos de medios coincidentes que tengan vectores de características correspondientes similares al vector de características del documento de medios, estando asociado cada documento de medios de la colección de documentos de medios con metadatos; generar metadatos para el documento de medios en base a los metadatos asociados con uno o más documentos de medios coincidentes; y mostrar el documento multimedia en asociación con los metadatos generados. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Sistemas y métodos para generar automáticamente metadatos para documentos de medios
Referencia cruzada a solicitud(es) relacionada(s)
Esta solicitud reivindica el beneficio de la Solicitud de Patente Provisional de EE. UU. n.° 62/374.598, presentada ante la Oficina de Patentes y Marcas de Estados Unidos el 12 de agosto de 2016.
Campo
Los ejemplos de la presente invención se refieren al campo del etiquetado y la clasificación de medios digitales, incluyendo el etiquetado y la clasificación de imágenes y modelos 3D, y sistemas de interfaz de usuario asociados.
Antecedentes
Diversos tipos de documentos de medios digitales, tales como imágenes, grabaciones de audio y vídeos, a menudo incluyen metadatos que incluyen descripciones textuales del documento de medios digitales. Estos metadatos pueden incluir información tal como una marca de tiempo, así como etiquetas y/o descripciones narrativas del contenido del documento de medios digitales asociado. Estos metadatos se pueden usar cuando se realizan búsquedas basadas en texto para identificar documentos de medios que son pertinentes para la consulta de búsqueda. Los metadatos también se pueden usar para categorizar o clasificar los documentos de medios digitales.
Como un ejemplo, los metadatos asociados con una fotografía digital pueden incluir información técnica tal como las dimensiones de la imagen (en píxeles) y la profundidad de color de la imagen, así como metadatos que describen el contenido de la fotografía. Los metadatos asociados con una fotografía de un excursionista en un bosque pueden incluir descripciones textuales del contenido de la fotografía, tales como "bosque", "foresta", "árboles", "plantas", "verde", "sombra", "flor", "excursión", "excursionista", "excursionismo", etc.
Los modelos tridimensionales (3D) son otra forma de documento de medios digitales, y se usan predominantemente en contextos tales como publicidad, control de calidad, videojuegos, realidad virtual y aplicaciones de realidad aumentada. En el pasado, los modelos 3D se generaban manualmente a través del uso de, por ejemplo, herramientas de diseño asistido por ordenador (CAD). La creación de estos modelos es, por lo general, una tarea que requiere mucho trabajo, especialmente cuando se crean modelos detallados. Más recientemente, las cámaras de profundidad y los aparatos de exploración 3D han proporcionado un enfoque alternativo, en el que se pueden crear modelos 3D detallados a través de la captura digital de las formas de objetos físicos reales.
Los modelos tridimensionales generados usando herramientas de CAD, cámaras de profundidad y aparatos de exploración 3D también se pueden beneficiar del etiquetado con metadatos. Por ejemplo, se pueden usar modelos 3D en listados de productos en sitios web de comercio electrónico, y los metadatos asociados con los modelos 3D se pueden usar para generar o llenar la información en los listados de productos asociados. Por ejemplo, un modelo 3D de un vehículo puede incluir información de metadatos tal como la marca y el modelo del coche, el color interior y exterior, el estado (por ejemplo, presencia de abolladuras o daños) y similares. Estos metadatos se pueden añadir a la información en el listado de productos, de tal modo que un comprador puede buscar un tipo particular de coche en un color particular.
Sin embargo, la generación manual de estos metadatos para cada modelo 3D puede consumir mucho tiempo y puede provocar resultados inconsistentes y organizados deficientemente. Por ejemplo, un coche se puede etiquetar como "rojo", mientras que el nombre real del tono de rojo puede ser "rubí". Otra información acerca del vehículo puede ser incorrecta, tal como la ortografía del nombre del modelo particular.
El documento US 2016/189009 A1 describe sistemas, métodos y medios legibles por ordenador no transitorios que pueden adquirir contenido de vídeo para el cual se han de determinar descriptores de características de vídeo. El contenido de vídeo se puede procesar basándose, al menos en parte, en una red neuronal convolucional que incluye un conjunto de capas convolucionales bidimensionales y un conjunto de capas convolucionales tridimensionales.
El documento GB 2514432 A describe un método y sistema para la creación o recuperación de bases de datos de modelos 3D que comprende: convertir cada modelo 3D en una pluralidad de vistas 2D ortogonales 201; generar una firma, tal como contorno de borde o de límite, para cada punto de vista bidimensional; y almacenar descriptores generados de cada modelo tridimensional en una base de datos.
Sumario
La invención se define solo en las reivindicaciones independientes adjuntas. Los ejemplos mencionados en la siguiente descripción que no caen necesariamente dentro del alcance de las reivindicaciones adjuntas se han de interpretar como ejemplos comparativos útiles para entender la presente invención.
Los ejemplos de la presente invención se dirigen al aumento automático de modelos tridimensionales (3D) con metadatos, y a sistemas para recopilar y generar esos modelos 3D.
Esta invención se especifica mediante las reivindicaciones independientes. Se especifican realizaciones adicionales en las reivindicaciones dependientes. El ejemplo útil para entender la invención es un método para generar automáticamente metadatos para un documento de medios incluye: computar un vector de características del documento de medios usando una red neuronal convolucional; buscar en una colección de documentos de medios uno o más documentos de medios coincidentes que tienen vectores de características correspondientes similares al vector de características del documento de medios, estando asociado cada documento de medios de la colección de documentos de medios con metadatos; generar metadatos para el documento de medios basándose en los metadatos asociados con los uno o más documentos de medios coincidentes; y visualizar el documento de medios en asociación con los metadatos generados.
El documento de medios puede ser un modelo tridimensional (3D). El cómputo del vector de características puede incluir: definir un cuadro delimitador alrededor del modelo 3D para generar un modelo 3D delimitado; voxelizar el modelo 3D delimitado para computar una pluralidad de vóxeles; y generar el vector de características a partir de los vóxeles. La colección de documentos de medios puede incluir una colección de modelos tridimensionales (3D), y la búsqueda de la colección de documentos de medios puede incluir computar una distancia entre el modelo 3D y uno de los modelos 3D de la colección de modelos 3D de acuerdo con una técnica del punto más cercano iterativo. El cómputo del vector de características puede incluir: representar el modelo 3D desde múltiples ángulos para representar una pluralidad de vistas bidimensionales (2D) del modelo 3D; generar, usando una o más redes neuronal convolucionales, una pluralidad de vectores de características de una única vista, correspondiendo cada uno de los vectores de características de una única vista a una de las vistas 2D del modelo 3D; agrupar la pluralidad de vectores de características de una única vista para computar un vector de características agrupado; y computar el vector de características a partir del vector de características agrupado usando una red neuronal convolucional de fase final. La colección de documentos de medios puede incluir una colección de imágenes bidimensionales (2D), el cómputo del vector de características puede incluir computar uno o más vectores de características del modelo 3D, los uno o más documentos de medios coincidentes pueden incluir una o más imágenes 2D coincidentes de la colección de imágenes 2D, y cada uno de los vectores de características correspondientes de las imágenes 2D coincidentes puede ser similar a al menos uno de los uno o más vectores de características del modelo 3D. El método puede incluir además: capturar el modelo 3D usando un aparato de exploración tridimensional, incluyendo el aparato de exploración tridimensional: dos o más cámaras de infrarrojos (IR); y uno o más iluminadores colimados por IR.
El documento de medios puede incluir una o más imágenes bidimensionales (2D), la colección de documentos de medios puede incluir una colección de modelos tridimensionales (3D), el cómputo del vector de características puede incluir computar uno o más vectores de características de las una o más imágenes 2D, los uno o más documentos de medios coincidentes pueden incluir uno o más modelos 3D coincidentes de la colección de modelos 3D, y cada uno de los vectores de características correspondientes de los modelos 3D coincidentes puede ser similar a al menos uno de los uno o más vectores de características del modelo 3D. El cómputo del vector de características puede incluir: computar un modelo 3D de un objeto a partir de las una o más imágenes 2D; y extraer el vector de características a partir del modelo 3D. La extracción del vector de características a partir del modelo 3D puede incluir: definir un cuadro delimitador alrededor del modelo 3D para generar un modelo 3D delimitado; voxelizar el modelo 3D delimitado para computar una pluralidad de vóxeles; y generar el vector de características a partir de los vóxeles.
La extracción del vector de características a partir del modelo 3D puede incluir: representar el modelo 3D desde múltiples ángulos para representar una pluralidad de vistas bidimensionales (2D) del modelo 3D; generar, usando una o más redes neuronal convolucionales, una pluralidad de vectores de características de una única vista, correspondiendo cada uno de los vectores de características de una única vista a una de las vistas 2D del modelo 3D; agrupar la pluralidad de vectores de características de una única vista para computar un vector de características agrupado; y computar el vector de características a partir del vector de características agrupado usando una red neuronal convolucional de fase final.
El método puede incluir además recibir una entrada de usuario, incluyendo la entrada de usuario una validación de uno o más de una pluralidad de campos de los metadatos generados.
Los metadatos generados y los metadatos asociados con cada uno de los documentos de medios pueden incluir cada uno una pluralidad de campos, y la generación de los metadatos puede incluir: identificar, para cada campo de la pluralidad de campos, datos que aparecen en más de un número umbral de los metadatos de los uno o más documentos de medios coincidentes, y añadir los datos identificados a los metadatos generados.
Los metadatos generados pueden incluir una clase del documento de medios, y el método puede incluir además: suministrar el vector de características del documento de medios a un clasificador para computar clasificaciones del documento de medios; y computar la clase basándose en las clasificaciones.
El método puede incluir además añadir el documento de medios y el generado a la colección de documentos de medios.
Cada uno de los uno o más vectores de características correspondientes de los uno o más documentos de medios coincidentes puede tener una distancia correspondiente en un espacio multidimensional con respecto al vector de características del documento de medios, y cada distancia correspondiente puede ser menor que una distancia umbral.
El método puede incluir además recibir metadatos asociados con el documento de medios, en donde la búsqueda en la colección de documentos de medios puede incluir identificar uno o más documentos de medios de la colección de documentos de medios que tienen metadatos que coinciden con al menos uno de una pluralidad de campos de los metadatos asociados con el documento de medios, y en donde los documentos de medios coincidentes pueden incluir al menos uno de los uno o más documentos de medios identificados.
La colección de documentos de medios puede incluir un primer conjunto de documentos de medios y un segundo conjunto de documentos de medios, en donde una política de acceso asociada con un usuario permite el acceso al primer conjunto de documentos de medios y deniega el acceso al segundo conjunto de documentos de medios, y en donde la búsqueda en la colección de documentos de medios se restringe al primer conjunto de documentos de medios.
De acuerdo con una realización de la presente invención, un sistema para generar automáticamente metadatos para un documento de medios incluye: un procesador; y una memoria que tiene instrucciones almacenadas en la misma que, cuando son ejecutadas por el procesador, hacen que el procesador: compute un vector de características del documento de medios usando una red neuronal convolucional; busque en una colección de documentos de medios uno o más documentos de medios coincidentes que tienen vectores de características correspondientes similares al vector de características del documento de medios, estando asociado cada documento de medios de la colección de documentos de medios con metadatos; genere metadatos para el documento de medios basándose en los metadatos asociados con los uno o más documentos de medios coincidentes; y visualice el documento de medios en asociación con los metadatos generados.
El documento de medios puede ser un modelo tridimensional (3D). Las instrucciones para computar el vector de características pueden incluir instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador: defina un cuadro delimitador alrededor del modelo 3D para generar un modelo 3D delimitado; voxelice el modelo 3D delimitado para computar una pluralidad de vóxeles; y genere el vector de características a partir de los vóxeles. La colección de documentos de medios puede incluir una colección de modelos tridimensionales (3D), y las instrucciones para buscar en la colección de documentos de medios pueden incluir instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador compute una distancia entre el modelo 3D y uno de los modelos 3D de la colección de modelos 3D de acuerdo con una técnica del punto más cercano iterativo. Las instrucciones para computar el vector de características pueden incluir instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador: represente el modelo 3D desde múltiples ángulos para representar una pluralidad de vistas bidimensionales (2D) del modelo 3D; genere, usando una o más redes neuronal convolucionales, una pluralidad de vectores de características de una única vista, correspondiendo cada uno de los vectores de características de una única vista a una de las vistas 2D del modelo 3D; agrupe la pluralidad de vectores de características de una única vista para computar un vector de características agrupado; y compute el vector de características a partir del vector de características agrupado usando una red neuronal convolucional de fase final. La colección de documentos de medios puede incluir una colección de imágenes bidimensionales (2D), las instrucciones para computar el vector de características pueden incluir instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador compute uno o más vectores de características del modelo 3D, los uno o más documentos de medios coincidentes pueden incluir una o más imágenes 2D coincidentes de la colección de imágenes 2D, y cada uno de los vectores de características correspondientes de las imágenes 2D coincidentes puede ser similar a al menos uno de los uno o más vectores de características del modelo 3D. El sistema puede incluir además un escáner tridimensional que incluye: dos o más cámaras de infrarrojos (IR); y uno o más iluminadores colimados por IR, en donde la memoria puede almacenar adicionalmente instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador capture el modelo 3D usando el aparato de exploración tridimensional.
El documento de medios puede incluir una o más imágenes bidimensionales (2D), la colección de documentos de medios puede incluir una colección de modelos tridimensionales (3D), las instrucciones para computar el vector de características pueden incluir instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador compute uno o más vectores de características de las una o más imágenes 2D, los uno o más documentos de medios coincidentes pueden incluir uno o más modelos 3D coincidentes de la colección de modelos 3D, y cada uno de los vectores de características correspondientes de los modelos 3D coincidentes puede ser similar a al menos uno de los uno o más vectores de características del modelo 3D. Las instrucciones para computar el vector de características pueden incluir instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador: compute un modelo 3D de un objeto a partir de las una o más imágenes 2D; y extraiga el vector de características a partir del modelo 3D. Las instrucciones para extraer el vector de características a partir del modelo 3D pueden incluir instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador: defina un cuadro delimitador alrededor del modelo 3D para generar un modelo 3D delimitado; voxelice el modelo 3D delimitado para computar una pluralidad de vóxeles; y genere el vector de características a partir de los vóxeles. Las instrucciones para extraer el vector de características a partir del modelo 3D pueden incluir instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador: represente el modelo 3D desde múltiples ángulos para representar una pluralidad de vistas bidimensionales (2D) del modelo 3D; genere, usando una o más redes neuronal convolucionales, una pluralidad de vectores de características de una única vista, correspondiendo cada uno de los vectores de características de una única vista a una de las vistas 2D del modelo 3D; agrupe la pluralidad de vectores de características de una única vista para computar un vector de características agrupado; y compute el vector de características a partir del vector de características agrupado usando una red neuronal convolucional de fase final.
La memoria puede almacenar adicionalmente instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador reciba una entrada de usuario, incluyendo la entrada de usuario una validación de uno o más de una pluralidad de campos de los metadatos generados.
Los metadatos generados y los metadatos asociados con cada uno de los documentos de medios pueden cada uno incluir una pluralidad de campos, y las instrucciones para generar los metadatos pueden incluir instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador: identifique, para cada campo de la pluralidad de campos, datos que aparecen en más de un número umbral de los metadatos de los uno o más documentos de medios coincidentes, y añada los datos identificados a los metadatos generados.
Los metadatos generados pueden incluir una clase del documento de medios, y la memoria puede almacenar adicionalmente instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador: suministre el vector de características del documento de medios a un clasificador para computar clasificaciones del documento de medios; y compute la clase basándose en las clasificaciones.
La memoria puede almacenar adicionalmente instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador añada el documento de medios y el generado a la colección de documentos de medios.
Cada uno de los uno o más vectores de características correspondientes de los uno o más documentos de medios coincidentes puede tener una distancia correspondiente en un espacio multidimensional con respecto al vector de características del documento de medios, y cada distancia correspondiente puede ser menor que una distancia umbral.
La memoria puede almacenar adicionalmente instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador reciba metadatos asociados con el documento de medios, en donde las instrucciones para buscar en la colección de documentos de medios pueden incluir instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador identifique uno o más documentos de medios de la colección de documentos de medios que tienen metadatos que coinciden con al menos uno de una pluralidad de campos de los metadatos asociados con el documento de medios, y en donde los documentos de medios coincidentes pueden incluir al menos uno de los uno o más documentos de medios identificados.
La colección de documentos de medios puede incluir un primer conjunto de documentos de medios y un segundo conjunto de documentos de medios, en donde una política de acceso asociada con un usuario permite el acceso al primer conjunto de documentos de medios y deniega el acceso al segundo conjunto de documentos de medios, y en donde la búsqueda en la colección de documentos de medios se restringe al primer conjunto de documentos de medios.
Breve descripción de los dibujos
El expediente de patente o de solicitud contiene al menos un dibujo ejecutado en color. Copias de esta publicación de patente o de solicitud de patente con dibujo(s) en color serán proporcionadas por la Oficina, previa solicitud y pago de la tasa necesaria.
Los dibujos adjuntos, junto con la memoria descriptiva, ilustran ejemplos de la presente invención y, junto con la descripción, sirven para explicar los principios de la presente invención.
La figura 1 es un ejemplo del llenado automático de etiquetas y clases de metadatos de acuerdo con una realización de la presente invención.
La figura 2 es un diagrama de bloques de un sistema de aparato de exploración de acuerdo con una realización de la presente invención.
La figura 3 ilustra, desde la perspectiva de un usuario, un sistema y método para explorar un objeto usando un sistema de exploración 3D que incluye una cámara separada de una pantalla de acuerdo con una realización de la presente invención.
Las figuras 4A y 4B son ejemplos de modelos tridimensionales capturados por un sistema de exploración.
La figura 5 es un diagrama de flujo de un método para generar metadatos para un documento de medios de acuerdo con una realización de la presente invención.
La figura 6A es un diagrama de flujo que ilustra un método para computar un vector de características en el caso en el que el documento de medios es un modelo 3D voxelizando el modelo 3D de acuerdo con una realización de la presente invención, y la figura 6B representa visualmente la aplicación de una CNN a un modelo 3D usando voxelización.
La figura 7A es un diagrama de flujo que ilustra un método para computar un vector de características en el caso en el que el documento de medios es un modelo 3D representando múltiples vistas de un modelo 3D desde diferentes puntos de vista o direcciones de acuerdo con una realización de la presente invención, y la figura 7B representa visualmente la aplicación de una CNN a un modelo 3D representado desde múltiples vistas.
La figura 8 es un diagrama de flujo que representa un proceso de captura de un modelo y de generación automática de metadatos para el modelo de acuerdo con una realización de la presente invención.
Descripción detallada
En la siguiente descripción detallada, solo se muestran y se describen ciertos ejemplos de la presente invención, a modo de ilustración. Como reconocerán los expertos en la materia, la invención se puede materializar de muchas formas diferentes y no se debería interpretar como limitada a los ejemplos expuestos en el presente documento. Números de referencia semejantes designan elementos semejantes a lo largo de toda la memoria descriptiva.
Los ejemplos de la presente invención se dirigen a sistemas y métodos para generar automáticamente metadatos para un documento de medios tal como una imagen bidimensional (2D) o un modelo tridimensional (3D). El modelo 3D puede ser generado por un sistema de aparato de exploración, teniendo el sistema de aparato de exploración una cámara de profundidad, como se describe con más detalle a continuación. Algunos ejemplos de la presente invención se refieren al suministro del documento de medios a un extractor de características para generar un vector de características y para suministrar el vector de características a un clasificador que está entrenado o configurado para clasificar el documento de medios de acuerdo con un conjunto de clasificaciones. Otros ejemplos más de la presente invención se refieren a la búsqueda de una colección de documentos de medios (por ejemplo, almacenados en una base de datos) para identificar documentos de medios existentes que tienen clasificaciones similares (por ejemplo, un vector de características similar). Los metadatos asociados con estos documentos de medios que tienen clasificaciones similares se pueden usar entonces para generar metadatos para el documento de medios suministrado.
La figura 1 es un ejemplo del llenado automático de etiquetas y clases de metadatos de acuerdo con una realización de la presente invención. Como se muestra en la figura 1, se usa un modelo 3D 10 como el modelo de medios que se suministra como una consulta. En el ejemplo mostrado, el modelo 3D 10 no tiene ningún metadato asociado. Basándose en la consulta que incluye el modelo 3D 10, una realización de la presente invención identifica unas entradas 12 en una colección de documentos de medios (una colección de modelos 3D) que son similares al modelo 3D 10 suministrado en la consulta. Cada una de las entradas identificadas 12 está asociada con unos metadatos 14 que incluyen una clase 14a y unas etiquetas 14b. Por ejemplo, la primera entrada muestra un modelo de un vehículo utilitario deportivo azul con la clase "coche" y las etiquetas "Jeep, azul, deportivo". La segunda entrada muestra un modelo de un vehículo todoterreno rojo, con la parte superior abierta, con la clase "coche" y las etiquetas "Jeep, descapotable, rojo". La tercera entrada muestra un modelo de gorra de béisbol con la clase "gorra" y las etiquetas "blanco y negro". La cuarta entrada muestra un modelo de un coche verde con la parte superior abierta con la clase "coche" y las etiquetas "descapotable" y "deportivo". Fusionando los metadatos que aparecen en al menos la mitad de las entradas 12 identificadas, se pueden generar unos metadatos 16 para el modelo 3D 10 suministrado de la consulta.
Este enfoque puede ser particularmente útil en el caso de un modelo 3D generado por un sistema de aparato de exploración, en donde un modelo 3D generado de este tipo puede no tener sustancialmente ningún metadato, tal como en el caso de un usuario que capturó un modelo 3D de su coche, usando un sistema de aparato de exploración 3D, para incluir el modelo 3D del coche en un anuncio publicitario (por ejemplo, un listado de productos en un sitio web de subastas en línea) para vender el coche.
Este enfoque permite adicionalmente que el sistema clasifique y etiquete automáticamente un objeto, incluso cuando el usuario que captura la imagen o el modelo 3D del objeto no sabe qué es o cómo se llama el objeto.
Sistemas de aparato de exploración
Generalmente, los sistemas de aparato de exploración incluyen dispositivos de hardware que incluyen un sensor, tal como una cámara, que recopila datos a partir de una escena. Los sistemas de aparato de exploración pueden incluir un procesador informático u otro hardware de procesamiento para generar imágenes de profundidad y/o modelos tridimensionales (3D) de la escena a partir de los datos recopilados por el sensor.
El sensor de un sistema de aparato de exploración puede ser, por ejemplo, uno de una diversidad de diferentes tipos de cámaras que incluyen: una cámara de color ordinaria; una cámara de profundidad (o de alcance); o una combinación de cámara de profundidad y de color. Esta última generalmente se denomina RGB-D, en donde RGB representa la imagen en color y D representa la imagen de profundidad (en donde cada píxel codifica la información de profundidad (o de distancia) de la escena). La imagen de profundidad se puede obtener por diferentes métodos, incluyendo métodos geométricos o electrónicos. Una imagen de profundidad se puede representar como una nube de puntos o se puede convertir en una nube de puntos. Los ejemplos de métodos geométricos incluyen sistemas de cámaras estereoscópicos pasivos o activos y sistemas de cámaras de luz estructurada. Los ejemplos de métodos electrónicos para capturar imágenes de profundidad incluyen cámaras de Tiempo de Vuelo (Time of Flight, TOF), de exploración general o de LIDAR fijas.
Dependiendo del tipo de cámara, se pueden usar diferentes algoritmos para generar imágenes de profundidad a partir de los datos capturados por la cámara. Una clase de algoritmos denominada Rastreo y Correlación Densos en Tiempo Real (Dense Tracking and Mapping, DTAM) usa indicaciones de color en las imágenes capturadas, mientras que otra clase de algoritmos denominada Localización y Correlación Simultáneas (Simultaneous Localization and Mapping, SLAM) usa datos de profundidad (o de una combinación de profundidad y color), mientras que otra clase más de algoritmos se basan en el Punto más Cercano Iterativo (Iterative Closest Point, ICP) y en sus derivados.
Como se describe con más detalle a continuación con respecto a la figura 2, al menos algunos sistemas de cámaras de profundidad permiten que un usuario mueva libremente la cámara alrededor del objeto para capturar todos los lados del objeto. El algoritmo subyacente para generar la imagen de profundidad combinada puede rastrear y/o inferir la postura de la cámara con respecto al objeto para alinear los datos capturados con el objeto o con un modelo 3D parcialmente construido del objeto. Un ejemplo de un sistema y método para explorar objetos tridimensionales se describe en la solicitud de patente de EE. UU. con n.° de serie 15/630.715, presentada ante la Oficina de Patentes y Marcas de EE. UU. el 22 de junio de 2017, cuya divulgación completa se incorpora en el presente documento por referencia.
En algunos ejemplos de la presente invención, la construcción de la imagen de profundidad o modelo 3D es realizada localmente por el propio aparato de exploración. En otros ejemplos, el procesamiento es realizado por uno o más servidores locales o remotos, que pueden recibir datos desde el aparato de exploración a través de una conexión cableada o inalámbrica (por ejemplo, una conexión de red de Ethernet, una conexión de USB, una conexión de datos celular, una conexión de red inalámbrica local y una conexión de Bluetooth).
Como un ejemplo más específico, el aparato de exploración puede ser un aparato de exploración 3D de mano. Tales aparatos de exploración 3D de mano pueden incluir una cámara de profundidad (una cámara que computa la distancia de los elementos de superficie sometidos a formación de imágenes por cada píxel) junto con un software que puede registrar múltiples imágenes de profundidad de la misma superficie para crear una representación 3D de una superficie posiblemente grande o de un objeto completo. Los usuarios de aparatos de exploración 3D de mano necesitan mover este a diferentes posiciones alrededor del objeto y orientar el mismo de tal modo que se cubren todos los puntos en la superficie del objeto (por ejemplo, las superficies se ven en al menos una imagen de profundidad tomada por el aparato de exploración). Además, es importante que cada parche de superficie reciba una densidad lo suficientemente alta de mediciones de profundidad (en donde cada píxel de la cámara de profundidad proporciona una medición de profundidad de este tipo). La densidad de las mediciones de profundidad depende de la distancia desde la que el parche de superficie ha sido visto por una cámara, así como del ángulo o la pendiente de la superficie con respecto a la dirección de visualización o el eje óptico de la cámara de profundidad.
La figura 2 es un diagrama de bloques de un sistema de exploración como un sistema de cámaras de profundidad estereoscópico de acuerdo con una realización de la presente invención.
El sistema de exploración 100 mostrado en la figura 2 incluye una primera cámara 102, una segunda cámara 104, una fuente de proyección 106 (o fuente de iluminación o sistema de proyección activa) y un procesador de anfitrión 108 y una memoria 110, en donde el procesador de anfitrión puede ser, por ejemplo, una unidad de procesamiento de gráficos (GPU), un procesador de propósito más general (CPU), una matriz de puertas programables en campo (FPGA) configurada apropiadamente o un circuito integrado específico de la aplicación (ASIC). La primera cámara 102 y la segunda cámara 104 se pueden unir rígidamente, por ejemplo, sobre un bastidor, de tal modo que sus posiciones y orientaciones relativas son sustancialmente fijas. La primera cámara 102 y la segunda cámara 104 se pueden denominar conjuntamente "cámara de profundidad". La primera cámara 102 y la segunda cámara 104 incluyen unos sensores de imagen 102a y 104a correspondientes, y también pueden incluir unos procesadores de señal de imagen (ISP) 102b y 104b correspondientes. Los diversos componentes se pueden comunicar entre sí a través de un bus de sistema 112. El sistema de exploración 100 puede incluir componentes adicionales tales como un visualizador 114 para permitir que el dispositivo visualice imágenes, un adaptador de red 116 para comunicarse con otros dispositivos, una unidad de medición inercial (IMU) 118 tal como un giróscopo para detectar la aceleración del sistema de exploración 100 (por ejemplo, detectar la dirección de la gravedad para determinar la orientación y detectar movimientos para detectar cambios de posición), y una memoria persistente 120 tal como una memoria flash de tipo NO-Y para almacenar datos recopilados y procesados por el sistema de exploración 100. La IMU 118 puede ser del tipo hallado comúnmente en muchos teléfonos inteligentes modernos. El sistema de captura de imágenes también puede incluir otros componentes de comunicación, tales como un controlador de interfaz de bus serie universal (USB).
En algunos ejemplos, los sensores de imagen 102a y 104a de las cámaras 102 y 104 son sensores de imagen de RGB-IR. Los sensores de imagen que son capaces de detectar información de luz visible (por ejemplo, rojo-verde-azul o RGB) y de luz invisible (por ejemplo, infrarrojos o IR) pueden ser, por ejemplo, sensores de dispositivo acoplado por carga (CCD) o de metal-óxido-semiconductor complementario (CMOS). Por lo general, un sensor de cámara de RGB convencional incluye píxeles dispuestos en una "distribución de Bayer" o "distribución de RGBG", que es un 50 % verde, un 25 % roja y un 25 % azul. Se colocan filtros de paso de banda (o "microfiltros") delante de fotodiodos individuales (por ejemplo, entre el fotodiodo y la óptica asociada con la cámara) para cada una de las longitudes de onda de verde, de rojo y de azul de acuerdo con la distribución de Bayer. Generalmente, un sensor de cámara de RGB convencional también incluye un filtro de infrarrojos (IR) o un filtro de corte de IR (formado, por ejemplo, como parte de la lente o como un recubrimiento sobre todo el chip de sensor de imagen) que bloquea adicionalmente señales en una porción de IR del espectro electromagnético.
Un sensor de RGB-IR es sustancialmente similar a un sensor de RGB convencional, pero puede incluir diferentes filtros de color. Por ejemplo, en un sensor de RGB-IR, uno de los filtros de verde en cada grupo de cuatro fotodiodos se sustituye por un filtro de paso de banda (o microfiltro) de IR para crear una distribución que es un 25 % verde, un 25 % roja, un 25 % azul y un 25 % infrarroja, en donde los píxeles de infrarrojos se entremezclan con los píxeles de luz visible. Además, el filtro de corte de IR se puede omitir del sensor de r GB-IR, el filtro de corte de IR se puede ubicar solo sobre los píxeles que detectan la luz roja, verde y azul, o el filtro de IR se puede diseñar para pasar luz visible así como luz en un intervalo de longitud de onda particular (por ejemplo, 840-860 nm). Un sensor de imagen capaz de capturar luz en múltiples porciones o bandas o bandas espectrales del espectro electromagnético (por ejemplo, luz roja, azul, verde e infrarroja) se denominará en el presente documento sensor de imagen "de múltiples canales".
En algunos ejemplos de la presente invención, los sensores de imagen 102a y 104a son sensores de luz visible convencionales. En algunos ejemplos de la presente invención, el sistema incluye una o más cámaras de luz visible (por ejemplo, cámaras de RGB) y, por separado, una o más cámaras de luz invisible (por ejemplo, cámaras infrarrojas, en donde se ubica un filtro de paso de banda de IR a través de todos los píxeles). En otros ejemplos de la presente invención, los sensores de imagen 102a y 104a son sensores de luz infrarroja (IR).
En términos generales, un sistema de cámaras de profundidad estereoscópico incluye al menos dos cámaras que están separadas entre sí y que se montan rígidamente en una estructura compartida tal como un bastidor rígido. Las cámaras se orientan sustancialmente en la misma dirección (por ejemplo, los ejes ópticos de las cámaras pueden ser sustancialmente paralelos) y tienen campos de visión superpuestos. Estas cámaras individuales se pueden implementar usando, por ejemplo, un sensor de imagen de metal-óxido-semiconductor complementario (CMOS) o uno de dispositivo acoplado de carga (Charge Coupled Device, CCD) con un sistema óptico (por ejemplo, que incluye una o más lentes) configurado para dirigir o enfocar luz sobre el sensor de imagen. El sistema óptico puede determinar el campo de visión de la cámara, por ejemplo, basándose en si el sistema óptico implementa una lente de "gran angular", una lente de "teleobjetivo" o algo entremedias.
En el siguiente análisis, se puede hacer referencia a que el sistema de adquisición de imágenes del sistema de cámaras de profundidad tiene al menos dos cámaras, que se pueden denominar cámara "maestra" y una o más cámaras "esclavas". En términos generales, los mapas de profundidad o de disparidad estimados se computan desde el punto de vista de la cámara maestra, pero se puede usar cualquiera de las cámaras como la cámara maestra. Como se usan en el presente documento, términos tales como maestro/esclavo, izquierda/derecha, arriba/abajo, primero/segundo y CAM1/CAM2 se usan de manera intercambiable a menos que se haga notar. En otras palabras, una cualquiera de las cámaras puede ser la maestra o una cámara esclava, y las consideraciones para una cámara en un lado izquierdo con respecto a una cámara a su derecha también pueden ser de aplicación, por simetría, en el otro sentido. Además, aunque las consideraciones presentadas a continuación pueden ser válidas para diversos números de cámaras, por razones de conveniencia, generalmente se describirán en el contexto de un sistema que incluye dos cámaras. Por ejemplo, un sistema de cámaras de profundidad puede incluir tres cámaras. En tales sistemas, dos de las cámaras pueden ser cámaras de luz invisible (infrarrojas) y la tercera cámara puede ser una cámara de luz visible (por ejemplo, una cámara de color rojo/azul/verde). Las tres cámaras se pueden registrar (por ejemplo, calibrar) ópticamente una con respecto a otra. Un ejemplo de un sistema de cámaras de profundidad que incluye tres cámaras se describe en la solicitud de patente de EE. UU. con n.° de serie 15/147.879 "Depth Perceptive Trinocular Camera System" presentada ante la Oficina de Patentes y Marcas de EE. UU. el 5 de mayo de 2016, cuya divulgación completa se incorpora por referencia en el presente documento.
Para detectar la profundidad de una característica en una escena sometida a formación de imágenes por las cámaras, el sistema de cámaras de profundidad determina la ubicación de píxeles de la característica en cada una de las imágenes capturadas por las cámaras. La distancia entre las características de las dos imágenes se denomina disparidad, que está inversamente relacionada con la distancia o profundidad del objeto (este es el efecto cuando se compara cuánto "se desplaza" un objeto cuando el objeto se ve con un ojo de cada vez - el tamaño del desplazamiento depende de lo lejos que está el objeto con respecto a los ojos del observador, en donde los objetos más cercanos tienen un desplazamiento más grande y los objetos más lejanos tienen un desplazamiento más pequeño, y los objetos en la distancia pueden tener un desplazamiento poco o nada detectable). Se describen técnicas para computar la profundidad usando la disparidad, por ejemplo, en el documento de R. Szeliski. "Computer Vision: Algorithms and Applications", Springer, 2010, págs. 467 y siguientes.
La magnitud de la disparidad entre las cámaras maestra y esclava depende de características físicas del sistema de cámaras de profundidad, tales como la resolución de píxeles de las cámaras, la distancia entre las cámaras y los campos de visión de las cámaras. Por lo tanto, para generar mediciones de profundidad precisas, el sistema de cámaras de profundidad (o sistema de cámaras de profundidad perceptivo en profundidad) se calibra basándose en estas características físicas.
En algunos sistemas de cámaras de profundidad, las cámaras se pueden disponer de tal modo que filas horizontales de los píxeles de los sensores de imagen de las cámaras son sustancialmente paralelas. Se pueden usar técnicas de rectificación de imágenes para dar cabida a distorsiones en las imágenes debidas a las formas de las lentes de las cámaras y a variaciones de las orientaciones de las cámaras.
Con más detalle, la información de calibración de cámara puede proporcionar información para rectificar imágenes de entrada de tal modo que las líneas epipolares del sistema de cámaras equivalente se alinean con las líneas de exploración de la imagen rectificada. En un caso de este tipo, un punto 3D en la escena se proyecta sobre el mismo índice de líneas de exploración en la imagen maestra y en la esclava. Sean Um y Us las coordenadas en la línea de exploración de la imagen del mismo punto 3D p en las cámaras equivalentes maestra y esclava, respectivamente, en donde, en cada cámara, estas coordenadas se refieren a un sistema de ejes centrado en el punto principal (la intersección del eje óptico con el plano focal) y con el eje horizontal paralelo a las líneas de exploración de la imagen rectificada. La diferencia Us - Um se denomina disparidad y se denota por d; es inversamente proporcional a la distancia ortogonal del punto 3D con respecto a las cámaras rectificadas (es decir, la longitud de la proyección ortogonal del punto sobre el eje óptico de una cualquiera de las cámaras).
Los algoritmos estereoscópicos aprovechan esta propiedad de la disparidad. Estos algoritmos logran una reconstrucción 3D poniendo en coincidencia puntos (o características) detectados en las vistas izquierda y derecha, lo que es equivalente a estimar disparidades. La puesta en coincidencia de bloques (BM) es un algoritmo estereoscópico de uso común. Dado un píxel en la imagen de cámara maestra, el algoritmo computa los costes para poner en coincidencia este píxel con cualquier otro píxel en la imagen de cámara esclava. Esta función de coste se define como la diferencia entre el contenido de imagen dentro de una ventana pequeña que rodea el píxel en la imagen maestra y el píxel en la imagen esclava. La disparidad óptima en un punto se estima por último como el argumento del coste de puesta en coincidencia mínimo. Este procedimiento se denomina comúnmente "El ganador se lo lleva todo" (Winner-Takes-AII, WTA). Estas técnicas se describen con más detalle, por ejemplo, en el documento de R. Szeliski. "Computer Vision: Algorithms and Applications", Springer, 2010. Debido a que los algoritmos estereoscópicos como BM se basan en la similitud de apariencia, el cómputo de disparidad se vuelve un desafío si más de un píxel en la imagen esclava tiene la misma apariencia local, debido a que todos estos píxeles pueden ser similares al mismo píxel en la imagen maestra, dando como resultado una estimación de disparidad ambigua. Una situación habitual en la que esto puede tener lugar es cuando se visualiza una escena con un brillo constante, tal como una pared plana.
Existen métodos que proporcionan iluminación adicional proyectando un patrón que está diseñado para mejorar u optimizar el rendimiento del algoritmo de puesta en coincidencia de bloques que puede capturar detalles 3D pequeños, tales como el descrito en la patente de EE. UU n.° 9.392.262 "System and Method for 3D Reconstruction Using Múltiple Multi-Channel Cameras", expedida el 12 de julio de 2016, cuya divulgación completa se incorpora en el presente documento por referencia. Otro enfoque proyecta un patrón que se usa exclusivamente para proporcionar una textura a la escena y, en particular, mejorar la estimación de profundidad de las regiones sin textura eliminando la ambigüedad de porciones de la escena que, de lo contrario, parecerían iguales.
La fuente de proyección 106 de acuerdo con ejemplos de la presente invención se puede configurar para emitir luz visible (por ejemplo, luz dentro del espectro visible para los seres humanos y/u otros animales) o luz invisible (por ejemplo, luz infrarroja) hacia la escena sometida a formación de imágenes por las cámaras 102 y 104. En otras palabras, la fuente de proyección puede tener un eje óptico sustancialmente paralelo a los ejes ópticos de las cámaras 102 y 104 y se puede configurar para emitir luz en la dirección de los campos de visión de las cámaras 102 y 104. En algunos ejemplos, la fuente de proyección 106 puede incluir múltiples iluminadores separados, teniendo cada uno un eje óptico separado del eje óptico (o de los ejes ópticos) del otro iluminador (o de los otros iluminadores), y separado de los ejes ópticos de las cámaras 102 y 104.
Una fuente de proyección de luz invisible puede ser más adecuada para situaciones en las que los sujetos son personas (tal como en un sistema de videoconferencias) debido a que la luz invisible no interferiría con la capacidad de ver del sujeto, mientras que una fuente de proyección de luz visible podría brillar de forma incómoda hacia los ojos del sujeto o puede afectar de forma no deseable a la experiencia añadiendo patrones a la escena. Se describen ejemplos de sistemas que incluyen fuentes de proyección de luz invisible, por ejemplo, en la solicitud de patente de EE. Uu . n.° 14/788.078 "Systems and Methods for Multi-Channel Imaging Based on Múltiple Exposure Settings", presentada ante la Oficina de Patentes y Marcas de EE. UU. el 30 de junio de 2015, cuya divulgación completa se incorpora en el presente documento por referencia.
Las fuentes de proyección activa también se pueden clasificar como patrones estáticos de proyección, por ejemplo, patrones que no cambian a lo largo del tiempo, y patrones dinámicos, por ejemplo, patrones que sí cambian a lo largo del tiempo. En ambos casos, un aspecto del patrón es el nivel de iluminación del patrón proyectado. Esto puede ser pertinente debido a que puede influir en el rango dinámico de profundidad del sistema de cámaras de profundidad. Por ejemplo, si la iluminación óptica está en un nivel alto, entonces se pueden hacer mediciones de profundidad de objetos distantes (por ejemplo, para superar el decrecimiento de la iluminación óptica a lo largo de la distancia al objeto, por un factor proporcional al inverso del cuadrado de la distancia) y en condiciones de luz ambiental brillante. Sin embargo, un nivel de iluminación óptica alto puede provocar la saturación de partes de la escena que están en primer plano. Por otro lado, un nivel de iluminación óptica bajo puede permitir la medición de objetos cercanos, pero no de objetos distantes.
En algunas circunstancias, el sistema de cámaras de profundidad incluye dos componentes: un componente de exploración desmontable y un componente de visualización. En algunos ejemplos, el componente de visualización es un sistema informático, tal como un teléfono inteligente, una tableta, un asistente digital personal u otros sistemas similares. Se describen con más detalle sistemas de exploración que usan componentes separables de exploración y de visualización, por ejemplo, en la solicitud de patente de EE. UU. con n.° de serie 15/382.210 "3D Scanning Apparatus Including Scanning Sensor Detachable from Screen" presentada ante la Oficina de Patentes y Marcas de EE. UU. el 16 de diciembre de 2016, cuya divulgación completa se incorpora por referencia.
Aunque los ejemplos de la presente invención se describen en el presente documento con respecto a sistemas de cámaras de profundidad estereoscópicos, los ejemplos de la presente invención no se limitan a los mismos y también se pueden usar con otros sistemas de cámaras de profundidad tales como cámaras de tiempo de vuelo de luz estructurada y cámaras de LIDAR.
Dependiendo de la elección de cámara, se pueden usar diferentes técnicas para generar el modelo 3D. Por ejemplo, el algoritmo de Rastreo y Correlación Densos en Tiempo Real (DTAM) usa indicaciones de color para la exploración y el algoritmo de Localización y Correlación Simultáneas usa datos de profundidad (o una combinación de datos de profundidad y de color) para generar el modelo 3D.
La figura 3 ilustra, desde la perspectiva de un usuario, un sistema y método para explorar un objeto 20 en una ubicación fija usando un sistema de exploración 3D 50 que incluye un sensor de exploración (o cámara) separado de una pantalla de acuerdo con una realización de la presente invención. En particular, la figura 3 ilustra un único módulo de sensor de exploración 100 en ocho posiciones físicas diferentes alrededor del objeto 20 en ocho puntos diferentes en el tiempo. La línea de puntos entre el módulo de sensor de exploración 100 y el dispositivo de exploración 200 indica la conexión de datos entre las dos piezas de hardware, en donde el dispositivo de exploración 200 puede transmitir órdenes al módulo de sensor de exploración 100 a través de la conexión de datos, y el módulo de sensor de exploración 100 puede transmitir datos, incluyendo imágenes, al dispositivo de exploración 200.
Como se ve en la figura 3, el usuario 22 puede sostener el módulo de sensor de exploración 100 (por ejemplo, la cámara) en una mano (representada en la figura 3 como la mano derecha) y puede sostener el dispositivo de exploración 200 (por ejemplo, un teléfono inteligente, un ordenador de tipo tableta, un asistente digital personal u otro dispositivo de mano con un visualizador) en la otra mano (representada en la figura 3 como la mano izquierda). Como se muestra en la figura 3, el usuario puede mover el sensor de exploración desde la parte frontal del objeto hacia la parte posterior del objeto sin cambiar la posición del dispositivo de exploración 200. Mientras el usuario explora el objeto 20 (como se muestra en la figura 3, una caja de pañuelos de papel) con el sensor de exploración, el dispositivo de exploración 200 visualiza una vista 202 (por ejemplo, una vista en tiempo real) o una representación de las imágenes capturadas por el módulo de sensor de exploración. Como se representa en la figura 3, el usuario puede tener una vista más de arriba abajo del objeto 20, pero el usuario 22 puede situar el módulo de sensor de exploración 100 para tener una vista lateral del objeto 20. La vista 202 del dispositivo de exploración 200 mostrado en la figura 3 corresponde a la imagen de vista lateral capturada por el módulo de sensor de exploración 100 en la posición 100v. Esto puede posibilitar que el usuario 22 explore el objeto 20 más fácil y cómodamente manipulando la posición del módulo de sensor de exploración 100 sin tener que contorsionar su cuerpo para mantener la vista 202 en el visualizador del dispositivo de exploración 200. Por lo tanto, el usuario recibe una realimentación en tiempo real acerca de los datos que son capturados por el sensor de exploración, ayudando de ese modo a asegurar que todos los lados del objeto, incluyendo la parte de arriba, son sometidos a formación de imágenes por el sensor de exploración.
Sin esta realimentación, un usuario puede orientar inadvertidamente el sensor de exploración en una dirección que no logra capturar imágenes útiles del objeto. Por ejemplo, el usuario puede capturar inadvertidamente imágenes del techo o del suelo, o puede capturar imágenes del fondo. Además, en un sistema de formación de imágenes comparativo en el que la cámara y el visualizador se fijan rígidamente entre sí, la relación fija entre el campo de visión de la cámara y la dirección de visualización del visualizador del sistema de formación de imágenes puede dificultar que el usuario mantenga una vista de la pantalla mientras se exploran todos los lados del objeto.
Una vez que la geometría tridimensional del objeto explorado ha sido adquirida y procesada por el sistema de exploración, es posible realizar un cierto refinado para obtener un modelo tridimensional limpio. El modelo tridimensional también se puede asociar con información de textura (por ejemplo, información de color). Un modelo de este tipo se puede representar como una malla. Crear un modelo con textura es más complejo que crear un modelo sin textura, en parte debido a que el espectador del modelo con textura puede tener unas expectativas más altas de fotorrealismo y debido al desafío adicional de alinear las texturas con la superficie de la malla. Se pueden aplicar diversas técnicas basándose en la minimización de errores fotométricos y la optimización de corte de gráficos en la creación de modelos con textura y, en algunos ejemplos, tales técnicas pueden ser realizadas por un servidor, en lugar del propio aparato de exploración.
Las figuras 4A y 4B son ejemplos de modelos tridimensionales capturados por un sistema de exploración. La figura 4A es un modelo con textura de un zapato marrón y puede haber sido capturado por un sistema de cámaras de profundidad de RGB-IR. La figura 4B es un modelo sin textura de un bolso marinero y puede haber sido capturado sin textura (por ejemplo, por un sistema de cámaras de profundidad que incluye solo sensores de IR y ningún sensor de luz visible o de RGB). Los modelos generados se pueden almacenar en un formato convencional, tal como un formato "ply" o un formato "obj", y se pueden visualizar en un dispositivo de visualización usando un software de visionado. En algunos casos, el software de visualización puede estar basado en web (por ejemplo, ser ejecutado por un navegador web), tal como el caso con el visor de ThreeJS.
Almacenamiento de modelos tridimensionales
De acuerdo con un aspecto de los ejemplos de la presente invención, se almacena en una base de datos una colección de documentos de medios existentes, tales como modelos tridimensionales (3D). Cuando se generan metadatos para un documento de medios suministrado (tal como un modelo 3D), se consulta la base de datos en busca de documentos de medios que sean similares al documento de medios suministrado y, como resultado, se devuelven entradas similares.
Organización de bases de datos
De acuerdo con un aspecto de los ejemplos de la presente invención, una base de datos almacena N entradas (N documentos de medios) que se organizan en K clases diferentes. El número de entradas (N) puede ser del orden de millones y el número de clases (K) puede ser del orden de miles o decenas de miles. Las K clases se pueden organizar en una estructura jerárquica similar a un árbol, una porción de la cual se muestra en la Tabla 1:
Tabla 1
> Alcohol
> Antigüedades
> Arte
Y Bebés
Y Portabebés
Y Pañuelos portabebés
> Tapices
> Mochilas
> Ropa de bebé
> Zapatos de bebé
Y Baño
> Aseo
>Bañeras
> Accesorios de baño
> Salud
> Otros accesorios de baño
> Cuidado de la piel
Y Toallas
> Toallitas
> Ropa de cama
> Sillas de coche
De acuerdo con una realización, cada entrada en la base de datos está asociada con metadatos que incluyen un nombre, una o más clases, una o más etiquetas, una descripción textual e información visual.
El campo de nombre es un nombre específico para el documento de medios de la entrada. Por ejemplo, cuando el documento de medios es un modelo 3D de un tipo particular de coche, puede especificar el nombre completo del coche (por ejemplo, el año del modelo, la marca, el modelo y la versión, concatenados formando una cadena).
El campo de clases identifica una o más clases de las K clases que están asociadas con la entrada particular. En particular, si las K clases se organizan jerárquicamente en una estructura similar a un árbol, entonces, si una entrada pertenece a una clase, también pertenece a todas las clases que están por encima de esa clase particular en el árbol, hasta la raíz del árbol. Por ejemplo, una entrada con la clase "Toallitas", como se muestra en la Tabla 1, también pertenecería a la clase de su progenitor inmediato, "Toallas", así como a las clases de nivel superior de "Baño" y "Bebé".
Las una o más etiquetas corresponden a palabras clave (por ejemplo, palabras o locuciones no jerárquicas) que están asociadas con la entrada particular. Estas pueden incluir, por ejemplo, descripciones de los colores del producto (por ejemplo, rojo, blanco y amarillo), patrones (por ejemplo, cuadros escoceses, rayas y guinga), materiales (por ejemplo, algodón, poliéster, mezclas), tamaños, u otros descriptores que pueden no encajar en una jerarquía tal como las clases.
El campo de descripción textual puede describir el modelo de una forma narrativa y se puede escribir para que sea legible por seres humanos, pero también se puede usar en una búsqueda textual de entradas.
El campo de información de medios puede corresponder al propio documento de medios (o, más extensamente, al documento de medios digitales particular asociado con la entrada, tal como una imagen particular, un modelo 3D particular, una grabación de audio particular o un vídeo particular).
De acuerdo con algunos ejemplos, algunos de estos campos de metadatos, tales como el nombre, las clases y la información visual, son obligatorios, mientras que otros campos de metadatos, tales como las etiquetas y la descripción textual, son opcionales. Algunos o todos los campos de metadatos para cualquier entrada dada pueden ser introducidos manualmente por un usuario, o se pueden generar automáticamente, como se describe con más detalle a continuación.
Búsqueda en base de datos para llenado de metadatos automático
Un aspecto de los ejemplos de la presente invención se dirige a realizar búsquedas en la base de datos descrita anteriormente de entradas que son similares a un documento de medios de entrada dado para generar metadatos para el documento de medios de entrada dado.
En el contexto de esta divulgación, se considera la siguiente nomenclatura para consultas y entradas: una entrada es (o está asociada con) un documento de medios (por ejemplo, un modelo 3D, una imagen, una grabación de audio o un vídeo) que ya está presente en la base de datos y para el cual hay metadatos disponibles, mientras que una consulta es un documento de medios (por ejemplo, un modelo tridimensional) que no está presente en la base de datos y para el cual se desea rellenar algunos o todos los campos de metadatos combinando información a partir de los metadatos de las entradas o modelos ya presentes en la base de datos. El caso en el que el campo de metadatos que se va a llenar es la clase de la consulta se puede denominar clasificación del documento de medios de la consulta.
Las técnicas para consultar una base de datos de imágenes generalmente caen dentro de dos formas diferentes: clasificación de imágenes (asignación de una o más clases a una imagen); y recuperación de imágenes (identificación de la entrada de imagen más similar en la base de datos con respecto a la imagen de consulta). Una base de datos de imágenes común es ImageNet (véase, por ejemplo, J. Deng, W. Dong, R. Socher, L. J. Li, K. Li y L. Fei-Fei, ImageNet: A Large-Scale Hierarchical Image Database. IEEE Computer Visión and Pattern Recognition (CVPR), 2009), que incluye millones de imágenes y miles de clases diferentes. Las metodologías para realizar la clasificación y recuperación de imágenes incluyen técnicas que usan redes neuronales convolucionales (CNN) (véase, por ejemplo, A. Krizhevsky, I. Sutskever, G. E. Hinton, "Imagenet classification with deep convolutional neural networks", Advances in Neural Information Processing Systems, 2012., Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D. Jackel, "Backpropagation applied to handwritten zip code recognition", Neural Computation, 1989, y C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, A. Rabinovich, "Going deeper with convolutions", CVPR, 2015) y modelos jerárquicos bayesianos (véase, por ejemplo, L. Fei-Fei, P. Perona, "A Bayesian hierarchical model for learning natural scene categories", CVPR, 2005).
Además, también se pueden suministrar grabaciones de audio, y los componentes de audio de vídeos, a una red neuronal convolucional para la extracción de características convirtiendo la grabación de audio en una imagen creando uno o más espectrogramas del audio (por ejemplo, un espectrograma para cada canal del audio).
Por razones de conveniencia, y sin limitación a ello, una CNN se puede considerar un sistema que, dada una imagen de entrada, realiza un conjunto de operaciones tales como convoluciones bidimensionales (2D), correlación no lineal, agregaciones de agrupación máxima y conexiones para computar un vector de valores o características (denominado comúnmente vector de características). En particular, el vector de características estimado para una imagen de consulta es un vector de valores (generalmente codificados como valores numéricos de coma flotante o de coma fija) de una dimensionalidad grande (por ejemplo, 4096 valores). El vector de características se puede considerar como la "firma" de la imagen de entrada y tiene la propiedad de que los vectores de características de objetos en la misma clase son puntos que están cerca en el espacio de vectores de características (por ejemplo, tienen vectores de características similares). El vector de características puede ser usado entonces por un clasificador (por ejemplo, un clasificador SoftMax) para obtener una estimación de una o más clases de metadatos para la imagen de entrada. En este sentido, las clasificaciones computadas por el clasificador se pueden usar para identificar qué clases están asociadas con una imagen dada.
Además de suministrar el vector de características al clasificador para computar clasificaciones, el vector de características también se puede usar para la recuperación de imágenes. Debido a que imágenes similares tienen vectores de características similares, las entradas en la base de datos son similares a la imagen de consulta si sus vectores de características están cerca del vector de características de la imagen de consulta en el espacio de vectores de características, en donde la "cercanía" o similitud se puede computar con respecto a una métrica convencional tal como una métrica L1 o L2 Dada la dimensionalidad grande del espacio de vectores de características, los vectores de características se pueden hacer más manejables desde el punto de vista computacional aplicando una técnica para la reducción de la dimensionalidad, tal como el Análisis de Componentes Principales (Principal Component Analysis, PCA) o el Análisis de Discriminante Lineal (Linear Discriminant Analysis, LDA).
De forma similar a las imágenes bidimensionales, los modelos tridimensionales, ya sean con textura o sin textura, también se pueden considerar en el contexto de la clasificación o recuperación usando una red neuronal convolucional y un clasificador.
En este sentido, un aspecto de los ejemplos de la presente invención se refiere a usar información a partir del documento de medios de la consulta para buscar entradas asociadas con documentos de medios similares para obtener metadatos. En particular, un aspecto de los ejemplos de la presente invención se refiere a codificar un documento de medios para extraer un vector de características a partir del documento de medios usando una red neuronal convolucional. El vector de características extraído se puede suministrar entonces a un clasificador para clasificar el documento de medios o también se puede usar para buscar documentos de medios similares en el espacio de vectores de características.
La figura 5 es un diagrama de flujo de un método 500 para generar metadatos para un documento de medios de acuerdo con una realización de la presente invención. El método mostrado en la figura 5 puede ser realizado por el procesador de anfitrión 108 del aparato de exploración 100, realizado por un servidor (por ejemplo, un ordenador local al aparato de exploración 100 o un ordenador en un centro de datos en la "nube"), o combinaciones de los mismos (en donde algunas operaciones pueden ser realizadas por el procesador de anfitrión 108 del aparato de exploración y otras operaciones son realizadas por un servidor). Por razones de conveniencia, las operaciones se describirán como realizadas por un "procesador", sin limitación en cuanto a si el procesador es el procesador de anfitrión 108 o un procesador de un servidor.
En la operación 510, el procesador computa un vector de características de un documento de medios que este ha recibido. En algunos casos, el documento de medios puede ser un modelo 3D que fue capturado por el aparato de exploración 100 durante un proceso de exploración. En otros casos, el documento de medios se puede recuperar de un tercero (por ejemplo, un modelo 3D capturado por un dispositivo de exploración diferente), se puede generar manualmente usando una herramienta de diseño asistido por ordenador o puede ser un modelo explorado que se modifica usando un herramienta de diseño asistido por ordenador.
Como se ha hecho notar anteriormente, en el caso en el que el documento de medios de la consulta es una imagen 2D y los documentos de medios de la base de datos también son imágenes 2D, la imagen 2D se puede suministrar directamente a una CNN entrenada (por ejemplo, entrenada en imágenes 2D). En el caso en el que el documento de medios es una grabación de audio o en el que el documento de medios es una grabación de vídeo que incluye un componente de audio, el procesador convierte el audio en uno o más espectrogramas y suministra los uno o más espectrogramas como entrada a la CNN entrenada (por ejemplo, entrenada en espectrogramas de grabaciones de audio).
En el caso en el que el documento de medios de la consulta es un modelo 3D y la base de datos almacena una colección de imágenes 2D, se pueden extraer uno o más vectores de características a partir del modelo 3D. Por ejemplo, en una realización, el modelo 3D se representa desde múltiples puntos de vista para generar una pluralidad de imágenes 2D, y cada una de las imágenes 2D se puede suministrar a una CNN entrenada para generar una pluralidad de vectores de características (extraídos a partir de vistas 2D) asociados con el modelo 3D. En este sentido, el modelo 3D se puede usar para consultar una base de datos de imágenes 2D. La figura 6A es un diagrama de flujo que ilustra un método para computar un vector de características en el caso en el que el documento de medios es un modelo 3D voxelizando el modelo 3D de acuerdo con una realización de la presente invención, y la figura 6B representa visualmente la aplicación de una CNN a un modelo 3D usando voxelización. Haciendo referencia a las figuras 6A y 6B, en la operación 610, el procesador define un cuadro delimitador 612 alrededor del modelo 3D, tal como aplicando el algoritmo de calibres giratorios al modelo 3D.
En la operación 630, el procesador voxeliza el modelo para generar un conjunto de vóxeles que representan el modelo 3D. En una realización, en el proceso de voxelización, el procesador divide el cuadro delimitador en subunidades, denominadas vóxeles. Por ejemplo, el cuadro delimitador puede ser un cubo con 256 vóxeles en un lado para un total de 2563 = 16.777.216 vóxeles, aunque los ejemplos de la presente invención no se limitan a ello y pueden ser sustancialmente mayores. Cada vóxel se puede asociar con un valor que representa si alguna porción del modelo 3D está contenida o no dentro del vóxel (por ejemplo, en una voxelización de valor binario) o, en otro caso, cada vóxel se puede asociar con un valor (por ejemplo, un valor de 8 bits) que representa la fracción o porcentaje del vóxel que es ocupado por el modelo 3D (por ejemplo, una voxelización de valor entero o de coma flotante). La figura 6B representa un modelo 3D voxelizado 632.
De acuerdo con una realización de la presente invención, la operación 630 incluye además estimar características o realizar un análisis de componentes principales para identificar una "vista preferida" antes de realizar la voxelización. Identificar una vista preferida consistente del modelo antes de la voxelización aumenta la probabilidad de que dos modelos 3D diferentes de objetos sustancialmente similares (o los mismos objetos) se voxelicen desde la misma perspectiva (por ejemplo, con los vóxeles definidos a lo largo de sustancialmente el mismo espacio de coordenadas), proporcionando de ese modo invariancia rotacional (por ejemplo, la capacidad del sistema para reconocer modelos de objetos que se han rotado).
En la operación 650, el procesador genera un vector de características a partir de los vóxeles generados en la operación 630. De acuerdo con una realización de la presente invención, el vector de características 654 se computa suministrando los vóxeles a una red neuronal convolucional entrenada 652. Debido a que la representación de vóxeles se puede considerar un tensor 3D, los vóxeles se pueden suministrar directamente como entrada a una CNN, en donde la CNN se entrena basándose en modelos 3D voxelizados. Los cubos de trazo discontinuo mostrados en la figura 6B representan operaciones de convolución. Como se muestra en la figura 6B, el vector de características 654 también se puede suministrar a un clasificador para generar unas clasificaciones 656 del modelo 3D voxelizado 612.
De acuerdo con otra realización de la presente invención, la información geométrica y de texturas acerca del modelo 3D se codifica representando el modelo desde múltiples direcciones o puntos de vista. La figura 7A es un diagrama de flujo que ilustra un método para computar un vector de características en el caso en el que el documento de medios es un modelo 3D representando múltiples vistas de un modelo 3D desde diferentes puntos de vista o direcciones de acuerdo con una realización de la presente invención, y la figura 7B representa visualmente la aplicación de una CNN a un modelo 3D representado desde múltiples vistas.
Haciendo referencia a las figuras 7A y 7B, en la operación 710 el procesador representa el modelo 3D desde múltiples ángulos para generar múltiples vistas bidimensionales (2D) 712 del modelo 3D. También se puede aplicar una técnica de estimación de características o de análisis de componentes principales similar para identificar "vistas preferidas" del modelo 3D a partir de las cuales generar las múltiples vistas 2D del modelo 3D. En la operación 730, el procesador suministra cada una de las vistas 2D a una red neuronal convolucional 732 para generar una pluralidad de vectores de características de una única vista correspondientes (vectores de características correspondientes a vistas individuales de las vistas 2D). En algunos ejemplos, como se muestra en la figura 7B, hay una red neuronal convolucional separada para cada vista. En otros ejemplos, cada una de las vistas se suministra a la misma red neuronal convolucional. En la operación 750, una capa de agrupación de vistas 752 agrega los vectores de características de una única vista computados a partir de las imágenes o vistas 2D individuales. La capa de agrupación de vistas 752 permite flexibilidad adicional en el sistema, debido a que la capa de agrupación de vistas 752 hace que la longitud del vector de características agrupado sea independiente del número de vistas del modelo 3D.
En la operación 770, el procesador aplica una CNN de fase final 772 para computar un vector de características 774. El vector de características 774 también se puede suministrar a un clasificador para generar unas clasificaciones 776 de las vistas del modelo 3D.
En el caso en el que el documento de medios de la consulta incluye una o más imágenes 2D del mismo objeto y la base de datos es una colección de modelos 3D, se pueden extraer uno o más vectores de características a partir de las imágenes 2D para generar vectores de características que se pueden comparar con vectores de características de la colección de modelos 3D. En una realización de la presente invención, las imágenes 2D se usan para sintetizar un modelo 3D usando, por ejemplo, algoritmos estereoscópicos tales como la puesta en coincidencia de bloques, que se ha descrito brevemente anteriormente y que también se describe con más detalle en el documento de R. Szeliski. "Computer Vision: Algorithms and Applications", Springer, 2010. Se puede extraer entonces un vector de características a partir del modelo 3D sintetizado de una forma sustancialmente similar a aquellas en las que el documento de medios de la consulta es un modelo 3D, tales como las técnicas descritas anteriormente con respecto a las figuras 6A, 6B, 7A y 7B.
En la operación 530, el procesador busca documentos de medios en la base de datos que tienen vectores de características similares al vector de características computado para el documento de medios de entrada. Como se ha hecho notar anteriormente, la "cercanía" o similitud de los vectores de características se puede computar con respecto a una métrica de distancia multidimensional, tal como una norma p en el espacio Lp (por ejemplo, para dos vectores x y X2, x = (xi, X2), ||x||p = (£"= l |x,jp)1/p). Por ejemplo, L1 corresponde a una distancia en el espacio "taxi" o "espacio Manhattan", y L2 corresponde a una distancia en el espacio euclídeo. En algunos ejemplos, el procesador determina que dos vectores de características (por ejemplo, el vector de características del modelo de consulta y el vector de características de un modelo de una de las entradas en la base de datos) son similares cuando la métrica que representa la distancia (o diferencia) entre los dos es menor que un valor umbral.
En una realización de la presente invención, los documentos de medios similares se identifican en la base de datos comparando el vector de características del documento de medios de la consulta con el vector de características de cada entrada en la base de datos. De acuerdo con otra realización de la presente invención, las entradas similares se agrupan (o se subdividen en contenedores) en la base de datos basándose en la similitud de sus vectores de características. Una búsqueda inicial puede identificar uno o más contenedores de entradas que son similares al documento de medios de la consulta, en donde se pueden considerar que todas las entradas de cada uno de los contenedores identificados de entradas son similares al vector de características del documento de medios de la consulta. La búsqueda se puede refinar adicionalmente comparando el vector de características del documento de medios de la consulta con cada vector de características de cada entrada en cada uno de los contenedores identificados.
En una realización de la presente invención, en donde el documento de medios de la consulta es un modelo 3D y la base de datos de entradas contiene una colección de modelos 3D, los modelos 3D similares se identifican en la base de datos aplicando una técnica del punto más cercano iterativo (ICP). Generalmente, el punto más cercano iterativo intenta alinear dos nubes de puntos (por ejemplo, correspondientes a modelos 3D). Un subproducto de una técnica de ICP es un mapa de distancias entre los puntos de una nube de puntos y los puntos de la otra nube de puntos. En este sentido, en una realización, una métrica de similitud corresponde a una estadística de estas distancias, tal como la distancia media entre puntos de las nubes de puntos.
En un caso de realización en el que el documento de medios de la consulta incluye una o más imágenes 2D del mismo objeto y la base de datos es una colección de modelos 3D, los vectores de características extraídos en la operación 510 pueden ser vectores de características separados para cada una de las una o más imágenes 2D, y se puede generar una pluralidad de vectores de características para cada uno de los modelos 3D en la base de datos representando cada uno de los modelos 3D desde una pluralidad de puntos de vista diferentes, y suministrando cada una de las vistas representadas separadas del modelo 3D a una red neuronal convolucional para generar uno o más vectores de características, correspondiendo cada uno a un punto de vista diferente. Los vectores de características extraídos a partir de las imágenes 2d de la consulta se pueden comparar entonces (por ejemplo, usando las métricas L1 o L2 descritas anteriormente) con los vectores de características de las vistas 2D del modelo 3D para calcular una similitud entre las imágenes 2D de la consulta y el modelo 3D.
El conjunto de entradas recuperadas de los resultados de consulta también se puede visualizar al usuario y puede ser refinado manualmente por el usuario para conducir a un conjunto más pertinente de objetos recuperados que se pueden usar para inferir los metadatos.
De acuerdo con un ejemplo de la presente invención, en el caso en el que la consulta incluye metadatos parcialmente rellenados, la búsqueda de entradas similares en la base de datos en la operación 530 también puede incluir la búsqueda de entradas que contienen metadatos similares a los campos parcialmente rellenados de los metadatos de la consulta. Los metadatos de las entradas similares se pueden usar entonces para generar los metadatos para las porciones sin rellenar de los metadatos de la consulta.
Por ejemplo, una consulta puede incluir los metadatos <título="BMW m3 2016 negro", clase="coche", etiquetas="", texto="">. En una consulta de este tipo, las entradas de "título" y "clase" están rellenas, y las entradas de "etiquetas" y "texto" están sin rellenar. Las entradas sin rellenar de "etiquetas" y "texto", así como potencialmente una clase más específica, se pueden generar automáticamente buscando en la base de datos entradas similares, basándose en los campos disponibles de "título" y "clase". En particular, se pueden buscar en la base de datos entradas en la clase "coche" que tienen un título que es similar al título de los metadatos de la consulta. Se puede considerar que el título de una entrada de la base de datos es suficientemente similar si, por ejemplo, el título de la entrada contiene al menos un 75 % de las palabras en el título de la consulta. Como otro ejemplo, se puede usar una distancia de Levenshtein u otra métrica de distancia (por ejemplo, métrica de distancia de edición) para comparar los títulos, en donde se puede considerar que una entrada que tiene una distancia por debajo de una distancia umbral es similar.
En la operación 550, los campos de metadatos de etiquetas y de texto de las entradas similares identificadas se evalúan entonces y su contenido se fusiona para generar automáticamente los campos de etiquetas y de texto para llenar los campos sin rellenar de los metadatos de la consulta. En una realización, las etiquetas se pueden obtener enumerando todas las etiquetas en las entradas recuperadas y conservando solo las etiquetas que aparecen al menos dos veces y el texto se puede obtener mediante técnicas de análisis de texto semántico. En una realización, el campo de clase de los metadatos generados se rellena usando las clasificaciones (por ejemplo, las clasificaciones 656 o las clasificaciones 776 mostradas en las figuras 6B y 7B, respectivamente) computadas para el vector de características por un clasificador.
Por ejemplo, haciendo referencia de nuevo a la figura 1, las entradas recuperadas 12 y sus metadatos de clase y de etiquetas correspondientes se muestran a continuación en la Tabla 2:
Tabla 2
Figure imgf000016_0001
De acuerdo con algunos ejemplos de la presente invención, se aplica una regla en donde las etiquetas que aparecen al menos un número umbral de veces se añaden a los metadatos generados. Como se ve en la Tabla 2, las etiquetas "Jeep", "descapotable" y "deportivo" aparecen, todas ellas, dos veces en las etiquetas de los resultados, por lo que, suponiendo que el umbral es de dos, estas tres etiquetas se añaden a las etiquetas de los metadatos generados. Cada una de las etiquetas "azul", "rojo" y "blanco y negro" aparece solo una vez en los resultados y, por lo tanto, las mismas no se añaden a las etiquetas de los metadatos generados. Aunque la etiqueta "blanco y negro" refleja de forma precisa los colores del modelo 3D de la consulta, no hay suficientes resultados que incluyan esta etiqueta como para que la misma se incluya en los metadatos generados.
Aunque en el presente documento se describen ejemplos en los que los metadatos que aparecen al menos dos veces en los resultados de la búsqueda se añaden a los metadatos generados, los ejemplos de la presente invención no se limitan a los mismos. Por ejemplo, el procesador se puede configurar para recuperar un gran número de resultados (por ejemplo, las diez entradas más similares) y el umbral para añadir una clase o etiqueta que aparece en los resultados puede ser de al menos 4 resultados. En otros ejemplos, el umbral para añadir una clase o etiqueta se puede establecer como un porcentaje mínimo de los resultados que incluyen la etiqueta o clase, tal como al menos un 50 %.
De acuerdo con algunos ejemplos de la presente invención, el campo de clase de los metadatos generados también se puede rellenar usando clases que aparecen al menos dos veces en los resultados de consulta o basándose en una clase que aparece en la mayoría de los resultados de consulta. Como se muestra en la Tabla 2, la clase "coche" aparece en tres de los resultados y la clase "gorra" aparece en uno de los resultados. En este sentido, los metadatos generados incluyen la clase "coche", pero no la clase "gorra".
De acuerdo con algunos ejemplos de la presente invención, en lugar de usar las clases de los resultados de consulta para asignar una clase al documento de medios, el vector de características del documento de medios de la consulta se suministra a un clasificador (por ejemplo, un clasificador entrenado en entradas dentro de la base de datos) para generar una clasificación o unas clasificaciones (por ejemplo, las clasificaciones 656 o las clasificaciones 776). Las clasificaciones se pueden representar como una pluralidad de valores, en donde cada valor representa una confianza en que el documento de medios pertenece a una clase particular. Por ejemplo, una clasificación de la consulta mostrada en la figura 1 puede expresar una confianza alta en que la consulta muestra un coche, una confianza baja en que la consulta muestra una gorra y una confianza sustancialmente nula en que la consulta muestra un perro.
En la operación 570, el procesador emite los metadatos generados para el documento de medios. Esto puede incluir, por ejemplo, visualizar los metadatos en un dispositivo de visualización en asociación con el documento de medios. Entonces, el usuario puede revisar entonces los metadatos generados automáticamente, validar que los metadatos generados son razonables para el resultado (por ejemplo, que la clase, las etiquetas, el nombre y la descripción textual reflejen de forma precisa la naturaleza del documento de medios) y editar los metadatos generados, si es necesario.
Como se ha descrito anteriormente, en algunas circunstancias, es posible que la consulta ya esté asociada con metadatos parciales. Sin embargo, a través del proceso de identificación de otros metadatos basándose en la similitud de los vectores de características del documento de medios de la consulta y el vector de características de las entradas de la base de datos, se pueden generar automáticamente metadatos pertinentes adicionales. Además, los errores en los metadatos de la consulta también podrán ser corregidos basándose en los metadatos generados automáticamente.
Los metadatos generados se pueden guardar entonces en asociación con el documento de medios para su uso en otras aplicaciones.
Búsquedas limitadas por políticas
Un ejemplo de la presente invención se refiere a restringir la búsqueda de la base de datos de acuerdo con políticas de acceso. Por ejemplo, diferentes usuarios que están consultando la base de datos pueden buscar solo en las porciones de la base de datos a las que tienen acceso, basándose en políticas. Por ejemplo, dados cinco usuarios <a1, a2, a3, b1, b2> en los que los usuarios <a1, a2, a3> pertenecen al grupo A y <b1, b2> pertenecen al grupo B; y una base de datos constituida por tres conjuntos de entradas (o tres conjuntos de documentos de medios) <dbA, dbB, dbC>, en los que dbA es visible para los miembros del grupo A, dbB es visible para los miembros del grupo B y dbC es visible para miembros de los grupos tanto A como B, al usuario b1 se le permite (tiene permiso para) buscar solo entradas en dbB y dbC y no se le permite (se le deniega) el acceso a entradas en dbA (y, por lo tanto, la búsqueda no se realiza sobre las entradas en dbA). En este sentido, la búsqueda realizada por el usuario b1 se restringe a las entradas en dbB y dbC. Estas políticas también se pueden aplicar de forma diferente para diferentes campos de los metadatos. Por ejemplo, se puede permitir que el usuario b1 busque en toda la base de datos para llenar las etiquetas y el campo de título, pero solo dbB y dbC, para llenar el campo de texto. Las aplicaciones de estas políticas engloban la aplicación de derechos digitales para, por ejemplo, información textual y visual, información confidencial, información de propiedad exclusiva, y de restricción de búsqueda de material solo para adultos o que, de otro modo, no sea seguro.
Inserción automática de entradas en una base de datos
De acuerdo con un ejemplo de la presente invención, el documento de medios de la consulta y sus metadatos generados automáticamente forman un candidato para la inserción en la base de datos como una entrada nueva y, por lo tanto, se convierten en una entrada que se puede usar adicionalmente para la búsqueda y generación de metadatos para consultas adicionales.
Sin embargo, incluso si los campos llenados automáticamente de la consulta después de la búsqueda son verificados por el usuario que está añadiendo la entrada a la base de datos, esto puede no ser suficiente para asegurar que la calidad de los campos de metadatos suministrados sea lo suficientemente alta como para usarse de forma segura como una entrada en la base de datos. Por ejemplo, un error en los metadatos puede provocar un efecto en cascada en el que unas pocas entradas etiquetadas de forma incorrecta pueden provocar que entradas adicionales se etiqueten de forma incorrecta, aumentando de ese modo adicionalmente la probabilidad de que consultas posteriores se etiqueten de forma incorrecta. Esto es particularmente cierto en el caso en el que estas entradas se usen para entrenar un clasificador.
Por lo tanto, para mejorar la probabilidad de que solo consultas caracterizadas por campos de metadatos de calidad alta se incorporen como entradas en la base de datos, de acuerdo con una realización de la presente invención, las entradas nuevas están sujetas a un tiempo de prueba y a una validación democrática. En tales ejemplos, la consulta se añade temporalmente a la base de datos como una entrada. Si esta entrada temporal se usa para llenar los metadatos faltantes de una segunda consulta procedente de un usuario diferente y el usuario valida los campos de metadatos rellenados automáticamente, se considera que esta entrada es válida y se añade a la agrupación de entradas regulares en la base de datos. En otra realización, un documento de medios que está listo para añadirse a la agrupación de entradas es validado por un administrador de la base de datos antes de que el mismo pueda aparecer en resultados de búsqueda.
Ejemplo de captura de modelo con generación de metadatos automática
Por razones de claridad, a continuación se describe, con respecto a la figura 8, un ejemplo no limitante del proceso de captura de un modelo tridimensional (3D) y de generación automática de metadatos para el modelo de acuerdo con una realización de la presente invención.
La figura 8 es un diagrama de flujo que representa un proceso de captura de un modelo y de generación automática de metadatos para el modelo de acuerdo con una realización de la presente invención.
Por razones de conveniencia, el siguiente ejemplo supone el uso de un aparato de exploración 3D tal como un sistema de exploración de los tipos descritos en la solicitud de patente de EE. UU. con n.° de serie 15/630.715, presentada ante la Oficina de Patentes y Marcas de EE. UU. el 22 de junio de 2017, cuya divulgación completa se incorpora en el presente documento por referencia. Un aparato de exploración 3D de este tipo puede adquirir información geométrica y de texturas de un objeto tridimensional.
En la operación 810, el aparato de exploración 3D adquiere la geometría tridimensional y de la textura de un objeto tridimensional físico particular, tal como una lámpara. Una porción del cómputo para computar la geometría 3D y la textura de los datos sin procesar capturados (por ejemplo, imágenes bidimensionales) para generar un modelo 3D se puede realizar en el aparato de exploración 3D, mientras que la porción restante se puede realizar en un servidor local o remoto. El resultado de esta operación es un modelo tridimensional (modelo 3D) con textura del objeto particular (por ejemplo, un modelo 3D de la lámpara).
En la operación 820, se consulta la base de datos de modelos 3D usando el modelo 3D capturado. Por ejemplo, de acuerdo con una realización de la presente invención, el modelo 3D capturado (por ejemplo, el modelo capturado de una lámpara) se sube entonces a un servidor local o remoto, que realiza una búsqueda de este modelo 3D con respecto a una base de datos de modelos 3D clasificados y etiquetados. Por razones de conveniencia, se supone que todos los campos de metadatos (por ejemplo, nombre, clases, etiquetas y descripción textual) de todos los modelos en la base de datos están llenos y que ninguno de los campos de metadatos del modelo de consulta está lleno.
La consulta de la base de datos se puede realizar sustancialmente de la misma forma que se muestra en las operaciones 510 y 530 de la figura 5. En la operación 510, se computa (o se extrae) un vector de características basándose en el modelo 3D de la consulta usando una red neuronal convolucional (CNN) entrenada (los pesos de la CNN que se ha entrenado en una base de datos de este tipo se pueden computar previamente, y los vectores de características para cada uno de los modelos 3D en la base de datos se pueden computar previamente usando la misma CNN y esos vectores de características se pueden almacenar dentro la base de datos). Por lo tanto, el vector de características del modelo 3D de la consulta se puede usar con fines de clasificación y de recuperación.
En la operación 830, se generan automáticamente campos de metadatos para el modelo 3D de la consulta. Como se ha hecho notar anteriormente, la clasificación puede ser un conjunto de clases para el modelo 3D de la consulta cuando su vector de características se suministra a un clasificador, y la salida de recuperación puede ser un conjunto de entradas que tienen modelos 3D que son similares al modelo de consulta (por ejemplo, que tienen vectores de características similares). Este conjunto de modelos de entrada similares se puede usar para el llenado automático de los campos de metadatos que no sean la clase, tales como el nombre, las etiquetas y la descripción textual.
En la operación 840, todos los campos de metadatos generados automáticamente para el modelo 3D suministrado como la consulta han sido llenados por el servidor, y los mismos se visualizan al usuario para su validación. En la operación 850, el usuario puede validar y modificar los valores generados automáticamente de los metadatos sugeridos por el servidor. Una vez que los metadatos se han validado (y, posiblemente, editado), los metadatos resultantes se pueden emitir en la operación 860, con el modelo 3D para su uso en otros contextos, tales como la creación de un listado de comercio electrónico que incluye un modelo tridimensional, en donde los metadatos generados automáticamente se pueden usar para rellenar automáticamente diversas porciones del listado de comercio electrónico.
Documentos de medios en aplicaciones de comercio electrónico
Como se ha hecho notar anteriormente, un ejemplo de una aplicación de la generación automática de metadatos para documentos de medios, tales como modelos tridimensionales (3D) con metadatos generados automáticamente, es en aplicaciones de comercio electrónico. En particular, proporcionar un modelo 3D de un producto en venta puede mejorar la experiencia de compra y dar como resultado una participación aumentada del comprador al permitir que el comprador manipule el producto, virtualmente, dentro de un entorno 3D, proporcionando de ese modo un entendimiento más inmersivo del tamaño y la forma del producto. Además, las imágenes 2D de un producto en venta son algo habitual y, habitualmente, son esperadas por los consumidores.
Además de la información visual acerca del producto (por ejemplo, imágenes y modelos tridimensionales), los listados en aplicaciones de comercio electrónico incluyen generalmente una gran cantidad de datos asociados, tales como un nombre (o título), una descripción textual, etiquetas (o palabras clave), y los mismos se organizan en clases (denominadas comúnmente categorías). En particular, en los sitios web de comercio electrónico grandes, las categorías de listado pueden ser del orden de muchos miles o más, y se pueden organizar en una estructura de árbol que codifica relaciones de subcategorías, en donde cada producto enumerado puede pertenecer a una o más categorías.
En este sentido, cuando un vendedor desea publicar un producto para su venta, debe rellenar estos campos de metadatos para el producto en venta. Generalmente, este es un proceso manual y recopilar la información solicitada por la página de listado de productos y completar el formulario puede requerir un tiempo y un esfuerzo sustanciales. En particular, cuando el listado se crea desde una plataforma móvil (por ejemplo, un teléfono inteligente), esta operación se puede volver tediosa y puede llegar a consumir mucho tiempo.
En este sentido, la generación de metadatos automática de acuerdo con los ejemplos de la presente invención permite que los campos de metadatos de las publicaciones de comercio electrónico se llenen automáticamente usando los datos de medios capturados (por ejemplo, fotografías del producto o una exploración 3D del objeto). Aunque algunos ejemplos de la presente invención se han descrito anteriormente con respecto a imágenes bidimensionales y modelos tridimensionales, los ejemplos de la presente invención no se limitan a los mismos y también se pueden aplicar a otras formas de medios tales como vídeos (por ejemplo, se pueden extraer vectores de características a partir de vídeos en lugar de imágenes 2D o modelos 3D, y los vectores de características resultantes se pueden usar para clasificar los objetos representados en las imágenes y para identificar imágenes y/o vídeos de objetos similares para recuperar automáticamente metadatos a partir de esas entradas similares).
Este llenado automático de los diversos campos de metadatos (título, clases, etiquetas, descripción textual) se obtiene por medio de una base de datos organizada de listados que se actualiza automáticamente, lo que prevé operaciones de clasificación y de recuperación eficientes.
Aunque la presente invención se ha descrito en relación con ciertos ejemplos, se ha de entender que la invención no se limita a los ejemplos divulgados, sino que, por el contrario, pretende cubrir diversas modificaciones y disposiciones equivalentes incluidas dentro del alcance de las reivindicaciones adjuntas, y equivalentes de las mismas.

Claims (15)

REIVINDICACIONES
1. Un método para generar automáticamente metadatos para un documento de medios, comprendiendo el método:
computar un vector de características del documento de medios usando una red neuronal convolucional (510), en donde el documento de medios es un modelo tridimensional (3D), comprendiendo el cómputo del vector de características:
representar el modelo 3D desde múltiples ángulos para representar una pluralidad de vistas bidimensionales (2D) del modelo 3D;
generar, usando la red neuronal convolucional, una pluralidad de vectores de características de una única vista, correspondiendo cada uno de los vectores de características de una única vista a una de las vistas 2D del modelo 3D;
agregar la pluralidad de vectores de características de una única vista para computar un vector de características agrupado, teniendo el vector de características agrupado una longitud que es independiente del número de vistas 2D; y
computar el vector de características a partir del vector de características agrupado usando una red neuronal convolucional de fase final;
buscar en una colección de documentos de medios uno o más documentos de medios coincidentes que tienen vectores de características correspondientes similares al vector de características del documento de medios (530), estando asociado cada documento de medios de la colección de documentos de medios con metadatos; generar metadatos para el documento de medios basándose en los metadatos asociados con los uno o más documentos de medios coincidentes (550),
comprendiendo los metadatos generados porciones de los metadatos que aparecen en al menos un número umbral de los uno o más documentos coincidentes; y visualizar el documento de medios en asociación con los metadatos generados.
2. El método de la reivindicación 1, en donde la colección de documentos de medios comprende una colección de imágenes bidimensionales (2D),
en donde el cómputo del vector de características comprende computar uno o más vectores de características del modelo 3D,
en donde los uno o más documentos de medios coincidentes comprenden una o más imágenes 2D coincidentes de la colección de imágenes 2D, y
en donde cada uno de los vectores de características correspondientes de las imágenes 2D coincidentes es similar a al menos uno de los uno o más vectores de características del modelo 3D.
3. El método de la reivindicación 1, que comprende además:
capturar el modelo 3D usando un aparato de exploración tridimensional, comprendiendo el aparato de exploración tridimensional:
dos o más cámaras de infrarrojos (IR); y
uno o más iluminadores colimados por IR.
4. El método de la reivindicación 1, en donde los metadatos generados y los metadatos asociados con cada uno de los documentos de medios comprenden cada uno una pluralidad de campos, y
en donde la generación de los metadatos comprende:
identificar, para cada campo de la pluralidad de campos, datos que aparecen en más de un número umbral de los metadatos de los uno o más documentos de medios coincidentes, y
añadir los datos identificados a los metadatos generados.
5. El método de la reivindicación 1, en donde los metadatos generados comprenden una clase del documento de medios, y
en donde el método comprende además:
suministrar el vector de características del documento de medios a un clasificador para computar clasificaciones del documento de medios; y
computar la clase basándose en las clasificaciones.
6. El método de la reivindicación 1, que comprende además añadir el documento de medios y los metadatos generados a la colección de documentos de medios.
7. El método de la reivindicación 1, en donde cada uno de los uno o más vectores de características correspondientes de los uno o más documentos de medios coincidentes tiene una distancia correspondiente en un espacio multidimensional con respecto al vector de características del documento de medios, y
en donde cada distancia correspondiente es menor que una distancia umbral.
8. El método de la reivindicación 1, que comprende además recibir metadatos asociados con el documento de medios,
en donde la búsqueda en la colección de documentos de medios comprende identificar uno o más documentos de medios de la colección de documentos de medios que tienen metadatos que coinciden con al menos uno de una pluralidad de campos de los metadatos asociados con el documento de medios, y
en donde los documentos de medios coincidentes comprenden al menos uno de los uno o más documentos de medios identificados.
9. Un sistema para generar automáticamente metadatos para un documento de medios, comprendiendo el sistema:
un procesador; y
una memoria que tiene instrucciones almacenadas en la misma que, cuando son ejecutadas por el procesador, hacen que el procesador:
compute un vector de características del documento de medios usando una red neuronal convolucional (510), en donde el documento de medios es un modelo tridimensional (3D), en donde las instrucciones para computar el vector de características comprenden instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador:
represente el modelo 3D desde múltiples ángulos para representar una pluralidad de vistas bidimensionales (2D) del modelo 3D;
genere, usando la red neuronal convolucional, una pluralidad de vectores de características de una única vista, correspondiendo cada uno de los vectores de características de una única vista a una de las vistas 2D del modelo 3D;
agregue la pluralidad de vectores de características de una única vista para computar un vector de características agrupado, teniendo el vector de características agrupado una longitud que es independiente del número de vistas 2D; y
compute el vector de características a partir del vector de características agrupado usando una red neuronal convolucional de fase final;
busque en una colección de documentos de medios uno o más documentos de medios coincidentes que tienen vectores de características correspondientes similares al vector de características del documento de medios (530), estando asociado cada documento de medios de la colección de documentos de medios con metadatos;
genere metadatos para el documento de medios basándose en los metadatos asociados con los uno o más documentos de medios coincidentes (550),
comprendiendo los metadatos generados porciones de los metadatos que aparecen en al menos un número umbral de los uno o más documentos coincidentes; y
visualice el documento de medios en asociación con los metadatos generados.
10. El sistema de la reivindicación 9, en donde la colección de documentos de medios comprende una colección de imágenes bidimensionales (2D),
en donde las instrucciones para computar el vector de características comprenden instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador compute uno o más vectores de características del modelo 3D,
en donde los uno o más documentos de medios coincidentes comprenden una o más imágenes 2D coincidentes de la colección de imágenes 2D, y
en donde cada uno de los vectores de características correspondientes de las imágenes 2D coincidentes es similar a al menos uno de los uno o más vectores de características del modelo 3D.
11. El sistema de la reivindicación 9, que comprende además un aparato de exploración tridimensional que comprende:
dos o más cámaras de infrarrojos (IR); y
uno o más iluminadores colimados por IR,
en donde la memoria almacena adicionalmente instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador capture el modelo 3D usando el aparato de exploración tridimensional.
12. El sistema de la reivindicación 9, en donde los metadatos generados y los metadatos asociados con cada uno de los documentos de medios comprenden cada uno una pluralidad de campos, y
en donde las instrucciones para generar los metadatos comprenden instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador:
identifique, para cada campo de la pluralidad de campos, datos que aparecen en más de un número umbral de los metadatos de los uno o más documentos de medios coincidentes, y
añada los datos identificados a los metadatos generados.
13. El sistema de la reivindicación 9, en donde los metadatos generados comprenden una clase del documento de medios, y
en donde la memoria almacena adicionalmente instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador:
suministre el vector de características del documento de medios a un clasificador para computar clasificaciones del documento de medios; y
compute la clase basándose en las clasificaciones.
14. El sistema de la reivindicación 9, en donde cada uno de los uno o más vectores de características correspondientes de los uno o más documentos de medios coincidentes tiene una distancia correspondiente en un espacio multidimensional con respecto al vector de características del documento de medios, y
en donde cada distancia correspondiente es menor que una distancia umbral.
15. El sistema de la reivindicación 9, en donde la memoria almacena adicionalmente instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador reciba metadatos asociados con el documento de medios, en donde las instrucciones para buscar en la colección de documentos de medios comprenden instrucciones que, cuando son ejecutadas por el procesador, hacen que el procesador identifique uno o más documentos de medios de la colección de documentos de medios que tienen metadatos que coinciden con al menos uno de una pluralidad de campos de los metadatos asociados con el documento de medios, y
en donde los documentos de medios coincidentes comprenden al menos uno de los uno o más documentos de medios identificados.
ES17840385T 2016-08-12 2017-08-11 Sistemas y métodos para generar automáticamente metadatos para documentos de medios Active ES2941259T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662374598P 2016-08-12 2016-08-12
PCT/US2017/046642 WO2018031959A1 (en) 2016-08-12 2017-08-11 Systems and methods for automatically generating metadata for media documents

Publications (1)

Publication Number Publication Date
ES2941259T3 true ES2941259T3 (es) 2023-05-19

Family

ID=61160193

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17840385T Active ES2941259T3 (es) 2016-08-12 2017-08-11 Sistemas y métodos para generar automáticamente metadatos para documentos de medios

Country Status (7)

Country Link
US (2) US10296603B2 (es)
EP (2) EP4195069A1 (es)
JP (1) JP6810247B2 (es)
CN (2) CN109791554B (es)
ES (1) ES2941259T3 (es)
PL (1) PL3497550T3 (es)
WO (1) WO2018031959A1 (es)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10147211B2 (en) 2015-07-15 2018-12-04 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US10222932B2 (en) 2015-07-15 2019-03-05 Fyusion, Inc. Virtual reality environment based manipulation of multilayered multi-view interactive digital media representations
US10242474B2 (en) 2015-07-15 2019-03-26 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US11095869B2 (en) * 2015-09-22 2021-08-17 Fyusion, Inc. System and method for generating combined embedded multi-view interactive digital media representations
US11006095B2 (en) 2015-07-15 2021-05-11 Fyusion, Inc. Drone based capture of a multi-view interactive digital media
US11783864B2 (en) 2015-09-22 2023-10-10 Fyusion, Inc. Integration of audio into a multi-view interactive digital media representation
US10496897B2 (en) * 2015-11-25 2019-12-03 Institute Of Automation Chinese Academy Of Sciences Method and apparatus for recognizing RGB-D objects based on adaptive similarity measure of dense matching item
CN107025642B (zh) * 2016-01-27 2018-06-22 百度在线网络技术(北京)有限公司 基于点云数据的车辆轮廓检测方法和装置
US11202017B2 (en) 2016-10-06 2021-12-14 Fyusion, Inc. Live style transfer on a mobile device
US10437879B2 (en) 2017-01-18 2019-10-08 Fyusion, Inc. Visual search using multi-view interactive digital media representations
US10313651B2 (en) * 2017-05-22 2019-06-04 Fyusion, Inc. Snapshots at predefined intervals or angles
US11069147B2 (en) 2017-06-26 2021-07-20 Fyusion, Inc. Modification of multi-view interactive digital media representation
CN107609152B (zh) * 2017-09-22 2021-03-09 百度在线网络技术(北京)有限公司 用于扩展查询式的方法和装置
CA3115898C (en) * 2017-10-11 2023-09-26 Aquifi, Inc. Systems and methods for object identification
US10713563B2 (en) * 2017-11-27 2020-07-14 Technische Universiteit Eindhoven Object recognition using a convolutional neural network trained by principal component analysis and repeated spectral clustering
US10963706B2 (en) * 2018-01-13 2021-03-30 Toyota Jidosha Kabushiki Kaisha Distributable representation learning for associating observations from multiple vehicles
US10586118B2 (en) 2018-01-13 2020-03-10 Toyota Jidosha Kabushiki Kaisha Localizing traffic situation using multi-vehicle collaboration
US10916135B2 (en) 2018-01-13 2021-02-09 Toyota Jidosha Kabushiki Kaisha Similarity learning and association between observations of multiple connected vehicles
US20190251744A1 (en) * 2018-02-12 2019-08-15 Express Search, Inc. System and method for searching 3d models using 2d images
US11062469B2 (en) 2018-03-09 2021-07-13 Microsoft Technology Licensing, Llc 4D tracking utilizing depth data from multiple 3D cameras
US11429658B1 (en) * 2018-04-11 2022-08-30 Soroco Private Limited Systems and methods for content-aware image storage
US11367222B2 (en) 2018-04-20 2022-06-21 Hewlett-Packard Development Company, L.P. Three-dimensional shape classification and retrieval using convolutional neural networks and majority vote
US10592747B2 (en) 2018-04-26 2020-03-17 Fyusion, Inc. Method and apparatus for 3-D auto tagging
WO2019232645A1 (en) * 2018-06-07 2019-12-12 Element Ai Inc. Unsupervised classification of documents using a labeled data set of other documents
US10817270B2 (en) * 2018-08-02 2020-10-27 Oracle International Corporation AI-generated instant micro apps
US20210213973A1 (en) * 2018-08-29 2021-07-15 Movidius Ltd. Computer vision system
US11507052B2 (en) * 2018-09-24 2022-11-22 The Boeing Company System and method of voxel based parametric specification for manufacturing a part
US10810725B1 (en) * 2018-12-07 2020-10-20 Facebook, Inc. Automated detection of tampered images
WO2020132322A1 (en) * 2018-12-19 2020-06-25 Aquifi, Inc. Systems and methods for joint learning of complex visual inspection tasks using computer vision
US11995854B2 (en) * 2018-12-19 2024-05-28 Nvidia Corporation Mesh reconstruction using data-driven priors
EP3980916A4 (en) * 2019-06-06 2023-06-21 Bluebeam, Inc. METHODS AND SYSTEMS FOR AUTOMATIC DESIGN ELEMENT DETECTION IN A TWO-DIMENSIONAL DESIGN DOCUMENT
EP3983941A4 (en) 2019-06-14 2023-05-17 Magic Leap, Inc. SCALABLE THREE-DIMENSIONAL OBJECT RECOGNITION IN A CROSS-REALITY SYSTEM
US11537816B2 (en) * 2019-07-16 2022-12-27 Ancestry.Com Operations Inc. Extraction of genealogy data from obituaries
JP7410613B2 (ja) * 2019-08-27 2024-01-10 キヤノン株式会社 情報処理装置およびその制御方法およびプログラム
CN111191052B (zh) * 2019-12-24 2023-12-22 广州索答信息科技有限公司 一种数据采集方法、设备及介质
CN111243085B (zh) * 2020-01-20 2021-06-22 北京字节跳动网络技术有限公司 图像重建网络模型的训练方法、装置和电子设备
US11430042B2 (en) * 2020-04-30 2022-08-30 Capital One Services, Llc Methods and systems for providing a vehicle recommendation
US11240707B2 (en) 2020-05-28 2022-02-01 Toyota Motor Engineering & Manufacturing North America, Inc. Adaptive vehicle identifier generation
EP4200739A1 (en) * 2020-08-20 2023-06-28 Siemens Industry Software Inc. Method and system for providing a three-dimensional computer aided-design (cad) model in a cad environment
US11232298B1 (en) * 2021-08-18 2022-01-25 IAA, Inc. Automated data extraction and document generation
JP2023062237A (ja) * 2021-10-21 2023-05-08 アセントロボティクス株式会社 対象デジタルツインモデル生成システム、ロボットの制御システム、仮想店舗生成システム、対象デジタルツインモデル生成方法、ロボットの制御方法、および仮想店舗生成方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06223198A (ja) * 1993-01-26 1994-08-12 Hitachi Ltd 光線追跡による画像生成装置及び方法
US6044375A (en) * 1998-04-30 2000-03-28 Hewlett-Packard Company Automatic extraction of metadata using a neural network
US6525699B1 (en) 1998-05-21 2003-02-25 Nippon Telegraph And Telephone Corporation Three-dimensional representation method and an apparatus thereof
EP1586020A2 (en) * 2003-01-25 2005-10-19 Purdue Research Foundation Methods, systems, and data structures for performing searches on three dimensional objects
US9900478B2 (en) * 2003-09-04 2018-02-20 Flir Systems, Inc. Device attachment with infrared imaging sensor
US8166059B2 (en) * 2005-07-08 2012-04-24 Oracle International Corporation Optimization of queries on a repository based on constraints on how the data is stored in the repository
EP2174301A4 (en) * 2007-06-29 2011-11-16 Three Pixels Wide Pty Ltd METHOD AND SYSTEM FOR GENERATING A 3D MODEL FROM PICTURES
US9189886B2 (en) * 2008-08-15 2015-11-17 Brown University Method and apparatus for estimating body shape
US8340453B1 (en) 2008-08-29 2012-12-25 Adobe Systems Incorporated Metadata-driven method and apparatus for constraining solution space in image processing techniques
JP2010067014A (ja) * 2008-09-11 2010-03-25 Ricoh Co Ltd 画像分類装置及び画像分類方法
US8411953B2 (en) * 2008-09-30 2013-04-02 International Business Machines Corporation Tagging images by determining a set of similar pre-tagged images and extracting prominent tags from that set
US8686992B1 (en) * 2009-03-30 2014-04-01 Google Inc. Methods and systems for 3D shape matching and retrieval
US20110222757A1 (en) * 2010-03-10 2011-09-15 Gbo 3D Technology Pte. Ltd. Systems and methods for 2D image and spatial data capture for 3D stereo imaging
CN101827203B (zh) * 2010-03-29 2012-05-30 天津大学 一种视频标注方法
US8485668B2 (en) * 2010-05-28 2013-07-16 Microsoft Corporation 3D interaction for mobile device
US8457355B2 (en) 2011-05-05 2013-06-04 International Business Machines Corporation Incorporating video meta-data in 3D models
WO2013036181A1 (en) * 2011-09-08 2013-03-14 Telefonaktiebolaget L M Ericsson (Publ) Assigning tags to media files
CN103164463B (zh) * 2011-12-16 2017-03-22 国际商业机器公司 推荐标签的方法和装置
US9008433B2 (en) 2012-02-08 2015-04-14 International Business Machines Corporation Object tag metadata and image search
WO2014103061A1 (ja) * 2012-12-28 2014-07-03 株式会社日立製作所 ボリュームデータ解析システム及びその方法
GB2514320B (en) * 2013-03-15 2020-01-29 3D Industries Ltd A method and system for 3D model database retrieval
US9117104B2 (en) * 2013-07-10 2015-08-25 Cherif Algreatly Object recognition for 3D models and 2D drawings
US9905043B2 (en) * 2013-09-10 2018-02-27 Microsoft Technology Licensing, Llc Techniques to generate digital maps
GB2514432B (en) 2013-10-02 2015-05-27 Cybertooling Ltd Floor height adjustment
US20150142782A1 (en) * 2013-11-15 2015-05-21 Trendalytics, Inc. Method for associating metadata with images
US20170116498A1 (en) * 2013-12-04 2017-04-27 J Tech Solutions, Inc. Computer device and method executed by the computer device
EP3080782A4 (fr) * 2013-12-15 2017-10-18 Socovar Societe En Commandite Méthode et système de comparaison de modèles 3d
EP2886043A1 (de) * 2013-12-23 2015-06-24 a.tron3d GmbH Verfahren zum Fortsetzen von Aufnahmen zum Erfassen von dreidimensionalen Geometrien von Objekten
US9311737B1 (en) * 2014-01-17 2016-04-12 Pixar Temporal voxel data structure
US9392262B2 (en) 2014-03-07 2016-07-12 Aquifi, Inc. System and method for 3D reconstruction using multiple multi-channel cameras
JP6355372B2 (ja) * 2014-03-17 2018-07-11 国立大学法人豊橋技術科学大学 三次元モデル特徴抽出方法、及び三次元モデル・アノテーションシステム
WO2016006728A1 (ko) * 2014-07-08 2016-01-14 삼성전자 주식회사 화상을 이용해 3차원 정보를 처리하는 전자 장치 및 방법
US9747493B2 (en) * 2014-09-23 2017-08-29 Keylemon Sa Face pose rectification method and apparatus
CN104391960B (zh) * 2014-11-28 2019-01-25 北京奇艺世纪科技有限公司 一种视频标注方法及系统
GB2532948B (en) 2014-12-02 2021-04-14 Vivo Mobile Communication Co Ltd Object Recognition in a 3D scene
US9858484B2 (en) * 2014-12-30 2018-01-02 Facebook, Inc. Systems and methods for determining video feature descriptors based on convolutional neural networks
ITUB20153277A1 (it) * 2015-08-28 2017-02-28 St Microelectronics Srl Procedimento per ricerche visuali, sistema, apparecchiatura e prodotto informatico corrispondenti
US9773302B2 (en) * 2015-10-08 2017-09-26 Hewlett-Packard Development Company, L.P. Three-dimensional object model tagging
CN105243139B (zh) * 2015-10-10 2018-10-23 天津大学 一种基于深度学习的三维模型检索方法及其检索装置
US10482681B2 (en) * 2016-02-09 2019-11-19 Intel Corporation Recognition-based object segmentation of a 3-dimensional image
CN107066559B (zh) * 2017-03-30 2019-12-27 天津大学 一种基于深度学习的三维模型检索方法

Also Published As

Publication number Publication date
CN109791554A (zh) 2019-05-21
EP4195069A1 (en) 2023-06-14
US10528616B2 (en) 2020-01-07
EP3497550A1 (en) 2019-06-19
JP2019530062A (ja) 2019-10-17
US20180046649A1 (en) 2018-02-15
EP3497550B1 (en) 2023-03-15
US10296603B2 (en) 2019-05-21
EP3497550A4 (en) 2020-03-11
PL3497550T3 (pl) 2023-07-24
US20190236096A1 (en) 2019-08-01
WO2018031959A1 (en) 2018-02-15
CN116484029A (zh) 2023-07-25
JP6810247B2 (ja) 2021-01-06
CN109791554B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
ES2941259T3 (es) Sistemas y métodos para generar automáticamente metadatos para documentos de medios
US10691979B2 (en) Systems and methods for shape-based object retrieval
JP7458405B2 (ja) 部分的視覚情報に基づく対象物寸法付けのためのシステムと方法
Liu et al. 3D imaging, analysis and applications
US9912862B2 (en) System and method for assisted 3D scanning
US20180322623A1 (en) Systems and methods for inspection and defect detection using 3-d scanning
WO2019067641A1 (en) SYSTEMS AND METHODS FOR VISUAL INSPECTION BASED ON INCREASED REALITY
Civera et al. Towards semantic SLAM using a monocular camera
US9305206B2 (en) Method for enhancing depth maps
US9424461B1 (en) Object recognition for three-dimensional bodies
US20230081742A1 (en) Gesture recognition
US11037359B1 (en) Real-time rendering stylized passthrough images
Liu et al. Synthesis and identification of three-dimensional faces from image (s) and three-dimensional generic models
Liu et al. Multi-feature combination method for point cloud intensity feature image and UAV optical image matching
Treible CATKit: a color and thermal computer vision toolkit and benchmark for cross-modal similarity and semantic segmentation
Sharma et al. Simplicial Complex Based Point Correspondence Between Images Warped onto Manifolds
Nilosek Analysis and exploitation of automatically generated scene structure from aerial imagery
Zheng et al. A new method of 3D scene recognition from still images