ES2890414T3 - Método para modelado en 3D basándose en procesamiento de estructura a partir de movimiento de imágenes en 2D - Google Patents

Método para modelado en 3D basándose en procesamiento de estructura a partir de movimiento de imágenes en 2D Download PDF

Info

Publication number
ES2890414T3
ES2890414T3 ES18164011T ES18164011T ES2890414T3 ES 2890414 T3 ES2890414 T3 ES 2890414T3 ES 18164011 T ES18164011 T ES 18164011T ES 18164011 T ES18164011 T ES 18164011T ES 2890414 T3 ES2890414 T3 ES 2890414T3
Authority
ES
Spain
Prior art keywords
images
image
calibration
groups
clusters
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
ES18164011T
Other languages
English (en)
Inventor
Yash Singh
Roberto Toldo
Luca Magri
Simone Fantoni
Andrea Fusiello
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.)
3dflow Srl
Original Assignee
3dflow Srl
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 3dflow Srl filed Critical 3dflow Srl
Application granted granted Critical
Publication of ES2890414T3 publication Critical patent/ES2890414T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Método del tipo de estructura a partir de movimiento para procesar una pluralidad de imágenes dispersas adquiridas mediante uno o más dispositivos (2) de adquisición para la generación de una nube de puntos en 3D dispersa y de una pluralidad de parámetros internos y externos de los dispositivos de adquisición (309) obtenidos mediante un procesamiento de dichas imágenes, que comprende las siguientes etapas: a) recopilar dichas imágenes; b) extraer puntos clave a partir de cada imagen y generar un descriptor para cada punto clave (302); c) organizar las imágenes en un grafo de proximidad basándose en similitud de descriptores de puntos clave (304); d) hacer coincidir imágenes por parejas empezando a partir de imágenes vecinas tal como se define mediante el grafo de proximidad y generar coincidencias de puntos clave que conectan puntos clave similares en diferentes imágenes (307), según la máxima proximidad entre los propios puntos clave; caracterizado porque comprende además las siguientes etapas: e) realizar una autocalibración entre agrupaciones de imágenes para extraer los parámetros internos y externos de los dispositivos de adquisición (307), en el que se define una pluralidad de grupos de calibración, conteniendo cada grupo de calibración una pluralidad de agrupaciones de imágenes, en el que las imágenes están asociadas con parámetros de EXIF y los grupos de calibración se forman basándose en la similitud entre los parámetros de EXIF de las imágenes, y en el que se usa un algoritmo de agrupación de tal manera que las agrupaciones se fusionan de manera iterativa en un modelo expresado en un sistema de referencia local común, empezando a partir de agrupaciones que pertenecen al mismo grupo de calibración, en el que la autocalibración se basa en las coincidencias de puntos clave de imagen extraídas en la etapa d); f) realizar una reconstrucción euclídea del objeto a partir de todas las imágenes recopiladas en forma de dicha nube de puntos en 3D dispersa (308) después de la etapa e), en el que se usa un algoritmo de agrupación de tal manera que se fusionan de manera iterativa agrupaciones de imágenes en un modelo expresado en un sistema de referencia local común, algoritmo de agrupación que vuelve a ejecutarse desde el principio con las imágenes calibradas en la etapa e), en el que la reconstrucción euclídea del objeto se basa en todos los parámetros internos extraídos en la etapa e) y las coincidencias de puntos clave de imagen extraídas en la etapa d).

Description

DESCRIPCIÓN
Método para modelado en 3D basándose en procesamiento de estructura a partir de movimiento de imágenes en 2D dispersas
Este documento se refiere al procesamiento basado en estructura a partir de movimiento de varias imágenes dispersas con el fin de extraer información de una pluralidad de objetos, cada uno de los cuales es común a todas las imágenes.
Un modelo tridimensional de uno o más objetos se crea a partir de un conjunto de imágenes bidimensionales dispersas de los objetos tomadas desde diferentes ángulos. Este modelo proporciona a su vez medidas precisas de los objetos deseados. Estas medidas pueden usarse para una variedad de fines tales como impresión en 3D, reconocimientos aéreos, realización de mapas geográficos, incluyendo, pero sin limitarse a, hacer coincidir dimensiones antropométricas con un atuendo correspondiente, ya sea tal atuendo ropa o accesorios.
Para crear el modelo tridimensional, se usa una cámara para captar varias imágenes de un objeto. Las imágenes se toman desde diversos ángulos para proporcionar tantas perspectivas del objeto como se desee. No se imponen restricciones específicas sobre la distancia, secuencia o ángulo de las imágenes fotográficas tomadas. Se emprende un análisis durante y después de haberse captado todas las imágenes relacionadas con el objeto dado. El procesamiento de imágenes extraerá características relevantes a partir de cada una de las imágenes e identificará puntos correspondientes a lo largo de todas las imágenes. Se asigna un descriptor distintivo a cada punto. Se usan algoritmos de procesamiento de imágenes invariables con respecto a la escala para determinar qué paquete de imágenes debe agruparse para un procesamiento eficiente. Esta información anteriormente mencionada se usa a su vez para crear una tabla de coincidencias y extraer automáticamente todos los parámetros internos y externos de la cámara. Se aplican algoritmos de coincidencia en estéreo para extraer una nube de puntos densa. La nube extraída de puntos correspondientes se ensambla para recrear un modelo texturizado de alto nivel que puede a su vez rotarse y examinarse en un espacio en 3D.
La estructura a partir de movimiento (SfM) se refiere al procedimiento de estimar estructuras tridimensionales de la escena y el movimiento de las cámaras a partir de correspondencias de puntos en secuencias de imágenes bidimensionales. El movimiento de cámara se refiere a parámetros internos (concretamente distancia focal, distorsión radial y punto principal) y externos (posición y orientación de la cámara) de la cámara.
Se espera que características individuales del objeto estén presentes en más de una imagen. Por ejemplo, una característica en la posición x1 en la primera imagen h puede detectarse en las posiciones x2 y x3 en las imágenes segunda y tercera I2 y I3, respectivamente. Una tupla de este tipo de características correspondientes se denomina correspondencia. Si se conocen las cámaras y sus posiciones en el espacio, es posible reconstruir puntos en 3D del objeto observado directamente. Esto puede lograrse intersecando los rayos a partir de los centros de cámara a través de los puntos característicos de una correspondencia particular. Esta técnica se denomina triangulación. Sin embargo, en el caso de parámetros de cámara desconocidos, sólo se usarán las imágenes.
La bibliografía enseña varios enfoques para resolver el problema de estimar estructuras tridimensionales de la escena y el movimiento de las cámaras a partir de correspondencias de puntos en secuencias de imágenes bidimensionales. Los flujos funcionales de SfM clásicos procesan imágenes de manera discontinua y gestionan el procedimiento de modelado sin realizar ninguna suposición sobre la escena de la que se obtienen imágenes o sobre el equipo de adquisición (Farenzena, Fusiello y Gherardi, 2009). La patente estadounidense n.° US8837811 (2014) describe un flujo funcional de SfM para estimar parámetros externos de cámara usando un enfoque en dos etapas. Los flujos funcionales existentes o bien suponen parámetros internos conocidos, o parámetros internos constantes, o bien se basan en datos de EXIF combinados con información externa (dimensiones de CCD de cámara) (Crandall, Owens, Snavely y Huttenlocher, 2011) (Wu, 2013). A pesar de que ya se conoce el método de calibración de cámara interna automática (autocalibración) en la bibliografía (Triggs, 1997) (Gherardi y Fusiello, 2010) (Toldo, Gherardi, Farenzena y Fusiello, 2015), lo que falta es un sistema fiable para estimar parámetros tanto internos como externos con un procedimiento de agrupación que favorezca la agrupación de cámaras con los mismos parámetros internos.
ROBERTO TOLDO ET AL “Hierarchical structure-and-motion recovery from uncalibrated images”, ARXIV. ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 1 de junio de 2015 (01-06-201501), XP080794062, DOI: 10.1016/J.CVIU.2015.05.011 describe un método de estructura y movimiento, que requiere encontrar movimiento de cámara y estructura en 3D a partir de coincidencias de puntos. Se presenta un flujo funcional, que abarca un enfoque jerárquico con un procedimiento de autocalibración para procesar imágenes sin información auxiliar.
R. Toldo ET AL: “ACCURATE MULTIVIEW STEREO RECONSTRUCTION WITH FAST VISIBILITY INTEGRATION AND TIGHT DISPARITY BOUNDING”, The International Archives of the Photogrammetry, 1 de febrero de 2013 (01­ 02-2013), páginas 243-249, XP055414267, DOI: 10.5194/isprarchives-XL-5-W1-243-2013 describe un método de reconstrucción en estéreo de múltiples puntos de vista. El algoritmo está integrado con la salida de un flujo funcional de estructura y movimiento. En la primera parte del algoritmo se extrae un mapa de profundidad independientemente para cada imagen. El mapa de profundidad final se genera a partir de la hipótesis de profundidad usando una técnica de optimización de campo aleatorio de Markov sobre la rejilla de imagen. Una estructura de datos de árbol octal acumula los votos procedentes de cada mapa de profundidad. Se propone un procedimiento para eliminar puntos errantes que considera la información de visibilidad y la puntuación de coincidencia de cada punto. Finalmente, se construye un mapa de textura usando tanto la visibilidad como la información de ángulo de visión.
CRANDALL ET AL: “Discrete-Continuous Optimization for Large-Scale Structure from Motion”, COMPUTER VISION AND PATTERN RECOGNITION (CVPR), 2011 IEEE CONFERENCE ON, IEEE, 20 de junio de 2011 (20-06-2011), páginas 3001-3008, XP032038128 DOI: 10.1109/CVPR.2011.5995626, ISBN: 978-1-4577-0394-2 describe una formulación para estructura a partir de movimiento basándose en hallazgo de una solución inicial basta usando una optimización híbrida discreta-continua, y después mejorando esa solución usando ajuste de paquetes. La etapa de optimización inicial usa una formulación de campo aleatorio de Markov (MRF) discreto, acoplada con un refinamiento de Levenberg-Marquardt continuo. La formulación incorpora de manera natural diversas fuentes de información tanto sobre las cámaras como sobre los puntos, incluyendo geoetiquetas con ruido y estimaciones de puntos de fuga.
Todos los flujos funcionales de SfM emplean detectores y descriptores de puntos clave robustos en la primera fase. Los puntos clave son puntos distintivos y repetibles que se extraen a partir de cada imagen. Los detectores típicos usados en flujos funcionales de SfM se basan en laplaciano del gaussiano (Lindeberg, 1998) o diferencia de gaussiano (patente estadounidense n.° US6711293 B1, 2004). La vecindad de cada punto clave se codifica en un descriptor, es decir una descripción numérica de las propiedades del fragmento de imagen que rodea al punto clave. Esto permite hacer coincidir los puntos clave a lo largo de diferentes imágenes. Se han propuesto varios descriptores en la bibliografía (Tola, Lepetit y Fua, 2010; patente estadounidense n.° US6711293 B1, 2004) (patente estadounidense n.° EP1850270 B1, 2010). En SfM es importante usar descriptores robustos tanto frente al ruido como frente a la deformación fotométrica. Aunque el tiempo no es una cuestión crítica durante la fase de extracción de puntos clave, se vuelve importante durante la coincidencia de descriptores porque la complejidad puede surgir rápidamente con el número de imágenes empleadas. Lo que falta es un descriptor y un algoritmo de coincidencia específicamente adaptados para tareas de estructura a partir de movimiento y un procedimiento para descubrir imágenes vecinas usando la menor información posible.
Cuando se extraen los parámetros internos y externos de la cámara, se extrae una nube y una superficie de puntos densas. El objeto del estéreo de múltiples puntos de vista (MVS) es extraer una reconstrucción de superficie o nube de puntos en 3D densas a partir de múltiples imágenes tomadas desde puntos de vista de cámara conocidos. Los parámetros internos y externos de la cámara pueden proceder de un enfoque de SfM automático o un entorno previamente calibrado. Esto es un problema bien estudiado con muchas aplicaciones prácticas e industriales. Los exploradores de láser proporcionan reconstrucciones en 3D muy precisas y detalladas. Sin embargo, se basan en hardware caro, son difíciles de llevar a cabo y bastante complejos de establecer, especialmente para reconstrucciones en exterior a gran escala. En todos estos casos, puede aplicarse MVS satisfactoriamente. En Seitz, Curless, Diebel, Scharstein y Szeliski (2006) se presentan varios algoritmos en estéreo de múltiples puntos de vista y se traza una taxonomía completa. En la patente estadounidense n.° US20130201187 (2013) se aplica un procedimiento en estéreo de múltiples puntos de vista basado en imágenes a la generación de caras. El método usa detección de puntos de referencia faciales en un procedimiento en estéreo de múltiples puntos de vista. Lo que falta es un sistema en estéreo de MVS ajustable a escala fuertemente guiado por la estructura y la información de visibilidad extraída por el flujo funcional de información de SfM.
Algunas técnicas de MVS usan siluetas extraídas de manera automática o manual para reconstruir un objeto en 3D visible que son completamente visibles en todas las imágenes o simplemente desechar la información de fondo. Las siluetas también pueden usarse para potenciar el procedimiento de reconstrucción (Hernandez Esteban y Schmitt, 2004). En la patente estadounidense n.° US20140219550 (2014) se extraen siluetas de una manera automática y se usan para estimar posturas de un objeto en 3D articulado. Cuando se usan siluetas, el principal problema es que simples errores durante el procedimiento de extracción conducen a grandes errores de reconstrucción. Lo que falta es un procedimiento de propósito general preciso para la extracción guiada de siluetas.
Este documento describe un aparato, un método y técnicas para crear un modelo en 3D mediante el procesamiento de una serie de imágenes fotográficas dispersas tomadas desde diferentes ángulos con una cámara convencional, incluyendo, pero sin limitarse a, cámaras encontradas en teléfonos móviles de consumo.
Se usa una cámara para captar varias imágenes de un objeto. Las imágenes se toman desde diversos ángulos para proporcionar tantas perspectivas del objeto como se desee. No se imponen restricciones específicas sobre la distancia, secuencia o ángulo de las imágenes fotográficas tomadas. Se emprende el análisis durante y después de haberse captado todas las imágenes relacionadas con el objeto dado. El procesamiento de imágenes extraerá características relevantes a partir de cada una de las imágenes e identificará puntos clave y correspondencia a lo largo de todas las imágenes.
Se usan algoritmos de procesamiento de imágenes invariables con respecto a la escala para determinar qué paquete de imágenes debe agruparse para un procesamiento eficiente. Esta información anteriormente mencionada se usa a su vez para crear una tabla de coincidencias y extraer automáticamente los parámetros internos y externos de todas las cámaras. Se aplican algoritmos de coincidencia en estéreo para extraer una nube de puntos densa. Se ensambla la nube extraída de puntos correspondientes para recrear un modelo texturizado de alto nivel que a su vez puede rotarse y examinarse en un espacio en 3D.
El objeto de la invención es un método del tipo de estructura a partir de movimiento tal como se define en la reivindicación 1.
En una realización, el número óptimo de puntos clave que van a extraerse para cada imagen se calcula usando un umbral de puntuación de respuesta global, considerando todos los puntos clave extraídos a partir de todas las imágenes. A modo de ejemplo, puede extraerse un valor de puntuación de respuesta para un único punto clave como respuesta absoluta de filtros de gradiente o filtros de laplaciano del gaussiano aplicados en la posición de imagen del punto clave. La fase de extracción de puntos clave comprende calcular una puntuación de respuesta para cada punto clave y se tiene en cuenta un número predeterminado de puntos clave con las puntuaciones de respuesta más altas, mientras que se ignoran los puntos clave más alejados.
En una realización, los descriptores portan información específica para la vecindad del punto usando filtros derivados de direccionamiento. Pueden extraerse una o varias rotaciones locales para cada punto clave. Los filtros se dirigen de manera coherente con la rotación de punto clave de una manera continua. Los filtros pueden calcularse previamente junto con un conjunto discreto de direcciones. La respuesta de cada filtro se evalúa en células radiales colocadas a diferentes distancias desde los puntos. El descriptor se codifica en un histograma unidimensional en el que cada bin recopila la puntuación procedente de cada célula y a lo largo de cada dirección. En una realización preferida, el descriptor se calcula en una región circular colocada alrededor del punto clave y subdividida en subregiones. El descriptor está constituido por un histograma que comprende un número predeterminado de bins que pueden adoptar diferentes valores, calculándose los valores basándose en la respuesta de cada píxel individual que pertenece a cada subregión a un filtro de direccionamiento que se dirige en un número predeterminado de orientaciones.
Los parámetros extraídos a partir del procesamiento de las imágenes se basan en un algoritmo en 2 etapas que comprende un primer procedimiento de autocalibración para extraer parámetros de cámara internos con agrupaciones de cámaras de tamaño máximo fijo y una reconstrucción euclídea posterior con parámetros internos de cámara conocidos. En la etapa de autocalibración se define una pluralidad de grupos de calibración, conteniendo cada grupo de calibración una pluralidad de agrupaciones de imágenes, usando un algoritmo de agrupación de tal manera que las agrupaciones se fusionan de manera iterativa en un modelo expresado en un sistema de referencia local común. La agrupación se lleva a cabo empezando a partir de agrupaciones que pertenecen al mismo grupo de calibración. En una realización adicional preferida, la etapa de autocalibración es jerárquica y comprende una etapa de modelado en estéreo proyectivo en el caso de fusionar imágenes individuales, una etapa de resección/intersección en el caso de añadir una imagen a una agrupación, y una etapa de fusión de dos modelos en caso de fusionar dos grupos reconstruidos independientemente entre sí. Las imágenes se asocian a parámetros de EXIF y los grupos de calibración se forman basándose en la similitud entre los parámetros de EXIF de las imágenes. En la etapa de reconstrucción se define una pluralidad de grupos de calibración, conteniendo cada grupo de calibración una pluralidad de agrupaciones de imágenes, y en la que se usa un algoritmo de agrupación de tal manera que las agrupaciones se fusionan de manera iterativa en un modelo expresado en un sistema de referencia local común, llevándose a cabo la agrupación empezando a partir de agrupaciones que pertenecen al mismo grupo de calibración.
Las imágenes se organizan en un grafo de proximidad aproximado, que se construye en primer lugar usando un subconjunto de puntos de cada imagen. Se eligen los puntos con una escala más grande para cada imagen y se hacen coincidir con todos los demás subconjuntos de las otras imágenes para calcular la puntuación de proximidad de imágenes. Después se extraen pares de imágenes vecinas a partir de este grafo anteriormente mencionado repitiendo un algoritmo de árbol de expansión máxima varias veces con el fin de garantizar una conexión de k aristas en el subgrafo resultante. En una realización preferida, la organización de imágenes en el grafo de proximidad comprende la iteración de un algoritmo de árbol de expansión máxima para identificar el número máximo de conexiones entre imágenes correspondientes a la puntuación de similitud máxima, por medio de las siguientes subetapas:
c1) identificar un trayecto que conecta las imágenes, de tal manera que la similitud es máxima para imágenes adyacentes;
c2) guardar los pares de imágenes para los procesamientos posteriores;
c3) establecer a cero la similitud de los pares de imágenes identificados;
c4) identificar un trayecto adicional que conecta las imágenes, de tal manera que la similitud es máxima para imágenes adyacentes;
c5) guardar los pares de imágenes adicionales para los procesamientos posteriores;
c6) establecer a cero la similitud de los pares de imágenes adicionales identificados;
c7) repetir las etapas c4) a c6).
En una realización, la información de estructura dispersa de la escena se usa para guiar la coincidencia en estéreo, de modo que se sigue el método de estructura a partir de movimiento mediante una fase para generar un modelo en 3D por medio de un algoritmo en estéreo de múltiples puntos de vista basándose en dicha nube de puntos en 3D dispersa y en dichos parámetros internos y externos de los dispositivos de adquisición. El algoritmo en estéreo de múltiples puntos de vista comprende calcular un mapa de profundidad para cada imagen y posteriormente generar una nube de puntos en 3D densa basándose en todos los mapas de profundidad calculados. El rango de búsqueda de profundidad de cada píxel de cada imagen se limita usando los puntos en 3D dispersos vistos por la propia imagen. Sólo se consideran los puntos que están más cerca del rayo óptico y se emplea una función de su distancia para calcular la profundidad mínima y máxima a lo largo del rayo.
En una realización, antes del ensamblaje del modelo den 3D final, se implementa un procedimiento de eliminación de datos aberrantes global para aumentar la exactitud del modelo en el espacio en 3D final. Este procedimiento se basa en criterios específicos incluyendo la puntuación de coincidencia y la información de visibilidad de cada punto. Cada punto se proyecta sobre cada píxel en 2D de imagen. Para cada píxel, se considera que el punto con la máxima puntuación de coincidencia y visto por la propia imagen está bloqueando el otro punto de la misma célula. Se resta una función de la puntuación de coincidencia del punto bloqueante a partir de la puntuación de coincidencia de los otros puntos. Cuando un punto alcanza una puntuación de coincidencia negativa se marca como dato aberrante y se elimina. Se repite el procedimiento varias veces a lo largo de todas las imágenes hasta la convergencia, es decir, no se eliminan más puntos.
En una realización, se usan siluetas del objeto en las imágenes en 2D para guiar el procesamiento en estéreo y eliminar la zona de fondo de manera coherente. Se define una herramienta de selección de silueta interactiva. La imagen se descompone en superpíxeles, es decir agrupación de píxeles continuos con baja variación de color. Se pide al usuario que marque una zona de fondo y una zona de primer plano. El algoritmo clasifica automáticamente los superpíxeles de fondo y primer plano con un enfoque de crecimiento de región que define, por tanto, la silueta. Pueden usarse siluetas como entrada de una técnica de fotoconsistencia (space carving) o para eliminar el fondo durante la fase de coincidencia en estéreo. En una realización preferida, la fase para extraer siluetas a partir del fondo de una imagen comprende las siguientes etapas:
g) subdividir la imagen en grupos de píxeles contiguos con variación de color inferior a un umbral predeterminado;
h) visualizar la imagen a un usuario;
i) identificar, el usuario, al menos una zona en el primer plano y al menos una zona en el fondo en la imagen por medio de trazado de al menos dos marcas en la imagen, trazándose las marcas con diferente modalidad para indicar la zona de primer plano y la zona de fondo, respectivamente;
j) crear dos agrupaciones de grupos de píxeles con respecto al primer plano y al fondo, respectivamente;
k) asignar el grupo de píxeles en contacto con cada marca del usuario a una de las dos agrupaciones de grupos de píxeles basándose en la modalidad de tal marca;
l) crear una lista temporal de grupos de píxeles aún no asignados a una de las dos agrupaciones;
m) asignar de manera iterativa el grupo de píxeles que está presente en la lista temporal y tiene la diferencia mínima de color medio con respecto a uno de sus grupos de píxeles adyacentes a la agrupación de grupos de píxeles a la que pertenece tal uno de sus grupos de píxeles adyacentes.
La invención se refiere también a un sistema para generar un modelo en 3D de un objeto de interés, comprendiendo dicho sistema al menos un dispositivo de adquisición de imágenes y una unidad de procesamiento configurada para realizar el método que se describe a continuación.
Estos y otros aspectos, sus implementaciones se describen en detalle en los dibujos, la descripción y las reivindicaciones.
La figura 1 muestra un ejemplo típico de adquisición de fotografías. En este ejemplo, el objeto es un cuerpo humano y el sujeto se queda quieto mientras se toman fotografías alrededor del sujeto con un dispositivo equipado con cámara.
La figura 2 muestra todo el flujo funcional de reconstrucción en 3D desde la introducción de las fotografías en 2D hasta la creación de un modelo de color en 3D.
La figura 3 muestra el procedimiento para extraer y seleccionar puntos clave a partir de las imágenes.
La figura 4 muestra cómo se calcula el descriptor para cada punto clave.
La figura 5 muestra un ejemplo de cómo se eligen un par de imágenes para hacerlas coincidir, partiendo de un grafo de vecindad aproximada y usando un esquema iterativo de árbol de expansión mínimo (MST).
La figura 6 y la figura 7 muestran un ejemplo de dendrogramas jerárquicos en dos etapas, respectivamente, para la fase de reconstrucción autocalibrada y la fase de reconstrucción euclídea.
La figura 8 muestra el procedimiento para el cálculo de mapas de profundidad y la creación de la nube de puntos en estéreo.
La figura 9 muestra cómo se calcula el rango de búsqueda de profundidad de un único píxel a partir de puntos dispersos de posiciones en 3D conocidas.
La figura 10 muestra un ejemplo de cómo se usan las restricciones de visibilidad durante el procedimiento de eliminación de valores atípicos global del procedimiento en estéreo de múltiples puntos de vista.
La figura 11 muestra el procedimiento para segmentar el primer plano y el fondo de una imagen con la ayuda del usuario.
La figura 12 muestra un ejemplo de segmentación y extracción de silueta.
Se proporciona un dispositivo de medición automático compuesto por una cámara de espectro visible que capta desde una pluralidad de puntos de vista. La presente invención incluye un flujo funcional de reconstrucción completamente automática capaz de recuperar la forma del objeto en 3D y los parámetros del dispositivo tanto internos como externos.
Se describirán a continuación realizaciones haciendo referencia a la figura 1 a la figura 12.
Haciendo referencia a la figura 1, el objeto del modelado tridimensional es un ser humano. Se requiere que el sujeto 1 se quede quieto mientras se toman una variedad de capturas. El dispositivo puede ser cualquier dispositivo equipado con una cámara de espectro visible. Como alternativa, todas las capturas pueden tomarse simultáneamente usando una variedad de dispositivos diferentes. El objeto de la reconstrucción puede ser el cuerpo completo o una parte específica del cuerpo. El ejemplo de la figura 1 muestra una ilustración gráfica de uno de los posibles procedimientos de adquisición en los que el sujeto 1 se queda quieto y el dispositivo 2 de adquisición rota a su alrededor.
La figura 2 es un diagrama de bloques que ilustra toda el flujo funcional de reconstrucción. Partiendo de una pluralidad de imágenes, el procesamiento puede recuperar la forma en 3D mediante un modelo texturizado en 3D. Pueden realizarse mediciones y operaciones de ajuste a escala en el modelo extraído. Se requiere un dispositivo cálculo para el procesamiento. Como alternativa, todo el procesamiento puede realizarse en un servidor y devolverse el resultado al dispositivo cliente después del cálculo.
Las siluetas 301 pueden usarse opcionalmente en combinación con imágenes en varias fases del flujo funcional de reconstrucción. Las siluetas pueden extraerse con cualquier método genérico manual o automático o con el método ilustrado en la figura 12 y que se presenta más adelante en el presente documento.
En el bloque 302, se extraen puntos de característica a partir de las imágenes. El detector de puntos de característica es invariante en escala y debe tener una alta repetibilidad. Varios extractores de puntos de característica pueden ser adecuados, como por ejemplo el presentado en (la patente estadounidense n.° US6711293 B1, 2004) y (Lindeberg, 1998). A menudo, se asocia una respuesta de puntuación a cada punto clave extraído. Se asocia un descriptor de histograma a cada punto, tal como se ilustra en la figura 4 y se presenta más adelante en el presente documento.
A continuación, en el bloque 304, las imágenes de entrada desordenadas pueden organizarse en un grafo de proximidad tal como se ilustra en la figura 5, este procedimiento se presenta con mayor detalle más adelante en el presente documento. Opcionalmente, pueden usarse datos 303 de giroscopio o acelerómetros de entrada como información auxiliar para determinar imágenes vecinas.
En el bloque 305 se realiza una fase de coincidencia estrecha. En particular, la coincidencia de puntos clave se conecta en pistas siguiendo un enfoque de vecino más cercano integrado con varias posibles comprobaciones de validez. Como ejemplo, en una realización, una primera comprobación de validez puede consistir en rechazar aquellos puntos clave para los que la razón de la distancia del vecino más cercano con respecto a la distancia del segundo vecino más cercano es mayor que un umbral. Además, pueden descartarse las coincidencias que no son inyectivas y/o pueden rechazarse las coincidencias geométricamente incoherentes. Además, la coherencia geométrica puede someterse a prueba mediante la estimación robusta de homografías y matrices fundamentales en un marco consenso de muestra de estimador M (MSAC). Pueden realizarse otras técnicas adecuadas para validar la coherencia geométrica entre puntos de coincidencia de manera alternativa o además de la técnica MSAC.
Para acelerar la fase de coincidencia, cuya complejidad puede aumentar rápidamente con el número de imágenes empleadas, puede emplearse una técnica de agrupamiento de puntos clave para producir ocho grupos angulares equidistantes, según la orientación dominante, tal como se registra en el descriptor del punto clave. De esta manera, solo se hacen coincidir los puntos clave que pertenecen a la misma agrupación.
Según una idea clave de la presente divulgación, los bloques 307 y 308 describen una estructura jerárquica de 2 etapas y un algoritmo de movimiento que consiste en un primer procedimiento de autocalibración para extraer parámetros internos de la cámara y una posterior reconstrucción euclídea con parámetros internos de cámara conocidos.
En el bloque 307, la pluralidad de imágenes se organizan en un dendrograma equilibrado que guía el procedimiento de reconstrucción previa y autocalibración tal como se explica más adelante en el presente documento y se ilustra en general en la figura 6. Los datos de EXIF y la conjetura de parámetros externos/internos se usan para mejorar este procedimiento. En el bloque 308, el dendrograma mencionado anteriormente puede atravesarse de nuevo para producir una reconstrucción euclídea del objeto en forma de una nube de puntos en 3D, aún no en forma de superficie. La salida 309 de este procedimiento consiste en una nube de puntos en 3D dispersa, en la que una pluralidad de puntos están ubicados respectivamente en una pluralidad de ubicaciones en el espacio en 3D con relación a un origen global, junto con parámetros internos y externos de los dispositivos de adquisición.
Las etapas siguientes, de 310 a 313, del flujo funcional, están dedicadas a resolver el problema del estéreo de múltiples puntos de vista, cuyo objetivo es extraer una reconstrucción de superficie en 3D densa a partir de una pluralidad de imágenes.
La información dispersa, obtenida previamente en 309 de la estructura y el flujo funcional de movimiento, puede usarse para calcular el rango de mapas de profundidad en el bloque 310. La generación del mapa de profundidad se ilustra con más detalles en la figura 8 y se describe en lo que sigue. En la práctica, los mapas de profundidad pueden corromperse por puntos errantes, por tanto, son deseables estrategias de detección de valores atípicos, tales como las proporcionadas por la presente divulgación. En particular, en el bloque 311, los mapas de profundidad pueden refinarse y mejorarse gracias a un método de rechazo de valores atípicos basado en la visibilidad global que se ilustra generalmente en la figura 10 y se describe con más detalles más adelante en el presente documento. La salida dispersa de la estructura del flujo funcional de movimiento puede usarse en el bloque 312 para recuperar la forma del objeto de la silueta.
Finalmente, en el bloque 313, se combinan las salidas de estos procedimientos para extraer una superficie en 3D densa que describe la escena. La malla obtenida puede colorearse y texturizarse aprovechando la información de visibilidad de los puntos de unión.
Haciendo referencia a la figura 3, un procedimiento para extraer y puntuar descriptores de puntos clave de una pluralidad de imágenes se muestra generalmente como un diagrama de flujo. El procedimiento incluye un primer bloque 401 en el que se carga la imagen actual. A continuación, en el bloque 402, se extraen los descriptores de puntos clave. Si, en el bloque 403, tienen que procesarse más imágenes, entonces se repite el procedimiento desde el bloque 401 hasta el 403; si no, según una idea clave de la presente divulgación, todos los puntos clave de la imagen se clasifican según su puntuación en el bloque 404. A diferencia de otras implementaciones, en las que se seleccionan los mejores puntos clave por imagen, en el bloque 405 se mantienen los N puntos clave con la mejor puntuación con respecto a todas las imágenes y se descartan los demás. De esta manera, la puntuación de los puntos clave extraídos tiene una variación limitada entre las imágenes, lo que da como resultado una fase de coincidencia más fiable. El número de puntos clave N deseados puede definirse como un múltiplo del número de imágenes.
Haciendo referencia a la figura 4, se presenta el descriptor de puntos clave. Pueden usarse muchos detectores y descriptores de puntos clave con este propósito. Según una realización de la presente divulgación, los puntos clave pueden extraerse como blobs con niveles de escala asociados, detectando los extremos del espacio de escala del laplaciano normalizado a escala. Los blobs pueden definirse como regiones brillantes sobre fondos oscuros o viceversa. Efectivamente, el laplaciano de escala normalizada se normaliza con respecto al nivel de escala en el espacio de escala y se define como
- , , í d i 2L < r L , , s
VnormL(x,y;s) = s(Lxx Lyy) = s ( ^ 7 ^ 2 ) = sV (G(x,y;s) *f(x ,y))
a partir de valores de imagen suavizados L(x,y;s) calculados a partir de la imagen de entrada f(x,y) mediante convoluciones con núcleos gaussianos,
i
G (x ,y ;s ) ---------e-(x2+y2)/(2s)
2irs
de diferentes anchuras s = o2, donde a indica la desviación estándar y s la varianza del núcleo gaussiano.
A diferencia de otros métodos, es posible que la imagen no se redimensione a lo largo del valor de escala diferente del espacio de escala. Los extremos del espacio de escala pueden detectarse a partir de los puntos en el espacio de escala en los que la escala laplaciana normalizada adopta extremos locales con respecto al espacio y la escala. De esta manera se garantiza la invariancia de escala, en el sentido de que los puntos de interés se conservan bajo la transformación de escala, y los niveles de escala seleccionados se transforman según la cantidad de ajuste a escala. Dado que la operación laplaciana es invariante en rotación, los puntos de interés detectados también son invariantes en rotación.
Para aumentar la precisión de la estimación de escala, puede ajustarse un polinomio cuadrático a los valores de magnitud alrededor de cada extremo del espacio de escala para localizar el extremo del espacio de escala con una resolución mayor que la densidad de muestreo a lo largo del espacio y la escala. Dado que el operador laplaciano puede conducir a fuertes respuestas a lo largo de las aristas, además de responder a estructuras de imagen similares a blobs y esquinas, es deseable suprimir dichos puntos de arista, que son menos útiles para la coincidencia. Para ello, pueden formularse varios criterios de supresión. Como ejemplo, la razón entre los valores propios de la matriz de Hesse
Figure imgf000008_0001
calculados en la posición y la escala de los puntos de interés pueden considerarse de manera eficiente inspeccionando la traza y el determinante de la matriz de Hesse, en particular:
det. de H L_
traza de H L
Figure imgf000008_0002
donde r > 1 indica un límite superior en la razón permitida entre los valores propios mayores y menores. Para suprimir las características de imagen con bajo contraste, los puntos de interés también se establecen generalmente como umbral en la magnitud de la respuesta.
En cada punto de interés obtenido como anteriormente, se calcula un descriptor de imagen aprovechando un histograma local de la dirección del gradiente. Para obtener la invariancia de escala del descriptor, el tamaño de este vecindario local debe normalizarse de una manera invariante en escala. Para obtener la invariancia en rotación del descriptor, se determina una orientación dominante en esta vecindad a partir de las orientaciones de los vectores de gradiente en esta vecindad y se usa para orientar una rejilla 502 radial sobre la cual se calcula el histograma dependiente de la posición con respecto a esta orientación dominante para lograr la invariancia en rotación.
Para determinar una estimación de orientación preferida para el punto de interés, pueden emplearse varios métodos. Por ejemplo, puede acumularse un histograma local de direcciones de gradiente en una vecindad alrededor del punto de interés con las direcciones de gradiente calculadas a partir de vectores de gradiente VL(x,y,s) en la escala de detección s del punto de interés y la zona de la ventana de acumulación proporcional a la escala de detección s, por lo que se detectan picos en un histograma de orientación. Para manejar situaciones en las que puede haber más de una orientación dominante alrededor del punto de interés, se aceptan múltiples picos si la altura de los picos secundarios es superior al 80% de la altura del pico más alto. En el caso de múltiples picos, cada pico se usa para calcular un nuevo descriptor de imagen para la estimación de orientación correspondiente.
Al calcular el histograma de orientación, los incrementos pueden ponderarse por la magnitud del gradiente y también ponderarse por una función de ventana gaussiana centrada en el punto de interés y con su tamaño proporcional a la escala de detección. Las orientaciones pueden calcularse aprovechando una familia de núcleos de diferenciación discretos calculados previamente como, por ejemplo, los filtros Prewitt.
Alternativamente, dada la estimación de orientación y escala de un punto de interés, tal como se muestra generalmente en 501, se coloca una rejilla circular en el dominio de la imagen, centrada en el punto de interés, con su orientación determinada por la orientación del punto de interés. En esta realización, la rejilla circular comprende dos bins en dirección radial y 8 en dirección angular, lo que da como resultado 16 bins de ubicación. Cada bin representa una orientación angular y, en particular, representa las sumas acumuladas de la respuesta de cada vector de píxel al filtro dirigible precalculado, ajustado en ángulo para la orientación del punto de interés. De esta forma, los filtros se dirigen de manera coherente con la rotación del punto clave de manera continua. En esta realización, se usa una convolución con 8 filtros Prewitt precalculados y cada bin se pondera con respecto al área del bin. De esta manera, puede derivarse un descriptor radial de 128 bins.
Haciendo referencia a la figura 5, se ilustra la recuperación del grafo de proximidad. El objetivo de la recuperación del grafo de proximidad es determinar qué imágenes se solapan o pueden combinarse entre sí. En el grafo de proximidad, los nodos son las imágenes y las aristas corresponden a relaciones epipolares entre ellos. Se sabe que las técnicas que consideran todos los puntos de cada imagen son exigentes a nivel de cálculo. Por tanto, son deseables estrategias de coincidencia amplia alternativas, tales como la proporcionada por la presente divulgación. En particular, el método descrito más adelante en el presente documento se basa en la idea de seleccionar un subconjunto de puntos representativos por cada imagen para reducir la complejidad a nivel de cálculo.
Como ejemplo, inicialmente todas las imágenes se organizan en un grafo 601 de proximidad aproximado usando un subconjunto seleccionado de puntos de cada imagen. Más precisamente, los puntos con una escala mayor pueden elegirse para cada imagen y hacerse coincidir con todos los demás subconjuntos de las otras imágenes para calcular la puntuación de proximidad entre imágenes. Por tanto, el grafo puede definirse mediante la especificación de un conjunto de vértices y un conjunto de aristas ponderadas establecidos de la siguiente manera: los vértices son las imágenes y la arista ponderada entre dos imágenes se define como el número de coincidencias con mayor escala entre las imágenes. Luego, pueden extraerse pares de imágenes vecinas a partir de este grafo anteriormente mencionado iterando un algoritmo de árbol de expansión máximo varias veces para garantizar una conexión de k aristas en el subgrafo resultante. Puede analizarse el grafo denso completo y puede extraerse el árbol 602 de expansión máximo. A su vez, la arista de 602 puede extraerse del grafo original y añadirse al subgrafo buscado. A partir del grafo 603 restante, puede extraerse el árbol 604 de expansión máximo correspondiente y añadirse al subgrafo. Se repite el procedimiento k veces, donde k se elige lo más alto posible para garantizar que k árbol de expansión pueda extraerse del grafo de proximidad inicial.
La presente divulgación presenta un flujo funcional de reconstrucción completamente automática capaz de recuperar la forma del objeto en 3D y los parámetros del dispositivo de adquisición tanto internos como externos. Haciendo referencia a la figura 6 y la figura 7, la pluralidad de imágenes se alimenta a un algoritmo en 2 etapas que comprende un primer procedimiento de autocalibración para extraer parámetros internos de la cámara con una agrupación máxima de tamaño de cámaras y una reconstrucción euclídea posterior con parámetros internos de la cámara conocidos.
Como ilustración de ejemplo, la figura 6 describe la etapa de autocalibración en una pluralidad de imágenes. Según una idea clave de la presente divulgación, las imágenes pueden organizarse en un árbol mediante un algoritmo de agrupamiento aglomerativo personalizado que guía el procedimiento de autocalibración desde las hojas hasta la raíz. Como resultado, el problema se divide en instancias más pequeñas, que luego se resuelven por separado y se combinan. Haciendo referencia todavía a la figura 6, cada nodo de este árbol anteriormente mencionado representa un modelo parcial independiente obtenido de la agrupación de imágenes correspondiente. Un modelo es un conjunto de cámaras y puntos dispersos en 3D expresados en un marco de referencia local.
La agrupación aglomerativa puede basarse en una medida de similitud adaptada a la tarea de autocalibración. La medida de similitud en pares de imágenes puede definirse en términos del solapamiento de imágenes e información de EXIF, en particular puede calcularse teniendo en cuenta varios aspectos. Según una realización de ejemplo de la presente divulgación, el número de puntos de unión visibles en ambas imágenes, se tienen en cuenta cómo de bien se extienden sus proyecciones sobre las imágenes y la similitud entre los parámetros de EXIF, para definir la medida de similitud. La similitud entre agrupaciones se calcula, según la regla de vinculación simple, como la similitud de los dos objetos más similares en las diferentes agrupaciones.
El árbol se construye alimentando el agrupamiento jerárquico con la medida de similitud: partiendo de todos los conjuntos unitarios, cada barrido del algoritmo fusiona el par con la cardinalidad más pequeña entre las K parejas de agrupaciones más similares, definiéndose la cardinalidad de una pareja como la suma de la cardinalidad de las dos agrupaciones correspondientes. La cardinalidad de una agrupación es el número de elementos en la agrupación. En una realización de la presente divulgación, el parámetro K puede estar configurado en K = 5, de esta manera el primer criterio aglomerativo más cercano se suaviza mediante la introducción de un primer principio más pequeño en competencia que tiende a producir un árbol mejor equilibrado, lo que disminuye la complejidad de cálculo del procedimiento de calibración. En general, diferentes valores de K dan como resultado diferentes tipos de la agrupación ya que K controla la cantidad de equilibrio en el árbol alcanzado. Por ejemplo, cuando K = 1 el método propuesto subsume el agrupamiento aglomerativo convencional de un único eslabón sin equilibrado; cuándo K es mayor que o igual a la mitad del número de imágenes, se obtiene un árbol perfectamente equilibrado, pero el agrupamiento es escaso, ya que la distancia se ignora en gran medida.
Como ilustración de ejemplo, el árbol producido mediante este método se ilustra en la figura 6, las hojas del árbol corresponden a dos grupos de calibraciones con parámetros de EXIF similares. La medida de similitud anteriormente mencionada fomenta la fusión de agrupaciones con parámetros de EXIF similares en las primeras etapas del procedimiento aglomerativo. Esto se ilustra en la figura 6, donde los nodos 701, 702 representan la fusión entre modelos procedentes del primer grupo de calibración A, y 703, 704, 705, 706 se fusionan entre modelos procedentes del grupo de calibración B. Sólo al final del procedimiento, el nodo 707 representa un modelo obtenido a partir de diferentes grupos de calibración que se fusionan.
Durante la iteración de agrupamiento, cada vez que se intenta una fusión, se emprende una de las acciones de modelado correspondientes:
• Modelado en estéreo proyectivo: esta etapa se realiza cuando se fusionan dos imágenes, por ejemplo, en los nodos 701, 703, 704.
• Resección/intersección: cuando se añade una imagen a una agrupación, como sucede en los nodos 702, 706.
• Fusionar dos modelos y autocalibración: cuando se fusionan dos agrupaciones no triviales. Este es el caso de los nodos 705 y 707.
En el modelado en estéreo proyectivo, se calcula la matriz fundamental que relaciona las dos imágenes fusionadas a partir de correspondencias de puntos, por lo que se obtienen las parejas de cámaras proyectivas canónicas de la matriz fundamental. Estas cámaras se refinan estimando el plano en el infinito aprovechando una estimación aproximada de la focal basada en la diagonal de las imágenes. Se ejecuta una prueba de quiralidad y las coordenadas 3D de los puntos vinculados se obtienen mediante intersección. La quiralidad de un punto con respecto a una cámara dada es la propiedad de ese punto que especifica que se encuentra delante o detrás de la cámara. Por ejemplo, la intersección puede realizarse mediante los métodos de mínimos cuadrados lineales iterados.
Un error grave puede afectar a los resultados, por lo que es deseable ganar robustez frente a los valores atípicos aprovechando estrategias ad hoc, tales como las que se describen de ahora en adelante.
Como ejemplo, pueden eliminarse puntos en 3D analizando el número de condición del sistema lineal y/o su error de reproyección. Con este objetivo, se implementan dos pruebas en la presente divulgación. La primera prueba descarta las intersecciones mal acondicionadas, usando un umbral en el número de condición del sistema lineal. En algunas realizaciones de la presente divulgación, el umbral se establece en 10-4. La segunda prueba aplica la llamada regla de rechazo X84 para reconocer los valores típicos. En general, el módulo de intersección obedece a la siguiente estrategia. Tan pronto como una pista alcanza la longitud dos en un modelo dado (es decir, al menos dos imágenes de la pista pertenecen al modelo), las coordenadas del punto de unión correspondiente se calculan mediante intersección. Si la operación falla (debido a una de las dos pruebas descritas anteriormente), el punto en 3D se descarta provisionalmente pero se mantiene la pista. Se realiza un intento de calcular las coordenadas del punto de unión cada vez que aumenta la longitud de la pista dentro del modelo. Finalmente, se ejecuta el ajuste de paquetes para mejorar el modelo.
La etapa de resección/intersección consiste en aumentar un modelo añadiendo una sola imagen sin calibrar. Los puntos de unión pertenecientes al modelo que también son visibles en la imagen que se añadirá proporcionan un conjunto de correspondencias en 3D-2D, que se aprovechan para pegar la imagen al modelo parcial usando el algoritmo de transformada lineal directa dentro de MSAC, seguido por la minimización no lineal del error de reproyección al final. Después de las resecciones, los puntos de unión se actualizan por la intersección anteriormente descrita. Opcionalmente, el ajuste de agrupación puede ejecutarse en el modelo resultante.
La etapa de fusión consiste en estimar una transformación que lleva los dos modelos parciales al mismo marco de referencia. La transformación es una transformación de similitud si ambos modelos son euclídeos; si no, la transformación es una proyectividad. Si uno de los dos modelos es euclídeo, se busca la proyectividad que lleva el modelo proyectivo al euclídeo, recuperando de ese modo su marco de referencia euclídeo correcto. La transformación se recupera empleando el algoritmo de transformada lineal directa dentro del marco MSAC. Pueden usarse diferentes cantidades para calcular el residuo en las iteraciones de MSAC, por ejemplo, las longitudes de los segmentos en 3D que conectan los puntos correspondientes pueden usarse como residuos. Sin embargo, dada la ambigüedad de la escala, establecer el umbral de valor típico puede ser difícil de establecer, por tanto, en una realización, la longitud promedio de las proyecciones en 2D en las imágenes de los puntos en 3D se usa para definir residuos; de esta manera, puede establecerse fácilmente un umbral de valor típico significativo en píxeles.
El nuevo modelo se refina con un ajuste de paquetes (ya sea euclídeo o proyectivo) y se actualiza a un marco euclídeo cuando es posible gracias a la autocalibración.
Más adelante en el presente documento se describe una técnica de ejemplo que puede emplearse para realizar la autocalibración. Pueden distinguirse dos etapas principales. La primera etapa consiste en calcular una colimación de actualización coherente para transformar el modelo en uno euclídeo, dada una conjetura del parámetro interno de dos cámaras. Esta etapa produce una estimación de todas las cámaras excepto la primera. La segunda etapa consiste en puntuar todos los parámetros internos de las cámaras basándose la probabilidad de sesgo, relación de aspecto y punto principal. Más precisamente, el procedimiento de autocalibración toma como entrada un conjunto de matrices de proyección proyectivas junto con sus ventanas de visualización y devuelve el homólogo euclídeo mejorado de las matrices de cámara. Todas las cámaras están normalizadas gracias a la matriz de ventana de visualización. Una matriz de ventana de visualización se define como
donde w y h son la anchura y la altura de cada imagen. De esta manera, el valor esperado del punto principal es (0, 0) y el rango focal es [1/3, 3]. A continuación, el espacio de todos los parámetros de calibración posibles se aproxima suponiendo un sesgo nulo, una relación de aspecto igual a la unidad y los puntos principales centrados en la imagen. El espacio de búsqueda se reduce de esta manera a una región acotada del plano real. El error introducido con esta aproximación suele estar dentro del radio de convergencia de la optimización no lineal posterior. Se enumera el espacio de los parámetros internos de las cámaras y se refina la mejor solución mediante mínimos cuadrados no lineales. El procedimiento se itera sobre las posibles parejas focales. Para cada muestra, se calcula un candidato, la colimación de mejora H, estimando el plano en el infinito. Por tanto, cada cámara se actualiza a través de H, sus parámetros internos K se estiman y se usan para calcular la siguiente función de coste:
Figure imgf000011_0001
donde %) indica la entrada (i,j) de K y a, b, c, d son pesos adecuados.
C(K) refleja el grado en que K cumple con las expectativas a priori sobre los parámetros internos del dispositivo: el primer término tiene en cuenta el sesgo, que se espera que sea 0, el segundo penaliza las cámaras con una relación de aspecto diferente de 1 y las dos últimas cámaras pesadas donde el punto principal está lejos de (0, 0).
Se añaden todos los costes de cámara y se selecciona la pareja focal que corresponde al coste mínimo:
{ f j , f i ) = arg m in Y C2(K)
h . h 4 _ i
K
Por tanto, las cámaras obtenidas se refinan mediante mínimos cuadrados no lineales y se desnormalizan.
En principio, la autocalibración requiere un número mínimo de imágenes para funcionar, por ejemplo 4 imágenes con sesgo y relación de aspecto conocidos. Sin embargo, es deseable mantener un marco de referencia “casi” euclídeo desde el principio, para acondicionar mejor el procesamiento posterior. Por tanto, la autocalibración puede activarse para modelos a partir de dos imágenes. El resultado es una mejora euclídea aproximada; de hecho, estos modelos todavía pueden considerarse proyectivos, hasta que alcancen una cardinalidad suficiente. Después de ese punto, la autocalibración ya no se realiza y los parámetros internos de cada cámara se refinan adicionalmente sólo con el ajuste de paquetes, a medida que avanza el cálculo. Para no obstaculizar demasiado el procedimiento, los parámetros internos de una cámara se fijan después de que se hayan ajustado por paquetes junto con un número dado de cámaras.
Después de realizarse la autocalibración, la estructura jerárquica y el algoritmo de movimiento vuelven a ejecutarse en las imágenes calibradas. A diferencia del caso no calibrado, no se tiene en cuenta la información de EXIF en la especificación de la medida de similitud, esto da como resultado un dendrograma diferente producido por el algoritmo de agrupamiento jerárquico, tal como puede apreciarse en la figura 7. Como implementación de ejemplo, la medida de similitud entre dos imágenes li ,lj puede especificarse como:
Figure imgf000011_0002
donde Si y Sj representan el conjunto de puntos de unión visibles en ambas imágenes, y CH() es la zona del casco convexo de un conjunto de puntos de imagen y A i (Aj) es el área total de la imagen Ii(Ij). Dado que la imagen está calibrada, la acción que se emprende durante la fusión de agrupaciones cambia en consecuencia. En particular, durante la iteración de agrupamiento, cada vez que se intenta una fusión, se emprende una de las acciones de modelado correspondientes:
• Modelado en estéreo: esta etapa se realiza cuando se fusionan dos imágenes, por ejemplo, en los nodos 801, 803, 804.
• Intersección/resección: cuando se añade una imagen a una agrupación, como sucede en los nodos 802, 806.
• Fusionar dos modelos: cuando se fusionan dos agrupaciones no triviales.
Este es el caso de los nodos 805, 807 y 808.
En el modelado en estéreo, los parámetros de la orientación relativa de dos dispositivos de adquisición dados se obtienen por factorización de la matriz esencial que relaciona las dos imágenes consideradas. Esto equivale a conocer los parámetros externos de las dos cámaras en un marco de referencia local y, dado que los parámetros internos del dispositivo ya se han estimado en el procedimiento de autocalibración, las dos matrices de cámara se configuran fácilmente. Luego, los puntos de unión pueden obtenerse mediante la intersección de las pistas que involucran las dos imágenes, y el modelo puede refinarse opcionalmente con un ajuste de paquetes.
Cabe señalar que para que el modelado en estéreo sea exitoso, las dos imágenes deben satisfacer dos requisitos en conflicto: tener un gran número de puntos de unión en común y una línea base lo suficientemente grande como para permitir una solución bien acondicionada. El primer requisito se implementa mediante la medida de similitud usada para alimentar el agrupamiento aglomerativo, pero el segundo no se considera; como resultado, el emparejamiento determinado por la agrupación de imágenes no siempre es la mejor opción en lo que respecta al problema de la orientación relativa. Dado que la agrupación y el procesamiento de estructura y movimiento se producen simultáneamente, estas parejas se descartarán mediante simples comprobaciones de validez antes y después de intentar realizar el modelado en estéreo. La comprobación a priori requiere que la relación entre las dos imágenes se describa mediante una matriz fundamental (en lugar de una homografía), según algunos criterios de selección del modelo. La comprobación a posteriori considera el error residual y la comprobación de la quiralidad de los puntos antes y después del ajuste de paquetes.
La intersección puede realizarse mediante el método lineal de mínimos cuadrados iterados. En una realización de la presente divulgación pueden realizarse varias comprobaciones de validez. Como ejemplo, pueden eliminarse puntos analizando el número de condición del sistema lineal: las intersecciones mal acondicionadas pueden descartarse usando un umbral en el número de condición del sistema lineal. Además, puede adoptarse la llamada regla X84 y/o puede establecerse un umbral de salvaguardia para el error de reproyección. En general, la etapa de intersección obedece a la siguiente estrategia. Tan pronto como una pista alcanza la longitud dos en un modelo dado (es decir, al menos dos imágenes de la pista pertenecen al modelo), las coordenadas del punto de unión correspondiente se calculan mediante intersección. Si la operación falla (debido a una de las comprobaciones de validez anteriormente descritas), el punto en 3D se descarta provisionalmente pero se mantiene la pista. Se realiza un intento de calcular las coordenadas del punto de unión cada vez que aumenta la longitud de la pista dentro del modelo.
Los puntos de unión pertenecientes al modelo que también son visibles en la imagen que se añadirá proporcionan un conjunto de correspondencias en 3D-2D, que se aprovechan para pegar la imagen al modelo parcial. Esto se realiza mediante resección, donde sólo deben calcularse los parámetros externos del dispositivo de cámara. Según una realización de ejemplo de la presente divulgación, puede adoptarse el algoritmo PPnP dentro de MSAC, seguido de una minimización no lineal del error de reproyección al final. Después de la resección, que añade una imagen al modelo, los puntos de unión se actualizan mediante intersección y se ejecuta el ajuste de paquetes en el modelo resultante.
La etapa de fusión consiste en combinar dos independientes parciales (es decir, con diferentes sistemas de referencia) en uno. La primera etapa es registrar uno sobre el otro con una transformación de similitud. Los puntos de unión comunes se usan para resolver un problema de orientación absoluta (con escala) con MSAC. Tal como se comentó anteriormente, pueden usarse diferentes cantidades para calcular el residuo en las iteraciones de MSAC, tales como las longitudes de los segmentos en 3D que conectan los puntos correspondientes pueden usarse como residuos. Sin embargo, para paliar las dificultades derivadas de la ambigüedad de escala, se usa la longitud promedio de las proyecciones en 2D en las imágenes de los puntos en 3D para definir los residuos; de esta manera, puede establecerse fácilmente un umbral de valor típico significativo en píxeles.
La transformación final, calculada con el método ortogonal de Procusto (OP) minimiza el residuo geométrico adecuado, es decir, la suma de las distancias al cuadrado de los puntos en 3D.
Alternativamente, puede obtenerse una reconstrucción euclídea con estructura global a partir de técnicas de movimiento, que resuelven todos los parámetros externos de las cámaras simultáneamente a partir de todos los movimientos relativos disponibles.
Una vez que se registran los modelos, los puntos de unión se actualizan mediante intersección y el nuevo modelo se refina con el ajuste de paquetes.
Es bien sabido que se conoce que las técnicas de ajuste de paquetes son exigentes a nivel de cálculo. Por tanto, en la búsqueda de una mayor reducción de la complejidad, se emplea una estrategia que consiste en reducir el número de imágenes que van a usarse en el ajuste de paquetes en lugar del modelo completo. Esta estrategia puede considerarse una instancia de ajuste de paquetes local, que se usa a menudo para secuencias de vídeo, donde las imágenes activas son las más recientes. En particular, este método puede definirse haciendo referencia a la etapa de fusión del modelo, ya que la resección es un caso especial de esta última. Considérense dos modelos A y B, donde A tiene menos imágenes que B. El modelo más pequeño se transforma en el más grande (si uno es proyectivo, siempre es el más pequeño). El ajuste de paquetes implica todas las imágenes de A y el subconjunto de imágenes de B que comparten algunas pistas con A (puntos de unión que son visibles en las imágenes en ambos modelos). Denominemos este subconjunto B'. Todos los puntos de unión que unen B' y A se consideran en el ajuste de paquetes. Las imágenes en B \ B' no se mueven mediante el ajuste de paquetes, pero sus puntos de unión todavía se consideran en la minimización para anclar B' a través de sus puntos de unión comunes. No se tienen en cuenta los puntos de unión que unen sólo cámaras en B \ B'. Esta estrategia es subóptima porque en un ajuste de paquetes adecuado todas las imágenes en B deberían estar involucradas, incluso aquellas que no comparten ningún punto de unión con A. Sin embargo, un ajuste de paquetes con todas las imágenes y todos los puntos de unión puede ejecutarse al final para obtener la solución óptima.
En comparación con el enfoque secuencial convencional, el marco presentado en esta divulgación tiene una menor complejidad de cálculo, es independiente de la pareja inicial de imágenes y se adapta mejor a los problemas de deriva, típicos de los esquemas secuenciales. Por tanto, la estructura jerárquica y el algoritmo de movimiento presentados en esta divulgación representan un avance técnico significativo con respecto a las técnicas existentes.
Haciendo referencia a la figura 8, generalmente se muestra un algoritmo en estéreo de múltiples puntos de vista con un procedimiento de eliminación de valores atípicos global. Este procedimiento está destinado a aumentar la exactitud del espacio en 3D final. El método de eliminación de valores atípicos global desplegado en la presente divulgación e ilustrado en las figuras 9, 10, 11 se basa en criterios específicos que incluyen la puntuación de coincidencia y la información de visibilidad de cada punto. Efectivamente, en esta realización, el método comprende las siguientes etapas principales: (901-907) calcular un mapa de profundidad para cada imagen; (908) levantar todos los mapas de profundidad en el espacio en 3D; (909) eliminar los puntos espurios mediante controles de visibilidad. Las etapas posteriores consisten en calcular la normal aproximada en cada punto en 3D ajustando un plano usando el vecino más cercano y, finalmente, en ejecutar un algoritmo de reconstrucción de superficie. Por ejemplo, el algoritmo de reconstrucción de Poisson puede realizarse para generar la superficie. Pueden realizarse otras técnicas para generar la superficie de manera alternativa o además del algoritmo de Poisson.
Haciendo referencia todavía a la figura 8, el diagrama gráfico muestra un diagrama de flujo que describe el método de eliminación de valores atípicos global. Desde el bloque 901 hasta el 905 se sigue un enfoque piramidal de resolución múltiple: en 903 se obtiene una conjetura de profundidad usando la información de la nube dispersa en 3D: para cada imagen pueden considerarse las 3 imágenes que tienen en común puntos clave en 3D más visibles. Para cada punto de la imagen, las profundidades candidatas se buscan usando la coincidencia de bloques y la puntuación de correlación cruzada normalizada: al principio se rectifican las imágenes, luego se realiza la coincidencia en las imágenes rectificadas a lo largo de la línea horizontal que corresponde a líneas epipolares y se transforman de vuelta en imágenes originales mediante una homografía 1D. El rango de búsqueda de profundidad de un píxel se limita al considerar sólo un segmento en el rayo óptico correspondiente aprovechando las profundidades de los puntos clave más cercanos, tal como se ilustra en la figura 9. Los perfiles de correlación cruzada normalizados se usan para construir un histograma para cada píxel, de manera que añade los votos, ponderados por su valor de puntuación, emitidos por los picos locales del perfil de correlación a lo largo del epipolar correspondiente. Los k bins de los histogramas con la puntuación más alta se conservan como profundidades candidatas para el píxel. Las k profundidades candidatas se calculan para cada punto de cada imagen y se almacenan en el mapa, junto con sus valores de correlación correspondientes. En la presente divulgación, el valor de k se establece en k = 5. Todo el procedimiento puede implementarse de manera eficiente en GPU. En el primer nivel de la pirámide, cuando I = 0, el mapa de conjeturas de profundidad se refina a través de la optimización de campo aleatorio de Markov, aprovechando una función de coste compuesta por una función unaria que depende del valor en el píxel y un término de suavidad que depende de la interacción por parejas.
En la presente divulgación, la función unaria emplea la función de puntuación de Geman-McClure para mejorar adicionalmente la robustez frente a coincidencias espurias. En las posteriores iteraciones de esta fase piramidal, I > 0, en 904, las conjeturas de profundidad se calculan en el redimensionamiento de la imagen original por un factor de 2h-i, siendo h el número de iteraciones totales, aprovechando los mapas de profundidad calculados en el nivel anterior. A continuación, en el bloque 906 se guarda el mapa de profundidad. Si, en el bloque 907, deben procesarse más imágenes, entonces se repite el procedimiento desde el bloque 901 hasta el 906. Si no, todos los mapas de profundidad creados se levantan hasta la nube de puntos en 3D en el bloque 908, esta información se encapsula en una estructura de árbol octal que acumula la puntuación procedente de cada profundidad de cada imagen.
La información en 3D se usa para realizar comprobaciones de visibilidad y reconocer valores atípicos en el bloque 909. Más precisamente, según un aspecto de la presente divulgación, al principio cada punto se proyecta en cada celda de píxel en 2D de la imagen. Para cada celda de píxel, se considera que el punto con la máxima puntuación de coincidencia y visto por la propia imagen está ocluyendo el otro punto de la misma celda. Este concepto se ilustra en la figura 10 donde se presenta un ejemplo de puntos oclusores con respecto a una configuración de tres cámaras. Los puntos 1103A, 1102A, 1103C se proyectan en la misma celda de píxel de imagen en 2D por la cámara 1111A, lo mismo es válido para los puntos 1102b , 1103B, con respecto a la cámara 1101B, y para los puntos 1103D, 1102C con respecto a la cámara 1101C. Los puntos 1102A, 1102B y 1102C se encuentran en la superficie real. Los puntos 1103A, 1103B son oclusores de los puntos 1102A, 1102B.
Haciendo referencia todavía al bloque 909, una función de la puntuación de coincidencia de los oclusores se resta por tanto de la puntuación de coincidencia de los otros puntos. Cuando un punto alcanza una puntuación de coincidencia negativa, se marca como valor atípico y se elimina. Se repite el procedimiento varias veces sobre todas las imágenes hasta la convergencia, es decir, no se eliminan más puntos.
Haciendo referencia nuevamente a la figura 9, la información de estructura dispersa de la escena se usa para guiar la coincidencia en estéreo. El rango de búsqueda de profundidad de cada píxel de cada imagen está limitado mediante el uso de puntos en 3D dispersos que se ven en la propia imagen. Para determinar el rango de búsqueda de profundidad de un píxel 1003 genérico de una imagen genérica, sólo se consideran los cinco puntos de imagen que están más cerca de los puntos. Dependiendo del nivel de aproximación deseado, puede considerarse un número diferente de puntos más cercanos: reducir el número de puntos más cercanos da como resultado un rango de búsqueda de profundidad más pequeño, mientras que aumentar el número de puntos más cercanos produce un rango de búsqueda de profundidad mayor. En la figura 9, se representan dos de los cinco puntos 1002A y 1002B más cercanos por motivos de visualización. Las posiciones en 3D de estos puntos más cercanos son los puntos medios de cinco segmentos en los rayos ópticos respectivos cuya longitud es igual a la distancia entre esos puntos y el rayo 1005 óptico determinado por el píxel 1003 genérico y el centro de la cámara 1001. El rango de búsqueda de profundidad para el píxel 1003 genérico se determina, por tanto, como el casco convexo de la unión de las proyecciones de estos segmentos sobre el rayo 1005 óptico. Haciendo referencia a la figura 9, se ilustra el rango 1007 de búsqueda de profundidad como el segmento definido por las proyecciones de los dos segmentos centrados en 1006A y 1006B en el eje 1004A y 1004B óptico.
Haciendo referencia a la figura 11 y la figura 12, se usan las siluetas del sujeto en las imágenes en 2D para guiar el procesamiento en estéreo y eliminar la zona de fondo de manera coherente. Se define una herramienta de selección de silueta interactiva. En una realización de esta divulgación, la imagen 1301 original se descompone en superpíxeles, es decir, agrupaciones de píxeles continuos con baja variación de color, tal como se muestra en la figura 12. Esta acción se lleva a cabo en el bloque 1201 del diagrama de flujo notificado en la figura 11. Se pide al usuario que marque una zona de fondo y una zona de primer plano en el bloque 1202. En una realización, el usuario puede anotar las zonas de primer plano y de fondo con dos pinceles específicos de diferentes colores. Como ilustración de ejemplo, la imagen anotada se muestra en 1303, donde trazos de diferentes colores etiquetan los superpíxeles pertenecientes al fondo y los del primer plano. En el bloque 1203, si no se han marcado el primer plano y el fondo, se repite el procedimiento desde el bloque 1202 hasta el 1203. El algoritmo clasifica automáticamente los superpíxeles de fondo y primer plano con un enfoque de crecimiento de región: en el bloque 1204 se añaden superpíxeles en contacto con pincel a las agrupaciones de fondo y primer plano correspondientes. En el bloque 1205, los superpíxeles que aún no están asignados a una agrupación se organizan en una lista. En el bloque 1206, el elemento de la lista con la distancia de color media mínima a su superpíxel adyacente se asigna a la agrupación de su superpíxel adyacente. Los bloques 1205 y 1206 se repiten hasta que todos los superpíxeles se hayan asignado a una agrupación, tal como se requiere en el bloque 1207. Cuando se hayan etiquetado todos los superpíxeles, si, en el bloque 1208 el usuario desea refinar el resultado, se repite el procedimiento desde el bloque 1202 hasta que se satisface el bloque 1208: si no, se emite la silueta obtenida. Como ilustración de ejemplo, la silueta resultante se representa en 1304. Las siluetas pueden usarse como entrada de una técnica de fotoconsistencia o para eliminar el fondo durante la fase de coincidencia en estéreo.

Claims (7)

  1. REIVINDICACIONES
    i. Método del tipo de estructura a partir de movimiento para procesar una pluralidad de imágenes dispersas adquiridas mediante uno o más dispositivos (2) de adquisición para la generación de una nube de puntos en 3D dispersa y de una pluralidad de parámetros internos y externos de los dispositivos de adquisición (309) obtenidos mediante un procesamiento de dichas imágenes, que comprende las siguientes etapas:
    a) recopilar dichas imágenes;
    b) extraer puntos clave a partir de cada imagen y generar un descriptor para cada punto clave (302);
    c) organizar las imágenes en un grafo de proximidad basándose en similitud de descriptores de puntos clave (304);
    d) hacer coincidir imágenes por parejas empezando a partir de imágenes vecinas tal como se define mediante el grafo de proximidad y generar coincidencias de puntos clave que conectan puntos clave similares en diferentes imágenes (307), según la máxima proximidad entre los propios puntos clave;
    caracterizado porque
    comprende además las siguientes etapas:
    e) realizar una autocalibración entre agrupaciones de imágenes para extraer los parámetros internos y externos de los dispositivos de adquisición (307), en el que se define una pluralidad de grupos de calibración, conteniendo cada grupo de calibración una pluralidad de agrupaciones de imágenes, en el que las imágenes están asociadas con parámetros de EXIF y los grupos de calibración se forman basándose en la similitud entre los parámetros de EXIF de las imágenes, y en el que se usa un algoritmo de agrupación de tal manera que las agrupaciones se fusionan de manera iterativa en un modelo expresado en un sistema de referencia local común, empezando a partir de agrupaciones que pertenecen al mismo grupo de calibración, en el que la autocalibración se basa en las coincidencias de puntos clave de imagen extraídas en la etapa d);
    f) realizar una reconstrucción euclídea del objeto a partir de todas las imágenes recopiladas en forma de dicha nube de puntos en 3D dispersa (308) después de la etapa e), en el que se usa un algoritmo de agrupación de tal manera que se fusionan de manera iterativa agrupaciones de imágenes en un modelo expresado en un sistema de referencia local común, algoritmo de agrupación que vuelve a ejecutarse desde el principio con las imágenes calibradas en la etapa e), en el que la reconstrucción euclídea del objeto se basa en todos los parámetros internos extraídos en la etapa e) y las coincidencias de puntos clave de imagen extraídas en la etapa d).
  2. 2. Método según la reivindicación 1, en el que la etapa de autocalibración (307) es jerárquica y comprende una etapa de modelado en estéreo proyectivo en el caso de fusionar imágenes individuales, una etapa de resección/intersección en el caso de añadir una imagen a una agrupación, y una etapa de fusión de dos modelos en el caso de fusionar dos grupos reconstruidos independientemente entre sí.
  3. 3. Método según la reivindicación 1, en el que en la etapa de reconstrucción (308) se define una pluralidad de grupos de calibración, conteniendo cada grupo de calibración una pluralidad de agrupaciones de imágenes, y en el que se usa un algoritmo de agrupación de tal manera que las agrupaciones se fusionan de manera iterativa en un modelo expresado en un sistema de referencia local común, empezando a partir de agrupaciones que pertenecen al mismo grupo de calibración.
  4. 4. Método según la reivindicación 1, que va seguido por una fase para generar un modelo en 3D por medio de un algoritmo en estéreo de múltiples puntos de vista basándose en dicha nube de puntos en 3D dispersa y en dichos parámetros internos y externos de los dispositivos de adquisición, algoritmo que comprende calcular un mapa de profundidad para cada imagen y posteriormente generar una nube de puntos en 3D densa basándose en todos los mapas de profundidad calculados (908).
  5. 5. Método según la reivindicación 4, en el que se eliminan datos aberrantes a partir de la nube de puntos en 3D densa aplicando restricciones de visibilidad.
  6. 6. Método según la reivindicación 1, en el que la extracción de puntos clave comprende calcular un umbral de puntuación de respuesta global para cada punto clave, y en el que se tiene en cuenta un número predeterminado de puntos clave con las puntuaciones de respuesta global más altas, mientras que se ignoran los puntos clave más alejados (405).
  7. 7. Método según la reivindicación 1, en el que el descriptor se calcula en una región circular colocada alrededor del punto clave y subdividida en subregiones, estando el descriptor constituido por un histograma (504) que comprende un número predeterminado de bins que pueden adoptar diferentes valores, calculándose los valores basándose en la respuesta de cada pixel individual que pertenece a cada subregión a un filtro de direccionamiento que se dirige en un número predeterminado de orientaciones.
    Método según la reivindicación 1, en el que la organización de imágenes en el grafo de proximidad comprende la iteración de un algoritmo de árbol de expansión máxima para identificar el número máximo de conexiones entre imágenes correspondientes a la puntuación de similitud máxima, por medio de las siguientes subetapas: c1) identificar un trayecto que conecta las imágenes, de tal manera que la similitud es máxima para imágenes adyacentes;
    c2) guardar los pares de imágenes para los procesamientos posteriores;
    c3) establecer a cero la similitud de los pares de imágenes identificados;
    c4) identificar un trayecto adicional que conecta las imágenes, de tal manera que la similitud es máxima para imágenes adyacentes;
    c5) guardar los pares de imágenes adicionales para los procesamientos posteriores;
    c6) establecer a cero la similitud de los pares de imágenes adicionales identificados;
    c7) repetir las etapas de c4) a c6).
    Método según la reivindicación 1, en el que se proporciona una fase para extraer siluetas a partir del fondo de una imagen, fase que comprende las siguientes etapas:
    g) subdividir la imagen en grupos de píxeles contiguos con variación de color inferior a un umbral predeterminado;
    h) visualizar la imagen a un usuario;
    i) identificar, el usuario, al menos una zona en el primer plano y al menos una zona en el fondo en la imagen por medio de trazado de al menos dos marcas en la imagen, trazándose las marcas con diferente modalidad para indicar la zona de primer plano y la zona de fondo, respectivamente;
    j) crear dos agrupaciones de grupos de píxeles con respecto al primer plano y al fondo, respectivamente; k) asignar el grupo de píxeles en contacto con cada marca del usuario a una de las dos agrupaciones de grupos de píxeles basándose en la modalidad de tal marca;
    l) crear una lista temporal de grupos de píxeles aún no asignados a una de las dos agrupaciones;
    m) asignar de manera iterativa el grupo de píxeles que está presente en la lista temporal y tiene la diferencia mínima de color medio con respecto a uno de sus grupos de píxeles adyacentes a la agrupación de grupos de píxeles a la que pertenece tal uno de sus grupos de píxeles adyacentes.
    Método según la reivindicación 1, en el que se usan datos proporcionados a partir de uno o más giroscopios y/o magnetómetros y/o acelerómetros para potenciar la determinación de imágenes vecinas.
ES18164011T 2017-03-27 2018-03-26 Método para modelado en 3D basándose en procesamiento de estructura a partir de movimiento de imágenes en 2D Active ES2890414T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/470,863 US10198858B2 (en) 2017-03-27 2017-03-27 Method for 3D modelling based on structure from motion processing of sparse 2D images

Publications (1)

Publication Number Publication Date
ES2890414T3 true ES2890414T3 (es) 2022-01-19

Family

ID=61800403

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18164011T Active ES2890414T3 (es) 2017-03-27 2018-03-26 Método para modelado en 3D basándose en procesamiento de estructura a partir de movimiento de imágenes en 2D

Country Status (3)

Country Link
US (1) US10198858B2 (es)
EP (1) EP3382644B1 (es)
ES (1) ES2890414T3 (es)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230107110A1 (en) * 2017-04-10 2023-04-06 Eys3D Microelectronics, Co. Depth processing system and operational method thereof
EP3635679B1 (en) * 2017-06-08 2021-05-05 The Procter & Gamble Company Method and device for holistic evaluation of subtle irregularities in digital image
CN109118542B (zh) * 2017-06-22 2021-11-23 阿波罗智能技术(北京)有限公司 激光雷达与相机之间的标定方法、装置、设备及存储介质
US10460512B2 (en) * 2017-11-07 2019-10-29 Microsoft Technology Licensing, Llc 3D skeletonization using truncated epipolar lines
US11127129B2 (en) 2017-12-14 2021-09-21 The Joan and Irwin Jacobs Technion-Cornell Institute Techniques for identifying hazardous site conditions in geo-localized enhanced floor plans
WO2019118856A1 (en) * 2017-12-14 2019-06-20 The Joan and Irwin Jacobs Technion-Cornell Institute System and method for creating geo-localized enhanced floor plans
CN109509211B (zh) * 2018-09-28 2021-11-16 北京大学 同时定位与建图技术中的特征点提取与匹配方法及系统
CN109360230A (zh) * 2018-11-08 2019-02-19 武汉库柏特科技有限公司 一种基于2d相机与3d相机的图像配准方法及系统
US10931929B2 (en) * 2018-12-07 2021-02-23 Xyken, LLC Method and system of discriminative recovery of three-dimensional digital data of a target of interest in a cluttered or controlled environment
CN109859099A (zh) * 2019-01-22 2019-06-07 华中农业大学 基于sfm点云深度的盆栽玉米杂草快速去除方法
CN109816784B (zh) * 2019-02-25 2021-02-23 盾钰(上海)互联网科技有限公司 三维重构人体的方法和系统及介质
CN109934298B (zh) * 2019-03-19 2022-10-28 安徽大学 一种基于聚类的形变图的渐进式图匹配方法及装置
CN110047139B (zh) * 2019-04-28 2022-07-08 南昌航空大学 一种指定目标三维重建方法及系统
CN110599518B (zh) * 2019-08-15 2022-08-26 南京邮电大学 一种基于视觉显著度的超像素分割与条件数分块的目标跟踪方法
CN110580468B (zh) * 2019-09-10 2023-07-18 南京林业大学 一种基于影像匹配点云的单木结构参数提取的方法
WO2021062645A1 (en) * 2019-09-30 2021-04-08 Zte Corporation File format for point cloud data
US11669983B2 (en) * 2019-10-14 2023-06-06 Raytheon Company Fast determinant of Hessian filtering for image tiepoint candidate area assessment
CN111028283B (zh) * 2019-12-11 2024-01-12 北京迈格威科技有限公司 图像检测方法、装置、设备及可读存储介质
EP4076761A1 (en) 2019-12-16 2022-10-26 The Procter & Gamble Company Liquid dispensing system comprising an unitary dispensing nozzle
CN111291276B (zh) * 2020-01-13 2023-05-19 武汉大学 一种基于局部方向中心性度量的聚类方法
CN111340889B (zh) * 2020-02-19 2023-04-07 厦门大学 基于车载激光扫描自动获取匹配图像块与点云球的方法
US11315329B1 (en) * 2020-02-25 2022-04-26 Facebook Technologies, Llc. Scene reconstruction from sparse data
US11688073B2 (en) * 2020-04-14 2023-06-27 Samsung Electronics Co., Ltd. Method and system for depth map reconstruction
CN111553938A (zh) * 2020-04-29 2020-08-18 南京航空航天大学 一种基于图优化的多站位扫描点云全局配准方法
CN111882655B (zh) * 2020-06-19 2023-07-18 杭州易现先进科技有限公司 三维重建的方法、装置、系统、计算机设备和存储介质
CN111986223B (zh) * 2020-07-15 2024-02-06 西安理工大学 一种基于能量函数的室外点云场景中树木提取方法
CN114930391A (zh) * 2020-07-20 2022-08-19 深圳元戎启行科技有限公司 地图更新方法、装置、计算机设备和存储介质
CN112258636B (zh) * 2020-10-26 2022-10-25 中铁八局集团第一工程有限公司 一种应用于建筑领域的利用二维图形建立三维模型的方法
CN112379773B (zh) * 2020-11-12 2024-05-24 深圳市洲明科技股份有限公司 多人三维动作捕捉方法、存储介质及电子设备
CN116438581A (zh) * 2020-11-16 2023-07-14 松下知识产权经营株式会社 三维点群高密度化装置、三维点群高密度化方法及程序
CN112418250B (zh) * 2020-12-01 2024-05-10 怀化学院 一种复杂3d点云的优化匹配方法
FR3117714A1 (fr) * 2020-12-15 2022-06-17 Orange Serveur, procédé de traitement d’une vidéo par le serveur, terminal, et procédé mis en œuvre par le terminal pour enrichir la vidéo par un objet
CN112734931B (zh) * 2020-12-31 2021-12-07 罗普特科技集团股份有限公司 一种辅助点云目标检测的方法及系统
US11615594B2 (en) 2021-01-21 2023-03-28 Samsung Electronics Co., Ltd. Systems and methods for reconstruction of dense depth maps
CN112767484B (zh) * 2021-01-25 2023-09-05 脸萌有限公司 定位模型的融合方法、定位方法、电子装置
CN113177999B (zh) * 2021-03-25 2022-12-16 杭州易现先进科技有限公司 视觉三维重建方法、系统、电子装置和存储介质
CN113177977B (zh) * 2021-04-09 2022-06-10 上海工程技术大学 一种非接触式三维人体尺寸的测量方法
CN115346016A (zh) * 2021-05-13 2022-11-15 北京字跳网络技术有限公司 点云模型处理方法、装置及可读存储介质
CN113689535B (zh) * 2021-08-20 2022-11-22 北京道达天际科技股份有限公司 基于无人机影像的建筑物模型的生成方法和装置
CN114092780B (zh) * 2021-11-12 2024-06-07 天津大学 基于点云与图像数据融合的三维目标检测方法
CN114004877B (zh) * 2021-12-31 2022-03-08 中国科学院自动化研究所 视觉场景中物体稀疏性的判断方法、系统和设备
CN116091643B (zh) * 2022-12-28 2024-06-14 群滨智造科技(苏州)有限公司 鞋面底部工艺轨迹的生成方法、装置、设备及介质
CN116400356B (zh) * 2023-06-07 2023-08-18 中山大学 一种基于同质区域联合的层析sar三维成像方法
CN117372425B (zh) * 2023-12-05 2024-03-19 山东省工业技术研究院 一种头颅侧位片的关键点检测方法
CN117670957B (zh) * 2023-12-07 2024-05-14 长安大学 一种无人机摄影测量配准方法、系统及计算机设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711293B1 (en) 1999-03-08 2004-03-23 The University Of British Columbia Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
EP1850270B1 (en) 2006-04-28 2010-06-09 Toyota Motor Europe NV Robust interest point detector and descriptor
US20080310757A1 (en) * 2007-06-15 2008-12-18 George Wolberg System and related methods for automatically aligning 2D images of a scene to a 3D model of the scene
US8837811B2 (en) 2010-06-17 2014-09-16 Microsoft Corporation Multi-stage linear structure from motion
US9117113B2 (en) 2011-05-13 2015-08-25 Liberovision Ag Silhouette-based pose estimation
CN103765479A (zh) 2011-08-09 2014-04-30 英特尔公司 基于图像的多视点3d脸部生成
US9070216B2 (en) * 2011-12-14 2015-06-30 The Board Of Trustees Of The University Of Illinois Four-dimensional augmented reality models for interactive visualization and automated construction progress monitoring
US9311756B2 (en) * 2013-02-01 2016-04-12 Apple Inc. Image group processing and visualization
US20180189602A1 (en) * 2014-06-03 2018-07-05 Thomson Licensing Method of and system for determining and selecting media representing event diversity
US9947111B2 (en) * 2015-10-28 2018-04-17 Sony Corporation Method of multiple camera positioning utilizing camera ordering

Also Published As

Publication number Publication date
EP3382644A1 (en) 2018-10-03
EP3382644B1 (en) 2021-05-05
US10198858B2 (en) 2019-02-05
US20180276885A1 (en) 2018-09-27

Similar Documents

Publication Publication Date Title
ES2890414T3 (es) Método para modelado en 3D basándose en procesamiento de estructura a partir de movimiento de imágenes en 2D
CN109242873B (zh) 一种基于消费级彩色深度相机对物体进行360度实时三维重建的方法
EP2751777B1 (en) Method for estimating a camera motion and for determining a three-dimensional model of a real environment
CN102834845B (zh) 用于多摄像装置校准的方法与装置
Weinmann et al. Fast and automatic image-based registration of TLS data
US10225473B2 (en) Threshold determination in a RANSAC algorithm
Hoppe et al. Online Feedback for Structure-from-Motion Image Acquisition.
US8126273B2 (en) Method for reconstructing three-dimensional images from two-dimensional image data
Wang et al. Accurate georegistration of point clouds using geographic data
Puwein et al. Joint camera pose estimation and 3d human pose estimation in a multi-camera setup
Navarro et al. Robust and dense depth estimation for light field images
Basha et al. Structure and motion from scene registration
JP2016194895A (ja) 室内2d平面図の生成方法、装置及びシステム
Zhao et al. Double propagation stereo matching for urban 3-d reconstruction from satellite imagery
Wang et al. Vid2Curve: simultaneous camera motion estimation and thin structure reconstruction from an RGB video
CN110443228B (zh) 一种行人匹配方法、装置、电子设备及存储介质
Wan et al. Sorting unorganized photo sets for urban reconstruction
Ling et al. A dense 3D reconstruction approach from uncalibrated video sequences
Paudel et al. Localization of 2D cameras in a known environment using direct 2D-3D registration
Wang et al. Fast and accurate satellite multi-view stereo using edge-aware interpolation
Wei et al. Dense and occlusion-robust multi-view stereo for unstructured videos
Zhang Dense point cloud extraction from oblique imagery
Bodensteiner et al. Single frame based video geo-localisation using structure projection
Klaus et al. MetropoGIS: A semi-automatic city documentation system
Komorowski et al. Extrinsic camera calibration method and its performance evaluation