ES2996733T3 - Systems and methods for shape-based object retrieval - Google Patents
Systems and methods for shape-based object retrieval Download PDFInfo
- Publication number
- ES2996733T3 ES2996733T3 ES18736333T ES18736333T ES2996733T3 ES 2996733 T3 ES2996733 T3 ES 2996733T3 ES 18736333 T ES18736333 T ES 18736333T ES 18736333 T ES18736333 T ES 18736333T ES 2996733 T3 ES2996733 T3 ES 2996733T3
- Authority
- ES
- Spain
- Prior art keywords
- query object
- descriptor
- processor
- cameras
- color
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
Un método para clasificar objetos físicos incluye: controlar, por un procesador, una o más cámaras de profundidad para capturar imágenes de profundidad de un objeto de consulta; controlar, por el procesador, una o más cámaras de color para capturar imágenes de color del objeto de consulta; calcular, por el procesador, un modelo tridimensional (3D) del objeto de consulta utilizando las imágenes de profundidad; combinar, por el procesador, las imágenes de color con el modelo 3D; calcular, por el procesador, un descriptor a partir del modelo 3D y las imágenes de color, incluyendo el descriptor: una representación espacial de descriptor de forma multidimensional de una forma 3D del objeto de consulta; una representación espacial de descriptor de color multidimensional de una textura del objeto de consulta; y una representación espacial de descriptor de tamaño unidimensional de un tamaño del objeto de consulta; suministrar, por el procesador, el descriptor a un clasificador para calcular una clasificación del objeto de consulta; y generar la clasificación del objeto de consulta. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Sistemas y métodos para la recuperación de objetos basados en la forma
Referencia cruzada a solicitud(es) relacionada(s)
Campo
Los aspectos de las realizaciones de la presente invención se relacionan con el campo de la visión por ordenador, en particular, la recuperación o reconocimiento de objetos en base a su forma. En algunas realizaciones, los objetos se escanean utilizando una o más cámaras de rango (o profundidad) y una o más cámaras de color (por ejemplo, rojo verde azul o RGB).
Antecedentes
En muchos contextos, es útil reconocer o clasificar automáticamente objetos físicos como instancias de clases o tipos particulares de objetos. Estos sistemas automatizados se pueden utilizar para automatizar actividades de clasificación que de otro modo requerirían que un ser humano examinara manualmente los objetos que se están clasificando y los manipulara para realizar el proceso de clasificación (por ejemplo, dirigir el objeto a una ubicación particular tocándolo o controlando una máquina para que lo haga).
Un ejemplo de aplicación es una fábrica que tiene un sistema transportador, como cintas transportadoras, para mover objetos a través de las distintas etapas del proceso de fabricación, incluidos los procesos de montaje, distribución y entrega. En cualquiera de las etapas de la planta, pueden llegar muchos tipos diferentes de objetos, posiblemente de diferentes líneas de producción y, por lo tanto, pueden ser modelos diferentes de productos similares, productos completamente diferentes, porciones o módulos incompletos de objetos, y similares. Los objetos pueden tener diferentes características como tamaño y color. En muchos casos, los objetos pueden estar desordenados, donde un objeto de un tipo (o clase) puede ir seguido por un objeto de un tipo diferente (o clase diferente). A medida que llegan los objetos, puede ser necesario identificar y caracterizar correctamente cada objeto para su posterior manipulación. Por ejemplo, es posible que sea necesario colocar los objetos dentro de una caja de tamaño adecuado, emparejados con otros objetos similares (por ejemplo, el zapato izquierdo y el derecho de un par). A modo de otro ejemplo, es posible que sea necesario analizar cada objeto que llega a la cinta para evaluar su calidad, con el objetivo de identificar objetos que no satisfacen requisitos específicos.
A modo de otro ejemplo, en el contexto del comercio electrónico, un pedido de un cliente individual puede incluir muchos artículos distintos que se empaquetarán en una sola caja. Estos artículos pueden llegar a un centro de embalaje en orden aleatorio y pueden estar mezclados con artículos de pedidos de otros clientes. En dichos entornos, puede ser necesario colocar selectivamente determinados artículos en diferentes cajas para cada pedido de acuerdo con la lista particular de artículos (por ejemplo, una lista de embalaje).
El documento de OMAR ARIF ET AL, "Tracking and Classifying Objects on a Conveyor Belt Using Time-of-Flight Camera", PROCEEDINGS OF THE 20TH INTERNATIONAL SYMPOSIUM ON AUTOMATION AND ROBOTICS IN CONSTRUCTION ISARC 2003 - THE FUTURE SITE se refiere a la capacidad de obtener información 3D. En particular, los sensores TOF (tiempo de vuelo), que proporcionan información de profundidad en cada píxel además de la intensidad, son cada vez más accesibles y asequibles. Este documento describe la aplicabilidad de los sensores TOF a varios problemas del mundo real que pueden ser relevantes en aplicaciones de ensamblaje o clasificación automatizadas. El entorno es un recinto cerrado y los experimentos investigan la capacidad de los sensores TOF para proporcionar detección a un robot cuya tarea es manipular productos que se mueven en una cinta transportadora. La información de rango se utiliza para calcular las dimensiones y reconocer objetos que se mueven en una cinta transportadora. A continuación, la información geométrica y de reconocimiento se transmite al robot para que realice otras acciones. Los resultados indican que existen oportunidades inmediatas para el uso de sensores TOF en la automatización de dichas aplicaciones.
El documento US2015302505 se refiere a una máquina que puede configurarse para determinar las preferencias de moda de los usuarios y proporcionar recomendaciones de artículos a los usuarios en función de sus preferencias de moda. Por ejemplo, la máquina recibe una imagen de un usuario y un conjunto de datos espaciales que indican la posición del cuerpo del usuario en un espacio tridimensional. La máquina puede realizar un análisis de la imagen y del conjunto de datos espaciales. La realización del análisis puede incluir la extracción, a partir de la imagen, de una muestra de imagen que representa una parte de un artículo usado por el usuario. La máquina puede identificar una preferencia de moda del usuario basándose en el análisis de la imagen y del conjunto de datos espaciales. La máquina puede identificar un artículo que corresponda a la preferencia de moda del usuario dentro de un inventario de artículos de moda y puede generar una recomendación del artículo de moda identificado.
La presente invención se define únicamente en las reivindicaciones independientes adjuntas 1 y 7.
Las realizaciones, aspectos y ejemplos mencionados en la siguiente descripción que no necesariamente caen dentro del alcance de las reivindicaciones adjuntas deben interpretarse como ejemplos comparativos útiles para comprender la presente invención.
Breve descripción de los dibujos
Estas y otras características y ventajas de las realizaciones de la presente divulgación se harán más evidentes por referencia a la siguiente descripción detallada cuando se considera junto con los siguientes dibujos. En los dibujos, se utilizan números de referencia similares en todas las figuras para hacer referencia a características y componentes similares. Las figuras no están necesariamente dibujadas a escala.
La FIG. 1 es una ilustración esquemática del proceso de clasificación de un objeto diana, en este caso una bota, como ejemplo de un estilo particular de bota en un inventario de zapatos según una realización de la presente invención.
La FIG. 2A es un diagrama de bloques esquemático que ilustra un proceso para capturar imágenes de un objeto y generar una clasificación del objeto según una realización de la presente invención.
La FIG. 2B es un diagrama de bloques de un sistema de cámara de profundidad estereoscópica según una realización de la presente invención.
La FIG. 3A es un diagrama de flujo de un método para generar una clasificación de un objeto según una realización de la presente invención.
La FIG. 3B es un diagrama de flujo de un método para calcular un descriptor de un objeto de consulta según una realización de la presente invención.
La FIG. 4 es un diagrama de bloques de un sistema de clasificación basado en una red neuronal convolucional según una realización de la presente invención.
La FIG. 5 es un diagrama de bloques de un sistema de clasificación basado en una red neuronal convolucional configurado para tener en cuenta múltiples vistas según una realización de la presente invención.
La FIG. 6 ilustra un ejemplo de una jerarquía que incluye dos niveles de clasificación según una realización de la presente invención.
Descripción detallada
En la siguiente descripción detallada, solo se muestran y describen ciertas realizaciones ejemplares de la presente invención, a modo de ilustración. Como reconocerán los expertos en la materia, la invención puede implementarse en muchas formas diferentes y no debe interpretarse como limitada a las realizaciones establecidas en el presente documento. Los mismos números de referencia designan elementos similares a lo largo de la memoria descriptiva.
Aspectos de realizaciones de la presente invención se relacionan con la clasificación de objetos mediante la realización de escaneos tridimensionales (3D) de los objetos utilizando una o más cámaras de rango (o profundidad) tridimensionales (3D) y cámaras de color regulares.
La FIG. 1 es una ilustración esquemática del proceso de clasificación de un objeto diana 10, en este caso una bota, como ejemplo de un estilo particular de bota 22 en un inventario de zapatos 20 según una realización de la presente invención.
La FIG. 2A es un diagrama de bloques esquemático que ilustra un proceso para capturar imágenes de un objeto y generar una clasificación del objeto según una realización de la presente invención. La FIG. 3A es un diagrama de flujo de un método para generar una clasificación de un objeto según una realización de la presente invención.
Varias partes computacionales de realizaciones de la presente invención pueden implementarse a través de instrucciones informáticas específicas para cada propósito ejecutadas por un sistema informático. El sistema informático puede incluir uno o más procesadores, incluyendo una o más unidades centrales de procesamiento, una o más unidades de procesamiento gráfico (GPU), una o más matrices de puertas programables en campo (FPGA), y/o uno o más circuitos integrados de aplicación específica (ASIC). Los cálculos pueden distribuirse entre varios sistemas informáticos separados, algunos de los cuales pueden ser locales para el escaneo de los objetos de consulta (por ejemplo, in situ y conectados directamente a las cámaras de profundidad y color, o conectados a las cámaras de profundidad y color a través de una red de área local), y algunos de los cuales pueden ser remotos (por ejemplo, recursos informáticos externos basados en la "nube" y conectados a las cámaras de profundidad y de color a través de una red de área amplia como Internet). Por conveniencia, el sistema informático configurado utilizando instrucciones informáticas particulares para realizar operaciones específicas para clasificar objetos de consulta se denominará sistema de clasificación 200.
Con referencia a las FIGS. 2A y 3A, de acuerdo con la invención, en la operación 310, el procesador controla las cámaras de profundidad (o "rango") 100 y las cámaras de color (por ejemplo, rojo, verde, azul o RGB) 150 para capturar imágenes de profundidad y color del objeto de consulta 10. Los datos capturados por las cámaras de rango 100 y las cámaras de color 150 (cámaras RGB) que captan esa imagen se utilizan para construir una representación del objeto 10 que se resume en un vector de características o "descriptor"F.Cada una de las cámaras de profundidad 100 genera una nube de puntos tridimensional (3D) 14 (por ejemplo, una colección de coordenadas tridimensionales que representan puntos en la superficie del objeto 10 que son visibles desde la perspectiva de la correspondiente cámara de profundidad 100) y el descriptorFes extraído del modelo 3D generado.
Cámaras de profundidad
En algunas realizaciones de la presente invención, las cámaras de rango 100, también conocidas como "cámaras de profundidad", incluyen al menos dos cámaras bidimensionales convencionales que tienen campos de visión superpuestos. En más detalle, estas cámaras bidimensionales (2D) pueden incluir cada una un sensor de imagen digital, como un sensor de imagen de semiconductor de óxido metálico complementario (Complementary Metal Oxide Semiconductor, CMOS) o un sensor de imagen de dispositivo acoplado por carga (Charged Coupled Device, CCD) y un sistema óptico (por ejemplo, una o más lentes) configuradas para enfocar la luz en el sensor de imagen. Los ejes ópticos de los sistemas ópticos de las cámaras 2D pueden ser sustancialmente paralelos de modo que las dos cámaras muestren sustancialmente la misma escena, aunque desde perspectivas ligeramente diferentes. En consecuencia, debido al paralaje, las partes de una escena que están más alejadas de las cámaras aparecerán prácticamente en el mismo lugar en las imágenes capturadas por las dos cámaras, mientras que las partes de una escena que están más cerca de las cámaras aparecerán en diferentes posiciones.
Utilizando una cámara de profundidad calibrada geométricamente, es posible identificar las ubicaciones 3D de todos los puntos visibles en la superficie del objeto con respecto a un sistema de coordenadas de referencia (por ejemplo, un sistema de coordenadas que tiene su origen en la cámara de profundidad). Por lo tanto, una imagen de rango o una imagen de profundidad capturada por una cámara de rango 100 se puede representar como una "nube" de puntos 3D, que se puede utilizar para describir la porción de la superficie del objeto (así como otras superficies dentro del campo de visión de la cámara de profundidad).
La FIG. 2B es un diagrama de bloques de un sistema de cámara de profundidad estereoscópica según una realización de la presente invención.
El sistema de cámara de profundidad 100 que se muestra en la FIG. 2B 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 activo), y un procesador anfitrión 108 y una memoria 110, en donde el procesador anfitrión puede ser, por ejemplo, una unidad de procesamiento gráfico (GPU), un procesador de propósito más general (CPU), una matriz de puertas programables en campo (FPGA) configurada adecuadamente, o un circuito integrado de aplicación específica (ASIC). La primera cámara 102 y la segunda cámara 104 pueden estar unidas rígidamente, por ejemplo, en un marco, de tal manera que sus posiciones y orientaciones relativas sean sustancialmente fijas. La primera cámara 102 y la segunda cámara 104 pueden denominarse juntas como "cámara de profundidad". La primera cámara 102 y la segunda cámara 104 incluyen sensores de imagen correspondientes 102a y 104a, y también pueden incluir procesadores de señales de imagen (Image Signal Processors,<i>S<p>) correspondientes 102b y 104b. Los diversos componentes pueden comunicarse entre sí a través de un bus de sistema 112. El sistema de cámara de profundidad 100 puede incluir componentes adicionales como un adaptador de red 116 para comunicarse con otros dispositivos, una unidad de medición inercial (Inertial Measurement Unit, IMU) 118 tal como un giroscopio para detectar la aceleración de la cámara de profundidad 100 (por ejemplo, detectar la dirección de la gravedad para determinar la orientación) y una memoria persistente 120 tal como una memoria flash NAND para almacenar datos recopilados y procesados por el sistema de cámara de profundidad 100. La IMU 118 puede ser del tipo que se encuentra comúnmente en muchos teléfonos inteligentes modernos. El sistema de captura de imágenes también puede incluir otros componentes de comunicación, como un controlador de interfaz de bus serie universal (USB).
Aunque el diagrama de bloques mostrado en la FIG. 2B representa una cámara de profundidad 100 que incluye dos cámaras 102 y 104 acopladas a un procesador anfitrión 108, una memoria 110, un adaptador de red 116, una IMU 118 y una memoria persistente 120, las realizaciones de la presente invención no se limitan a estos. Por ejemplo, las tres cámaras de profundidad 100 mostradas en la FIG. 2A pueden incluir cada una simplemente las cámaras 102 y 104, una fuente de proyección 106 y un componente de comunicación (por ejemplo, una conexión USB o un adaptador de red 116), y el procesamiento de las imágenes bidimensionales capturadas por las cámaras 102 y 104 de las tres cámaras de profundidad 100 puede ser realizado por un procesador compartido o una colección compartida de procesadores en comunicación con las cámaras de profundidad 100 utilizando sus respectivos componentes de comunicación o adaptadores de red 116.
En algunas realizaciones, los sensores de imagen 102a y 104a de las cámaras 102 y 104 son sensores de imagen RGB-IR. Los sensores de imagen que son capaces de detectar información de luz visible (por ejemplo, rojo-verde-azul o RGB) y luz invisible (por ejemplo, infrarroja o IR) pueden ser, por ejemplo, sensores de dispositivo acoplado por carga (CCD) o de semiconductores de óxido metálico complementario (CMOS). En general, un sensor de cámara RGB convencional incluye píxeles dispuestos en un "diseño de Bayer" o "diseño RGBG", que es 50%verde, 25%rojo y 25 % azul. Los filtros de paso de banda (o "microfiltros") se colocan delante de fotodiodos individuales (por ejemplo, entre el fotodiodo y la óptica asociada a la cámara) para cada una de las longitudes de onda verde, roja y azul de acuerdo con el diseño de Bayer. En general, un sensor de cámara RGB convencional también incluye un filtro infrarrojo (IR) o un filtro de corte IR (formado, por ejemplo, como parte de la lente o como un recubrimiento en todo el chip del sensor de imagen) que bloquea aún más las señales en una porción IR del espectro electromagnético.
Un sensor RGB-IR es sustancialmente similar a un sensor RGB convencional, pero puede incluir diferentes filtros de color. Por ejemplo, en un sensor RGB-IR, uno de los filtros verdes en cada grupo de cuatro fotodiodos se reemplaza con un filtro de paso de banda IR (o microfiltro) para crear un diseño que es 25 % verde, 25 % rojo, 25 % azul y 25 % infrarrojo, donde los píxeles infrarrojos se entremezclan entre los píxeles de luz visible. Además, el filtro de corte IR se puede omitir del sensor RGB-IR, el filtro de corte IR puede estar situado únicamente sobre los píxeles que detectan luz roja, verde y azul, o el filtro IR se puede diseñar para dejar pasar la 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 bandas o porciones o bandas espectrales del espectro electromagnético (por ejemplo, luz roja, azul, verde e infrarroja) se denominará en lo sucesivo sensor de imagen "multicanal".
En algunas realizaciones de la presente invención, los sensores de imagen 102a y 104a son sensores de luz visible convencionales. En algunas realizaciones de la presente invención, el sistema incluye una o más cámaras de luz visible (por ejemplo, cámaras RGB) y, por separado, una o más cámaras de luz invisible (por ejemplo, cámaras infrarrojas, donde se encuentra un filtro de paso de banda IR que atraviesa todos los píxeles). En otras realizaciones de la presente invención, los sensores de imagen 102a y 104a son sensores de luz infrarroja (IR).
En algunas realizaciones en las que las cámaras de profundidad 100 incluyen sensores de imágenes en color (por ejemplo, sensores RGB o sensores RGB-IR), los datos de imágenes en color recopilados por las cámaras de profundidad 100 pueden complementar los datos de imágenes en color capturados por las cámaras de color 150. Además, en algunas realizaciones en las que las cámaras de profundidad 100 incluyen sensores de imágenes en color (por ejemplo, sensores RGB o sensores RGB-IR), las cámaras en color 150 pueden omitirse del sistema.
Hablando en general, un sistema de cámara de profundidad estereoscópica incluye al menos dos cámaras que están separadas entre sí y montadas rígidamente en una estructura compartida, como un marco rígido. Las cámaras están orientadas prácticamente en la misma dirección (por ejemplo, los ejes ópticos de las cámaras pueden ser sustancialmente paralelos) y tener campos de visión superpuestos. Estas cámaras individuales se pueden implementar utilizando, por ejemplo, un sensor de imagen de semiconductor de óxido metálico complementario (CMOS) o de dispositivo de carga acoplada (CCD) con un sistema óptico (por ejemplo, incluyendo una o más lentes) configuradas para dirigir o enfocar la luz hacia el sensor de imagen. El sistema óptico puede determinar el campo de visión de la cámara, por ejemplo, en función de si el sistema óptico implementa una lente "gran angular", un "teleobjetivo", o algo intermedio.
En la siguiente discusión, se puede decir que el sistema de adquisición de imágenes del sistema de cámara de profundidad tiene al menos dos cámaras, que pueden denominarse una cámara "maestra" y una o más cámaras "esclavas". Hablando en general, los mapas estimados de profundidad o disparidad se calculan desde el punto de vista de la cámara maestra, pero cualquiera de las cámaras puede utilizarse como cámara maestra. Como se usa en el presente documento, términos como maestro/esclavo, izquierda/derecha, arriba/abajo, primero/segundo y CAM1/CAM2 se utilizan indistintamente a menos que se indique lo contrario. En otras palabras, cualquiera de las cámaras puede ser maestra o esclava, y también pueden aplicarse consideraciones para una cámara en el lado izquierdo con respecto a una cámara en el lado derecho, por simetría, en la otra dirección. Además, si bien las consideraciones que se presentan a continuación pueden ser válidas para una serie de cámaras diversas, por conveniencia, en general se describirán en el contexto de un sistema que incluye dos cámaras. Por ejemplo, un sistema de cámara 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 de luz visible (por ejemplo, una cámara de color rojo/azul/verde). Las tres cámaras pueden estar registradas ópticamente (por ejemplo, calibradas) entre sí. Un ejemplo de un sistema de cámara de profundidad que incluye tres cámaras se describe en la solicitud de patente de EE. UU. con número de serie 15/147.879 "Sistema de cámara trinocular con percepción de profundidad" presentada en la Oficina de Patentes y Marcas de los Estados Unidos el 5 de mayo de 2016.
Para detectar la profundidad de una característica en una escena captada por las cámaras, el sistema de cámara de profundidad determina la ubicación del píxel 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 es inversamente proporcional a la distancia o profundidad del objeto. (Este es el efecto que se produce al comparar cuánto se "desplaza" un objeto al verlo con un ojo a la vez; el tamaño del desplazamiento depende de la distancia a la que se encuentre el objeto de los ojos del observador, donde los objetos más cercanos sufren un desplazamiento mayor y los objetos más lejanos sufren un desplazamiento menor y los objetos en la distancia pueden tener un desplazamiento poco o nada detectable). Se describen técnicas para calcular la profundidad utilizando disparidad, por ejemplo, en 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 las características físicas del sistema de cámara de profundidad, tal 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ámara de profundidad (o sistema de cámara de profundidad con percepción de profundidad) se calibra en función de estas características físicas.
En algunos sistemas de cámaras de profundidad, las cámaras pueden estar dispuestas de tal manera que las filas horizontales de los píxeles de los sensores de imagen de las cámaras sean sustancialmente paralelas. Se pueden utilizar técnicas de rectificación de imágenes para corregir distorsiones en las imágenes debidas a las formas de las lentes de las cámaras y a las variaciones en las orientaciones de las cámaras.
En más detalle, la información de calibración de la cámara puede proporcionar información para rectificar las imágenes de entrada de modo que las líneas epipolares del sistema de cámara equivalente estén alineadas con las líneas de barrido de la imagen rectificada. En tal caso, un punto 3D de la escena se proyecta sobre el mismo índice de línea de barrido en la imagen maestra y en la esclava. SeanUmyUslas coordenadas en la línea de barrido de la imagen del mismo puntop3D en las cámaras equivalentes maestra y esclava, respectivamente, 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 barrido de la imagen rectificada. La diferenciaUs - Umse 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 cualquiera de las cámaras).
Los algoritmos estereoscópicos explotan esta propiedad de la disparidad. Estos algoritmos logran una reconstrucción 3D haciendo coincidir los puntos (o características) detectados en las vistas izquierda y derecha, lo que equivale a estimar disparidades. La coincidencia de bloques (Block Matching, BM) es un algoritmo estereoscópico utilizado habitualmente. Dado un píxel en la imagen de la cámara maestra, el algoritmo calcula los costes para hacer coincidir este píxel con cualquier otro píxel en la imagen de la cámara esclava. Esta función de coste se define como la disimilitud entre el contenido de la imagen dentro de una pequeña ventana que rodea el píxel en la imagen maestra y el píxel en la imagen esclava. La disparidad óptima en el punto se estima finalmente como el argumento del coste mínimo de coincidencia. Este procedimiento se conoce comúnmente como "el ganador se lo lleva todo" (Winner-Takes-All, WTA). Estas técnicas se describen con más detalle, por ejemplo, en R. Szeliski. "Computer Vision: Algorithms and Applications", Springer, 2010. Dado que los algoritmos estereoscópicos como BM se basan en la similitud de apariencia, el cálculo de disparidad se vuelve complicado si más de un píxel en la imagen esclava tiene la misma apariencia local, ya que todos estos píxeles pueden ser similares al mismo píxel en la imagen maestra, lo que da lugar a una estimación ambigua de la disparidad. Una situación típica en la que esto puede ocurrir es cuando se visualiza una escena con brillo constante, como una pared plana.
Existen métodos que proporcionan iluminación adicional al proyectar un patrón que está diseñado para mejorar u optimizar el rendimiento del algoritmo de coincidencia de bloques que puede capturar pequeños detalles en 3D como el descrito en la patente de EE. UU. N.° 9.392.262 "Sistema y método para reconstrucción 3D utilizando múltiples cámaras multicanal", expedida el 12 de julio de 2016. Otro enfoque proyecta un patrón que se utiliza puramente para proporcionar una textura a la escena y, en particular, mejora la estimación de profundidad de las regiones sin textura al discernir partes de la escena que de otro modo parecerían iguales.
La fuente de proyección 106 según realizaciones de la presente invención puede estar configurada 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 captada 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 puede estar configurada para emitir luz en la dirección de los campos de visión de las cámaras 102 y 104. En algunas realizaciones, la fuente de proyección 106 puede incluir múltiples iluminadores separados, cada uno con un eje óptico separado del eje (o ejes) óptico del otro iluminador (o 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 (como en un sistema de videoconferencia) porque la luz invisible no interferiría con la capacidad del sujeto para ver, mientras que una fuente de proyección de luz visible puede incidir de forma incómoda en los ojos del sujeto o afectar indeseablemente a la experiencia al añadir patrones a la escena. Se describen ejemplos de sistemas que incluyen fuentes de proyección de luz invisibles, por ejemplo, en la solicitud de patente de EE. UU. N.° 14/788.078 "Sistemas y métodos para imágenes multicanal basadas en configuraciones de exposición múltiple", presentada en la Oficina de Patentes y Marcas de los Estados Unidos el 30 de junio de 2015.
Las fuentes de proyección activa también pueden clasificarse como patrones estáticos de proyección, por ejemplo, patrones que no cambian con el tiempo y patrones dinámicos, por ejemplo, patrones que cambian con el tiempo. En ambos casos, un aspecto del patrón es el nivel de iluminación del patrón proyectado. Esto puede ser relevante porque puede influir en el rango dinámico de profundidad del sistema de cámara de profundidad. Por ejemplo, si la iluminación óptica es de alto nivel, entonces se pueden realizar mediciones de profundidad de objetos distantes (por ejemplo, para superar la disminución de la iluminación óptica a medida que aumenta la distancia al objeto, por un factor proporcional al inverso al cuadrado de la distancia) y en condiciones de luz ambiental brillante. Sin embargo, un alto nivel de iluminación óptica puede provocar la saturación de partes de la escena que están cerca. Por otra parte, un bajo nivel de iluminación óptica puede permitir la medición de objetos cercanos, pero no de objetos distantes.
Aunque en este documento se describen realizaciones de la presente invención con respecto a sistemas de cámara de profundidad estereoscópicos, las realizaciones de la presente invención no se limitan a esto y también se pueden utilizar con otros sistemas de cámaras de profundidad, como cámaras de tiempo de vuelo de luz estructurada y cámaras LIDAR.
Dependiendo de la elección de la cámara, se pueden utilizar diferentes técnicas para generar el modelo 3D. Por ejemplo, el seguimiento y mapeo denso en tiempo real (Dense Tracking and Mapping in Real Time, DTAM) utiliza señales de color para escanear, y la localización y mapeo simultáneos utilizan datos de profundidad (o una combinación de datos de profundidad y color) para generar el modelo 3D.
Captura de modelos 3D
Si se capturan imágenes de profundidad en diferentes perspectivas (por ejemplo, diferentes ubicaciones con respecto al objeto diana), entonces es posible adquirir datos sobre la forma de una porción más grande de la superficie del objeto diana de lo que podría adquirirse con una sola cámara de profundidad. Por ejemplo, pueden adquirirse ambas superficies opuestas de un objeto (por ejemplo, los lados medio y lateral de la bota que se muestran en la FIG. 2A), mientras que una sola cámara en una sola perspectiva solo podría adquirir una imagen de profundidad de un lado del objeto diana a la vez. Las imágenes de profundidad múltiple se pueden capturar moviendo una sola cámara de profundidad sobre múltiples perspectivas diferentes o utilizando múltiples cámaras de profundidad ubicadas en diferentes posiciones. La fusión de imágenes de profundidad (o nubes de puntos) requiere cálculos adicionales y se puede lograr utilizando técnicas como la técnica de punto más cercano iterativo (Iterive Closest Point, ICP) (consulte, por ejemplo, Besl, Paul J. y Neil D. McKay. "Method for registration of 3-D shapes". Robotics-DL tentative. International Society for Optics and Photonics, 1992.), que puede calcular automáticamente las perspectivas relativas de las cámaras de profundidad mediante la optimización (por ejemplo, minimización) de una métrica de alineación particular. El proceso<i>C<p>se puede acelerar proporcionando perspectivas relativas iniciales aproximadas de las cámaras, que pueden estar disponibles si las cámaras están "registradas" (por ejemplo, si las perspectivas de las cámaras ya son conocidas y están sustancialmente fijadas de modo que sus perspectivas no cambian entre una etapa de calibración y una operación en tiempo de ejecución). En la presente memoria se describen sistemas y métodos para capturar prácticamente todas las superficies visibles de un objeto, por ejemplo, la Solicitud de patente provisional de EE. UU. N.° 62/448.952, "Detección y análisis de defectos con sensores 3D de múltiples vistas" presentada en la Oficina de Patentes y Marcas de los Estados Unidos el 20 de enero de 2017.
Una nube de puntos, que se puede obtener fusionando múltiples nubes de puntos individuales alineadas (imágenes de profundidad individuales), se puede procesar para eliminar puntos "atípicos" debido a mediciones erróneas (por ejemplo, ruido de medición) o para eliminar estructuras que no son de interés, como superficies correspondientes a objetos de fondo (por ejemplo, eliminando puntos que tengan una profundidad mayor que un umbral de profundidad particular) y la superficie (o "plano de tierra") sobre la que reposa el objeto (por ejemplo, mediante la detección de un plano inferior de puntos).
En algunas realizaciones, el sistema incluye además una pluralidad de cámaras de color 150 configuradas para capturar datos de textura del objeto de consulta. Los datos de textura pueden incluir el color, sombras y patrones en la superficie del objeto que no están presentes o no son evidentes en la forma física del objeto. En algunas circunstancias, los materiales del objeto diana pueden ser reflectantes (por ejemplo, brillantes). Como resultado, la información de textura puede perderse debido a la presencia de reflejos y la información de color capturada puede incluir artefactos, como el reflejo de fuentes de luz dentro de la escena. Como tal, algunos aspectos de las realizaciones de la presente invención están dirigidos a la eliminación de reflejos para capturar los datos de color reales de las superficies. En algunas realizaciones, esto se logra al tomar imágenes de la misma porción (o "parche") de la superficie del objeto diana desde múltiples perspectivas, donde el reflejo puede ser visible solo desde una pequeña fracción de esas perspectivas. Como resultado, se puede determinar el color real del parche calculando un vector de color asociado con el parche para cada una de las cámaras de color y calculando un vector de color que tenga una magnitud mínima entre los vectores de color. Esta técnica se describe con más detalle en la solicitud de patente de EE. UU. N.° 15/679.075, "Sistema y método para escaneo tridimensional y para la captura de una función de distribución de reflectancia bidireccional", presentada en la Oficina de Patentes y Marcas de los Estados Unidos el 15 de agosto de 2017.
Volviendo a las FIGS. 2A y 3A, en la operación 320, las nubes de puntos se combinan para generar un modelo 3D. Por ejemplo, en algunas realizaciones, las nubes de puntos separadas 14 se fusionan mediante un módulo de fusión de nubes de puntos 210 para generar una nube de puntos fusionada 220 (por ejemplo, mediante el uso de ICP para alinear y fusionar las nubes de puntos y también mediante la eliminación de puntos extraños o espurios para reducir el ruido y administrar el tamaño del modelo 3D de la nube de puntos) y un módulo de generación de malla 230 calcula una malla 3D 240 a partir de la nube de puntos fusionada utilizando técnicas como la triangulación de Delaunay y formas alfa y herramientas de software como MeshLab (véase, por ejemplo, P. Cignoni, M. Callieri, M. Corsini, M.
Dellepiane, F. Ganovelli, G. Ranzuglia MeshLab: an Open-Source Mesh Processing Tool Sixth Eurographics Italian Chapter Conference, páginas 129-136, 2008.). En la operación 330, la malla 3D 240 se puede combinar con información de color 16 de las cámaras de color 150 sobre el color de la superficie del objeto en varios puntos, y esta información de color se puede aplicar a la malla 3D como un mapa de textura (por ejemplo, información sobre el color de la superficie del modelo).
En la operación 340, el sistema de clasificación 200 calcula un descriptor a partir del modelo 3D, donde el descriptor resume las características del objeto de consulta 10. En algunas realizaciones, un módulo de generación de vistas 250 del sistema de clasificación genera vistas bidimensionales (2D) 260 estandarizadas particulares del modelo de malla 240. Por ejemplo, el modelo de malla 3D 240 se puede utilizar para generar vistas 2D de la superficie del objeto tal como se ve desde múltiples puntos de vista diferentes. En algunas realizaciones, estas vistas 2D pueden ser más adecuadas para su uso con tecnologías de redes neuronales existentes, como las redes neuronales convolucionales (Convolutional Neural Networks, CNN), aunque las realizaciones de la presente invención no se limitan a ello. Por ejemplo, las técnicas para los métodos de recuperación de formas 3D se describen en, por ejemplo, Tangelder, J. W., y Veltkamp, R. C. (2008). A survey of content based 3-D shape retrieval methods. Multimedia tools and applications, 39(3), 441-471. Se pueden utilizar diferentes tipos de contenido visual para sintetizar o representar estas vistas 2D. Al estandarizar un conjunto particular de parámetros para sintetizar estas vistas 2D, los escaneos 3D de objetos similares (por ejemplo, los escaneos de dos instancias del mismo modelo de zapato del fabricante) tendrán vistas 2D sustancialmente similares (mientras que estas vistas 2D pueden verse sustancialmente diferentes si las fuentes de iluminación sintética fueran diferentes en los dos modelos). El uso de vistas estandarizadas también hace que la categorización sea más sólida al eliminar o reducir las diferencias en la forma en que se capturaron los escaneos 3D (por ejemplo, eliminando el factor de la orientación particular del objeto diana durante el escaneo).
En general, para cualquier perspectiva particular de una cámara virtual con respecto al modelo 3D capturado, el sistema puede calcular la imagen que sería adquirida por una cámara real en la misma posición relativa al objeto diana, con el objeto iluminado por una fuente de iluminación o fuentes de iluminación virtuales específicas, y con asunciones específicas sobre las características de reflectancia de los elementos de la superficie del objeto. Por ejemplo, se puede asumir que todos los puntos de la superficie tienen características de reflectancia puramente difusa (como en el caso de un modelo de superficie lambertiano, véase, por ejemplo, Horn, Berthold. Robot vision. MIT press, 1986.) con albedo constante (como se ha indicado anteriormente, como se describe en la solicitud de patente de Estados unidos N.° 15/679.075, "Sistema y método para escaneo tridimensional y para la captura de una función de distribución de reflectancia bidireccional", presentada en la Oficina de Patentes y Marcas de los Estados Unidos el 15 de agosto de 2017, la textura del modelo 3D se puede capturar para obtener un modelo de superficie lambertiano). Un ejemplo particular de una fuente de iluminación virtual es una fuente de iluminación puntual isótropa que está ubicada junto al centro óptico de la cámara virtual, el valor de la imagen sintetizada en un píxel que es proporcional al coseno del ángulo entre el vector normal de la superficie en el punto visto por ese píxel y la dirección de visión asociada (esto genera esencialmente un efecto similar al de tomar una fotografía con el flash de la cámara activado). Sin embargo, las realizaciones de la presente invención no se limitan a estos. Por ejemplo, algunas realizaciones de la presente invención pueden hacer uso de una iluminación completamente difusa con una superficie de albedo uniforme; en este caso, la imagen solo capturaría la silueta del objeto (véase, por ejemplo, Chen, D. Y., Tian, X. P., Shen, Y. T., y Ouhyoung, M. (2003, Septiembre). On visual similarity based 3-D model retrieval. In Computer graphics forum (Vol.
22, N.° 3, págs. 223-232). Blackwell Publishing, Inc.). En lugar de suponer un albedo uniforme, en algunas realizaciones, a cada punto de la superficie se le asigna un valor de albedo derivado de imágenes en color o en escala de grises reales tomadas por cámaras convencionales (por ejemplo, cámaras bidimensionales en color o escala de grises, a diferencia de las cámaras de profundidad), que pueden registrarse geométricamente con las cámaras de profundidad utilizadas para adquirir la forma del objeto. En este caso, la imagen generada por una cámara virtual es similar a la imagen real del objeto que se obtendría con una cámara normal, bajo una iluminación elegida. En algunas realizaciones, se codifica un vector de valores para cada píxel. Por ejemplo, la representación "HHA" codifica, en cada píxel, la inversa de la distancia al elemento de superficie visto por el píxel; la altura del elemento de superficie sobre el suelo; y el ángulo formado por el vector normal en el elemento de superficie y la dirección de la gravedad (véase, por ejemplo, Gupta, S., Girshick, R., Arbelaez, P., y Malik, J. (2014, Septiembre). Learning rich features from RGB-D images for object detection and segmentation. In European Conference on Computer Vision (pp. 345-360). Springer International Publishing.).
Varias realizaciones de la presente invención pueden utilizar diferentes conjuntos de perspectivas para las cámaras virtuales en la representación de múltiples vistas de un objeto como se ha descrito anteriormente. Un muestreo más preciso (por ejemplo, un mayor número de vistas) puede dar lugar a una mayor fidelidad de la representación basada en vistas, a costa de una mayor cantidad de datos a almacenar y procesar. Por ejemplo, el modelo LightField Descriptor (LFD) (véase, por ejemplo, Chen, D. Y., Tian, X. P., Shen, Y. T., y Ouhyoung, M. (2003, Septiembre). On visual similarity based 3-D model retrieval. In Computer graphics forum (Vol. 22, N.° 3, págs. 223-232). Blackwell Publishing, Inc.) genera diez vistas desde los vértices de un dodecaedro sobre un hemisferio que rodea el objeto, mientras que el modelo Compact Multi-View Descriptor (CMVD) (véase, por ejemplo, Daras, P., y Axenopoulos, A. (2010). A 3-D shape retrieval framework supporting multimodal queries. International Journal of Computer Vision, 89(2-3), 229-247.) genera dieciocho vistas características desde los vértices de un icosidodecaedro delimitador. Si bien a veces puede ser necesario un gran número de vistas para obtener una descripción de la superficie completa, en algunas situaciones esto puede ser innecesario, por ejemplo, cuando los objetos se colocan en una cinta transportadora con una perspectiva consistente. Por ejemplo, en el caso de escanear zapatos en una fábrica, los zapatos pueden colocarse de forma que sus suelas siempre descansen sobre la cinta transportadora. En un entorno así, se podría obtener una representación satisfactoria de la superficie visible de un zapato a partir de un pequeño número de vistas. Más específicamente, las cámaras de profundidad 100 y las cámaras de color 150 pueden colocarse todas a la misma altura y orientarse de manera que sus ejes ópticos se crucen en el centro del zapato, y las cámaras virtuales pueden colocarse de manera similar a lo largo de un plano que esté alineado con el centro del zapato. Como tal, aunque el zapato puede girarse en cualquier ángulo con su suela sobre la cinta transportadora, las cámaras virtuales pueden generar vistas consistentes de, por ejemplo, los lados medio y lateral del zapato, la parte delantera del zapato y el talón del zapato.
Además de poder generar vistas consistentes de un objeto con respecto a su orientación, algunos aspectos de las realizaciones de la presente invención se refieren a la construcción automática de representaciones de la forma del objeto que son invariables a transformaciones paramétricas predecibles. Por ejemplo, objetos de un determinado modelo (por ejemplo, un modelo de zapato) puede tener diferentes tamaños, donde objetos de diferentes tamaños están relacionados por una expansión o contracción isótropa. En lugar de asignar una categoría específica a cada tamaño, en algunas realizaciones, se utiliza una única forma normalizada para representar todos los tamaños del mismo objeto. Como un ejemplo, consideremos el caso en el que todas las vistas virtuales están ubicadas en la superficie de una esfera centrada en el objeto. En este caso se podría obtener una representación invariante en tamaño fijando el radio de la esfera en el valor mínimo tal que el objeto sea visto en su totalidad por todas las cámaras virtuales. Otras realizaciones de la presente invención pueden utilizar otras formas de normalización del tamaño. Por ejemplo, en una realización, el propio modelo se reescala (antes de que se recopilen las vistas virtuales) para normalizar la distancia promedio de los puntos de la superficie al centro de masa del objeto (véase, por ejemplo, Tangelder, J. W., y Veltkamp, R. C. (2008). A survey of content based 3-D shape retrieval methods. Multimedia tools and applications, 39(3), 441-471.). Algunas realizaciones de la presente invención también se refieren a la normalización de la orientación. Por ejemplo, el objeto podría estar representado en referencia al sistema definido por el análisis de componentes principales (Principal Component Analysis, PCA) calculado en la malla que representa la superficie del objeto (véase, por ejemplo, Vranic, D. V., Saupe, D., y Richter, J. (2001). Tools for 3-D-object retrieval: Karhunen-Loeve transform and spherical harmonics. In Multimedia Signal Processing, 2001 IEEE Fourth Workshop on (pp. 293 298).).
Descriptores de formas de múltiples vistas
La FIG. 3B es un diagrama de flujo de un método para calcular un descriptor de un objeto de consulta según una realización de la presente invención. La FIG. 4 es un diagrama de bloques de un sistema de clasificación basado en una red neuronal convolucional según una realización de la presente invención.
En particular, en la realización mostrada en la FIG. 3B, el descriptor se calcula a partir de vistas 2D 260 del modelo 3D 240, tal y como se renderiza con el módulo de generación de vistas het 250. En la operación 344, las vistas 2D sintetizadas se suministran a un clasificador 270 o módulo clasificador 270 para extraer un descriptor o vector de características y clasificar el objeto en función del descriptor. Este vector de características puede contener aspectos destacados y característicos de la forma del objeto y se utiliza para etapas de clasificación o recuperación posteriores.
En general, la tarea declasificaruna forma s en una de un conjunto C declasesdadas (también denominadascategoríasoetiquetas)se distingue de la tarea derecuperarde una base de datos la forma que es más similar (bajo una métrica específica) a una forma determinada. Para mayor comodidad, la recuperación de formas se considerará un caso especial de clasificación, en el que cada forma de la base de datos representa una clase en sí misma, y una forma s se clasifica con la etiqueta de la forma más similar en la base de datos. En la bibliografía sobre reconocimiento de patrones, este enfoque se denomina a vecesclasificación del vecino más próximo.
En la bibliografía se conocen varias técnicas para la recuperación y clasificación de representaciones de formas basadas en vistas. Véase, por ejemplo, Gao, Y., y Dai, Q. (2014). View-based 3-D object retrieval: challenges and approaches. IEEE MultiMedia, 3(21), 52-57, para un estudio de dichas técnicas relevantes. Por ejemplo, un enfoque (descrito en Furuya, T., y Ohbuchi, R. (2009, Julio). Dense sampling and fast encoding for 3-D model retrieval using bag-of-visual features. In Proceedings of the ACM international conference on image and video retrieval (p. 26). ACM.) [0076] amplía el concepto de "bolsas de palabras", un método clásico para el reconocimiento de objetos en imágenes, al caso de reconocimiento de objetos de múltiples vistas. A modo de otro ejemplo, las redes neuronales convolucionales (CNN) se pueden utilizar para la clasificación de objetos de múltiples vistas (véase, por ejemplo, Su, H., Maji, S., Kalogerakis, E., y Learned-Miller, E. (2015). Multi-view convolutional neural networks for 3-D shape recognition. In Proceedings of the IEEE International Conference on Computer Vision (pp. 945-953).).
De acuerdo con algunas realizaciones de la presente invención, se utiliza una red neuronal convolucional (CNN) para procesar las vistas 2D sintetizadas para generar la clasificación del objeto. La FIG. 4 es un diagrama esquemático de un módulo clasificador 270 según una realización de la presente invención implementado como una red neuronal convolucional (CNN) profunda. En general, una CNN profunda procesa una imagen pasando los datos de la imagen de entrada (por ejemplo, una vista 2D sintetizada) a través de una cascada de capas. Estas capas se pueden agrupar en varias etapas. La red neuronal convolucional profunda que se muestra en la FIG. 4 incluye dos etapas, una primera etapa CNN1 compuesta por N subprocesos y una segunda etapa CNN2 compuesta de M capas. En una realización, cada una de lasNcapas de la primera etapa CNN1 incluye un banco de capas de convolución lineal, seguida de una capa de no linealidad puntual y una capa de reducción de datos no lineal. En cambio, cada una de lasMcapas de la segunda etapa CNN2 es una capa completamente conectada. La salidapde la segunda etapa es una distribución de probabilidad de asignación de clase. Por ejemplo, si la CNN está entrenada para asignar imágenes de entrada a una dekclases diferentes, entonces la salida de la segunda etapa CNN2 es un vectorpque incluyekvalores diferentes, cada valor que representa la probabilidad (o "confianza") de que a la imagen de entrada se le asigne la clase correspondiente.
Como se ha señalado anteriormente, las realizaciones de la presente invención pueden implementarse en plataformas informáticas de propósito general adecuadas, como procesadores de ordenador de propósito general y procesadores de ordenador para aplicaciones específicas. Por ejemplo, unidades de procesamiento gráfico (GPU) y otros procesadores vectoriales (por ejemplo, instrucción única (múltiples datos) o conjuntos de instrucciones SIMD de los procesadores de propósito general) suelen ser muy adecuados para realizar el entrenamiento y el funcionamiento de las redes neuronales.
En algunas realizaciones, la red neuronal se entrena en función de los datos de entrenamiento, que pueden incluir un conjunto de modelos 3D de objetos y sus etiquetas correspondientes (por ejemplo, la correcta clasificación de los objetos). Una parte de estos datos de entrenamiento se puede reservar como datos de validación cruzada para ajustar aún más los parámetros durante el proceso de entrenamiento, y una parte también se puede reservar como datos de prueba para confirmar que la red está entrenada correctamente.
Los parámetros de la red neuronal (por ejemplo, los pesos de las conexiones entre las capas) se pueden utilizar utilizando procesos convencionales para entrenar redes neuronales, como retropropagación y descenso de gradiente (véase, por ejemplo, LeCun, Y., y Bengio, Y. (1995). Convolutional networks for images, speech, and time series. The handbook of brain theory and neural networks, 3361 (10), 1995.). Además, el proceso de entrenamiento puede inicializarse utilizando parámetros de una red neuronal de clasificación de imágenes de propósito general entrenada previamente (véase, por ejemplo, Chatfield, K., Simonyan, K., Vedaldi, A., y Zisserman, A. (2014). Return of the devil in the details: Delving deep into convolutional nets. arXiv preprint arXiv:1405.3531.).
Como se muestra en la Figura 4, los valores calculados por la primera etapa CNN1 (la etapa convolucional) y suministrados a la segunda etapa CNN2 (la etapa completamente conectada) se denominan en este documento vector (o descriptor) de características f.E l vector o descriptor de características puede ser un vector de datos que tenga un tamaño fijo (por ejemplo, 4096 entradas) que condensa o resume las principales características de la imagen de entrada. Como tal, la primera etapa CNN1 puede denominarse una etapa de extracción de características del sistema de clasificación 270.
La arquitectura de un clasificador 270 descrita anteriormente con respecto a la FIG. 4 se puede aplicar para clasificar representaciones de formas de múltiples vistas de objetos 3D en función denvistas 2D diferentes del objeto. Por ejemplo, la primera etapa CNN1 se puede aplicar independientemente a cada una de lasnvistas 2D utilizadas para representar la forma 3D, calculando así un conjunto denvectores de características (uno para cada una de las vistas 2D). Los aspectos de esta técnica se describen con más detalle en, por ejemplo, Su, H., Maji, S., Kalogerakis, E., y Learned-Miller, E. (2015). Multi-view convolutional neural networks for 3-D shape recognition. In Proceedings of the IEEE International Conference on Computer Vision (pp. 945-953). En algunas realizaciones, losnvectores de características separados se combinan utilizando, por ejemplo, la agrupación máxima (véase, por ejemplo, Boureau, Y. L., Ponce, J., y LeCun, Y. (2010). A theoretical analysis of feature pooling in visual recognition. In Proceedings of the 27th international conference on machine learning (ICML-10) (pp. 111-118).).
La FIG. 5 es una ilustración de agrupamiento máximo según una realización de la presente invención. Como se muestra en la Figura 5, cada una de lasnvistas se suministran a la primera etapa CNN1 del clasificador 270 para generarnvectores de características. En el agrupamiento máximo, losnvectores de característicasfse combinan para generar un único vector de características o descriptor combinadoF,donde la j-ésima entrada del descriptorFes igual al máximo entre las j-ésimas entradas entre losnvectores de característicasf.El descriptor resultanteFtiene la misma longitud (o rango) quenvectores de característicasfy por tanto el descriptorFtambién se puede suministrar como entrada a la segunda etapa CNN2.
En algunas realizaciones de la presente invención, la selección de perspectivas particulares de las cámaras virtuales, por ejemplo, la selección de qué vistas 2D particulares se renderizarán, da como resultado un descriptorFque tiene propiedades que son invariantes. Por ejemplo, considerando una configuración donde todas las cámaras virtuales están ubicadas en una esfera (por ejemplo, todas dispuestas en perspectivas que están a la misma distancia del centro del modelo 3D o de un punto particularpen el plano del suelo, y todas que tienen ejes ópticos que se intersecan en el centro del modelo 3D o en el punto particularpen el plano de tierra). Otro ejemplo de una disposición con propiedades similares incluye todas las cámaras virtuales ubicadas a la misma altura sobre el plano del suelo del modelo 3D, orientadas hacia el modelo 3D (por ejemplo, que tienen ejes ópticos que se intersecan con el centro del modelo 3D), y a la misma distancia del modelo 3<d>, en cuyo caso cualquier rotación del objeto alrededor de un eje vertical (por ejemplo, perpendicular al plano del suelo) que se extienda a través del centro del modelo 3D dará como resultado esencialmente el mismo vector o descriptorF(suponiendo que las cámaras estén colocadas en lugares muy próximos entre sí).
El vector de características extraído a continuación se puede suministrar a un clasificador para clasificar el objeto como miembro de un conjunto particular dekclases diferentesC,dando como resultado la clasificación del objeto de consulta 10. Esto se puede hacer, por ejemplo, suministrando el descriptorFa la segunda etapa CNN<2>, dando como resultado el vectorpde números positivos normalizados que representan la distribución de probabilidad de asignación de clase. El índice de la entrada más grande de este vectorpes la clase más probable para la forma dada, con el valor máximo asociado que representa la confianza de esta clasificación. Como tal, la segunda etapa CNN2 puede denominarse etapa de clasificación de la red neuronal convolucional.
En algunas realizaciones de la presente invención, el clasificador CNN<2>clasifica el objeto de destino 10 utilizando el descriptorFdel objeto de destino para recuperar la forma más similar en un conjunto de datos, en lugar de proporcionar el descriptorFa la segunda etapa CNN<2>. En más detalle, todos los objetos del conjunto de entrenamiento se pueden suministrar a la primera etapa CNN<1>para generar un conjunto de descriptores conocidos {F<ds>(m)}, donde el índicemindica una forma etiquetada particular en los datos de entrenamiento. Se define una métrica de similitud para medir la distancia entre dos descriptores dados (vectores)Fy F<ds>(m). Algunos ejemplos simples de métricas de similitud son una distancia vectorial euclidiana y una distancia vectorial de Mahalanobis. En otras realizaciones de la presente invención, se aprende una métrica de similitud utilizando un algoritmo de aprendizaje de métricas (véase, por ejemplo, Boureau, Y. L., Ponce, J., y LeCun, Y. (2010). A theoretical analysis of feature pooling in visual recognition. In Proceedings of the 27th international conference on machine learning (ICML-10) (pp. 111-118).). Un algoritmo de aprendizaje de métricas puede aprender una transformación lineal o no lineal del espacio vectorial de características que minimiza la distancia promedio entre pares de vectores que pertenecen a la misma clase (medida a partir de ejemplos en los datos de entrenamiento) y maximiza la distancia promedio entre pares de vectores que pertenecen a diferentes clases.
Aplicación a la categorización y caracterización de objetos
Algunos aspectos de realizaciones de la presente invención permiten la clasificación de un objeto de consulta en un nivel particular de una jerarquía de categorías. La FIG. 6 ilustra un ejemplo de una jerarquía que incluye dos niveles de clasificación según una realización de la presente invención. A modo de ilustración, la FIG. 6 representa un ejemplo extremo de un almacén que gestiona un inventario de zapatos 610, un inventario de bolsas 620, y un inventario de pajareras 630, donde el objeto de consulta 10 se clasifica automáticamente en la categoría de zapato y también puede clasificarse como un estilo particular de zapato dentro de la categoría de zapato. Cada uno de estos inventarios puede incluir muchos artículos de diferentes tipos (por ejemplo, el inventario de zapatos puede tener muchas marcas y estilos diferentes de zapatos, el inventario de bolsos puede tener muchas marcas y estilos diferentes de bolsos, y el inventario de pajareras puede tener muchos estilos diferentes de pajareras).
Diferentes aplicaciones pueden requerir diferentes niveles de granularidad de clasificación. Por ejemplo, para combinar un zapato izquierdo con su zapato derecho correspondiente se puede utilizar una clasificación muy granular tanto del zapato izquierdo como del derecho para garantizar que los dos zapatos realmente coinciden, mientras que detectar el tipo de objeto (por ejemplo, zapato, bolsa o pajarera) para su redirección automática por el sistema transportador a una línea de procesamiento correspondiente particular (por ejemplo, una línea de procesamiento para zapatos, una línea de procesamiento de bolsas o una línea de procesamiento de pajareras) puede utilizar una clasificación menos granular.
Hablando en general, realizar clasificaciones más finas (o más granulares) implica mayores recursos computacionales. Por ejemplo, la segunda etapa CNN<2>de la red neuronal convolucional puede requerir capas adicionales para lograr un buen rendimiento al clasificar en una de un gran número de categorías (por ejemplo, una gran cantidad de clases de salidak,como por ejemplo cuando se clasifica un objeto como perteneciente a una determinada marca y estilo de zapato), mientras que se puede lograr un buen rendimiento con menos capas si el número de clases de salida es pequeño (por ejemplo, un pequeño número de clases de salidak,como por ejemplo al clasificar un objeto como un zapato, una bolsa, o una pajarera). A modo de otro ejemplo, al clasificar objetos en función de la distancia a partir de una base de datos de objetos conocidos, se realizan menos comparaciones de distancias vectoriales cuando el número de clases de salida es pequeño (baja granularidad) que cuando el número de clases de salida es grande (alta granularidad). Como tal, en algunas circunstancias en las que se desea una alta velocidad de clasificación debido a un alto volumen de artículos (como clasificar automáticamente una gran cantidad de objetos que se mueven rápidamente a lo largo de un sistema transportador y redirigir los objetos en función de los resultados de la clasificación), puede ser beneficioso clasificar los objetos en un nivel de granularidad más bajo.
Como se ha señalado anteriormente, en algunas realizaciones de la presente invención, el sistema de clasificación 270 puede incluir una etapa de extracción de características CNN<1>y una etapa de clasificación CNN<2>, donde la salida de la etapa de extracción de características CNN<1>se denomina descriptorF.En algunas realizaciones, el descriptorFresume la apariencia de un objeto visto desde múltiples puntos de vista. La etapa de extracción de características CNN<1>está funcional y lógicamente separada de la etapa de clasificación CNN<2>. Como tal, se pueden utilizar los mismos descriptores F, independientemente del nivel o granularidad con que se realicen las clasificaciones y, por tanto, en diversas realizaciones de la presente invención, pueden utilizarse diferentes clasificadores CNN<2>con la misma etapa de extracción de características CNN<1>, de acuerdo con el nivel de granularidad que necesita la aplicación.
Los diversos clasificadores pueden especializarse en tareas específicas, como el reconocimiento amplio de inventario (por ejemplo, zapatos frente a bolsos frente a pajareras), una granularidad más fina (por ejemplo, botas frente a zapatillas frente a tacones), o la identificación de un objeto similar particular en un inventario (por ejemplo, una marca y estilo particular de zapato). En diversas realizaciones de la presente invención, la etapa de clasificación CNN<2>puede implementarse utilizando, por ejemplo, una red neuronal completamente conectada (con una o más capas ocultas), un clasificador lineal o no lineal (por ejemplo, una máquina de vectores de soporte), o clasificadores del vecino más próximo o k-próximo (en algunas realizaciones utilizando el aprendizaje de métricas).
En más detalle, se puede suministrar un parámetro adicional como entrada al módulo clasificador 270, donde el parámetro adicional se utiliza para identificar qué etapa de clasificación CNN<2>se debe utilizar para realizar la clasificación. El parámetro se puede especificar en función de un nivel de granularidad deseado (por ejemplo, clasificar en el nivel de inventario frente al nivel de estilo) o se puede especificar una etapa de clasificación CNN<2>que está especializada para tipos particulares de objetos (por ejemplo, zapatos), si existe conocimiento a priori de que el objeto pertenece a un inventario particular.
Asimismo, la separación lógica entre la etapa de extracción de características CNN<1>y la etapa de clasificación CNN<2>permite que las realizaciones de la presente invención vuelvan a entrenar o modificar la etapa de clasificación CNN<2>sin necesariamente volver a entrenar la etapa de extracción de características CNN<1>. Por ejemplo, si se adquiere un nuevo inventario de objetos (por ejemplo, se le añade un inventario de almohadas a los inventarios separados de zapatos, bolsas y pajareras) o si se añaden más artículos a un inventario existente (por ejemplo, se añade una marca adicional de zapatos al inventario), en algunas realizaciones de la presente invención, los nuevos elementos se pueden añadir al clasificador proporcionándolos a la etapa de extracción de características CNN<1>para generar un descriptor correspondienteFpara cada uno de los nuevos elementos y a continuación volver a entrenar o reconfigurar solo la etapa de clasificación CNN<2>basado en los descriptores de los elementos recién añadidos. Por ejemplo, en el caso de una etapa de clasificador basada en red neuronal completamente conectada CNN<2>, los descriptores y las etiquetas de categoría asociados con los nuevos elementos se combinan con los descriptores y etiquetas de los datos de entrenamiento anteriores y los descriptores y etiquetas combinados se utilizan para volver a entrenar la etapa del clasificador de la red neuronal (por ejemplo, estableciendo los pesos de las conexiones entre las neuronas) usando, por ejemplo, retropropagación y descenso de gradiente. A modo de otro ejemplo, en el caso de una etapa de clasificación basada en el vecino más próximo (o k vecinos más próximos) CNN<2>, los descriptoresFde los elementos adicionales simplemente se añaden como grupos adicionales con los que se comparan los descriptores de los objetos de consulta (o "descriptores de consulta") para encontrar un descriptor conocido más similar.
En cambio, los sistemas de clasificación comparativa requieren que toda la red neuronal, incluida la etapa convolucional, se deba entrenar nuevamente en base a los nuevos datos de entrenamiento. Como tal, el reentrenamiento o la reconfiguración únicamente de la etapa de clasificación CNN<2>reduce el tiempo y los recursos computacionales necesarios para reconfigurar o volver a entrenar el sistema de clasificación 270 para reconocer nuevos tipos de elementos, porque no es necesario volver a entrenar la red neuronal convolucional de extracción de características CNN<1>. Este beneficio se confiere en realizaciones que utilizan un clasificador basado en una red neuronal completamente conectada y en realizaciones que utilizan un clasificador de vecino más próximo, al menos porque extraer un descriptor usando un extractor de características basado en una red neuronal convolucional CNN<1>es computacionalmente costoso.
Como tal, algunos aspectos de las realizaciones de la presente invención mejoran la capacidad de un sistema de categorización para reconfigurarse para manejar tipos adicionales de objetos o para manejar estilos adicionales de objetos sin requerir un reentrenamiento sustancial.
En algunas realizaciones, como cuando se añaden uno o más inventarios, o se amplía sustancialmente un inventario, puede ser beneficioso actualizar la representación del descriptor para modelar mejor la apariencia del conjunto ampliado de objetos. Por ejemplo, la etapa de extracción de características CNN<1>se entrena para extraer características que son útiles para representar y distinguir los objetos en los datos de entrenamiento. Sin embargo, estas características pueden no representar necesariamente con precisión las características de distinción entre las categorías de los objetos recién añadidos. Como tal, en algunas realizaciones, la red completa (incluidas las capas convolucionales de la etapa de extracción de características CNN<1>) se vuelve a entrenar, en lugar de solo las capas de clasificación completamente conectadas CNN<2>. Tenga en cuenta que la actualización de la etapa de extracción de características CNN<1>también implica volver a calcular los descriptores del conjunto de datos de entrenamiento para fines de clasificación del vecino más próximo porque volver a entrenar la etapa de extracción de características CNN<1>hace que se calculen diferentes características, lo que hace que los descriptores antiguos sean incompatibles con la nueva etapa de clasificación CNN<2>.
Además de los descriptores de forma analizados anteriormente, se pueden utilizar otras características definitorias para ayudar a categorizar un objeto o para refinar la categorización a una granularidad más fina. Consideremos, por ejemplo, el caso de un bolso que se produce en una variedad de cinco modelos o estilos diferentes, cada uno de los cuales viene en dos colores. Un clasificador basado en descriptores de forma puede identificar correctamente el modelo o estilo, pero no el color, de un bolso determinado. Si el color específico del bolso también es de interés, otras características (por ejemplo, el histograma de los valores de color rojo, verde y azul (RGB) de los píxeles en una o más vistas) también se pueden incluir en los datos de entrada, y se puede entrenar un clasificador de color apropiado para generar una clase de color para una entrada determinada. Otro ejemplo se relaciona con la identificación del tamaño de un objeto (por ejemplo, un zapato) junto con su modelo. Como se ha señalado anteriormente, el análisis de la forma utilizando vistas bidimensionales permite propiedades de invariancia de tamaño. Como tal, la información sobre el tamaño del objeto diana está disponible a través del análisis de la representación 3D de la forma del objeto, porque la información de profundidad subyacente de las cámaras de profundidad incluye información sobre las longitudes.
Asimismo, las realizaciones de la presente invención permiten utilizar diferentes características para consultar directamente un conjunto de datos. Por ejemplo, uno podría estar interesado en determinar qué otros objetos en un determinado inventario tienen el mismo color que un objeto determinado. Estos otros objetos que tienen el mismo color se pueden encontrar identificando objetos en el inventario que tienen la misma característica de color (o características de color muy similares) al objeto dado, mientras se ignoran las otras características del descriptor (por ejemplo, descriptores relacionados con la forma).
Como se ha señalado anteriormente, las clasificaciones calculadas por el sistema de clasificación 200 según realizaciones de la presente invención pueden aplicarse para realizar diversas operaciones. Como un ejemplo, las clasificaciones pueden mostrarse automáticamente a un usuario para permitirle ver las clasificaciones de los objetos colocados a la vista de las cámaras de profundidad y color 100 y 150. A modo de otro ejemplo, las clasificaciones se pueden utilizar para escanear objetos que se mueven en un sistema transportador y para controlar el sistema transportador para redirigir los objetos de acuerdo con las clasificaciones (por ejemplo, para clasificar objetos de diferentes tipos o agruparlos de otro modo según las necesidades del negocio, como por ejemplo el ensamblaje de pedidos para clientes concretos). La redirección de los objetos se puede implementar utilizando varias partes mecánicas móviles, como una puerta controlable, una ranura movible, un brazo robótico y similares.
Claims (12)
1. Un método para clasificar objetos físicos que comprende:
controlar, por un procesador, una o más cámaras de profundidad para capturar (310) una pluralidad de imágenes de profundidad de un objeto de consulta;
controlar, por el procesador, una o más cámaras de color para capturar (310) una pluralidad de imágenes en color del objeto de consulta;
calcular, por el procesador, un modelo tridimensional (3D) del objeto de consulta utilizando las imágenes de profundidad;
en donde el modelo 3D comprende un modelo de malla 3D calculado a partir de las imágenes de profundidad; combinar (330), por el procesador, las imágenes en color (14) con el modelo de malla 3D (240);
calcular (340), por el procesador, un descriptor del modelo de malla 3D y las imágenes en color, calcular (342) el descriptor comprende:
renderizar (342), por el procesador, una pluralidad de vistas bidimensionales (2D) estandarizadas del modelo de malla 3D del objeto de consulta; y
suministrar (344), por el procesador, la pluralidad de vistas 2D del objeto de consulta a una etapa convolucional de una red neuronal (270) para extraer (348) el descriptor;
comprendiendo el descriptor :
una representación multidimensional del espacio descriptor de forma de una forma 3D del objeto de consulta; una representación multidimensional del espacio descriptor de color de una textura del objeto de consulta; y una representación unidimensional del espacio descriptor de tamaño de un tamaño del objeto de consulta; suministrar, por el procesador, el descriptor a un clasificador para calcular una clasificación del objeto de consulta; generar una salida (360) de la clasificación del objeto de consulta.
2. El método de la reivindicación 1, que comprende además el control de un sistema transportador configurado para transportar el objeto de consulta para redirigir el objeto de consulta de acuerdo con la clasificación del objeto de consulta.
3. El método de la reivindicación 1, que comprende además la visualización de la clasificación del objeto de consulta en un dispositivo de visualización.
4. El método de la reivindicación 1, en donde el clasificador es una red neuronal.
5. El método de la reivindicación 4, en donde la red neuronal se entrena en función de un inventario de objetos.
6. El método de la reivindicación 5, en donde el cálculo de la clasificación del objeto de consulta en función del descriptor se realiza identificando un objeto de resultado del inventario de objetos que tienen una distancia más cercana al descriptor del objeto de consulta en el espacio del descriptor de forma, el espacio de descriptor de color y el espacio de descriptor de tamaño.
7. Un sistema (100) para clasificar objetos físicos que comprende:
un procesador (108); y
una o más cámaras de profundidad y cámaras de color regulares; y
memoria (110) que almacena instrucciones que, cuando las ejecuta el procesador, hace que el procesador: controle una o más cámaras de profundidad para capturar una pluralidad de imágenes de profundidad de un objeto de consulta;
controle una o más cámaras en color para capturar una pluralidad de imágenes en color del objeto de consulta; calcule un modelo tridimensional (3D) del objeto de consulta utilizando las imágenes de profundidad;
en donde el modelo 3D comprende un modelo de malla 3D calculado a partir de las imágenes de profundidad; combine (330) las imágenes en color (14) con el modelo de malla 3D (240);
calcule (340) un descriptor a partir del modelo de malla 3D y las imágenes en color,
calcular (342) el descriptor comprende:
renderizar (342), por el procesador, una pluralidad de vistas bidimensionales (2D) estandarizadas del modelo de malla 3D del objeto de consulta; y
suministrar (344), por el procesador, la pluralidad de vistas 2D del objeto de consulta a una etapa convolucional de una red neuronal (270) para extraer (348) el descriptor;
el descriptor que comprende:
una representación multidimensional del espacio descriptor de forma de una forma 3D del objeto de consulta; una representación multidimensional del espacio descriptor de color de una textura del objeto de consulta; y una representación unidimensional del espacio descriptor de tamaño de un tamaño del objeto de consulta; suministrar el descriptor a un clasificador para calcular una clasificación del objeto de consulta; generar una salida de la clasificación del objeto de consulta;
en donde el modelo 3D comprende un modelo de malla 3D calculado a partir de las imágenes de profundidad.
8. El sistema de la reivindicación 7, que comprende además un sistema transportador configurado para transportar el objeto de consulta,
en donde la memoria almacena además instrucciones que, cuando las ejecuta el procesador, hace que el procesador redirija el objeto de consulta de acuerdo con la clasificación del objeto de consulta.
9. El sistema de la reivindicación 7, que comprende además un dispositivo de visualización,
en donde la memoria almacena además instrucciones que, cuando las ejecuta el procesador, hace que el procesador muestre la clasificación del objeto de consulta en un dispositivo de visualización.
10. El sistema de la reivindicación 7, en donde el clasificador es una red neuronal.
11. El sistema de la reivindicación 10, en donde la red neuronal se entrena en función de un inventario de objetos.
12. El sistema de la reivindicación 11, en donde la memoria almacena además instrucciones que, cuando las ejecuta el procesador, hace que el procesador calcule la clasificación del objeto de consulta identificando un objeto de resultado del inventario de objetos que tienen una distancia más próxima al descriptor del objeto de consulta en el espacio del descriptor de forma, el espacio de descriptor de color y el espacio de descriptor de tamaño.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201762442223P | 2017-01-04 | 2017-01-04 | |
| PCT/US2018/012407 WO2018129201A1 (en) | 2017-01-04 | 2018-01-04 | Systems and methods for shape-based object retrieval |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2996733T3 true ES2996733T3 (en) | 2025-02-13 |
Family
ID=62712461
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES18736333T Active ES2996733T3 (en) | 2017-01-04 | 2018-01-04 | Systems and methods for shape-based object retrieval |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US10691979B2 (es) |
| EP (1) | EP3566193B1 (es) |
| CN (1) | CN110392897A (es) |
| ES (1) | ES2996733T3 (es) |
| PL (1) | PL3566193T3 (es) |
| WO (1) | WO2018129201A1 (es) |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10289925B2 (en) * | 2016-11-29 | 2019-05-14 | Sap Se | Object classification in image data using machine learning models |
| CA3115898C (en) | 2017-10-11 | 2023-09-26 | Aquifi, Inc. | Systems and methods for object identification |
| US11127203B2 (en) * | 2018-05-16 | 2021-09-21 | Samsung Electronics Co., Ltd. | Leveraging crowdsourced data for localization and mapping within an environment |
| CN109191369B (zh) * | 2018-08-06 | 2023-05-05 | 三星电子(中国)研发中心 | 2d图片集转3d模型的方法、存储介质和装置 |
| EP3899784A4 (en) | 2018-12-19 | 2022-10-19 | Packsize, LLC | Systems and methods for joint learning of complex visual inspection tasks using computer vision |
| WO2020132627A1 (en) * | 2018-12-20 | 2020-06-25 | Aquifi, Inc. | Systems and methods for object dimensioning based on partial visual information |
| CA3173966A1 (en) * | 2019-03-08 | 2020-09-17 | Leddartech Inc. | Lidar system, appartus communicating with the lidar system, and apparatus located in a field of view (fov) of the lidar system |
| FR3094115B1 (fr) * | 2019-03-22 | 2021-02-26 | Idemia Identity & Security France | Procede d’identification de bagages |
| WO2020214959A1 (en) * | 2019-04-17 | 2020-10-22 | The Regents Of The University Of Michigan | Multidimensional materials sensing systems and methods |
| US11282180B1 (en) | 2019-04-24 | 2022-03-22 | Apple Inc. | Object detection with position, pose, and shape estimation |
| US10510155B1 (en) * | 2019-06-11 | 2019-12-17 | Mujin, Inc. | Method and processing system for updating a first image generated by a first camera based on a second image generated by a second camera |
| CN110427968B (zh) * | 2019-06-28 | 2021-11-02 | 武汉大学 | 一种基于细节增强的双目立体匹配方法 |
| CN110322464B (zh) * | 2019-06-30 | 2021-07-02 | 华中科技大学 | 一种基于三维点云的小曲率薄壁零件边界提取方法 |
| US11416998B2 (en) * | 2019-07-30 | 2022-08-16 | Microsoft Technology Licensing, Llc | Pixel classification to reduce depth-estimation error |
| US11961293B2 (en) * | 2019-11-06 | 2024-04-16 | Fashionphile Group, Llc | Automatic handbag recognition using view-dependent CNNs |
| US11373095B2 (en) * | 2019-12-23 | 2022-06-28 | Jens C. Jenkins | Machine learning multiple features of depicted item |
| CN111191551B (zh) * | 2019-12-23 | 2023-07-14 | 达闼机器人股份有限公司 | 商品检测的方法及装置 |
| US11429582B2 (en) * | 2020-04-09 | 2022-08-30 | Capital One Services, Llc | Techniques for creating and utilizing multidimensional embedding spaces |
| EP3896640B1 (en) * | 2020-04-17 | 2022-09-28 | MVTec Software GmbH | System and method for efficient 3d reconstruction of objects with telecentric line-scan cameras |
| EP3916656A1 (en) * | 2020-05-27 | 2021-12-01 | Mettler-Toledo GmbH | Method and apparatus for tracking, damage detection and classi-fication of a shipping object using 3d scanning |
| CN112907528B (zh) * | 2021-02-09 | 2021-11-09 | 南京航空航天大学 | 一种基于点云转图像的复材铺丝表面缺陷检测与识别方法 |
| KR102596257B1 (ko) * | 2021-06-03 | 2023-10-30 | 고려대학교 산학협력단 | 기계가공 특징형상 인식 방법 및 이를 수행하기 위한 컴퓨팅 장치 |
| US12282829B2 (en) | 2021-08-25 | 2025-04-22 | Capital One Services, Llc | Techniques for data type detection with learned metadata |
| CN116489299A (zh) * | 2022-01-13 | 2023-07-25 | 祖玛视频通讯公司 | 视频通信平台中的化身生成 |
| GB2630476A (en) * | 2022-02-15 | 2024-11-27 | Mitsubishi Electric Corp | Image search device, image search method, and image search program |
| KR102675017B1 (ko) * | 2022-09-07 | 2024-06-12 | 인하대학교 산학협력단 | 영상과의 상호 작용을 위한 다중 평면 영상에서 메쉬 생성 방법 |
| JP2024062300A (ja) * | 2022-10-24 | 2024-05-09 | キヤノン株式会社 | 画像処理装置、画像処理方法及びコンピュータプログラム |
| US12499700B1 (en) * | 2023-02-08 | 2025-12-16 | Veracity Protocol Inc. | Authentication and identification of physical objects using machine vision protocols |
| CN117058332B (zh) * | 2023-07-10 | 2024-01-30 | 中国地质大学(武汉) | 一种地下空区三维成像方法、系统及可读存储介质 |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5533628A (en) * | 1992-03-06 | 1996-07-09 | Agri Tech Incorporated | Method and apparatus for sorting objects by color including stable color transformation |
| GB2375212B (en) * | 1999-04-29 | 2003-06-11 | Mitsubishi Electric Inf Tech | Method and apparatus for searching for an object using shape |
| US10872322B2 (en) * | 2008-03-21 | 2020-12-22 | Dressbot, Inc. | System and method for collaborative shopping, business and entertainment |
| US8559671B2 (en) * | 2008-12-18 | 2013-10-15 | The Regents Of The University Of California | Training-free generic object detection in 2-D and 3-D using locally adaptive regression kernels |
| US8582802B2 (en) * | 2009-10-09 | 2013-11-12 | Edgenet, Inc. | Automatic method to generate product attributes based solely on product images |
| US8442977B2 (en) * | 2010-02-16 | 2013-05-14 | Honeywell International Inc. | Distance-space embedding for multi-descriptor matching and retrieval |
| EP2751742A1 (en) * | 2011-08-31 | 2014-07-09 | metaio GmbH | Method of matching image features with reference features |
| US8593452B2 (en) * | 2011-12-20 | 2013-11-26 | Apple Inc. | Face feature vector construction |
| ES2530687B1 (es) * | 2013-09-04 | 2016-08-19 | Shot & Shop. S.L. | Método implementado por ordenador para recuperación de imágenes por contenido y programa de ordenador del mismo |
| US9392262B2 (en) * | 2014-03-07 | 2016-07-12 | Aquifi, Inc. | System and method for 3D reconstruction using multiple multi-channel cameras |
| US9639806B2 (en) * | 2014-04-15 | 2017-05-02 | Xerox Corporation | System and method for predicting iconicity of an image |
| US10013710B2 (en) * | 2014-04-17 | 2018-07-03 | Ebay Inc. | Fashion preference analysis |
| US9516295B2 (en) * | 2014-06-30 | 2016-12-06 | Aquifi, Inc. | Systems and methods for multi-channel imaging based on multiple exposure settings |
| WO2016132367A1 (en) * | 2015-02-19 | 2016-08-25 | Ramot At Tel-Aviv University Ltd. | Chest radiograph (cxr) image analysis |
| US9600738B2 (en) * | 2015-04-07 | 2017-03-21 | Xerox Corporation | Discriminative embedding of local color names for object retrieval and classification |
| US9674504B1 (en) | 2015-12-22 | 2017-06-06 | Aquifi, Inc. | Depth perceptive trinocular camera system |
| US10055882B2 (en) * | 2016-08-15 | 2018-08-21 | Aquifi, Inc. | System and method for three-dimensional scanning and for capturing a bidirectional reflectance distribution function |
-
2018
- 2018-01-04 EP EP18736333.8A patent/EP3566193B1/en active Active
- 2018-01-04 PL PL18736333.8T patent/PL3566193T3/pl unknown
- 2018-01-04 US US15/862,512 patent/US10691979B2/en active Active
- 2018-01-04 ES ES18736333T patent/ES2996733T3/es active Active
- 2018-01-04 CN CN201880015857.7A patent/CN110392897A/zh active Pending
- 2018-01-04 WO PCT/US2018/012407 patent/WO2018129201A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| EP3566193B1 (en) | 2024-10-23 |
| EP3566193A4 (en) | 2020-08-26 |
| WO2018129201A1 (en) | 2018-07-12 |
| US20180189611A1 (en) | 2018-07-05 |
| PL3566193T3 (pl) | 2025-03-17 |
| EP3566193A1 (en) | 2019-11-13 |
| US10691979B2 (en) | 2020-06-23 |
| CN110392897A (zh) | 2019-10-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2996733T3 (en) | Systems and methods for shape-based object retrieval | |
| US20230177400A1 (en) | Systems and methods for joint learning of complex visual inspection tasks using computer vision | |
| US11798152B2 (en) | Systems and methods for object dimensioning based on partial visual information | |
| US12172310B2 (en) | Systems and methods for picking objects using 3-D geometry and segmentation | |
| US10528616B2 (en) | Systems and methods for automatically generating metadata for media documents | |
| US11720766B2 (en) | Systems and methods for text and barcode reading under perspective distortion | |
| Chen et al. | Self-calibrating deep photometric stereo networks | |
| US20180322623A1 (en) | Systems and methods for inspection and defect detection using 3-d scanning | |
| CN108734087B (zh) | 物体自动识别方法以及系统、购物设备和存储介质 | |
| US10558844B2 (en) | Lightweight 3D vision camera with intelligent segmentation engine for machine vision and auto identification | |
| WO2019067641A1 (en) | SYSTEMS AND METHODS FOR VISUAL INSPECTION BASED ON INCREASED REALITY | |
| JP7728777B2 (ja) | ジェスチャ認識 | |
| Zheng | Parametric Surfac | |
| Zhang | Projection |