ES2532452T3

Method for generating a model of a flat object from views of the object

Abstract

Procedure for generating a model of a flat object from views of the flat object, in which the procedure generates a selected representation from a depth map of the flat object, a volumetric representation of the flat object and a mesh representation of the object flat, by at least the following steps: i) calibrate (1) at least a first chamber (12) and a second chamber (13); ii) calculate (2) the 3D coordinates of at least three points belonging to a plane of the plane object; iii) calculate (3) an equation of the plane comprised in the plane object (10); iv) select (4) at least one region that represents the surface of the planar object, in at least one image plane provided by at least one camera; and, v) calculate (5) an intersection between the selected region representing the surface of the object and the plane equation, in which step ii) additionally comprises: - selecting (30) a point and a first image point, wherein the first image point represents the selected point in the image plane provided by the first camera, and in which said selected point is comprised in the flat object; - calculate (32) a first ray that joins the center of the first camera with the first image point, and also with the selected point; - calculate (31) the projection of the selected point on the image plane provided by the second camera; - calculate (32) at least one second ray by means of at least the image plane of the second camera, which connects the center of the second camera with the second image point and also with the selected point; - determine (33) the 3D coordinates of the selected point by calculating the point of intersection between the first ray and the least one second ray; - repeat (34) the previous steps for at least two more points, obtaining at least the 3D coordinates of three points belonging to the plane of the plane object, characterized in that the projection of the selected point on the image plane of the second camera is calculates by means of a calculation option selected between manual and semi-automatic and because the semi-automatic calculation option is selected from semi-automatic levels as a set comprising a low level, a medium level and a high level.

ES2532452T3, drawing sheet 1
Sheet 1 of 9

Term

4.8 yearsto projected expiry

Projected expiry 11 July 2031, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

15 claims: 3 independent, 12 dependent

  1. 1
    ES 2 532 452 T3 REIVINDICACIONES 1. Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto plano, en el que el procedimiento genera una representación seleccionada de entre un mapa de profundidad del objeto plano, una representación volumétrica del objeto plano y una representación en malla del objeto plano, mediante al menos las siguientes etapas:i) calibrar (1) al menos una primera cámara (12) y una segunda cámara (13);ii) calcular (2) las coordenadas en 3D de al menos tres puntos que pertenecen a un plano del objeto plano;iii) calcular (3) una ecuación del plano comprendido en el objeto plano (10);iv) seleccionar (4) al menos una región que represente la superficie del objeto plano, en al menos un plano de imagen proporcionado por al menos una cámara;y, v) calcular (5) una intersección entre la región seleccionada que representa la superficie del objeto y la ecuación del plano, en el que la etapa ii) comprende adicionalmente: • seleccionar (30) un punto y un primer punto de imagen, en el que el primer punto de imagen representa el punto seleccionado en el plano de imagen proporcionado por la primera cámara, y en el que dicho punto seleccionado está comprendido en el objeto plano;• calcular (32) un primer rayo que une el centro de la primera cámara con el primer punto de imagen, y también con el punto seleccionado;• calcular (31) la proyección del punto seleccionado sobre el plano de imagen proporcionado por la segunda cámara;• calcular (32) al menos un segundo rayo por medio de al menos el plano de imagen de la segunda cámara, que conecta el centro de la segunda cámara con el segundo punto de imagen y también con el punto seleccionado;• determinar (33) las coordenadas en 3D del punto seleccionado por medio del cálculo del punto de intersección entre el primer rayo y el menos un segundo rayo;• repetir (34) las etapas anteriores para al menos dos puntos más, obteniendo al menos las coordenadas en 3D de tres puntos que pertenecen al plano del objeto plano, caracterizado porque la proyección del punto seleccionado sobre el plano de imagen de la segunda cámara se calcula por medio de una opción de cálculo seleccionada entre manual y semi-automática y porque la opción de cálculo semi-automático se selecciona de entre niveles semi-automáticos como un conjunto que comprende un nivel bajo, un nivel medio y un nivel alto.
  2. 2
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con la reivindicación 1, en el que la etapa i) adicionalmente comprende calcular los parámetros extrínsecos e intrínsecos de al menos la primera cámara y segunda cámara resolviendo las ecuaciones para tantos puntos en 2D/3D como grados de libertad comprendan las cámaras.
  3. 3
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con la reivindicación 1, en el que la opción de cálculo manual comprende que un usuario, mediante una interfaz gráfica de usuario que muestra al menos el plano de imagen proporcionado por la segunda cámara, seleccione el punto de imagen que mejor representa el punto previamente seleccionado mediante el plano de imagen proporcionado por la primera cámara.
  4. 4
    Procedimiento de generación de un modelo de un objeto a partir de vistas del objeto, de acuerdo con la reivindicación 1, en el que el nivel bajo comprende las siguientes etapas:• calcular una línea epipolar en al menos el plano de imagen proporcionado por la segunda cámara, en el que dicha línea epipolar es la línea dibujada sobe el plano de imagen de la segunda cámara que representa el primer rayo por medio de la calibración de las cámaras;• representar la línea epipolar por medio de la interfaz gráfica de usuario;y, • seleccionar un segundo punto de imagen sobre la interfaz gráfica de usuario, en el que el segundo punto de imagen es un punto seleccionado a lo largo de la línea epipolar que mejor representa el punto seleccionado mediante el plano de imagen proporcionado por la primera cámara. ES 2 532 452 T3
  5. 5
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con la reivindicación 1, en el que el nivel medio comprende las siguientes etapas:• determinar una primera área de imagen que contiene al menos el primer punto de imagen y almacenar al menos un valor de información del punto de imagen seleccionado de entre el color, la intensidad de color y una combinación de los mismos, de al menos el primer punto de imagen y cada uno de los puntos de imagen que rodean el primer punto de imagen;• calcular una línea epipolar en al menos el plano de imagen proporcionado por la segunda cámara, en el que dicha línea epipolar es la línea dibujada sobre el plano de imagen de la segunda cámara que representa el primer rayo por medio de la calibración de las cámaras;• determinar una segunda área que contiene al menos un punto de imagen comprendido en la línea epipolar, y almacenar al menos un valor de información del punto de imagen seleccionado de entre el color, la intensidad de color y una combinación de los mismos, de al menos dicho primer punto de imagen comprendido en la línea epipolar y cada uno de los puntos de imagen que rodean el punto de imagen comprendido en la línea epipolar;• comparar el valor de la información del punto de imagen de la primera área de imagen con el valor de la información del punto de imagen de la segunda área de imagen;• repetir las dos etapas previas para cada uno de los puntos de imagen que forman la línea epipolar;y, • seleccionar un segundo punto de imagen de entre un grupo de puntos de imagen formado por los puntos de imagen obtenidos en cada repetición por medio de una opción seleccionada entre manual y automática;la opción automática comprende seleccionar el segundo punto de imagen como el punto de imagen del total de puntos de imagen comprendidos en la línea epipolar, para lo que la segunda área de imagen del punto de imagen comprende un índice de reproducción de la primera área de imagen mayor que un umbral;la forma manual comprende resaltar con un color predeterminado el segundo punto de imagen, que se selecciona como el punto de imagen del total de puntos de imagen comprendidos en la línea epipolar, para el que la segunda área de imagen del segundo punto de imagen comprende un índice de reproducción de la primera área de imagen mayor que un umbral, y seleccionar un punto de entre los resaltados por la interfaz gráfica del usuario.
  6. 6
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con la reivindicación 1, en el que el nivel alto comprende las siguientes etapas:• determinar un conjunto de puntos característicos en al menos los planos de imagen proporcionados por la primera cámara y la segunda cámara, siendo dichos puntos característicos los situados en esquinas y bordes del objeto, y en las superficies de objetos con textura, los puntos obtenidos por un algoritmo de detección de esquinas;• determinar una primera área de imagen que contenga al menos el primer punto de imagen y almacenar al menos un valor de información del punto de imagen seleccionado de entre el color, la intensidad de color y una combinación de los mismos para al menos el primer punto de imagen y cada uno de los puntos de imagen que rodean al primer punto de imagen;• calcular una línea epipolar en al menos el plano de imagen proporcionado por la segunda cámara, en el que la línea epipolar es la línea dibujada sobre el plano de imagen de la segunda cámara que representa el primer rayo por medio de la calibración de las cámaras;• determinar una segunda área de imagen que comprende al menos un punto de imagen contenido en la línea epipolar, y almacenar al menos un valor de información del punto de imagen seleccionado de entre el color, la intensidad de color y una combinación de los mismos, de al menos el punto de imagen contenido en la línea epipolar y cada punto de imagen que rodea el punto de imagen contenido en la línea epipolar;• comparar el valor de información del punto de imagen de la primera área de imagen con el valor de información del punto de imagen de la segunda área de imagen;• repetir las dos etapas previas para cada uno de los puntos de imagen que forman la línea epipolar;y, • seleccionar un segundo punto de imagen de entre un grupo de puntos de imagen formado por los puntos de imagen obtenidos en cada una de las repeticiones por medio de una opción seleccionada entre manual y automática;la opción automática comprende seleccionar el segundo punto de imagen como el punto de imagen del total de puntos de imagen comprendidos en la línea epipolar, para lo que la segunda área de imagen del punto de imagen comprende un índice de reproducción de la primera área de imagen mayor que un umbral;la forma manual comprende resaltar con un color predeterminado el segundo punto de imagen, que se selecciona como el punto de imagen del total de puntos de imagen comprendidos en la línea epipolar, ES 2 532 452 T3 para lo que la segunda área de imagen del segundo punto de imagen comprende un índice de reproducción de la primea área de imagen mayor que un umbral y seleccionar un punto de entre los resaltados mediante la interfaz gráfica del usuario.
  7. 7
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con la reivindicación 4, 5 o 6, en el que el rayo que une el centro de la primera cámara con el punto seleccionado y al menos el rayo que une el centro de la segunda cámara con el punto seleccionado están definidos por las ecuaciones de línea respectivas mediante las siguientes etapas:• obtener la localización en 3D del centro de la cámara del sistema de coordenadas calibrado;• obtener la localización en 3D del primer punto de imagen y del segundo punto de imagen que representan el mismo punto seleccionado en al menos el plano de imagen de la primera cámara y el plano de imagen de la segunda cámara, respectivamente;y, • determinar al menos una primera ecuación de línea y una segunda ecuación de línea, estando la primera ecuación de línea descrita por el vector que une la localización en 3D del centro de la primera cámara con la localización en 3D del primer punto de imagen y estando la segunda ecuación descrita por el vector que conecta la localización en 3D del centro de la segunda cámara con la localización en 3D del segundo punto de imagen.
  8. 8
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con la reivindicación 7, en el que la determinación de las coordenadas de al menos un punto en 3D mediante el cálculo del punto de intersección entre el primer rayo y al menos el segundo rayo comprende adicionalmente:• establecer las coordenadas de al menos un punto en 3D cuando el punto de intersección entre el primer rayo y el al menos segundo rayo pertenece simultáneamente a la primera ecuación y a la segunda ecuación que determinan dicho primer rayo y dicho al menos segundo rayo respectivamente;y, • calcular las coordenadas de un punto en 3D cuya distancia a dicho primer rayo y dicho al menos segundo rayo es mínima cuando no existe punto de intersección entre dicho primer rayo y dicho al menos segundo rayo.
  9. 9
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con la reivindicación 7 u 8, en el que la etapa iii) adicionalmente comprende:• calcular la expresión del plano determinada por la siguiente ecuación: en la que Xd, Yd y Zd son las coordenadas del punto en 3D que pertenece al plano del objeto y aN, bN y cn son las coordenadas de un vector N normal al plano;el vector N normal al plano es el producto vectorial de dos vectores pertenecientes al plano y definidos por al menos tres puntos en el plano del objeto plano.
  10. 10
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con la reivindicación 1, en el que calcular una intersección entre la región que representa la superficie del objeto y la ecuación del plano comprende adicionalmente las siguientes cuatro subetapas:• encontrar, para cada región formada en el plano de imagen de la primera cámara, al menos un rayo que pasa a través del centro de la primera cámara y un punto comprendido en cada una de las regiones;• encontrar el punto de intersección entre dicho al menos un rayo y el plano, en el que dicho punto de intersección representa las coordenadas en 3D de un punto que pertenece al objeto plano real;• repetir las dos sub-etapas anteriores para cada uno de los puntos que forman la región y formar una nube de puntos cuando se forma la región para al menos dos puntos;• unir los puntos de intersección encontrados por al menos la primera cámara dentro de la región seleccionada.
  11. 11
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el procedimiento adicionalmente comprende, para llevar a cabo la representación del mapa de profundidad del objeto plano, las siguientes etapas:• seleccionar una región plana perteneciente al objeto a modelar;• analizar en un plano de imagen de una cámara específica, los puntos de imagen de las regiones correspondientes a dicha región plana;ES 2 532 452 T3 • calcular, para cada punto, la distancia desde el centro de la cámara a cada punto de la región plana;• repetir las dos etapas anteriores para cada punto perteneciente a la región plana;y, • representar el mapa de profundidad con las distancias anteriormente calculadas y otorgando un valor seleccionado entre cero y un primer valor predeterminado a todos los puntos que estén comprendidos en la región plana seleccionada.
  12. 12
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el procedimiento comprende, para realizar la representación volumétrica del objeto plano, las siguientes etapas:• definir un sistema común de coordenadas mediante la calibración de una disposición de cámaras formada por al menos dos cámaras;• definir una caja delimitante que comprende el objeto plano a modelar con referencia al sistema de coordenadas definido;• dividir la caja delimitante en pequeños elementos de volumen denominados vóxeles;• determinar para cada vóxel comprendido en la caja delimitante si dicho vóxel está ocupado mediante un algoritmo seleccionado entre un algoritmo sencillo y un algoritmo perfeccionado;y, • representar la representación volumétrica mediante la representación de los vóxeles ocupados.
  13. 13
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con la reivindicación 12, en el que el algoritmo sencillo comprende:• calcular las coordenadas del centroide de cada vóxel;• calcular la distancia desde el centroide a un punto de la nube de puntos;y, • etiquetar el vóxel como ocupado si la distancia calculada anteriormente entre el centroide y el punto de la nube de puntos es inferior a un umbral predeterminado, y etiquetar el vóxel como no ocupado si dicha distancia es superior al umbral predeterminado.
  14. 14
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con la reivindicación 12, en el que el algoritmo comprende adicionalmente:• calcular las coordenadas del centroide de cada vóxel;• calcular la distancia desde el centroide al centro de la cámara;• identificar el punto en la nube de puntos con la distancia mínima al centroide y la longitud del rayo que pasa a través del vóxel y el centro de la cámara;• calcular la distancia entre el punto identificado en la nube de puntos y el centro de la cámara;• etiquetar el vóxel como ocupado si la distancia calculada anteriormente entre el centroide y el centro de la cámara es al menos igual que la distancia entre el punto identificado en la nube de puntos y el centro de la cámara y etiquetar el vóxel como no ocupado en caso contrario;y • aplicar mejoras en el algoritmo mejorado seleccionadas entre: o una intersección por volúmenes que se obtiene mediante las dos siguientes sub-etapas: • determinar la ocupación de los vóxeles por medio del centro de la cámara proporcionado por la primera cámara y al menos la segunda cámara independientemente;y, • etiquetar el vóxel como ocupado si y sólo si está etiquetado como ocupado en cada una de las vistas proporcionadas por la primera cámara y al menos la segunda cámara;o una ocupación por grosor, que comprende las siguientes sub-etapas: • seleccionar el grosor T del objeto plano;• calcular las coordenadas del centroide de cada vóxel;• calcular la distancia desde el centroide al centro de la cámara;ES 2 532 452 T3 • identificar el punto en la nube de puntos con la distancia mínima al centroide y la longitud del rayo que pasa a través del vóxel y el punto en el centro de la cámara;• calcular la distancia entre el punto identificado en la nube de puntos y el centro de la cámara;y • etiquetar el vóxel como ocupado si la distancia calculada anteriormente entre el centroide y el centro de la cámara es al menos igual que la distancia entre el punto identificado en la nube de puntos y el centro de la cámara, y más pequeño que la distancia entre el punto identificado en la nube de puntos y el centro de la cámara más el grosor T y en caso contrario etiquetar el vóxel como no ocupado;o intersección por volúmenes con ocupación por el grosor que obtiene la intersección de los diferentes volúmenes mediante las siguientes subetapas: • determinar la ocupación de los vóxeles por medio del centro de la cámara proporcionado por la primera cámara y al menos la segunda cámara independientemente;• seleccionar el grosor T del objeto plano;• calcular las coordenadas del centroide de cada vóxel;• calcular la distancia desde el centroide al centro de la cámara;• identificar el punto en la nube de puntos con la distancia mínima al centroide y la longitud del rayo que pasa a través del vóxel y el punto en el centro de la cámara;• calcular la distancia entre el punto identificado en la nube de puntos y el centro de la cámara;• etiquetar, en cada vista proporcionada por la primera cámara y la segunda cámara el vóxel como ocupado si la distancia calculada anteriormente entre el centroide y el centro de la cámara es al menos igual que la distancia entre el punto identificado en la nube de puntos y el centro de la cámara y menor que la distancia entre el punto identificado en la nube de puntos y el centro de la cámara más el grosor T y etiquetar el vóxel como no ocupado en caso contrario;y, • etiquetar el vóxel como ocupado si y sólo si está etiquetado como ocupado en cada una de las vistas proporcionadas por la primera cámara y al menos la segunda cámara;
  15. 15
    Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto, de acuerdo con la reivindicación 1, en el que el procedimiento adicionalmente comprende las siguientes etapas para realizar la representación en malla del objeto plano:• determinar tres puntos por superficie localmente plana comprendida en el objeto plano;• unir los tres puntos formando un triángulo;• unir los triángulos obtenidos formando una malla;y, • representar la malla.
Independent claims15