ES2696198T3 - Sistema de procesamiento de imágenes y método de procesamiento de imágenes - Google Patents

Sistema de procesamiento de imágenes y método de procesamiento de imágenes Download PDF

Info

Publication number
ES2696198T3
ES2696198T3 ES13825095T ES13825095T ES2696198T3 ES 2696198 T3 ES2696198 T3 ES 2696198T3 ES 13825095 T ES13825095 T ES 13825095T ES 13825095 T ES13825095 T ES 13825095T ES 2696198 T3 ES2696198 T3 ES 2696198T3
Authority
ES
Spain
Prior art keywords
pattern
grid
projected
image processing
wavy lines
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
ES13825095T
Other languages
English (en)
Inventor
Ryusuke Sagawa
Hiroshi Kawasaki
Ryo Furukawa
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
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 National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Application granted granted Critical
Publication of ES2696198T3 publication Critical patent/ES2696198T3/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
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2513Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with several lines being projected in more than one direction, e.g. grids, patterns
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2545Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with one projection direction and several detection directions, e.g. stereo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

Un sistema de procesamiento de imágenes que tiene un dispositivo de proyección (102; 1103; 2201-2206), un dispositivo de formación de imágenes (101; 1101, 1102; 2101-2106) y un aparato de procesamiento de imágenes (104; 1105; 2401) conectado al dispositivo de proyección y al dispositivo de formación de imágenes, en donde el dispositivo de proyección proyecta un patrón proyectado a un objetivo de observación (103; 1104; 2301), el dispositivo de formación de imágenes captura el patrón proyectado y el aparato de procesamiento de imágenes realiza reconstrucción de forma basándose en una imagen de entrada que incluye el patrón proyectado, comprendiendo el aparato de procesamiento de imágenes (104; 1105; 2401): una unidad para extraer la imagen de entrada capturada por el dispositivo de formación de imágenes (101; 1101, 1102; 2101-2106) y realizar detección de línea para el patrón proyectado, proyectado por el dispositivo de proyección (102; 1103; 2201-2206), en donde el patrón proyectado es un patrón de cuadrícula formado por líneas onduladas, las líneas onduladas son curvas onduladas que tienen periodicidad predeterminada, un patrón de cuadrícula formado por las líneas onduladas está formado por una pluralidad de líneas onduladas que están dispuestas a intervalos predeterminados, el patrón de cuadrícula es un conjunto de líneas onduladas que intersectan entre sí en dos direcciones, y el intervalo de las líneas onduladas en una de las direcciones no es igual a un múltiplo integral de una longitud de onda para la línea ondulada en la otra dirección; y una unidad para realizar reconstrucción de forma asociando puntos de intersección de líneas verticales y horizontales extraídas por la detección de línea al patrón proyectado.

Description

DESCRIPCIÓN
Sistema de procesamiento de imágenes y método de procesamiento de imágenes
Campo técnico
La presente invención se refiere a un sistema de procesamiento de imágenes y un método de procesamiento de imágenes, y más particularmente a un sistema de procesamiento de imágenes y un método de procesamiento de imágenes para realizar reconstrucción densa de forma basándose en medición de 3D de un disparo usando un patrón con color único.
Antecedentes de la técnica
En los últimos años, se ha llamado la atención sobre la reconstrucción de una escena en movimiento en 3D. Se ha conseguido un enorme éxito en, por ejemplo, un producto de videojuegos que sirve como una interfaz sin dispositivo midiendo un cuerpo humano en tiempo real, y analizando el movimiento del cuerpo humano (véase, por ejemplo, NPL 1). Además, se ha continuado una investigación para emplear un producto de este tipo como los ojos de un robot móvil autónomo, y se ha notado de manera intensa la importancia de la medición de un objeto en movimiento. En cuanto a los escáneres de movimiento empleados actualmente, los escáneres en 3D que miden escenas estáticas no pueden realizar medición de forma tan precisa y densa como los escáneres existentes. Sin embargo, si se realiza la mejora de la precisión y resolución, estos escáneres deberían ser más útiles para diversos fines, tales como aplicación médica y análisis de fluidos.
Hay múltiples métodos en la actualidad para medir las formas de objetos en movimiento, tales como métodos estéreo que usan únicamente métodos de exploración de cámaras y láser usando sistemas de Tiempo de Vuelo (TOF). De manera especial, un método para emitir luz estructurada usando un sistema que emplea un proyector y una cámara es adecuado para obtener datos de forma de un objeto en movimiento, y ha sido conocido el desarrollo y la investigación para este método (véase, por ejemplo, NPL1 a NPL4).
Los métodos de proyección de luz estructurada normalmente se clasifican en dos tipos: métodos de codificación temporal y métodos de codificación espacial. Puesto que un método de codificación espacial es un método para realizar reconstrucción de forma (exploración de un disparo) basándose en una única imagen, es ideal medir un objeto en movimiento a una velocidad de fotogramas elevada. Por lo tanto, muchas investigaciones se han visto implicadas en métodos de codificación espacial. De acuerdo con el método de codificación espacial, la información de correspondencia que puede especificarse de manera inequívoca entre el patrón proyectado completo se integra directamente en un patrón bidimensional. Se requiere un área grande de manera apropiada para este proceso, y por lo tanto, la resolución para reconstrucción tiende a ser baja. Adicionalmente, los errores de decodificación tienden a ocurrir debido a, por ejemplo, distorsión de un patrón provocado por el cambio de la forma superficial.
Uno de los métodos disponible para embeber de manera eficaz información de correspondencia en un patrón bidimensional es el uso de un código de color. Se ha usado ampliamente un método para emplear múltiples colores para embeber una pluralidad de conjuntos de datos de bits en puntos individuales (véase, por ejemplo, NPL 3 y 5 a 8). Sin embargo, en un caso en el que se emplea información de color, se requiere que los componentes de color de RGB individuales puedan reflejarse de manera apropiada en la superficie de un objeto objetivo. Además, para los proyectores disponibles en el mercado, las distribuciones espectrales de los componentes de color individuales se solapan entre sí, y por lo tanto, tiende a aparecer un error en la determinación de colores para píxeles individuales. Para evitar este problema, se ha propuesto un método que usa patrones de puntos o patrones de cuadrícula como un método de codificación espacial que no usa colores. Sin embargo, los problemas sobre ambigüedades de correspondencias y reconstrucción dispersa no se han resuelto aún.
En general, los sistemas que emplean escáneres de TOF o estéreos activos son conocidos como sistemas de medición activa. Además, se han investigado diversos métodos para medición activa de un objeto en movimiento. En muchos escáneres láser de TOF, un haz de láser de punto se proyecta a un objeto a medirse, y se mide el tiempo de intervalo requerido hasta que el haz láser vuelva a un detector. Puesto que se realiza medición para un punto en un tiempo, no es adecuado para medición de una región grande en un breve periodo de tiempo. Para medir un objeto en movimiento, etc., hay dispositivos propuestos que proyectan luz modulada temporalmente en un área grande, observan la modulación de la luz para los píxeles individuales de un sensor en 2D, y obtienen una imagen de profundidad (véase, por ejemplo, NPL 9 y 10). Sin embargo, los presentes sistemas se ven afectados fácilmente por la interferencia de otras fuentes de luz, y la resolución es menor que la de las cámaras normales.
En cuanto a la medición usando el estéreo activo, en muchos casos, se proyectan haces de láser de punto o haces de láser de línea en un objeto, que a continuación se explora para medición. Este método no es adecuado para medición de un objeto en movimiento, puesto que se requiere un periodo ampliado para medición. El periodo de medición puede reducirse empleando una fuente de luz planar, tal como un proyector de vídeo; sin embargo, debe resolverse un problema sobre ambigüedad sobre correspondencias. Para resolver el problema, normalmente hay dos soluciones, es decir, un método de codificación temporal y un método de codificación espacial (véase, por ejemplo, NPL 5).
De acuerdo con el método de codificación temporal, se proyectan múltiples patrones, y se codifica la información sobre las modulaciones temporales de los puntos individuales del patrón. Por lo tanto, no es esencialmente adecuado para medir un objeto en movimiento. Para compensar las desventajas, se han propuesto algunos métodos. Por ejemplo, se ha propuesto un método para cambiar el patrón con altas frecuencias (véase, por ejemplo, NPL 11), un método para reducir el número requerido de patrones usando patrones de fase (véase, por ejemplo, NPL 12) y un método que emplea patrones de DMD (véase, por ejemplo, NPL 13).
Como un enfoque ligeramente diferente del estéreo activo normal, se ha propuesto un método de estéreo de espaciotiempo, por ejemplo, mediante el cual se emplean dos o más cámaras para proyectar un patrón que cambia temporalmente (véase, por ejemplo, NPL 14). En la actualidad, se ha presentado también un ejemplo en el que se realizó satisfactoriamente medición alrededor de 100 fps empleando estimación de movimiento. Sin embargo, puesto que se requiere información para múltiples fotogramas, el método no es apropiado para medición de un objeto que se mueve rápido.
El método de codificación espacial es apropiado para medición de un objeto en movimiento, puesto que la forma de un objeto se reconstruye usando un patrón estático y basándose en únicamente una única imagen de entrada. Sin embargo, puesto que la información debe embeberse en ciertas áreas espaciales del patrón, la resolución tiende a ser baja. Además, la determinación de correspondencias tiende a ser inestable puesto que los patrones se distorsionan debido al color y a la forma de la superficie del objeto. Por lo tanto, se han propuesto muchos métodos para resolver los problemas. Por ejemplo, un método que usa múltiples bandas de color para evitar las mismas combinaciones de colores (véase, por ejemplo, NPL 15 y 16), un método para emplear líneas de puntos únicas (véase, por ejemplo, NPL 17 y 18) y un método para embeber información en un patrón bidimensional (véase, por ejemplo, NPL 1 y 19). Sin embargo, aún no se ha propuesto un método mediante el cual se proporcionen suficientes rendimientos en todos los aspectos de precisión, resolución y estabilidad.
Lista de citas
Bibliografía no de patente
NPL 1: Microsoft, “Xbox 360 Kinect”, 2010. http://www.xbox.com/en-US/Kinect.
NPL 2: H. Kawasaki, R. Furukawa, R. Sagawa e Y. Yagi, "Dynamic scene shape reconstruction using a single structured light pattern”, CVPR, págs. 1-8, junio 23-282008.
NPL 3: R. Sagawa, Y. Ota, Y. Yagi, R. Furukawa, N. Asada y H. Kawasaki, “Dense 3d reconstruction method using a single pattern for fast moving object”, ICCV, 2009.
NPL 4: A. 0. Ulusoy, F. Calakli y G. Taubin, “One-shot scanning using de bruijn spaced grids”, The 7th IEEE Conf.
3DIM, 2009.
NPL 5: J. Salvi, J. Batlle y E. M. Mouaddib, “A robust coded pattern projection for dynamic 3D scene measurement”, Pattern Recognition, vol. 19, n.° 11, págs. 1055-1065, 1998.
NPL 6: C. Je, S. W. Lee y R. H. Park, “High-contrast color stripe pattern for rapid structured-light range imaging”, ECCV, vol. 1, págs. 95-107, 2004.
NPL 7: L. Zhang, B. Curless y S. Seitz, “Rapid shape acquisition using color structured light and multi-pass dynamic programming”, 3DPVT, págs. 24-36, 2002.
NPL 8: R. Sagawa, H. Kawasaki, R. Furukawa y S. Kiyota, “Dense one-shot 3d reconstruction detectando continuous regions with parallel line projection”, ICCV, 2011.
NPL 9 : Canesta, Inc., “Canesta Vision EP Development Kit, “ 2010. http://www.canesta.com/devkit.htm.
NPL 10: Mesa Imaging AG., “Swiss Ranger SR-4000”, 2011. http://www.swissranger.ch/indEc.php.
NPL 11: S. Rusinkiewicz, 0. Hall-Holt y M. Levoy, “Realtime 3D model acquisition”, Proc. SIg GrAPH, págs. 438­ 446, 2002.
NPL 12: T. Weise, B. Leibe y L. V. Gool, “Fast 3D scanning with automatic motion compensation”, CVPR, 2007. NPL 13: S. G. Narasimhan, S. J. Koppal, y S. Yamazaki, “Temporal dithering of illumination for fast active vision”, Proc. European Conference on Computer Vision, págs. 830-844, octubre de 2008.
NPL 14: L. Zhang, B. Curless y S. M. Seitz, “Space time stereo: Shape recovery for dynamic scenes”, IEEE Computer Society Conference on Computer Vision and Pattern Recognition, págs. 367-374, junio de 2003.
NPL 15: J. Tajima y M. Iwakawa, “3-D data acquisition by rainbow range finder”, ICPR, págs. 309-313, 1990. NPL 16: S. Zhang y P. Huang, “High-resolution, real-time 3D shape acquisition”, Proc. Conference on Computer Vision and Pattern Recognition Workshop, pág. 28, 2004.
NPL 17: M. Maruyama y S. Abe, “Range sensing proyectando multiple slits with random cuts”, SPIE Optics, Illumination, and Image Sensing for Machine Vision iV, vol. 1194, págs. 216-224, 1989.
NPL 18: Artec, “Solicitud de Patente de Estados Unidos 2009005924”, 2007j.
NPL 19: P. Vuylsteke y A. Oosterlinck, “Range image acquisition with a single binary-encoded light pattern”, IEEE Trans. On Pa Mi, vol. 12, n.° 2, págs. 148-164, 1990.
NPL 20: P. Felzenszwalb y D. Huttenlocher, “Efficient belief propagation for early vision”, IJCV, vol. 70, págs. 41­ 54, 2006.
NPL 21: “The Stanford 3D Scanning Repository”, http://www.graphics.Stanford.edu/data/3Dscanrep/, 2012.
NPL 22: Persistence of Visión Pty. Ltd., “POV-Ray”, 2004.
El documento EP 2372648 A2 desvela un aparato de procesamiento de información que genera datos de patrón que incluyen una pluralidad de líneas de medición, y una línea de referencia que tiene una pluralidad de puntos de intersección con la pluralidad de líneas de medición, respectivamente, y tiene una forma que se define en un intervalo entre los puntos de intersección por una característica específica, captura una imagen de un objeto sobre la que se proyecta luz de patrón de proyección, basándose en los datos de patrón generados, extrae los puntos de intersección de la imagen capturada, y obtiene información con respecto a la forma con una característica específica en el intervalo entre los puntos de intersección en la línea de referencia en la imagen capturada, como información de identificación usada para identificar las líneas de medición.
Sumario de la invención
Un objetivo de la presente invención es proporcionar un sistema de procesamiento de imágenes y un método de procesamiento de imágenes, mediante los cuales se realiza reconstrucción de forma basándose en una medición de 3D de un disparo usando un patrón con color único, y aún se posibilita la reconstrucción densa de forma basándose en la medición de un objeto en movimiento.
Este objeto se consigue mediante el sistema de procesamiento de imágenes de acuerdo con la reivindicación 1, el método de procesamiento de imágenes de acuerdo con la reivindicación 9 y el programa informático de acuerdo con la reivindicación 10. Se indican desarrollos adicionales de la invención en las reivindicaciones dependientes.
Como se ha descrito anteriormente, de acuerdo con la presente invención, puesto que se realiza reconstrucción de forma para un patrón de cuadrícula formado de líneas onduladas basándose en medición de 3D de un disparo usando un patrón con color único, puede realizarse reconstrucción densa de forma incluso basándose en la medición de un objeto en movimiento.
Breve descripción de los dibujos
[FIG. 1] La Figura 1 es un diagrama que muestra la configuración de un sistema de procesamiento de imágenes de acuerdo con una primera realización de la presente invención;
[FIG. 2] La Figura 2 es un diagrama de flujo que muestra un algoritmo de reconstrucción de forma de acuerdo con la primera realización de la presente invención;
[FIG. 3A] La Figura 3A es un diagrama que muestra un patrón de cuadrícula de ejemplo formado de líneas onduladas;
[FIG. 3B] La Figura 3B es un diagrama que muestra un patrón estático proyectado por un proyector;
[FIG. 4A] La Figura 4A es un diagrama que muestra una imagen capturada proyectando un patrón de cuadrícula formado de líneas onduladas a un objetivo de observación;
[FIG. 4B] La Figura 4B es un diagrama que muestra los resultados obtenidos realizando detección de línea para el patrón de cuadrícula formado de líneas onduladas;
[FIG. 5] La Figura 5 es un diagrama que muestra un parche aproximado a un plano tangente alrededor de un punto de cuadrícula;
[FIG. 6] La Figura 6 es un diagrama para explicar la estimación de una profundidad para cada subpíxel;
[FIG. 7] La Figura 7 es un diagrama que ilustra la configuración de un sistema de procesamiento de imágenes de acuerdo con una segunda realización de la presente invención;
[FIG. 8] La Figura 8 es un diagrama para explicar la generación de bordes entre dos gráficos de cuadrícula; [FIG. 9] La Figura 9 es un diagrama que muestra correspondencias de puntos de cuadrícula de un patrón de proyector y puntos de cuadrícula de una cámara;
[FIG. 10] La Figura 10 es un diagrama que ilustra la configuración de un sistema de procesamiento de imágenes de acuerdo con una tercera realización de la presente invención;
[FIG. 11A] La Figura 11A es un diagrama que muestra una imagen capturada proyectando un patrón de cuadrícula formado de líneas onduladas de los tres colores primarios de luz;
[FIG. 11B] La Figura 11B es un diagrama que muestra los resultados obtenidos detectando un patrón rojo a partir de la imagen mostrada en la Figura 11A;
[FIG. 11C] La Figura 11C es un diagrama que muestra los resultados obtenidos detectando un patrón azul a partir de la imagen mostrada en la Figura 11A;
[FIG. 11D] La Figura 11D es un diagrama que muestra los resultados obtenidos detectando un patrón verde a partir del patrón azul;
[FIG. 11E] La Figura 11E es un diagrama que muestra los resultados obtenidos reduciendo el efecto de un patrón verde;
[FIG. 12] La Figura 12 es un diagrama que muestra una imagen de cámara donde una pluralidad de patrones de cuadrícula solapan entre sí;
[FIG. 13] La Figura 13 es un diagrama que muestra el estado en el que las imágenes obtenidas en los dos intervalos de dos proyectores se superponen entre sí;
[FIG. 14] La Figura 14 es un diagrama para explicar otra realización para un método de comparación de intersección;
[FIG. 15A] La Figura 15A es un diagrama para explicar un método de determinación de parámetro para un patrón de cuadrícula formado de líneas onduladas;
[FIG. 15B] La Figura 15B es un diagrama para explicar el método de determinación de parámetro para un patrón de cuadrícula formado de líneas onduladas;
[FIG. 16A] La Figura 16A es un diagrama que muestra los resultados de simulación obtenidos para la primera realización;
[FIG. 16B] La Figura 16B es un diagrama que muestra los resultados de simulación obtenidos para la primera realización;
[FIG. 16C] La Figura 16C es un diagrama que muestra los resultados de simulación obtenidos para la primera realización;
[FIG. 17A] La Figura 17A es un diagrama que muestra los resultados de simulación obtenidos para la primera realización;
[FIG. 17B] La Figura 17B es un diagrama que muestra los resultados de simulación obtenidos para la primera realización;
[FIG. 17C] La Figura 17C es un diagrama que muestra los resultados de simulación obtenidos para la primera realización;
[FIG. 18A] La Figura 18A es un diagrama que muestra los resultados de simulación obtenidos usando un método de la técnica anterior;
[FIG. 18B] La Figura 18B es un diagrama que muestra los resultados de simulación obtenidos usando el método para la técnica anterior;
[FIG. 19A] La Figura 19A es un diagrama que muestra los resultados de simulación obtenidos usando un método de la técnica anterior;
[FIG. 19B] La Figura 19B es un diagrama que muestra los resultados de simulación obtenidos usando el método para la técnica anterior;
[FIG. 20A] La Figura 20A es un diagrama que muestra una imagen que representa un error entre un resultado de reconstrucción obtenido introduciendo la imagen en la Figura 16B y un valor verdadero;
[FIG. 20B] La Figura 20B es un diagrama que muestra una imagen que representa un error entre un resultado de reconstrucción obtenido introduciendo la imagen en la Figura 17B y un valor verdadero;
[FIG. 20C] La Figura 20C es un diagrama que muestra una imagen que representa un error entre un resultado de reconstrucción obtenido introduciendo la imagen en la Figura 18A y un valor verdadero;
[FIG. 21A] La Figura 21A es un diagrama que muestra una malla poligonal asociada con la imagen de entrada en la Figura 16B que se ha reconstruido en la primera realización;
[FIG. 21B] La Figura 21B es un diagrama que muestra una malla poligonal asociada con la imagen de entrada en la Figura 17B que se ha reconstruido en la primera realización;
[FIG. 22A] La Figura 22A es un diagrama que muestra una imagen de entrada que representa el resultado obtenido mediante reconstrucción usando un patrón de cuadrícula formado de líneas onduladas;
[FIG. 22B] La Figura 22B es un diagrama que muestra el resultado obtenido reconstruyendo una imagen de entrada usando un método de coincidencia estéreo;
[FIG. 22C] La Figura 22C es un diagrama que muestra el resultado obtenido mediante reconstrucción en la primera realización;
[FIG. 22D] La Figura 22D es un diagrama que muestra un patrón denso de forma generado por un método de interpolación;
[FIG. 23A] La Figura 23A es un diagrama que muestra una imagen de entrada que representa el resultado obtenido evaluando la precisión en la primera realización;
[FIG. 23B] La Figura 23B es un diagrama que muestra el patrón de forma generado a partir de la imagen de entrada en la Figura 23A por el método de interpolación;
[FIG. 23C] La Figura 23C es un diagrama que forma imágenes de un error de la Figura 23A;
[FIG. 24A] La Figura 24A es un diagrama que muestra un entorno de experimento para representar el resultado obtenido mediante reconstrucción bajo el efecto de luz ambiente;
[FIG. 24B] La Figura 24B es un diagrama que muestra los efectos proporcionados por un filtro de paso banda; [FIG. 24C] La Figura 24C es un diagrama que muestra los resultados obtenidos por reconstrucción en 3D en la primera realización;
[FIG. 25] La Figura 25 es un diagrama que muestra un primer ejemplo para una imagen de entrada para capturar el movimiento de apertura y cierre de una mano;
[FIG. 26] La Figura 26 es un diagrama que muestra un primer ejemplo para el resultado obtenido capturando el movimiento de apertura y cierre de la mano;
[FIG. 27] La Figura 27 es un diagrama que muestra un segundo ejemplo para el resultado de medición de un objeto en movimiento; y
[FIG. 28] La Figura 28 es un diagrama que muestra un segundo ejemplo para el resultado de medición del objeto en movimiento.
Descripción de las realizaciones
Las realizaciones de la presente invención se describirán ahora en detalle, mientras se hace referencia a los dibujos. En las realizaciones de esta invención, se emplea un método de codificación espacial que usa la continuidad de un patrón de cuadrícula. Es conocido que este método tiene problemas de ambigüedad de correspondencias de puntos y reconstrucción errónea provocada por la determinación incorrecta de la continuidad de las líneas detectadas (véase, por ejemplo, NPL 2 a 4). Para resolver estos problemas, se ha propuesto el uso de un patrón de cuadrícula formado de una pluralidad de colores para un método convencional. Sin embargo, puesto que el método convencional se ve afectado adversamente por la reflectividad y la textura de la superficie de un objeto objetivo, no puede realizarse medición estable. En esta realización, se emplea un patrón de cuadrícula de único color, y pueden resolverse los dos problemas al mismo tiempo para un patrón de cuadrícula y un patrón de múltiples colores.
(Primera realización)
Un sistema de procesamiento de imágenes de acuerdo con una primera realización de la presente invención se ilustra en la Figura 1. Se emplea una cámara 101 (dispositivo de formación de imágenes) y un proyector 102 (dispositivo de proyección). El proyector 102 proyecta, a un objetivo de observación 103, un patrón de cuadrícula formado de líneas onduladas. Puesto que un patrón proyectado es un patrón estático, no se requiere sincronización con la proyección. Por lo tanto, se posibilita la medición con unos muy altos FPS (Fotogramas por Segundo). La cámara 101 y el proyector 102 están conectados a un aparato de procesamiento de imágenes 104 que incluye un ordenador personal.
El aparato de procesamiento de imágenes 104 almacena patrones de proyección, tales como patrones de cuadrícula formados de líneas onduladas, en un medio de almacenamiento con antelación, y puede transmitir datos de patrón proyectado al proyector 102 para proyectar el patrón al objetivo de observación 103. Además, el aparato de procesamiento de imágenes 104 extrae una imagen de entrada capturada por la cámara 101, almacena la imagen de entrada en el medio de almacenamiento, y realiza el procesamiento de imágenes para la reconstrucción de forma basándose en la imagen de entrada.
Un algoritmo de reconstrucción de forma para la primera realización de la presente invención se muestra en la Figura 2. En primer lugar, se proyecta un patrón de cuadrícula formado de líneas onduladas a un objetivo de observación para capturar una imagen (S202). A continuación, se realiza detección de línea para la imagen capturada empleando un método descrito en NPL 3. Basándose en la optimización usando el método de Propagación de creencias (BP), pueden detectarse líneas verticales y líneas horizontales de una cuadrícula de único color de manera estable y separada. Se calculan puntos de intersección basándose en las líneas verticales y horizontales detectadas, y se crea un gráfico empleando los puntos de intersección como nodos (S204).
Para cada nodo, se calcula la posición de la línea epipolar en el patrón proyectado para hallar una correspondencia, y en un caso en el que el punto de intersección está presente a lo largo de la línea, este punto se define como un candidato de correspondencia. Puesto que normalmente se hallan múltiples candidatos de correspondencias, se obtiene la combinación óptima de los candidatos de correspondencia de cada punto usando el BP (S208). Puesto que el resultado de reconstrucción aún es disperso, las profundidades de todos los píxeles se calculan realizando interpolación y coincidencia a nivel de píxel entre el patrón y la imagen capturada (S210), y como resultado, se reconstruye una forma densa en 3D (S212).
Para obtener correspondencias únicas entre la imagen de cámara (una imagen capturada en el plano de la imagen de la cámara) y una imagen de proyector (un patrón proyectado desde el plano de imagen del proyector) mediante codificación espacial, se ha requerido un patrón complicado que tiene el tamaño de una ventana grande para los métodos convencionales. Además, mientras que es deseable una línea de base amplia para mejorar la precisión, el patrón observado se distorsionará enormemente, que hace prácticamente difícil decodificar el patrón. Por lo tanto, es deseable un patrón sencillo pero altamente único que sea fácil de detectar y de decodificar. En esta realización, se emplea un patrón que proporciona información relacionada con la prioridad para coincidir, en lugar de un patrón para el que se determina de manera inequívoca la correspondencia a través del procesamiento de la imagen. Específicamente, se emplea un patrón de cuadrícula formado de líneas onduladas verticales y horizontales.
Un patrón de cuadrícula de ejemplo que consiste en líneas onduladas se muestra en la Figura 3A. Puesto que el patrón de cuadrícula de onda es un patrón sencillo, es fácil detectar curvas en el patrón de la imagen, y puede calcularse la posición de una curva en precisión de subpíxel detectando picos de intensidades de la curva. Para tanto las líneas onduladas verticales como horizontales, se emplea una línea curva ondulada, tal como un patrón sinusoidal periódico, que es periódico y auto-recurrente. Las líneas onduladas verticales y las líneas onduladas horizontales son múltiples líneas onduladas dispuestas a intervalos constantes, y el patrón de cuadrícula de las líneas onduladas está formado de un conjunto de líneas onduladas que están unas través de las otras en dos direcciones.
El patrón de cuadrícula de líneas onduladas proporciona información útil para detectar correspondencias. En esta realización, los puntos de intersección de líneas onduladas verticales y horizontales se emplean como puntos característicos. La disposición de puntos de intersección se determina por los intervalos y las longitudes de onda de las líneas onduladas. Se emplea el mismo intervalo y longitud de onda para las líneas onduladas; sin embargo, como se describirá a continuación, en un caso en el que el intervalo de las líneas onduladas verticales no es igual al múltiplo integral de la longitud de onda de las líneas onduladas horizontales (o en un caso en el que el intervalo de las líneas onduladas horizontales no es igual al múltiplo integral de la longitud de onda de las líneas onduladas verticales), los puntos de intersección aparecen a las diferentes fases. Significa que el patrón local está desplazado del punto de intersección periférico, y esta diferencia puede usarse como una característica discriminativa.
El patrón local alrededor de un punto de intersección no es único en la totalidad del patrón proyectado. Por lo tanto, el mismo patrón aparece a cada Nx y Ny líneas onduladas a lo largo de los ejes horizontal y vertical, basándose en Nx = lcm(Sx, Wx)/Sx
Ny = lcm(Sy, Wy)/Sy
donde Sx y Sy en la Figura 3A se definen como los intervalos entre líneas onduladas adyacentes, y Wx y Wy se definen como longitudes de onda. En este caso, se supone que lcm(a, b) es el mínimo común múltiplo de a y b, y las letras en subíndice x e y representan valores a lo largo de los ejes vertical y horizontal, respectivamente. Los patrones locales, sin embargo, pueden discriminarse en cada ciclo.
Un patrón estático proyectado por el proyector 102 se muestra en la Figura 3B. Este patrón es un patrón con color único en el que están dispuestas líneas onduladas verticales y horizontales en forma de una cuadrícula. El ejemplo en la Figura 3B es un patrón formado (en la unidad de píxeles) por
Sx = 10, Sy = 11, Wx = Wy = 14, Ax = Ay = 1.
En este ejemplo, cada ciclo tiene 7 y 14 líneas onduladas a lo largo de los ejes horizontal y vertical, respectivamente. En consecuencia, 98 (= 7 x 14) puntos de intersección están presentes en un rectángulo formado en un ciclo.
En coincidencia estéreo, los candidatos de puntos correspondientes están limitados a los puntos en la línea epipolar. En un caso en el que un punto de intersección de una imagen de proyector específica está localizado dentro de una cierta distancia de la línea epipolar, el punto de intersección de la imagen del proyector se selecciona como un candidato. El número de candidatos depende de las posiciones de puntos de intersección en la imagen de cámara. Puesto que los candidatos de correspondencia están localizados de manera dispersa en la imagen del proyector, el número de candidatos de correspondencia es mucho menor que el empleado para estéreo basado en píxel para buscar puntos candidatos.
Para hallar las mejores combinaciones de correspondencias, se describirá un método que usa regularización con coincidencia local mientras se hace referencia a las Figuras 4A y 4B. Una imagen en la Figura 4A es la obtenida proyectando un patrón de cuadrícula de líneas onduladas a un objetivo de observación. El resultado obtenido por detección de línea se muestra en la Figura 4B. Un punto de intersección de una línea vertical y una línea horizontal en un patrón de cuadrícula de líneas onduladas en una imagen de cámara se denomina en lo sucesivo un “punto de cuadrícula". Si una pluralidad de puntos de cuadrícula están conectados entre sí por una línea de cuadrícula, estos puntos de intersección deberían estar en la misma línea de onda en la imagen del proyector. Esto se emplea para regularización para determinar puntos correspondientes. La conectividad de puntos de cuadrícula se obtiene por la detección de línea. Hay un caso, sin embargo, en el que la conectividad puede determinarse incorrectamente a través de la detección de línea. Tal determinación incorrecta tiene lugar especialmente para los límites donde aparece la discontinuidad de la forma. Por lo tanto, para asignar los correspondientes puntos para los puntos de cuadrícula individuales, se emplea la minimización de energía definida en la cuadrícula.
En primer lugar, se calcula un coste de coincidencia para todos los candidatos de correspondencia, y se emplea como un término de datos para minimización de energía. El coste se calcula como una SSD (Suma de Diferencia Cuadrada) entre la imagen de cámara y la imagen del proyector (imagen de patrón). Sin embargo, puesto que hay un error para la posición detectada del punto de cuadrícula, y el patrón capturado por la cámara se distorsiona de acuerdo con la superficie del objeto objetivo, la SSD sencilla con respecto a un área cuadrilateral no es adecuada para el término de datos. Por lo tanto, se emplea un parche obtenido aproximando el área alrededor del punto de cuadrícula del objeto objetivo al plano tangente del punto de cuadrícula. Con este parche, puede calcularse un coste de coincidencia más preciso, y los correspondientes puntos pueden calcularse en la precisión de subpíxel.
Un parche obtenido por aproximación al plano tangente de un punto de cuadrícula se muestra en la Figura 5. Se supone que un patrón de forma (un parche cuadrilateral 513) alrededor de un punto de cuadrícula en una superficie 503 de un objetivo de observación es localmente planar. Este plano se representa por
ax by cz 1 = 0.
Debería observarse que a, b y c son parámetros de un plano. Los parámetros se calculan minimizando la SSD, mientras se tiene en cuenta la distorsión de una imagen.
El algoritmo empleado para el cálculo es como sigue:
(1) Proyectar un parche cuadrilateral R (p) 511 alrededor de un punto de cuadrícula p en una imagen de cámara 501 al plano tangente en 3D, y re-proyectar este parche en una imagen de proyector 502.
(2) Calcular la SSD de las intensidades entre el parche cuadrilateral re-proyectado 512 y la imagen del proyector (3) Emplear a, b y c como variables para minimizar el valor de SSD.
(4) Repetir las etapas anteriores durante varias veces.
Se establecen los valores iniciales de a, b y c, de modo que el plano tangente incluye la posición en 3D del punto de cuadrícula calculado usando un error de paralaje, y es paralelo al plano de imagen de la cámara, y el valor de SSD se representa por la siguiente ecuación:
[Ec. 1]
Figure imgf000008_0001
En este caso, R(p) es un parche cuadrilateral alrededor de p y Ha, b, c(p') es la transformación en un caso en el que p' se re-proyecta al plano de imagen del proyector. Ic() y Ip() son las intensidades de la imagen de cámara y la imagen del proyector, respectivamente.
En este caso, el patrón de cuadrícula consiste en los nodos p e V, que son puntos de cuadrícula, y los bordes (p, q) e U que representan las conexiones de los puntos de cuadrícula. Debería observarse que p y q son puntos de cuadrícula, V es un conjunto de puntos de cuadrícula, y U es un conjunto de bordes de un gráfico de cuadrícula. Un punto de cuadrícula p incluye candidatos de correspondencia tp e Tp. En este caso, Tp es un conjunto de candidatos de correspondencia para el punto de cuadrícula p. Mientras que se emplea un conjunto de correspondencias como un parámetro, la energía para coincidencia estéreo se define como sigue:
[Ec. 2]
E (T ) = £ D p(tp) £ W pq(tp,tq) (2 )
p e r (p ,q)eU
Debería observarse que T = {tp|p e V}, y Dp(tp) es un término de datos en caso de asignar el punto que corresponde a p al candidato tp. W pq(tp, tq) es un término de regularización usado para asignar los candidatos tp y tq a puntos de cuadrícula vecinos.
El término de datos es un valor de la SSD calculado por el método anteriormente descrito. El término de regularización se define como sigue:
[Ec. 3]
Figure imgf000008_0002
Debería observarse que X, es una constante definida por el usuario. La energía se minimiza por el método BP.
Una ventaja de usar minimización de energía es que los términos de regularización definidos usando los puntos de cuadrícula vecinos pueden ser “restricciones flexibles". Esto es importante puesto que, de acuerdo con los datos reales, siempre hay una posibilidad de que puedan generarse conexiones de cuadrícula incorrectas debido a detección de línea errónea. De acuerdo con NPL 3, debería eliminarse conexión errónea en la etapa de detección de línea antes de que se inicie la reconstrucción en 3D, mientras que en esta realización, se realiza de manera simultánea la eliminación de conexión errónea y reconstrucción en 3D, y por lo tanto, se posibilita la reconstrucción con densidad superior y precisión superior.
Las correspondencias para puntos de cuadrícula dispersos se obtienen por el método de coincidencia estéreo basado en cuadrícula. En la siguiente etapa, se obtienen correspondencias densas usando información para todos los píxeles. En este proceso, se calculan valores profundos de muestras de píxel remuestreadas de manera densa interpolando los puntos de cuadrícula. A continuación, los valores de profundidad de estas muestras de píxel se emplean como variables para minimizar una diferencia de intensidades entre la imagen de cámara y la imagen del proyector.
Un método empleado basándose en interpolación de las líneas de cuadrícula detectadas se describe en NPL 8. En esta realización, se consigue estimación de profundidad independiente para cada (sub) píxel por optimización basándose en foto-consistencia.
Cuando se observa un vector desde el origen de la cámara a un pixel x se representa como (u, v, 1) , la profundidad dx para el píxel se calcula como sigue.
[Ec. 4]
Figure imgf000009_0001
Debería observarse que ax, bx y Cx son los parámetros calculados para el píxel. ax para cada píxel se interpola como sigue:
[Ec. 5]
Figure imgf000009_0002
Debería observarse que p es un punto de cuadrícula, G() es una función gaussiana y |p- x| es una distancia entre p y x. bx y cx se calculan de la misma manera por media ponderada.
Para optimización, es posible que se empleen las profundidades de todos los píxeles como variables independientes para estimar las profundidades de todos los píxeles (estimación de profundidad basada en píxel). Sin embargo, en esta realización, se remuestrea una malla triangular formada de tres muestras de píxel para estimar las profundidades de las muestras de píxel (estimación de profundidad basada en subpíxel). Como resultado, puede obtenerse la resolución más apropiada de la malla triangular. Cuando la estimación de la profundidad se realiza de manera sencilla para todos los píxeles, la precisión puede reducirse, puesto que la resolución de un patrón a proyectarse es menor que la resolución de la imagen. Para resolver este problema, puede emplearse, por ejemplo, un método para usar una ventana de coincidencia que tiene un cierto tamaño; sin embargo, el coste de cálculo se aumentaría.
En contraste, en esta realización, se emplea el siguiente método para reducir el número de puntos y el número de variables sin sacrificar la precisión, y para realizar cálculo eficaz. La estimación de profundidad basada en subpíxel se describirá mientras se hace referencia a la Figura 6. En primer lugar, se crea una malla triangular empleando tres muestras de píxel en una imagen a observarse. Las profundidades de los píxeles distintas de las muestras de píxel se interpolan linealmente. Para optimización mediante el cálculo repetitivo, se realiza aproximación de la profundidad empleando, como una variable, un pequeño desplazamiento Adx de dx. La profundidad de pixel x en la Figura 6 se calcula como sigue:
[Ec. 6]
Figure imgf000009_0003
Debería observarse que wx2 y wx3 son los pesos para interpolación lineal. Ahora, D AD es un vector obtenido recopilando dx Adx para todas las muestras de píxel. Un error de re-proyección para la imagen del proyector (la imagen de patrón) se calcula para todos los píxeles que incluyen las muestras de píxel usando la siguiente expresión:
[Ec. 7]
Figure imgf000009_0004
Debería observarse que la posición de re-proyección en la imagen del proyector se representa por Pd+ad(X). Para re­ proyección de cada píxel, se emplea parte de D AD. x y x ' son vértices adyacentes, y es un parámetro definido por el usuario para regularización. El parámetro AD se determina para minimizar el error. Cuando se realizan de manera alterna y repetitiva la re-proyección y minimización hasta que se alcance convergencia de una solución, se determina la profundidad D.
(Segunda realización)
Un sistema de procesamiento de imágenes de acuerdo con una segunda realización de la presente invención se ilustra en la Figura 7. Se emplean dos cámaras 1101 y 1102 (dispositivos de formación de imágenes) y un proyector 1103 (dispositivo de proyección). El proyector 1103 proyecta, a un objetivo de observación 1104, un patrón de cuadrícula formado de líneas onduladas. Puesto que un patrón proyectado es un patrón estático, no se requiere sincronización con proyección. Por lo tanto, se posibilita medición con unos muy altos FPS (Fotogramas por Segundo). Las cámaras 1101 y 1102 y el proyector 1103 están conectados a un aparato de procesamiento de imágenes 1105 que incluye un ordenador personal.
El aparato de procesamiento de imágenes 1105 almacena patrones de proyección, tales como patrones de cuadrícula formados de líneas onduladas, en un medio de almacenamiento con antelación, y puede transmitir datos de patrón proyectado al proyector 1103 para proyectar el patrón al objetivo de observación 1104. Además, el aparato de procesamiento de imágenes 1105 extrae imágenes de entrada capturadas por las cámaras 1101 y 1102, almacena las imágenes de entrada en el medio de almacenamiento, y realiza el procesamiento de imágenes para reconstrucción de forma basándose en las imágenes de entrada.
De acuerdo con la segunda realización, se emplea la condición de restricción entre las dos cámaras como información adicional para hallar candidatos de correspondencia. Se describirá ahora un método para asignar puntos correspondientes basándose en la minimización de energía en el gráfico de cuadrícula. Las restricciones adicionales se introducen como los bordes que conectan gráficos de dos cámaras. La generación de bodes entre dos gráficos de cuadrícula se describirá mientras se hace referencia a la Figura 8. En primer lugar, se proyecta un patrón de cuadrícula de líneas onduladas a un objetivo de observación para capturar una imagen. A continuación, se realiza detección de línea para la imagen proyectada, se calculan puntos de intersección basándose en las líneas verticales y horizontales detectadas y se crea un gráfico de cuadrícula empleando los puntos de intersección como nodos.
Se describirá una búsqueda para un punto correspondiente en un patrón proyectado 1201 para un nodo po de la cámara 1101. Los candidatos de correspondencia tpo s Tpo son los puntos de intersección de un patrón proyectado 1204 en una línea epipolar 1211 de un punto de cuadrícula po, mientras que Tpo es un conjunto de los candidatos de correspondencia para el punto de cuadrícula po. Cuando se supone que el candidato de correspondencia del punto de cuadrícula po es tpo, se calculan las coordenadas P3D(tpo) para el punto de cuadrícula po en una superficie 1203 del objetivo de observación 1104 mediante triangulación entre la cámara 1101 y el proyector 1103. Pi(tpo) es el punto en el que se proyecta el punto de coordenadas P3D(tpo) en un patrón de cuadrícula 1202 de la cámara 1102. Cuando el punto de cuadrícula pi de la cámara 1102 satisface la siguiente expresión, el punto de cuadrícula po y el punto de cuadrícula pi están asociados entre sí (línea lineal L1).
D(pi, Pi (tpo)) < 0 y tpo s Tpi
En este punto, D(a, b) es una distancia entre puntos a y b, 0 es el radio del área de búsqueda para un punto de cuadrícula cercano Pi(tpo) , y Tpi es un conjunto de candidatos de correspondencia tpi.
Haciendo referencia a la Figura 8, se proyectan cuatro puntos P3D(tpo), y en cuanto al punto más a la izquierda P3D(tpo) 1221, no están presentes puntos de cuadrícula en el área de búsqueda en el patrón de cuadrícula 1202, y no se hallan candidatos de correspondencia. En cuanto al punto más a la derecha P3D(tpo) 1222, un punto de cuadrícula pi está presente en el área de búsqueda del patrón de cuadrícula 1202, mientras que el mismo candidato de correspondencia tpo no está presente en el conjunto Tpi de candidatos de correspondencia a lo largo de la línea epipolar 1212 para el punto de cuadrícula pi. Dos puntos en P3D(tpo) en el medio satisfacen la condición anterior, y están conectados a los puntos de cuadrícula po. Una vez que los bordes entre las dos cámaras están conectados juntos en el gráfico (línea lineal L1), se establece un gráfico sencillo para buscar fácilmente los correspondientes puntos para las dos cámaras.
Hay una posibilidad en la que algunos bordes incorrectos pueden generarse usando este método (línea lineal L2). Un segundo punto de proyección 1223 en la Figura 8 es un borde incorrecto, que no está en la superficie 1203 del objetivo de observación 1104. Debería observarse, sin embargo, que incluso si un punto de cuadrícula tiene tanto bordes correctos como incorrectos, el coste total del BP no se ve afectado de manera adversa por el borde incorrecto. En un caso en el que un punto de cuadrícula tiene únicamente bordes incorrectos, se determina que el candidato de correspondencia es falso en el proceso de BP, siempre que el número de bordes incorrectos sea pequeño.
Ahora, se obtiene un único gráfico de cuadrícula para dos cámaras detectando líneas y re-proyectando puntos por una cámara a la otra cámara. A continuación, se ha de hallar la mejor combinación de correspondencias realizando la minimización de energía en el gráfico de cuadrícula. El gráfico de cuadrícula consiste en los puntos de cuadrícula po s Vo y pi s Vi, bordes (po, qo) s Uo y (pi, qi) e Ui obtenidos por detección de línea, y los bordes (po, pi) s S obtenidos entre las cámaras. Como para la cámara 1101, po y qo son puntos de cuadrícula, Vo es un conjunto de puntos de cuadrícula y Uo es un conjunto de bordes. Como para la cámara 1102, pi y qi son puntos de cuadrícula, Vi es un conjunto de puntos de cuadrícula y Ui es un conjunto de bordes. S es un conjunto de bordes entre las cámaras. Un punto de cuadrícula po incluye los candidatos de correspondencia tpo s Tpo del patrón de proyector.
Para el sistema de una cámara un proyector en la primera realización, la energía usada para asignar correspondientes puntos tp0 a los puntos de cuadrícula individuales p0 se define por la siguiente expresión (2). Cuando esta definición se amplía para el uso en el sistema de dos cámaras un proyector en esta realización, se establece la siguiente expresión:
[Ec. 8]
Figure imgf000011_0001
Debería observarse que Xpo,pi (tpo, tp i) es un término de regularización para los bordes (po, pi ) entre cámaras. Este término se representa como:
[Ec. 9]
Figure imgf000011_0002
Debería observarse que donde ^, es una constante definida por el usuario. Cuando un punto de cuadrícula p tiene bordes de cámara-cámara, se selecciona uno de los bordes de cámara-cámara para la asignación de tp para el punto de cuadrícula. Esto es debido a que la energía se aumentará si se selecciona la asignación de un borde distinto del borde entre las cámaras.
En la primera realización, se ha creado una imagen de rango denso interpolando el gráfico de cuadrícula en la imagen de cámara. El sistema de dos cámaras un proyector en esta realización proporciona dos conjuntos de gráficos de cuadrícula. Cuando se crean los gráficos en la imagen de cámara, existe un caso en el que los gráficos están parcialmente ocultos de la otra cámara, y no es posible integrar los gráficos de cuadrícula y realizar reconstrucción densa. Por lo tanto, se realiza re-proyección para los gráficos obtenidos por las dos cámaras para fusionar información de píxel en el sistema de coordenadas del proyector.
Un caso en el que un punto de cuadrícula tp del patrón de proyector está asociado con puntos de cuadrícula po y pi de las dos cámaras se muestra en la Figura 9. Un patrón de cuadrícula 1304 para el proyector 1103 se inserta entre un patrón de cuadrícula 1301 para la cámara 1101 y un patrón de cuadrícula 1302 para la cámara 1102 para calcular coordenadas P3D en una superficie 1302 del objetivo de observación 1104. Se calculan dos puntos de coordenadas p3Do y p3Di por los dos puntos correspondientes; sin embargo, estos puntos no coinciden normalmente debido al error de procesamiento de imágenes. Por lo tanto, cuando un píxel r está presente en el rango periférico (R) del punto de cuadrícula tp, las profundidades do y di desde el punto de vista del proyector están integradas promediando las profundidades do y di . Para generar una imagen de rango denso, la profundidad dr para el píxel r se define como sigue:
[Ec. 10]
Figure imgf000011_0003
En este punto, d(tp, p) es la profundidad del sistema de coordenadas calculado basándose en tp y p. Además, D(r, tpk) es una distancia entre dos puntos r y tpk, y t es un parámetro definido por el usuario para determinar la cercanía de un punto de cuadrícula. Puesto que cada punto de coordenadas P3D es visible desde el proyector, la información de profundidad puede fusionarse. Un método de ejemplo empleado para cálculo de d(tp, p) puede ser interpolación lineal (por ejemplo, interpolación bilineal) en consonancia con la distancia extendida desde un conjunto del punto de cuadrícula tp y el punto de cuadrícula vecina a p. Adicionalmente, el promedio ponderado puede emplearse para calcular la expresión (9) para obtener el promedio. Un ángulo formado por la cámara y el proyector, por ejemplo, puede emplearse para ponderación.
(Tercera realización)
Un sistema de procesamiento de imágenes de acuerdo con una tercera realización de la presente invención se ilustra en la Figura 10. Se emplean seis cámaras 2101 a 2106 (dispositivos de formación de imágenes) y seis proyectores 2201 a 2206 (dispositivos de proyección). Los proyectores 2201 a 2206 proyectan, a un objetivo de observación 2301, patrones de cuadrícula formados de líneas onduladas. Puesto que los patrones de proyección son patrones estáticos, no se requiere sincronización con proyección. Por lo tanto, se posibilita la medición con unos muy altos FPS (Fotogramas por Segundo). Las cámaras 2101 a 2106 y los proyectores 2201 a 2206 están conectados a un aparato de procesamiento de imágenes 2401 que incluye un ordenador personal.
El aparato de procesamiento de imágenes 2401 almacena patrones de proyección, tales como patrones de cuadrícula formados de líneas onduladas, en un medio de almacenamiento con antelación, y puede transmitir datos de patrón proyectado a los proyectores 2201 a 2206 para proyectar los patrones al objetivo de observación 2301. Además, el aparato de procesamiento de imágenes 2401 extrae imágenes de entrada capturadas por las cámaras 2101 a 2106, almacena las imágenes de entrada en el medio de almacenamiento, y realiza el procesamiento de imágenes para reconstrucción de forma basándose en las imágenes de entrada.
En la tercera realización, puesto que múltiples patrones están incluidos en imágenes obtenidas por las cámaras, se requiere que un patrón debiera examinarse para identificar un proyector que proyectó el patrón. Por lo tanto, se emplean colores para identificación de los proyectores. En este caso, se proyectan los patrones de los tres colores primarios de luz, rojo, verde y azul a un objetivo de observación respectivamente por los dos proyectores.
Una imagen obtenida proyectando patrones de cuadrícula de líneas onduladas de los tres colores primarios se muestra en la Figura 11A. El resultado obtenido extrayendo un patrón rojo desde esta imagen se muestra en la Figura 11B, mientras que el resultado obtenido detectando un patrón azul se muestra en la Figura 11C. En este caso, se buscan correspondientes puntos sin emplear un patrón verde. Cuando se realiza detección de línea usando el patrón rojo y el patrón azul, los resultados obtenidos se ven afectados por el patrón verde. En este momento, como se muestra en la Figura 11D, un patrón verde puede detectarse para el resultado del patrón azul (en el lado de la cabeza en la Figura 11D). Por lo tanto, antes de que se realice la detección de línea, los colores se convierten en colores saturados (colores puros) de la siguiente manera.
(h, s, v) = RGB2HSV(r, g, b)
(r', g', b') = HSV2RGB(h, 1, v) (11)
Debería observarse que RGB2HSV y HSV2RGB representan conversión en el espacio de color, y se representan los colores en en el intervalo de [0, 1]. Mediante conversión de los colores en colores saturados, puede reducirse el efecto del patrón verde, como se muestra en la Figura 11E.
Un método para hallar correspondientes puntos para el patrón rojo y el patrón azul puede realizarse de la misma manera que para el caso de dos cámaras un proyector en la segunda realización. Puesto que se emplean más proyectores en la segunda realización, se emplean imágenes de cámara para detectar puntos de correspondencia entre proyectores.
Una imagen de cámara donde se solapa una pluralidad de patrones de cuadrícula se muestra en la Figura 12. Cuando se proyectan dos puntos de cuadrícula de diferentes patrones, es decir, un patrón GPk de un proyector k y un patrón PGi de un proyector 1, en el mismo píxel de la cámara, significa que los dos puntos de los proyectores están asociados entre sí. Estos dos puntos tienen la misma profundidad de la cámara. Puesto que es raro que dos puntos se proyecten en el mismo píxel exacto, se busca un punto p¡i e V¡i de una cámara i que corresponde al del proyector 1 y que satisface la siguiente expresión para determinar un punto p¡k e V¡k de la cámara i que corresponde al del proyector k.
D (p¡k, p¡i) < ^ (12)
En este momento, D(a, b) es una distancia entre puntos a y b, y ^ es el radio de un área de búsqueda alrededor de p¡k.
Como se muestra en la Figura 12, los correspondientes puntos de dos gráficos están conectados por una línea de puntos (un hueco entre el punto p¡k y el punto p¡i en el dibujo). Los dos gráficos están combinados en un único gráfico, y al mismo tiempo, se optimiza la asignación de los correspondientes puntos minimizando la energía. La energía de los bordes de correspondencia de proyector-proyector se define como sigue:
[Ec. 10]
Figure imgf000012_0001
Debería observarse que d¡(P3D) es la profundidad del punto de coordenada P3D de la cámara i, y t es un peso definido por el usuario. La energía total con múltiples cámaras y proyectores se define por la siguiente ecuación:
[Ec. 11]
Figure imgf000013_0001
Debería observarse que Ap(i) es un conjunto de proyectores que comparten el campo de visión con la cámara i, Ac(k) es un conjunto de cámaras que comparten el campo de visión con el proyector k. S¡jk es un conjunto de bordes entre las cámaras i y j dadas por el patrón del proyector k. Q¡ki es un conjunto de bordes entre los proyectores k y 1 en la imagen de la cámara i.
Para aumentar la densidad de una imagen, puede emplearse un método descrito mientras se hace referencia a la Figura 9 para la segunda realización.
A continuación, se realiza optimización para la imagen en todo el rango minimizando la energía. En la segunda realización, la energía consiste en el término de datos y término de regularización. El término de datos se calcula basándose en la diferencia de intensidades entre la cámara y el proyector, y el término de regularización se define usando la curvatura alrededor de cada vértice del gráfico de la cuadrícula. Cuando se superponen imágenes en dos rangos entre sí, se coinciden las formas, y las profundidades de las imágenes se optimizan empleando la restricción adicional.
El estado en el que se superponen entre sí las imágenes en dos rangos de dos proyectores se muestra en la Figura 13. Se calcula un punto de coordenada p3Dk desde un punto rk del proyector k (2503). El punto rk solapa el proyector 1 (2502) cuando el punto de proyección de p3Dk está localizado en la máscara de la cámara (2501). Cuando el punto de coordenada p3Dk se proyecta en la imagen del proyector 1, y se halla dentro de un triángulo formado de tres puntos, rio, rii y ri2 , estos puntos se consideran como los correspondientes puntos.
Cuando la profundidad en un punto r es dr, y un pequeño cambio de dr es Adr, se realiza minimización iterativa empleando Adr para actualizar la profundidad. La energía se define usando Adr como sigue:
[Ec. 12]
Figure imgf000013_0002
Debería observarse que AD es un conjunto de Adr, y Ei es un término de datos, mientras que Es es un término de regularización. Ep representa la restricción entre imágenes en dos rangos. G(rk) es una función para hallar el correspondiente punto rm de un punto rk. P3D(Adr) representa que el punto de coordenada se ha movido a una distancia Adr a lo largo de la línea de visión. dr para cada píxel se actualiza de manera iterativa añadiendo Adr que minimiza un error E (AD) de una manera de minimización no lineal.
De acuerdo con la tercera realización, se ha considerado un caso en el que, por ejemplo, seis cámaras y seis proyectores están dispuestos de manera alterna en una circunferencia. Puesto que una cámara está localizada en cada lado de un único proyector, están disponibles seis combinaciones como un conjunto de dos cámaras y un proyector, descrito en la segunda realización. Cuando los colores de patrones proyectados por los proyectores individuales se seleccionan como, por ejemplo, RGBRGB para evitar los mismos colores adyacentes entre sí, se proyectan dos patrones diferentes a una cámara por los dos proyectores localizados en los respectivos lados. Por lo tanto, se identifica la combinación de dos colores, RG, GB o Br , por el método anteriormente descrito.
Como conclusión de las realizaciones anteriores, se busca la correspondencia empleando adicionalmente la información de cámara-proyector en la primera realización, la información de cámara-cámara en la segunda realización, o la información de proyector-proyector en la tercera realización.
(Cuarta realización)
En la primera a la tercera realizaciones, el coste de coincidencia se ha obtenido como la SSD entre una imagen de cámara y una imagen de proyector (imagen de patrón). Puesto que una sencilla SSD con respecto a un área cuadrilateral no es apropiada como un término de datos, se ha empleado un parche obtenido aproximando el área alrededor del punto de cuadrícula de un objeto objetivo al plano tangente del punto de cuadrícula. En una cuarta realización de esta invención, se han de comparar los resultados obtenidos por detección de línea, en lugar de comparación de las imágenes.
Otro ejemplo para el método de comparación de intersección se describirá mientras se hace referencia a la Figura 14. Como resultado de detección de línea, se emplea un error de detección de línea local (denominado una característica de línea) alrededor de un punto de intersección. La línea continua en la Figura 14 indica el resultado de detección de línea, y una línea discontinua indica un patrón del proyector, que se emplea como un coste a proporcionarse para el BP para cálculo de la suma (= un error) de diferencias en las posiciones individuales. En un caso en el que un error sea pequeño, esto representa que una posibilidad de que los puntos de cuadrícula estén asociados entre sí sea alta. De acuerdo con este método, la cantidad de cálculo puede reducirse, en comparación con la cantidad de cálculo para la SDD descrita en la primera realización.
Además, la imagen de la cámara y la imagen del proyector se comparan directamente entre sí para el cálculo de la SSD, y por lo tanto, cuando un objeto tiene una textura, la imagen de cámara puede verse afectada de manera adversa por la textura. Es decir, la intensidad de una imagen se cambia por la textura, y se aumenta una diferencia entre los resultados de comparación. En contraste, en caso de detección de línea, se comparan las posiciones de las líneas detectadas, en lugar de comparar las imágenes, y por lo tanto, el resultado no se ve afectado por el cambio de la intensidad de la imagen. Por lo tanto, el efecto debido a la reflectividad del objeto puede reducirse.
(Quinta realización)
Como se describirá mientras se hace referencia a las Figuras 3A y 3B, el parámetro para el patrón a proyectarse se ha determinado empíricamente. Por lo tanto, un patrón para proporcionar los mejores resultados de medición de forma se prevé para determinar un parámetro.
Como se muestra en la Figura 15A, de acuerdo con la coincidencia estéreo, un correspondiente punto 2602 de una imagen de proyector asociado con un punto de cuadrícula 2603 de una imagen de cámara específica está presente a lo largo de una línea epipolar (línea lineal) 2601. Existe una posibilidad de que los puntos de intersección en la misma línea epipolar puedan ser candidatos incorrectos de correspondencia (correspondencia incorrecta) (por ejemplo, los puntos de intersección 2602 y 2604 en la Figura 15B). Por lo tanto, se realiza la comparación de las SSD o las características de línea descritas en la cuarta realización para los puntos de intersección en la misma línea epipolar. El parámetro debería seleccionarse para obtener una diferencia tan grande como sea posible. Puesto que la comparación se realiza para datos, que incluyen información para los puntos de intersección adyacentes, la energía representada en la expresión 2 se calcula de manera repetitiva por el método BP. De las correspondencias incorrectas para los puntos de intersección individuales, la correspondencia para la que la energía calculada por el BP es la más pequeña se considera como el valor de evaluación para el punto de intersección pertinente, y se realiza cálculo del valor de evaluación teniendo en cuenta todos los puntos de intersección. El parámetro para el que el valor de evaluación total es el más pequeño se determina que es el parámetro óptimo.
Los grados de similitud se comparan para dos puntos de intersección arbitrarios en la misma línea epipolar, y se selecciona un parámetro para obtener el grado más pequeño de similitud. El promedio de los valores de evaluación de todos los puntos de intersección se emplea como el valor de evaluación total; sin embargo, el valor de evaluación promedio obtenido teniendo en cuenta únicamente puntos de intersección arbitrarios, o el valor más pequeño o más grande de los valores de evaluación para todos los puntos de intersección, puede emplearse también como el valor de evaluación total. Los parámetros para los que se obtienen los valores de evaluación más pequeños se determinan que son los parámetros óptimos.
Para determinar el parámetro óptimo, únicamente se emplea la imagen del proyector para comparar los puntos de intersección en la línea epipolar de la imagen del proyector. Suponiendo que la cámara y el proyector se han calibrado, cuando se cambia el parámetro del patrón de cuadrícula, no se cambia la línea epipolar, mientras que se cambian los puntos de intersección en la misma línea epipolar. Por lo tanto, debería seleccionarse el parámetro para el que el valor de evaluación obtenido mediante cálculo usando los puntos de intersección en la misma línea epipolar es el más pequeño.
Los intervalos de las líneas onduladas, las longitudes de onda de las líneas onduladas, o las amplitudes de las líneas onduladas se cambian a medida que los parámetros del patrón de cuadrícula, o el patrón se rotan, y en cada caso, la energía se calcula para determinar, como un parámetro óptimo, el parámetro para el que el valor de evaluación total es el más pequeño. Debería observarse que los espesores o los colores (longitudes de ondas) de las líneas onduladas pueden incluirse también en el parámetro.
Ejemplo 1
El resultado de simulación en la primera realización se muestra en las Figuras 17 y 18. En este caso, se emplean los datos del conejito en la base de datos de formas de la Universidad de Stanford (NPL 21) como una forma objetivo. Una imagen de un objetivo de observación que no tiene textura se muestra en la Figura 16A, mientras que una imagen donde se mapea un patrón de cuadrícula se muestra en la Figura 17A. Las imágenes generadas basándose en estas imágenes de entrada por software de trazado de rayos descrito en NPL 22 se muestran en las Figuras 16B y 17B, respectivamente. El resultado de detección de cuadrícula para la cabeza en la primera realización se muestra en las Figuras 16C y 17C. La continuidad de cuadrículas para algunas porciones en los límites entre la cabeza, las orejas y el cuerpo se detectan incorrectamente, pero estas porciones se desconecta satisfactoriamente en el proceso de coincidencia estéreo.
Una imagen de entrada obtenida por un método, descrito en NPL 8, que emplea dos colores se muestra en la Figura 18A, y es una imagen sin texturas a observarse. Una imagen con texturas a observarse se muestra en la Figura 19A. Para estas imágenes, se codifica información de ID local de ocho ciclos usando tres líneas con dos colores. Con este método, se obtiene el resultado satisfactorio como se muestra en la Figura 18B en un caso en el que se emplee un objeto sin textura. Sin embargo, cuando un objeto tiene textura, la información de color para el patrón se deteriora, y la decodificación de información de ID y reconstrucción en 3D no son satisfactorias, como se muestra en la Figura 19B.
Los errores de correspondencia para la Figura 16B, la Figura 17B y la Figura 18A se calcularon para realizar evaluación cuantitativa para el experimento anteriormente descrito. Puesto que las coordenadas de la imagen del proyector asociadas con los píxeles individuales de la imagen de cámara ya son conocidas, se calcula un error entre el punto correspondiente, estimado basándose en el resultado de reconstrucción, y el punto correspondiente real usando la distancia en el plano de la imagen. Los errores para la Figura 16B, la Figura 17B y la Figura 18A se indican como imágenes, en el orden nombrado, en la Figura 20C. Un píxel brillante indica que el error es grande.
Se muestra el error de la raíz de la media cuadrática (RMSE) para cada píxel en una tabla a continuación:
T l 1
Figure imgf000015_0001
Los valores de RMSE son RMSE1, obtenido por cálculo para todos los correspondientes puntos que se han reconstruido, y el RMSE2 obtenido por cálculo para los correspondientes puntos, distintos de valores atípicos que están más allá de un píxel. Es evidente a partir de esta tabla que, en caso de no textura, se obtiene mejor RMSE1 para todos los píxeles por el método en la primera realización que por el método en NPL 8, mientras que se obtiene mejor RMSE2 para la que se eliminan los valores atípicos por el método en NPL 8 que por el método en la primera realización.
La razón probable para esto es como sigue. Puesto que de acuerdo con el método en NPL 8, los correspondientes puntos se calculan basándose en el ID local (fase) del patrón lineal que aparece localmente, la precisión es alta siempre que la información de ID local se obtenga correctamente. Sin embargo, cuando la decodificación del ID local no es satisfactoria, tiene lugar un error grande. Este error se observa como ruido de sal y pimienta en la Figura 20C. Además, en caso de que se mapee un patrón de diseño, no se realiza satisfactoriamente reconstrucción por el método en NPL 8, mientras que aunque se aumenta un poco un error, la reconstrucción de forma se realiza satisfactoriamente por el método en la primera realización. Por lo tanto, puede decirse que el método en la primera realización proporciona robustez y precisión superior que el método en NPL 8, especialmente en caso de un objeto con textura.
Las mallas poligonales reconstruidas en la primera realización se muestran en las Figuras 21A y 21B. La malla poligonal en la Figura 21A corresponde a la imagen de entrada en la Figura 17A, y la malla poligonal corresponde a la imagen de entrada en la Figura 17B. Las formas mostradas en las Figuras 21A y 21B representan los resultados de reconstrucción densa realizando interpolación. En las condiciones empleadas para el experimento, la línea de base entre la cámara y el proyector es larga, y está presente un error de paralaje de aproximadamente 100 píxeles, por ejemplo; sin embargo, se obtiene correspondencia correcta a través de la reconstrucción estéreo, sin que se designe el rango de búsqueda. Adicionalmente, pueden obtenerse puntos de correspondencia densos realizando interpolación y optimización.
Ejemplo 2
Se describirán los resultados obtenidos a través del experimento basándose en dados reales. Se emplearon una cámara de 1600 x 1200 píxeles y un proyector de 1024 x 768. Las secuencias de imágenes se capturaron a 30 FPS, y se usó un PC equipado con Intel Core i7 2,93 GHz y NVIDIA GeForce 580GTX. Los algoritmos anteriormente descritos se implementaron por CUDA (Arquitectura Unificada de Dispositivos de Cálculo). Se implementó detección de línea como un único hilo en una CPU. En primer lugar, para demostrar la efectividad de un patrón de cuadrícula de líneas onduladas, se realizó comparación del patrón de cuadrícula de líneas onduladas con un patrón de línea lineal. El resultado de la reconstrucción basándose en el patrón de cuadrícula de líneas onduladas se muestra en las Figuras 22A a 22D. Este es un resultado de reconstrucción en 3D proporcionado usando el patrón ondulado en la Figura 3B.
Una imagen de entrada se muestra en la Figura 22A, y el resultado de reconstrucción obtenido por el método de coincidencia estéreo de proyector cámara se muestra en la Figura 22B. Las líneas de cuadrícula en la porción discontinua de un objeto (el límite entre la cabeza y el cuello del maniquí) se desconectaron satisfactoriamente en el proceso de coincidencia estéreo.
El resultado de la reconstrucción en 3D para esta realización se muestra en la Figura 22C. El número de los puntos de cuadrícula era 943 y el número promedio de candidatos del punto correspondiente para cada punto de cuadrícula era 41. El tiempo computacional para el proceso de coincidencia estéreo era 0,22 segundos. Aunque la imagen entera se designó como el rango de búsqueda, el coste computacional aún era bajo puesto que el patrón de cuadrícula era disperso, en comparación con el número de píxeles.
Una forma densa generada por el método anteriormente descrito se muestra en la Figura 22D. El número de vértices del modelo en 3D era 25.938. El número de iteración para optimización era cinco, y el tiempo computacional para interpolación era 0,59 segundos. El tiempo total incluyendo detección de línea era 4,87 segundos.
El resultado obtenido evaluando la precisión en la primera realización se muestra en las Figuras 23A a 23C. Una imagen de entrada se muestra en la Figura 23A, una forma generada por el método de interpolación anteriormente descrito se muestra en la Figura 23B, y un error representado usando una imagen se muestra en la Figura 23C. Se realizó evaluación midiendo la forma de un cubo. El tamaño del cubo era 0,2 m de cuadrado y la distancia de la cámara era aproximadamente 1,0 m. Se adaptó un plano a cada cara del cubo reconstruido para calcular RMSE para un error de cada plano. El promedio de RMSE de dos planos era 0,36 mm, y un ángulo entre los planos era 88,8 grados (de manera correcta, 90,0 grados). Este error se considera extremadamente pequeño para uso práctico.
Las Figuras 24A a 24C son diagramas que muestran el resultado obtenido mediante reconstrucción bajo el efecto de luz ambiente. La ventaja importante de un patrón estático con color único puede ser el aumento de posibilidades para que un dispositivo irradie un patrón. Por lo tanto, se llevó a cabo un experimento de reconstrucción usando un proyector láser que proyecta luz de una única longitud de onda. Puesto que la energía de luz proyectada se concentró en un pequeño ancho de banda, incluso bajo el efecto de la luz ambiental, un patrón proyectado podría observarse usando un filtro de paso banda apropiado. El entorno de experimento se muestra en la Figura 24A, y es evidente que un objetivo se irradia de manera intensa por una fuente de luz externa. Sin embargo, como se muestra en la Figura 24B, un patrón proyectado se identifica de manera evidente por un filtro de paso banda, y como se muestra en la Figura 24C, puede realizarse reconstrucción en 3D correcta.
El resultado para capturar el movimiento de apertura y cierre de una mano se muestra en las Figuras 25 y 26. El movimiento para cerrar la mano se midió en el orden de las Figuras 25A a 25D. Los resultados de medición para estos movimientos se muestran en las Figuras 26A a 26D. De acuerdo con la primera realización, puesto que se realiza reconstrucción de un disparo, puede realizarse reconstrucción en 3D del objeto objetivo para cada fotograma independiente incluso cuando el objeto objetivo se mueve rápido.
El resultado para capturar el movimiento humano que repele un puñetazo se muestra en las Figuras 27 y 28. El movimiento del brazo derecho se midió en el orden de las Figuras 27A a 27D. Los resultados de medición para los movimientos se muestran en las Figuras 28A a 28D. De acuerdo con la primera realización, puesto que se realiza reconstrucción de un disparo, puede realizarse reconstrucción en 3D del objeto objetivo para cada fotograma independiente incluso cuando el objeto objetivo se mueve rápido.
Se ha descrito el método de reconstrucción en 3D (reconstrucción de un disparo) para una única imagen basándose en la proyección de un patrón con color único y estático. La información de correspondencia se representa implícitamente empleando una diferencia de los patrones en los puntos de intersección individuales en un patrón de cuadrícula de líneas onduladas. A continuación, cuando se distorsiona la regularidad del patrón, se aumenta la especificidad del patrón, y se obtiene la solución estable. Además, también se ha proporcionado una descripción para el método mediante el cual la reconstrucción de forma por el método de coincidencia estéreo se amplía para el uso para el sistema de proyector-cámara teniendo en cuenta la continuidad de la cuadrícula. En la etapa final de reconstrucción, se interpola la reconstrucción por la cuadrícula para estimar la profundidad para cada píxel. Se prueba que, en comparación con el método convencional, se obtienen los resultados más estables, y se realiza medición eficaz para un objeto en movimiento.

Claims (10)

REIVINDICACIONES
1. Un sistema de procesamiento de imágenes que tiene un dispositivo de proyección (102; 1103; 2201-2206), un dispositivo de formación de imágenes (101; 1101, 1102; 2101-2106) y un aparato de procesamiento de imágenes (104; 1105; 2401) conectado al dispositivo de proyección y al dispositivo de formación de imágenes, en donde el dispositivo de proyección proyecta un patrón proyectado a un objetivo de observación (103; 1104; 2301), el dispositivo de formación de imágenes captura el patrón proyectado y el aparato de procesamiento de imágenes realiza reconstrucción de forma basándose en una imagen de entrada que incluye el patrón proyectado, comprendiendo el aparato de procesamiento de imágenes (104; 1105; 2401):
una unidad para extraer la imagen de entrada capturada por el dispositivo de formación de imágenes (101; 1101, 1102; 2101-2106) y realizar detección de línea para el patrón proyectado, proyectado por el dispositivo de proyección (102; 1103; 2201-2206), en donde
el patrón proyectado es un patrón de cuadrícula formado por líneas onduladas,
las líneas onduladas son curvas onduladas que tienen periodicidad predeterminada,
un patrón de cuadrícula formado por las líneas onduladas está formado por una pluralidad de líneas onduladas que están dispuestas a intervalos predeterminados,
el patrón de cuadrícula es un conjunto de líneas onduladas que intersectan entre sí en dos direcciones, y el intervalo de las líneas onduladas en una de las direcciones no es igual a un múltiplo integral de una longitud de onda para la línea ondulada en la otra dirección; y
una unidad para realizar reconstrucción de forma asociando puntos de intersección de líneas verticales y horizontales extraídas por la detección de línea al patrón proyectado.
2. El sistema de procesamiento de imágenes de acuerdo con la reivindicación 1, en el que la unidad para realizar la reconstrucción de forma incluye:
una unidad para re-proyectar un parche a una imagen emitida por el dispositivo de proyección (102; 1103; 2201­ 2206), en donde el parche se obtiene aproximando, a un plano tangente, una región alrededor de cada punto de cuadrícula de una imagen de entrada que es capturada por el dispositivo de formación de imágenes (101; 1101, 1102; 2101-2106), en donde el punto de cuadrícula es un punto de intersección de una línea vertical y una línea horizontal en el patrón de cuadrícula de líneas onduladas;
una unidad para calcular energía para coincidencia estéreo entre el parche re-proyectado y un candidato de correspondencia para el punto de cuadrícula del patrón proyectado, proyectado por el dispositivo de proyección (102; 1103; 2201-2206) empleando una suma de un término de datos asignado al punto de cuadrícula y un término de regularización obtenido entre el punto de cuadrícula y un punto de cuadrícula adyacente, y
una unidad para realizar reconstrucción de forma asociando un punto de cuadrícula al patrón proyectado, en donde el punto de cuadrícula es un candidato de correspondencia que tiene el valor mínimo de la energía para coincidencia estéreo entre los candidatos de correspondencia.
3. El sistema de procesamiento de imágenes de acuerdo con la reivindicación 1, en el que la unidad para realizar la reconstrucción de forma incluye:
una unidad para crear una malla triangular que consiste en tres muestras de píxel y calcular una profundidad de cada subpíxel; y
una unidad para calcular, para todas las muestras de píxel, un error que tiene lugar cuando la malla triangular se re-proyecta a la imagen de salida del dispositivo de proyección (102; 1103; 2201-2206), minimizando el error obtenido, y realizando interpolación lineal para profundidades de píxeles distintas de las muestras de píxel.
4. El sistema de procesamiento de imágenes de acuerdo con la reivindicación 2, en el que el dispositivo de formación de imágenes incluye primeros y segundos dispositivos de formación de imágenes (1101, 1102); y
la unidad para realizar la reconstrucción de forma incluye una unidad para seleccionar el candidato de correspondencia añadiendo un término de regularización para el punto de cuadrícula que se obtiene entre el primer y el segundo dispositivos de formación de imágenes (1101, 1102) a la energía para coincidencia estéreo de los candidatos de correspondencia.
5. El sistema de procesamiento de imágenes de acuerdo con la reivindicación 4, en el que la unidad para realizar la reconstrucción de forma incluye una unidad para emplear un promedio para fusionar la profundidad para cada píxel que se obtiene, para el punto de cuadrícula, entre el primero y el segundo dispositivos de formación de imágenes (1101, 1102).
6. El sistema de procesamiento de imágenes de acuerdo con la reivindicación 1, en el que el dispositivo de proyección incluye el primer y el segundo dispositivos de proyección; y
la unidad para realizar la reconstrucción de forma incluye una unidad para optimizar la profundidad de cada píxel, para puntos de cuadrícula para los que se obtiene coincidencia entre un primer patrón proyectado, proyectado por el primer dispositivo de proyección y un segundo patrón proyectado, proyectado por el segundo dispositivo de proyección, en donde los puntos de cuadrícula son puntos de intersección de líneas verticales y líneas horizontales en el patrón de cuadrícula de líneas onduladas.
7. El sistema de procesamiento de imágenes de acuerdo con la reivindicación 1, en el que la unidad para realizar la reconstrucción de forma incluye una unidad para realizar reconstrucción de forma calculando, para una pluralidad de posiciones alrededor de puntos de cuadrícula que son puntos de intersección de líneas verticales y líneas horizontales en el patrón de cuadrícula de líneas onduladas, una diferencia entre el patrón proyectado de los puntos de cuadrícula y el resultado obtenido a través de la detección de línea, y empleando el resultado obtenido como un coste de coincidencia para asociar el candidato de correspondencia y asociando un punto de cuadrícula que es el candidato de correspondencia mínima al patrón proyectado.
8. El sistema de procesamiento de imágenes de acuerdo con la reivindicación 1, en el que, cuando el patrón proyectado es proyectado al objetivo de observación (103; 1104; 2301), se selecciona un parámetro para el patrón proyectado comparando grados de similitud para dos puntos de intersección arbitrarios en la misma línea epipolar de modo que un grado de similitud se vuelve mínimo.
9. Un método de procesamiento de imágenes de realización de reconstrucción de forma basándose en una imagen de entrada que incluye un patrón proyectado en un aparato de procesamiento de imágenes (104; 1105; 2401) conectado a un dispositivo de proyección (102; 1103; 2201-2206) y a un dispositivo de formación de imágenes (101; 1101, 1102; 2101-2106), en donde el dispositivo de proyección proyecta un patrón proyectado a un objetivo de observación (103; 1104; 2301), y el dispositivo de formación de imágenes captura el patrón proyectado, comprendiendo el método las etapas de:
extraer, mediante el aparato de procesamiento de imágenes (104; 1105; 2401), la imagen de entrada capturada por el dispositivo de formación de imágenes (101; 1101, 1102; 2101-2106), y realizar detección de línea para el patrón proyectado, proyectado por el dispositivo de proyección (102; 1103; 2201-2206), en donde
el patrón proyectado es un patrón de cuadrícula formado por líneas onduladas,
las líneas onduladas son curvas onduladas que tienen periodicidad predeterminada,
un patrón de cuadrícula formado por las líneas onduladas está formado por una pluralidad de líneas onduladas que están dispuestas a intervalos predeterminados,
el patrón de cuadrícula es un conjunto de líneas onduladas que intersectan entre sí en dos direcciones, y el intervalo de las líneas onduladas en una de las direcciones no es igual a un múltiplo integral de una longitud de onda para la línea ondulada en la otra dirección; y
realizar, mediante el aparato de procesamiento de imágenes (104; 1105; 2401), reconstrucción de forma asociando puntos de intersección de líneas verticales y horizontales extraídas por la detección de línea al patrón proyectado.
10. Un programa informático que incluye comandos ejecutables por ordenador que posibilitan que un dispositivo de formación de imágenes realice reconstrucción de forma basándose en una imagen de entrada que incluye un patrón proyectado en un aparato de procesamiento de imágenes (104; 1105; 2401) conectado a un dispositivo de proyección (102; 1103; 2201-2206) y un dispositivo de formación de imágenes (101; 1101, 1102; 2101-2106), en donde el dispositivo de proyección proyecta un patrón proyectado a un objetivo de observación (103; 1104; 2301), y el dispositivo de formación de imágenes captura el patrón proyectado, posibilitando adicionalmente los comandos ejecutables por ordenador que el dispositivo de formación de imágenes realice las etapas de:
extraer, mediante el aparato de procesamiento de imágenes (104; 1105; 2401), la imagen de entrada capturada por el dispositivo de formación de imágenes (101; 1101, 1102; 2101-2106), y realizar detección de línea para el patrón proyectado proyectado por el dispositivo de proyección (102; 1103; 2201-2206), en donde
el patrón proyectado es un patrón de cuadrícula formado por líneas onduladas,
las líneas onduladas son curvas onduladas que tienen periodicidad predeterminada,
un patrón de cuadrícula formado por las líneas onduladas está formado por una pluralidad de líneas onduladas que están dispuestas a intervalos predeterminados,
el patrón de cuadrícula es un conjunto de líneas onduladas que intersectan entre sí en dos direcciones, y el intervalo de las líneas onduladas en una de las direcciones no es igual a un múltiplo integral de una longitud de onda para la línea ondulada en la otra dirección; y
realizar, mediante el aparato de procesamiento de imágenes (104; 1105; 2401), reconstrucción de forma asociando puntos de intersección de líneas verticales y horizontales extraídas por la detección de línea al patrón proyectado.
ES13825095T 2012-07-30 2013-06-28 Sistema de procesamiento de imágenes y método de procesamiento de imágenes Active ES2696198T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012168412 2012-07-30
PCT/JP2013/004059 WO2014020823A1 (ja) 2012-07-30 2013-06-28 画像処理システムおよび画像処理方法

Publications (1)

Publication Number Publication Date
ES2696198T3 true ES2696198T3 (es) 2019-01-14

Family

ID=50027538

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13825095T Active ES2696198T3 (es) 2012-07-30 2013-06-28 Sistema de procesamiento de imágenes y método de procesamiento de imágenes

Country Status (6)

Country Link
US (1) US9633439B2 (es)
EP (1) EP2881702B1 (es)
JP (1) JP6270157B2 (es)
CN (1) CN104541127B (es)
ES (1) ES2696198T3 (es)
WO (1) WO2014020823A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9791267B2 (en) * 2014-05-27 2017-10-17 Bourbaki 13, Inc. Determining three-dimensional information from projections or placement of two-dimensional patterns
EP2950268B1 (de) * 2014-05-28 2018-07-04 Wincor Nixdorf International GmbH Verfahren und Vorrichtung zur Erfassung der dreidimensionalen Form eines Objekts
US10473916B2 (en) * 2014-09-30 2019-11-12 Washington University Multiple-view compressed-sensing ultrafast photography (MV-CUP)
JP2016114963A (ja) * 2014-12-11 2016-06-23 株式会社リコー 入力操作検出装置、プロジェクタ装置、電子黒板装置、デジタルサイネージ装置、及びプロジェクタシステム
US10068338B2 (en) * 2015-03-12 2018-09-04 Qualcomm Incorporated Active sensing spatial resolution improvement through multiple receivers and code reuse
US9846943B2 (en) 2015-08-31 2017-12-19 Qualcomm Incorporated Code domain power control for structured light
US10145670B2 (en) * 2016-01-12 2018-12-04 The Boeing Company Systems and methods for projected grid-based location tracking
DE102016002398B4 (de) * 2016-02-26 2019-04-25 Gerd Häusler Optischer 3D-Sensor zur schnellen und dichten Formerfassung
AU2017227599A1 (en) * 2016-03-01 2018-08-30 Magic Leap, Inc. Depth sensing systems and methods
JP6752468B2 (ja) * 2016-06-07 2020-09-09 公立大学法人広島市立大学 3次元形状計測装置及び3次元形状計測方法
US10225535B2 (en) * 2016-08-11 2019-03-05 Rabin Esrail Self-adjusting portable modular 360-degree projection and recording computer system
US10560679B2 (en) * 2016-08-30 2020-02-11 Microsoft Technology Licensing, Llc Deformation detection and automatic calibration for a depth imaging system
CA3049681A1 (en) * 2017-01-23 2018-07-26 The Board Of Trustees Of The University Of Illinois Adaptive cyber-physical system for efficient monitoring of unstructured environments
JP6934645B2 (ja) 2017-01-25 2021-09-15 国立研究開発法人産業技術総合研究所 画像処理方法
US10460512B2 (en) * 2017-11-07 2019-10-29 Microsoft Technology Licensing, Llc 3D skeletonization using truncated epipolar lines
WO2021051126A1 (en) * 2019-09-11 2021-03-18 The Johns Hopkins University Portable projection mapping device and projection mapping system
CN110702034A (zh) * 2019-10-25 2020-01-17 湖北工业大学 高反光表面三维面形测量方法、服务器及系统
US20220230335A1 (en) * 2021-01-20 2022-07-21 Nicolae Paul Teodorescu One-shot high-accuracy geometric modeling of three-dimensional scenes

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224064B1 (en) * 2003-05-21 2012-07-17 University Of Kentucky Research Foundation, Inc. System and method for 3D imaging using structured light illumination
JP2007114071A (ja) 2005-10-20 2007-05-10 Omron Corp 三次元形状計測装置、プログラム、コンピュータ読み取り可能な記録媒体、及び三次元形状計測方法
JP4321530B2 (ja) 2006-01-27 2009-08-26 トヨタ自動車株式会社 車両およびその制御方法
JP2009031150A (ja) * 2007-07-27 2009-02-12 Omron Corp 三次元形状計測装置、三次元形状計測方法、三次元形状計測プログラム、および記録媒体
US7768656B2 (en) 2007-08-28 2010-08-03 Artec Group, Inc. System and method for three-dimensional measurement of the shape of material objects
WO2010036403A2 (en) * 2008-05-06 2010-04-01 Flashscan3D, Llc System and method for structured light illumination with frame subwindows
JP5317169B2 (ja) * 2008-06-13 2013-10-16 洋 川崎 画像処理装置、画像処理方法およびプログラム
JP5631025B2 (ja) * 2010-03-10 2014-11-26 キヤノン株式会社 情報処理装置、その処理方法及びプログラム
JP2011242183A (ja) 2010-05-17 2011-12-01 Hiroshima City Univ 画像処理装置、画像処理方法およびプログラム
JP5630208B2 (ja) 2010-10-25 2014-11-26 株式会社安川電機 形状計測装置、ロボットシステムおよび形状計測方法
US8633969B2 (en) * 2011-02-09 2014-01-21 Omnivision Technologies, Inc. Apparatus and method for three-dimensional image capture with extended depth of field
JP6097903B2 (ja) * 2011-07-15 2017-03-22 有限会社テクノドリーム二十一 3次元形状の取得装置、処理方法およびプログラム

Also Published As

Publication number Publication date
EP2881702A1 (en) 2015-06-10
JP6270157B2 (ja) 2018-01-31
CN104541127B (zh) 2017-07-04
EP2881702A4 (en) 2016-03-23
CN104541127A (zh) 2015-04-22
JPWO2014020823A1 (ja) 2016-07-21
US9633439B2 (en) 2017-04-25
WO2014020823A1 (ja) 2014-02-06
EP2881702B1 (en) 2018-09-12
US20150221093A1 (en) 2015-08-06

Similar Documents

Publication Publication Date Title
ES2696198T3 (es) Sistema de procesamiento de imágenes y método de procesamiento de imágenes
US10768435B2 (en) System, method and computer program product to project light pattern
US11002856B2 (en) Doppler time-of-flight imaging
Schöps et al. Large-scale outdoor 3D reconstruction on a mobile device
Sagawa et al. Grid-based active stereo with single-colored wave pattern for dense one-shot 3D scan
Zennaro et al. Performance evaluation of the 1st and 2nd generation Kinect for multimedia applications
Scharstein et al. High-accuracy stereo depth maps using structured light
EP2295932B1 (en) Image processing device, image processing method, and program
US10643343B2 (en) Structured light matching of a set of curves from three cameras
JP6097903B2 (ja) 3次元形状の取得装置、処理方法およびプログラム
CN105069789A (zh) 基于编码网格模板的结构光动态场景深度获取方法
Furukawa et al. One-shot entire shape acquisition method using multiple projectors and cameras
JP5761750B2 (ja) 画像処理方法および装置
CN113074667B (zh) 基于标志点的全局绝对相位对齐方法、存储介质和系统
Tahara et al. Interference-free epipole-centered structured light pattern for mirror-based multi-view active stereo
CN105096314A (zh) 基于二值网格模板的结构光动态场景深度获取方法
CN111121663B (zh) 物体三维形貌测量方法、系统和计算机可读存储介质
CN115290004A (zh) 一种基于压缩感知与hsi的水下并行单像素成像方法
Ouji et al. A space-time depth super-resolution scheme for 3D face scanning
Aoki et al. Extraction and visualization of cardiac beat by grid-based active stereo
Dashpute et al. Event-based Motion-Robust Accurate Shape Estimation for Mixed Reflectance Scenes
Jin et al. StageAR: Markerless Mobile Phone Localization for AR in Live Events
Zhu Three Dimensional Shape Reconstruction with Dual-camera Measurement Fusion
Cahier et al. Incremental probabilistic geometry estimation for robot scene understanding
Lejeune et al. Evaluation of pairwise calibration techniques for range cameras and their ability to detect a misalignment