ES2766948T3 - Malla adaptativa de resolución para realizar metrología en 3-d de un objeto - Google Patents

Malla adaptativa de resolución para realizar metrología en 3-d de un objeto Download PDF

Info

Publication number
ES2766948T3
ES2766948T3 ES18174588T ES18174588T ES2766948T3 ES 2766948 T3 ES2766948 T3 ES 2766948T3 ES 18174588 T ES18174588 T ES 18174588T ES 18174588 T ES18174588 T ES 18174588T ES 2766948 T3 ES2766948 T3 ES 2766948T3
Authority
ES
Spain
Prior art keywords
mesh
point cloud
point
resolution
sensor
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
ES18174588T
Other languages
English (en)
Inventor
Yuri Owechko
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.)
Boeing Co
Original Assignee
Boeing Co
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 Boeing Co filed Critical Boeing Co
Application granted granted Critical
Publication of ES2766948T3 publication Critical patent/ES2766948T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
    • G01B21/04Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
    • G01B21/045Correction of measurements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • Image Generation (AREA)

Abstract

Un metodo (200, 200') para generar una malla adaptativa de resolucion (102) para la metrologia 3-D de un objeto (104), que comprende: recibir (202) datos de nubes de puntos (110) de una pluralidad de sensores (106a -106n), los datos de nube de puntos desde cada sensor definen una nube de puntos (112) que representa el objeto (104), en donde cada nube de puntos comprende una multiplicidad de puntos (114) y cada punto comprende al menos informacion de ubicacion para el punto (115) en el objeto; determinar (202) una resolucion de cada sensor en cada una de las tres dimensiones ortogonales en funcion de la posicion de cada sensor en relacion con el objeto y las propiedades fisicas de cada sensor, en donde recibir los datos de nube de puntos comprende recibir la nube de puntos (402) de cada sensor y un elipsoide de incertidumbre (404a-404c) para cada punto, en donde los elipsoides de incertidumbre se usan para determinar las resoluciones de cada sensor en funcion de la posicion del sensor con respecto al objeto (104); asignar (208) cada punto a un triangulo de malla mas cercano (602a) de una malla triangular (600), comprendiendo la malla triangular una multiplicidad de triangulos de malla (602a-602n) que representan colectivamente una superficie (604) del objeto (104); ajustando la malla triangular (600) a la nube de puntos (402) ajustando los vertices de malla (606a - 606c) de cada triangulo de malla asignado (602a - 602n) para minimizar la distancia media (di) de puntos (400a) en la nube de puntos (402) de sus triangulos de malla mas cercanos (602a - 602n), ponderado por el cuadrado inverso de la resolucion del sensor dependiente de la posicion en la direccion (610) hacia el punto mas cercano (608) en el triangulo de malla asignado (602a - 602n).

Description

DESCRIPCIÓN
Malla adaptativa de resolución para realizar metrología en 3-d de un objeto
Antecedentes
La presente divulgación se refiere a la realización de mediciones durante el ensamblaje de fábrica u otros procesos en un objeto que se fabrica y, más particularmente, para generar una malla adaptativa de resolución para la metrología tridimensional (3-D) de un objeto que se ensambla o fabrica.
La metrología es la medición precisa de la forma de un objeto durante el ensamblaje de fábrica u otros procesos o para otros fines donde se necesitan mediciones precisas. Los datos sin procesar de los sensores 3-D utilizados para la metrología suelen tener forma de nubes de puntos o una lista de las coordenadas 3-D de los puntos medidos. Las nubes de puntos son difíciles de interpretar o manipular, por lo tanto, normalmente se convierten en una representación de superficie de malla del objeto similar a lo que se usa en gráficos de computadora para representar objetos generados por computadora para su visualización. Si bien se han desarrollado muchos métodos para generar superficies a partir de nubes de puntos, como tiras o algoritmos de ajuste de mínimos cuadrados regularizados, ninguna de estas técnicas incorpora conocimiento previo de cómo la precisión de un sensor varía con la ubicación en la dirección de visualización. Los sensores 3-D suelen tener diferentes precisiones en las direcciones a lo largo del vector de visualización y transversal al vector de visualización, y también para diferentes distancias del objeto medido. Estas precisiones variables pueden conducir a un mayor tiempo y mano de obra en el ensamblaje de grandes, objetos complejos, tales como aviones. En consecuencia, existe la necesidad de un sistema y un método para producir con precisión una representación de superficie de malla de un objeto que tenga en cuenta estas imprecisiones.
También se conocen los siguientes documentos de antecedentes.
El documento US 2017/004649 divulga un método para reconstruir computacionalmente una escena tridimensional utilizando una combinación de varias técnicas de modelado. Las nubes de puntos que representan un objeto en la escena 3D se generan mediante diferentes técnicas modeladas y cada punto se codifica con un valor de confianza que refleja un grado de precisión al describir la superficie del objeto en la escena 3D según las fortalezas y debilidades de cada técnica de modelado. Las nubes de puntos se fusionan en las que se selecciona un punto para cada ubicación en el objeto de acuerdo con la técnica de modelado que proporciona la mayor confianza.
El documento US 2012/301013 se refiere al procesamiento de imágenes, incluida la proyección de un patrón infrarrojo en un objeto tridimensional y la producción de una primera imagen, una segunda imagen y una tercera imagen del objeto tridimensional mientras el patrón se proyecta sobre el objeto tridimensional.
El documento FR 2992762 se refiere a un método para generar una malla de polígono (P) de al menos un objeto tridimensional a partir de una nube de puntos (CP) que comprende las siguientes etapas: - generación de una malla intermedia (Mi) utilizando una primera superficie implícita (S1) definida a partir de una primera función potencial (F1) sobre la base de la nube de puntos (CP); - implementación de una proyección de la malla intermedia (Mi) en una segunda superficie implícita (S2) definida a partir de una segunda función potencial (F2) con el fin de obtener una malla final (Mf), la primera función potencial (F1) se define en un punto dado en el espacio (x) como la distancia a un primer tipo de primitivo geométrico (Prim1) que se aproxima localmente a una superficie de la nube de puntos (CP) minimizando un primer criterio de error (Err1 ), la segunda función potencial (F2) se define en un punto dado en el espacio (x) como la distancia a un segundo tipo de primitivo geométrico (Prim2) que se aproxima localmente a una superficie de la nube de puntos (CP) minimizando un segundo criterio de error (Err2 ), y el primer tipo de primitivo geométrico (Prim1) que tiene un contorno cerrado, y el segundo tipo de primitivo geométrico (Prim2) que tiene un contorno abierto.
En la literatura también se conoce un artículo relacionado con "Un estudio comparativo de algoritmos combinatorios de reconstrucción 3D" por Abdelaaziz Mahdaoui et al. publicado en el International Journal of Engineering Trends and Technology.
El documento US 2015/363972 se refiere a un método y una disposición para proporcionar un modelo 3D de un entorno. El método comprende la etapa de formar una malla que modela el entorno en tres dimensiones, comprendiendo dicha malla nodos interconectados por bordes y que tienen superficies tapiadas por los bordes, en donde cada nodo está asociado a una coordenada 3D en un sistema de coordenadas geográficas, determinando para una pluralidad de nodos y/o superficies y/o bordes en la malla una incertidumbre de malla y asociando la incertidumbre de malla determinada al nodo y/o superficie y/o borde correspondiente.
El documento US 2002/167518 se refiere a un sistema y método para la creación rápida de un modelo de malla optimizado de un objeto del mundo real, terreno u otra superficie tridimensional. La técnica de construcción de malla proporciona capacidades dinámicas de construcción de malla de "resolución alta/baja resolución".
El documento US 2015/213646 divulga un método y un aparato para generar una malla 3D personalizada de una persona a partir de una imagen de cámara de profundidad para la planificación del escaneo de formación de imágenes médicas, en donde una imagen de cámara de profundidad de un sujeto se convierte en una nube de puntos 3D y se detectan una pluralidad de puntos de referencia anatómicos en la nube de puntos 3D.
El documento US 2017/010087 divulga un método y un aparato para escanear superficies de un objeto tridimensional que emplea un primer sensor para adquirir unos primeros puntos de datos y un segundo sensor para adquirir unos segundos puntos de datos. El primer sensor tiene una precisión relativamente más baja y una tasa de adquisición de puntos de datos más rápida que el segundo sensor, y los segundos puntos de datos tienen una ponderación más alta que los primeros puntos de datos. Se genera una nube de puntos de coordenadas tridimensionales basada en los primeros y segundos puntos de datos y su respectiva ponderación.
El documento US 2017/053438 se refiere a un método para reconstruir un modelo tridimensional de nubes de puntos que incluye las siguientes etapas: a) escanear para obtener nubes de puntos de un objeto requerido para la reconstrucción de un modelo tridimensional; b) analizar la calidad de las nubes de puntos obtenidas; c) calcular una nueva vista de escaneo basada en las nubes de puntos analizadas; d) escanear de acuerdo con la nueva vista de escaneo y actualizar las nubes de puntos de la etapa a en función de las nubes de puntos obtenidas por el escaneo de acuerdo con la nueva vista de escaneo en tiempo real; y e) reconstruir un modelo tridimensional de acuerdo con las nubes de puntos actualizadas en tiempo real.
Sumario
Este problema técnico se resuelve mediante un método, un sistema y un producto de programa informático según las reivindicaciones independientes.
De acuerdo con un ejemplo, un método para generar una malla adaptativa de resolución para la metrología 3-D de un objeto incluye recibir datos de nubes de puntos de una pluralidad de sensores. Los datos de nube de puntos de cada sensor definen una nube de puntos que representa el objeto. Cada nube de puntos incluye una multiplicidad de puntos y cada punto incluye al menos información de ubicación para el punto en el objeto. El método también incluye determinar una resolución de cada sensor en cada una de las tres dimensiones ortogonales en función de la posición de cada sensor en relación con el objeto y las propiedades físicas de cada sensor. El método incluye además generar una representación de la superficie del objeto a partir de las nubes de puntos utilizando las resoluciones de cada sensor. La representación de la superficie del objeto incluye una malla adaptativa de resolución correspondiente al objeto para la metrología en 3-D del objeto.
De acuerdo con otro ejemplo, un sistema para generar una malla adaptativa de resolución para la metrología 3-D de un objeto incluye una pluralidad de sensores para recoger imágenes electrónicas de un objeto. Las imágenes electrónicas incluyen datos de nube de puntos 3D del objeto. El sistema también incluye un procesador y un módulo de malla adaptativa de resolución que funciona en el procesador. El módulo de malla adaptativa de resolución está configurado para realizar un conjunto de funciones que incluyen recibir los datos de nube de puntos de cada uno de la pluralidad de sensores. Los datos de nube de puntos de cada sensor definen una nube de puntos que representa el objeto. Cada nube de puntos incluye una multiplicidad de puntos y cada punto incluye al menos información de ubicación para el punto en el objeto. El conjunto de funciones también incluye la determinación de una resolución de cada sensor en cada una de las tres dimensiones ortogonales en función de la posición de cada sensor con respecto al objeto y las propiedades físicas de cada sensor. El conjunto de funciones incluye además generar una representación de la superficie del objeto a partir de las nubes de puntos utilizando las resoluciones de cada sensor. La representación de la superficie del objeto incluye una malla adaptativa de resolución correspondiente al objeto para la metrología en 3-D del objeto.
De acuerdo con otro ejemplo, un producto de programa informático para generar una malla adaptativa de resolución para la metrología 3-D de un objeto incluye un medio de almacenamiento legible por computadora que tiene instrucciones de programa incorporadas con el mismo. El medio de almacenamiento legible por ordenador no es un medio transitorio por sí mismo. Las instrucciones del programa son ejecutables por un dispositivo para hacer que el dispositivo realice un método que incluye recibir datos de nubes de puntos de una pluralidad de sensores. Los datos de nube de puntos de cada sensor definen una nube de puntos que representa el objeto. Cada nube de puntos incluye una multiplicidad de puntos y cada punto incluye al menos información de ubicación para el punto en el objeto. El método también incluye determinar una resolución de cada sensor en cada una de las tres dimensiones ortogonales en función de la posición de cada sensor en relación con el objeto y las propiedades físicas de cada sensor. El método incluye además generar una representación de la superficie del objeto a partir de las nubes de puntos utilizando las resoluciones de cada sensor. La representación de la superficie del objeto incluye una malla adaptativa de resolución correspondiente al objeto para la metrología en 3-D del objeto.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, generar la representación de la superficie incluye ajustar una malla triangular a las nubes de puntos. Una contribución de cada punto en las nubes de puntos para generar la representación de la superficie se basa en una precisión o resolución de cada punto.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, generar la representación de la superficie incluye ajustar una malla triangular a las nubes de puntos al ponderar una distancia de cada punto desde la malla triangular mediante una inversa de una desviación típica de error esperada en una dirección desde cada punto a la malla triangular.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, el método o conjunto de funciones incluye además estimar la desviación típica esperada en una dirección desde cada punto a la malla triangular utilizando una pluralidad de modelos de resolución para cada sensor para diferentes direcciones y distancias de visualización. Los modelos de resolución se determinan analíticamente a partir de modelos físicos de sensores o empíricamente a partir de la medición de objetivos de resolución en varias posiciones diferentes que se interpolan para cubrir un volumen de medición completo.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, recibir los datos de nube de puntos incluye recibir la nube de puntos de cada sensor y un elipsoide de incertidumbre para cada punto. Los elipsoides de incertidumbre se utilizan para determinar las resoluciones de cada sensor en función de la posición del sensor con respecto al objeto.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, el método o conjunto de funciones incluye además inicializar una malla triangular usando un método de interpolación de superficie para proporcionar una malla triangular inicializada que represente una superficie del objeto.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, el método o conjunto de funciones incluye además asignar cada punto a un triángulo de malla más cercano de una malla triangular. La malla triangular incluye una multiplicidad de triángulos de malla que representan colectivamente una superficie del objeto.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, el método o conjunto de funciones incluye además medir una distancia desde cada punto al punto más cercano en un triángulo de malla asignado y determinar un radio del elipsoide de incertidumbre asociado con el punto en una dirección hacia el punto más cercano en el triángulo de malla asignado para cada punto.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, el método o conjunto de funciones incluye además formar una función objetivo para ajustar la malla triangular a las nubes de puntos que selecciona automáticamente y utiliza los mejores datos de nubes de puntos de las nubes de puntos. La función objetivo incluye un término de error de ajuste ponderado y un área de superficie de un término de malla triangular.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, el método o conjunto de funciones incluye además ajustar la malla triangular a las nubes de puntos mediante la búsqueda de posiciones de vértices de cada triángulo de malla que minimicen la función objetivo.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, el método o conjunto de funciones incluye además realizar operaciones de rotación y traslación para registrar las nubes de puntos para formar una nube de puntos compuesta. El método o conjunto de funciones también incluye agregar parámetros de rotación y traslación a la función objetivo y registrar simultáneamente las nubes de puntos en la nube de puntos compuesta y ajustar la malla triangular a la nube de puntos compuesta al encontrar las posiciones de los vértices de cada triángulo de malla que minimizan la función objetiva.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, el método o conjunto de funciones incluye además el uso de optimización de enjambre de partículas para minimizar la función objetivo.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, los vértices de cada triángulo de malla no están restringidos.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, los vértices de cada triángulo de malla están restringidos con solo una dirección variable y otras dos direcciones fijadas en una cuadrícula.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, el método o conjunto de funciones incluye además el ajuste de la malla triangular a las nubes de puntos mediante el uso de un ajuste de malla de resolución múltiple. Una malla triangular de salida de un nivel actual de resolución se subdivide y se usa como una malla triangular inicial para la optimización del siguiente nivel de resolución.
De acuerdo con otro ejemplo o cualquiera de los ejemplos anteriores, el método o conjunto de funciones incluye además el muestreo ascendente de la nube de puntos para cada nivel de resolución para usar con una malla triangular subdividida.
Las prestaciones, las funciones y ventajas que se han discutido se pueden lograr de forma independiente en varios ejemplos o se pueden combinar en otros ejemplos adicionales de los cuales se pueden ver más detalles con referencia a la siguiente descripción y dibujos, dado que el alcance de la presente invención solo se define por las reivindicaciones adjuntas.
Breve descripción de los dibujos
La fig. 1 es un diagrama esquemático de bloques de un ejemplo de sistema para generar una malla adaptativa de resolución para la metrología 3-D de un objeto de acuerdo con un ejemplo de la presente divulgación.
La fig. 2A es un diagrama de flujo de un ejemplo de un método para generar una malla adaptativa de resolución para la metrología 3-D de un objeto de acuerdo con un ejemplo de la presente divulgación.
La fig. 2B es un diagrama de flujo de un ejemplo de un método para generar una malla adaptativa de resolución para la metrología 3-D de un objeto de acuerdo con otro ejemplo de la presente divulgación.
La fig. 3 es un ejemplo de una pluralidad de nubes de puntos de acuerdo con un ejemplo de la presente divulgación. La fig. 4 es un ejemplo de puntos medidos en una nube de puntos y elipsoides de incertidumbre asociados de acuerdo con un ejemplo de la presente divulgación.
La fig. 5 es un ejemplo de inicialización de una malla triangular usando un método de interpolación de superficie para proporcionar una malla triangular inicializada que representa una superficie del objeto de acuerdo con un ejemplo de la presente divulgación. La fig. 6 es una ilustración de un ejemplo de ajuste de una malla triangular a una nube de puntos de acuerdo con un ejemplo de la presente divulgación.
La fig. 7 es una ilustración de un ejemplo de fusión y registro simultáneos de nubes de puntos múltiples para ajustar una malla triangular a una nube de puntos compuesta de acuerdo con un ejemplo de la presente divulgación. La fig. 8 es un diagrama de flujo de un ejemplo de método para generar una malla adaptativa de resolución para la metrología 3-D usando un ajuste de resolución múltiple de acuerdo con un ejemplo de la presente divulgación.
Descripción detallada
La siguiente descripción detallada de ejemplos se refiere a los dibujos adjuntos, que ilustran ejemplos específicos de la divulgación. Otros ejemplos que tienen diferentes estructuras y operaciones no se apartan del alcance de la presente divulgación, dado que el alcance de la presente invención solo se define por las reivindicaciones adjuntas. Los números de referencia similares pueden referirse al mismo elemento o componente en los diferentes dibujos.
La presente divulgación puede ser un sistema, un método y/o un producto de programa informático. El producto de programa informático puede incluir un medio de almacenamiento legible por ordenador (o medio) que tiene instrucciones de programa legibles por ordenador sobre el mismo para hacer que un procesador lleve a cabo aspectos de la presente divulgación.
El medio de almacenamiento legible por ordenador puede ser un dispositivo tangible que puede retener y almacenar instrucciones para su uso mediante un dispositivo de ejecución de instrucciones. El medio de almacenamiento legible por ordenador puede ser, por ejemplo, pero no limitado a, un dispositivo de almacenamiento electrónico, un dispositivo de almacenamiento magnético, un dispositivo de almacenamiento óptico, un dispositivo de almacenamiento electromagnético, un dispositivo de almacenamiento de semiconductores, o cualquier combinación adecuada de los anteriores. Una lista no exhaustiva de ejemplos más específicos del medio de almacenamiento legible por ordenador incluye lo siguiente: un disquete de ordenador portátil, un disco duro, una memoria de acceso aleatorio (RAM), una memoria de solo lectura (ROM), una memoria de solo lectura programable y borrable (memoria EPROM o Flash), una memoria estática de acceso aleatorio (SRAM), una memoria de solo lectura de disco compacto portátil (CD-ROM), un disco versátil digital (DVD), una tarjeta de memoria, un disquete, un dispositivo codificado mecánicamente tal como tarjetas perforadas o estructuras elevadas en una ranura que tiene instrucciones grabadas al respecto, y cualquier combinación adecuada de lo anterior. Un medio de almacenamiento legible por ordenador, tal como se usan en el presente documento, no debe interpretarse como señales transitorias por sí mismas, tales como ondas de radio u otras ondas electromagnéticas de propagación libre, ondas electromagnéticas que se propagan a través de una guía de onda u otros medios de transmisión (por ejemplo, pulsos de luz que pasan a través de un cable de fibra óptica), o señales eléctricas transmitidas a través de un cable.
Las instrucciones de programa legible por ordenador descritas en el presente documento pueden descargarse a dispositivos informáticos/de procesamiento respectivos desde un medio de almacenamiento legible por ordenador o a un ordenador externo o dispositivo de almacenamiento externo a través de una red, por ejemplo, Internet, una red de área local, una red de área amplia y/o una red inalámbrica. La red puede comprender cables de transmisión de cobre, fibras de transmisión óptica, transmisión inalámbrica, enrutadores, cortafuegos, conmutadores, ordenadores de puerta de enlace y/o servidores de borde. Una tarjeta adaptadora de red o una interfaz de red en cada dispositivo informático/de procesamiento recibe instrucciones de programa legibles por ordenador desde la red y envía las instrucciones de programa legibles por ordenador para su almacenamiento en un medio de almacenamiento legible por ordenador dentro del dispositivo informático/de procesamiento correspondiente.
Las instrucciones de programa legibles por ordenador para llevar a cabo las operaciones de la presente divulgación pueden ser instrucciones de ensamblador, instrucciones de instrucción-conjunto-arquitectura (ISA), instrucciones de máquina, instrucciones dependientes de la máquina, microcódigo, instrucciones de firmware, datos de configuración de estado, o bien código fuente o código objeto escrito en cualquier combinación de uno o más lenguajes de programación, incluyendo un lenguaje de programación orientado a objetos tal como Smalltalk, C++ o similares, y lenguajes de programación de procedimientos convencionales, tal como el lenguaje de programación "C" o lenguajes de programación similares. Las instrucciones de programa legibles por ordenador pueden ejecutarse completamente en el ordenador del usuario, parcialmente en el ordenador del usuario, como un paquete de software independiente, parcialmente en el ordenador del usuario y parcialmente en un ordenador remoto o completamente en el ordenador remoto o servidor. En el último caso, el ordenador remoto puede estar conectado al ordenador del usuario a través de cualquier tipo de red, incluyendo una red de área local (LAN) o una red de área amplia (WAN), o la conexión se puede hacer a un ordenador externo (por ejemplo, a través de Internet utilizando un proveedor de servicios de Internet). En algunos ejemplos, los circuitos electrónicos que incluyen, por ejemplo, circuitos lógicos programables, matrices de puertas programables en campo (FPGA), o matrices lógicas programables (PLA) pueden ejecutar las instrucciones de programa legibles por ordenador utilizando la información de estado de las instrucciones de programa legibles por ordenador para personalizar los circuitos electrónicos, para realizar aspectos de la presente divulgación.
Los aspectos de la presente divulgación se describen en el presente documento con referencia a ilustraciones de diagramas de flujo y/o diagramas de bloques de métodos, aparatos (sistemas) y los productos de programa informático de acuerdo con los ejemplos de la divulgación. Se entenderá que cada bloque de las ilustraciones del diagrama de flujo y/o los diagramas de bloques, y las combinaciones de bloques en las ilustraciones del diagrama de flujo y/o los diagramas de bloques, puede ser implementado por instrucciones de programa legibles por ordenador.
Estas instrucciones de programa legibles por ordenador pueden proporcionarse a un procesador de un ordenador de propósito general, ordenador de propósito especial u otro aparato de procesamiento de datos programable para producir una máquina, tal que las instrucciones, que se ejecutan mediante el procesador del ordenador u otro aparato de procesamiento de datos programable, crean medios para implementar las funciones/actos específicos en el diagrama de flujo y/o bloque o bloques del diagrama de bloques. Estas instrucciones de programa legibles por ordenador también pueden almacenarse en un medio de almacenamiento legible por ordenador que puede dirigir un ordenador, un aparato de procesamiento de datos programable, y/u otros dispositivos para funcionar de una manera particular, de tal manera que el medio de almacenamiento legible por ordenador que tiene instrucciones almacenadas en el mismo comprende un artículo de fabricación que incluye instrucciones que implementan aspectos de la función/acto especificado en el diagrama de flujo y/o el bloque o bloques del diagrama de bloques.
Las instrucciones de programa legibles por ordenador también se pueden cargar en un ordenador, otro aparato de procesamiento de datos programable u otro dispositivo para hacer que una serie de etapas operativas se realicen en el ordenador, otro aparato programable u otro dispositivo para producir un proceso implementado por ordenador, de modo que las instrucciones que se ejecutan en el ordenador, otro aparato programable u otro dispositivo implementan las funciones/actos especificados en el diagrama de flujo y/o bloque o bloques del diagrama de bloques.
De acuerdo con un ejemplo, se proporcionan un método y un sistema para representar y combinar de manera óptima datos de nubes de puntos 3-D generados por un sistema de escaneo 3-D, y para medir y rastrear objetos en grandes volúmenes espaciales, tal como, por ejemplo, una fábrica durante un proceso de fabricación o montaje de un objeto, tal como una aeronave. De acuerdo con un ejemplo ejemplar, el sistema de escaneo 3-D incluye una pluralidad de sensores o sensores de escaneo 3-D. Cada uno de los sensores de escaneo 3-D puede ser cualquier tipo de sensor de escaneo 3-D. Los ejemplos de un sensor de escaneo 3-D incluyen, pero no se limitan a, una cámara estéreo 3-D, dispositivo o sistema de detección de luz y rango (lidar), u otro dispositivo o sistema de escaneo 3-D. El método convierte las nubes de puntos en una representación de superficie útil para la metrología, teniendo en cuenta las resoluciones espaciales variables en diferentes direcciones de la pluralidad de sensores de escaneo 3-D que observan el mismo objeto. El método hace esto al ponderar la contribución de cada punto a la representación de superficie de manera diferente dependiendo de la precisión esperada del punto en la nube de puntos. Esto contrasta con los métodos de reconstrucción de superficie existentes que ponderan todos los puntos por igual y no incorporan modelos de resolución del sensor o conocimiento previo sobre la resolución esperada de los sensores en función de la dirección de visualización y la distancia desde el objeto. El método optimiza la representación 3-D de la superficie del objeto derivada de la fusión de las nubes de puntos de la pluralidad de sensores de escaneo 3-D que observan el mismo objeto pero desde diferentes direcciones y distancias.
La fig. 1 es un diagrama esquemático de bloques de un ejemplo del sistema 100 para generar una malla adaptativa de resolución 102 para la metrología 3-D de un objeto 104 de acuerdo con un ejemplo de la presente divulgación. El sistema 100 incluye una pluralidad de sensores. De acuerdo con un ejemplo, los sensores son sensores de escaneo 3-D 106a - 106n para recoger imágenes electrónicas en 3-D 108 del objeto 104. Los ejemplos de sensores o sensores de escaneo 3-D 106a - 106n incluyen, pero no se limitan necesariamente a cámaras digitales, dispositivos de detección de luz y rango (lidar), dispositivos de escaneo láser 3-D, cámaras 3-D de tiempo de vuelo (ToF) o dispositivos de formación de imágenes similares. Las imágenes electrónicas 3-D 108 incluyen datos de nube de puntos en 3-D 110 del objeto 104. Los datos de nube de puntos 110 de cada sensor de escaneo 3-D 106a - 106n definen una nube de puntos 112 que representa el objeto 104. Cada nube de puntos 112 incluye una multiplicidad de puntos 114 y cada punto incluye al menos información de ubicación para un punto 115 correspondiente en una superficie 116 del objeto 104. Los datos de nube de puntos 3-D 110 o las nubes de puntos 112 de cada sensor de escaneo 3-D 106a - 106n se almacenan en una base de datos 117 u otro dispositivo de almacenamiento de datos. De acuerdo con un ejemplo, el objeto 104 es una aeronave o parte de una aeronave y la malla adaptativa de resolución 102, tal como se describe en el presente documento, se utiliza para metrología en 3-D de la aeronave o parte de la aeronave durante el montaje o la fabricación o para algún otro propósito. En otros ejemplos, el objeto 104 es cualquier producto o elemento o porción de un producto o elemento y la malla adaptativa de resolución 102, tal como se describe en el presente documento, se utiliza para realizar metrología en 3-D en el dispositivo o equipo durante el montaje, fabricación u otra operación.
Los sensores de escaneo 3-D 106a - 106n están ubicados en diferentes ubicaciones con respecto al objeto 104 y, por lo tanto, tendrán diferentes direcciones de visualización del objeto 104. Los sensores de escaneo 3-D 106a - 106n tendrán diferentes precisiones de medición y resoluciones en direcciones a lo largo de un vector de visualización hacia el objeto 104 y transversal al vector de visualización, y también para diferentes distancias desde el objeto 104.
El sistema 100 también incluye un procesador 118. Un módulo de malla adaptativa de resolución 120 para generar la representación de superficie de malla adaptativa de resolución 102 del objeto 104 es operable en el procesador 118. De acuerdo con un ejemplo, el módulo de malla adaptativa de resolución 120 incluye un elemento 122 de eliminación de ruido de nubes de puntos, un elemento de fusión de nubes de puntos 124 para combinar una pluralidad de nubes de puntos 112, un elemento de registro 126 para el registro de nubes de puntos 112 y un elemento de reconstrucción de superficie 128 para generar una representación de superficie 130 del objeto 104 que incluye la malla adaptativa de resolución 102 que se puede usar para la metrología en 3-D del objeto 104. De acuerdo con un ejemplo descrito aquí, la eliminación de ruido 122, la fusión 124 y el registro 126 de las nubes de puntos 112 y la reconstrucción de superficie 128 se implementan simultáneamente durante la construcción de la representación de superficie 130 del objeto 104. La reconstrucción de superficie 128 para generar la representación de superficie 130 del objeto 104 es un modelo de metrología dinámica 132 que se puede usar para la metrología 3-D del objeto 104 durante el ensamblaje o la fabricación porque el modelo de metrología dinámica 132 está formado o incluye la malla adaptativa de resolución 102 que da cuenta de las resoluciones espacialmente variables de cada uno de la pluralidad de sensores de escaneo 3-D 106a - 106n y usa automáticamente los datos de nube de puntos 3-D 110 óptimos o la mejor resolución de cada sensor de escaneo 3-D 106a - 106n como se describe en más detalle aquí.
El módulo de malla adaptativa de resolución 120 está configurado para realizar un conjunto de funciones que incluyen recibir datos de nube de puntos 3D 110 desde la pluralidad de sensores de escaneo 3-D 106a - 106n. Tal como se ha descrito anteriormente, los datos de nube de puntos 110 de cada sensor de escaneo 3-D 106a - 106n definen una nube de puntos 112 que representa el objeto 104. Cada nube de puntos 112 incluye una multiplicidad de puntos 114 y cada punto 114 incluye al menos información de ubicación para el punto 115 correspondiente en el objeto 104. El conjunto de funciones también incluye la determinación de una resolución de cada sensor de escaneo 3-D 106a - 106n en cada una de las tres dimensiones ortogonales en función de la posición de cada sensor de escaneo 3-D 106a -106n en relación con el objeto 104 y las propiedades físicas de cada sensor de escaneo 3-D 106a - 106n. Las propiedades físicas de los sensores determinan la resolución de cada sensor en cada una de las tres dimensiones ortogonales. Los ejemplos de propiedades físicas para un sensor de cámara estéreo incluyen la separación entre las cámaras, distancias focales de la cámara y tamaño del sensor de formación de imágenes. Los ejemplos de propiedades físicas para un sensor lidar incluyen la duración del pulso óptico, tamaño de pulso óptico, tasa de repetición de pulso óptico y tasa de rotación lidar. El conjunto de funciones incluye además generar la representación de superficie 130 del objeto 104 a partir de las nubes de puntos 112 usando las resoluciones de cada sensor de escaneo 3-D 106a - 106n. Tal como se ha descrito anteriormente, la representación de superficie 130 del objeto 104 incluye la malla adaptativa de resolución 102 correspondiente al objeto 104 para la metrología 3-D del objeto 104.
La fig. 2A es un diagrama de flujo de un ejemplo del método 200 para generar una malla adaptativa de resolución para la metrología 3-D de un objeto de acuerdo con un ejemplo de la presente divulgación. De acuerdo con un ejemplo, el método 200 está incorporado y realizado por el módulo de malla adaptativa de resolución 120 en la FIG. 1. En el bloque 202, los datos de nube de puntos se reciben de una pluralidad de sensores de escaneo 3-D, tales como sensores de escaneo 3-D 106a - 106n en la fig. 1. Los datos de nube de puntos de cada sensor de escaneo 3-D definen una nube de puntos que representa el objeto. Cada nube de puntos incluye una multiplicidad de puntos y cada punto incluye al menos información de ubicación para un punto correspondiente en el objeto. La información de ubicación incluye al menos información de coordenadas 3-D (x, y, z) para el punto en el objeto. Recibir los datos de nube de puntos incluye recibir la nube de puntos de cada sensor de escaneo 3-D y un elipsoide de incertidumbre para cada punto. Los elipsoides de incertidumbre se utilizan para determinar la resolución de cada sensor de escaneo 3-D en función de la posición del sensor de escaneo 3-D en relación con el objeto. Con referencia también a las figs. 3 y 4, la fig. 3 es un ejemplo de una pluralidad de nubes de puntos 300 de un objeto ejemplar 302 de acuerdo con un ejemplo de la presente divulgación. El objeto ejemplar 302 se ilustra mediante la línea discontinua en la fig. 3. La fig.
4 es un ejemplo de puntos medidos Pi (P subíndice i) 400a - 400c en una nube de puntos (PC) 402 y los elipsoides de incertidumbre correspondientes 404a - 404c de acuerdo con un ejemplo de la presente divulgación. La nube de puntos 402 es la misma que una de las nubes de puntos 300 en la fig. 3. Los puntos medidos 400a - 400c se ilustran en asociación con ejes 3-D x, y, z con el eje y saliendo de la página.
Las resoluciones de cada sensor de escaneo 3-D se determinan en cada una de las tres dimensiones ortogonales (x, y, z) en función de una posición de cada sensor de escaneo 3-D con respecto al objeto y las propiedades físicas de cada sensor de escaneo 3-D. Las resoluciones para cada sensor de escaneo 3-D para diferentes direcciones de visualización y distancias relativas al objeto son proporcionadas por los modelos de resolución 134 fig. 1. Los modelos de resolución se determinan analíticamente a partir de modelos físicos de sensores o empíricamente a partir de mediciones de objetivos de resolución en varias posiciones que se interpolan para cubrir todo el volumen de medición. Los valores de resolución o incertidumbre de medición están asociados con cada punto medido (Pi) 400a - 400c en la nube de puntos 402.
Cada punto medido (Pi) 400a - 400c en la nube de puntos 402 se define por su posición o coordenadas y el elipsoide de incertidumbre dependiente de la posición asociado 404a - 400c de la siguiente manera:
Pi = [xi, y i, Z i, ctx , a y , a z, 0, $]
Los ejes elipsoidales de incertidumbre corresponden a las resoluciones o desviaciones típicas ax , Oy , Oz , (a subíndice x, y, o z) en el rango y dos direcciones transversales del punto medido (Pi) 400a - 400c en el objeto como se ve desde el sensor de escaneo 3D que midió el punto (Pi) 400a - 400c). La orientación del elipsoide de incertidumbre 404a está representada por los dos ángulos 0 y $.
En el bloque 204, se inicializa una malla triangular V 600 (fig. 4) usando un método de interpolación de superficie para proporcionar una malla triangular inicializada que representa una superficie del objeto. De acuerdo con un ejemplo, un ejemplo del método de interpolación de superficie utilizado es Gridfit. Gridfit es un programa de código abierto de Matlab y está disponible en The Math-Works, Inc., Natick, MA. En referencia también a la fig. 5, la fig. 5 es un ejemplo de inicialización de una malla triangular V 600 usando un método de interpolación de superficie para proporcionar una malla triangular inicializada 500 que representa una superficie 502 del objeto. La superficie 502 del objeto se ilustra mediante la línea discontinua en la fig. 5. La malla triangular V 600 está formada por una multiplicidad de triángulos de malla como se describe con referencia a la fig. 6.
En el bloque 206, la malla triangular se ajusta a la nube de puntos usando la resolución del sensor que usa automáticamente los mejores datos de cada nube de puntos generados por cada sensor de escaneo 3-D 106a - 106n. Los mejores datos de cada nube de puntos corresponden a los puntos medidos en la nube de puntos que tienen la resolución más alta en direcciones dadas en comparación con otros puntos medidos cercanos en las otras nubes de puntos. De acuerdo con un ejemplo, los bloques 208 - 216 son elementos del bloque 206. En referencia también a la fig. 6, la fig. 6 es una ilustración de un ejemplo de ajuste de una malla triangular V 600 o la malla triangular inicializada 500 a la nube de puntos 402 de acuerdo con un ejemplo de la presente divulgación. La nube de puntos 402 es la misma que una de las nubes de puntos 300 en la fig. 3. Una vista lateral de la malla triangular 600 o la malla triangular inicializada 500 también se ilustra en la fig. 4.
En el bloque 208 de la fig. 2A, cada punto medido Pi 400a en la nube de puntos 402 se asigna a un triángulo de malla más cercano 602a. La malla triangular V 600 incluye una multiplicidad de triángulos de malla 602a - 602n que representan colectivamente una superficie 604 (fig. 4) del objeto. Cada triángulo de malla 602a - 602n está definido por tres vértices 606a - 606c (fig. 6).
En el bloque 210, se mide una distancia di (d subíndice i) desde cada punto Pi 400a hacia el punto más cercano 608 en un triángulo de malla asignado 602a para cada punto Pi 400a en la nube de puntos 402. Una dirección n (r subíndice ilustrado por la flecha 610) entre cada punto Pi 400a y el punto más cercano 608 en el triángulo de malla asignado 602a también se determina. Un radio Oi(n) (a subíndice i) del elipsoide de incertidumbre 404a asociado con el punto Pi 400a en la dirección n al triángulo de malla más cercano 602a de la malla triangular V 600 se determina o estima. La idea básica es ajustar la malla triangular V 600 a la nube de puntos 402 ajustando los vértices de malla 606a - 606c de cada triángulo de malla asignado 602a - 602n para minimizar la distancia media di de los puntos 400a en la nube de puntos 402 desde sus triángulos de malla más cercanos 602a - 602n, ponderado por el cuadrado inverso de la resolución del sensor dependiente de la posición en la dirección 610 hacia el punto más cercano 608 en el triángulo de malla asignado 602a - 602n. Esto se hace minimizando una función objetivo E (V, PC) sobre las posiciones de los vértices de malla 606, un espacio dimensional 3N 612 donde N es el número de vértices 606 que forman la malla triangular V 600.
En el bloque 212, una función objetivo E (V, PC) está determinada, formada, o calculada para ajustar la malla triangular V 600 a los datos de nube de puntos de las nubes de puntos 300 o cada nube de puntos 402. La función objetivo está representada por la Ecuación 1:
E (V ,P C )= ¿ J l? U ( ^ ) 2 ^ A malla Ecuación 1
La función objetivo implica determinar una norma del punto medido Pi 400a a la distancia di de malla triangular 600 ponderada por 1/a i para cada punto medido Pi 400a. M es el número de puntos medidos Pi en la nube de puntos PC 402. La función objetivo también incluye un término de regulación o penalización proporcional al error de la superficie de malla para evitar soluciones no deseadas donde la malla triangular V 600 se pliega sobre sí misma o se extiende más allá de la nube de puntos PC 402. La regulación del término de penalización incluye un término de error de ajuste ponderado (A) y un área de superficie de un término de malla triangular (Amalla) (A subíndice malla).
De acuerdo con un ejemplo, los vértices 3-D 606a - 606c de los triángulos de malla 602a - 602n no están restringidos, es decir, la ubicación o posición de cada uno de los vértices no son fijas. En otro ejemplo, los vértices 3-D 606a - 606c de los triángulos de malla 602a - 602n están restringidos. Por ejemplo, la ubicación o posición de los vértices 606a -606c en las coordenadas x e y están fijas o restringidas a una cuadrícula fija 406 y solo se permite que varíe la ubicación o posición de la coordenada z de cada vértice 606a - 606c.
En el bloque 214, la malla triangular V 600 se ajusta a la nube de puntos 402 utilizando la resolución del sensor que usa automáticamente los mejores datos de nube de puntos 402 o 300 de cada sensor de escaneo 3-D ajustando la malla triangular V 600 para reducir o minimizar la función objetivo E (V, PC). De acuerdo con un ejemplo, la función objetivo E (V, PC) se reduce o minimiza utilizando Optimización por enjambre de partículas (PSO) u otra función de optimización. La optimización por enjambre de partículas se describe en Optimización por enjambre de partículas, Kennedy, J. y Eberhart, R., "Actas de la Conferencia Internacional IEEE sobre Redes Neuronales IV" (1995) págs.
1942 - 1948. De acuerdo con otros ejemplos, la función objetivo E (V, PC) se reduce o minimiza mediante el uso de un algoritmo genérico, como Algoritmos Genéricos con Recombinación Multiparental, por Eiben, A.E. y col., "PPSN III: Actas de la Conferencia Internacional sobre Computación Evolutiva", La Tercera Conferencia sobre Resolución de Problemas Paralelos desde la Naturaleza (1994), pp.78-87, o Método de Powell, Un método eficiente para encontrar el mínimo de una función para varias variables sin calcular derivadas, por Powell, M.J.D., "Computer Journal 7 (2)" (1964), pp. 155-162.
En el bloque 216, se determina si la función objetivo E (V, PC) es menor que un valor mínimo preestablecido Emin (E subíndice min) o no ha cambiado en las últimas iteraciones. Si la función objetivo E (V, PC) no es inferior al valor mínimo preestablecido, el método 200 vuelve al bloque 212 y se realiza otra iteración para reducir o minimizar aún más la función objetivo E (V, PC). Si la función objetivo E (V, PC) es menor que el valor mínimo preestablecido Emin o sin cambios en las últimas iteraciones, el método 200 avanza al bloque 218.
En el bloque 218, se genera o se proporciona una representación superficial del objeto para la metrología 3-D del objeto. Como se ha descrito anteriormente, la representación de la superficie del objeto se genera a partir de las nubes de puntos utilizando la resolución de cada sensor de escaneo 3-D. La representación de la superficie del objeto incluye una malla adaptativa de resolución correspondiente al objeto para la metrología en 3-D del objeto. De acuerdo con un ejemplo, una operación, como una operación de fabricación, se realiza en el objeto utilizando la representación de la superficie del objeto, incluida la malla adaptativa de resolución. En consecuencia, la representación de la superficie incluye ajustar la malla triangular a las nubes de puntos, en donde una contribución de cada punto medido en las nubes de puntos al generar la representación de superficie se basa en una precisión o resolución de cada punto medido. Minimizar o reducir la función objetivo E (V, PC) para generar la representación de superficie incluye ajustar la malla triangular V a las nubes de puntos ponderando la distancia di de cada punto medido Pi desde la malla triangular V por un inverso de una desviación típica de error esperada (1/a i) en una dirección r desde cada punto Pi a la malla triangular V. La malla triangular V se ajusta a las nubes de puntos al encontrar las posiciones de los vértices 606a -606c de cada triángulo de malla 602a - 602n que minimizan la función objetivo E (V, PC).
La fig. 2B es un diagrama de flujo de un ejemplo del método 200 'para generar una malla adaptativa de resolución para metrología 3-D de acuerdo con otro ejemplo de la presente divulgación. El método 200 'es similar al método 200 excepto en que el bloque 212' que calcula o determina la función objetivo (E (V, P1,..., Pn, R, T) incluye realizar operaciones de rotación y traslación para registrar la pluralidad de nubes de puntos para formar una nube de puntos compuesta. Los parámetros de rotación y traslación se agregan a la función objetivo. Las nubes de puntos se registran simultáneamente en una nube de puntos compuesta. La malla triangular se ajusta a la nube de puntos compuesta al encontrar posiciones de vértices de cada triángulo de malla que minimizan la función objetivo similar a la descrita anteriormente. En el bloque 214', se ajusta la malla triangular y se realizan operaciones de rotación y traslación para reducir o minimizar la función objetivo. De acuerdo con un ejemplo, la optimización por enjambre de partículas se utiliza para minimizar la función objetivo similar a la descrita anteriormente.
En referencia también a la fig. 7, la fig. 7 es una ilustración de un ejemplo de fusión y registro simultáneos de nubes de puntos múltiples 402a - 402n para ajustar una malla triangular 600 a una nube de puntos compuesta (bloque 206 'en la fig. 6) de acuerdo con un ejemplo de la presente divulgación. La pluralidad de nubes de puntos 402a - 402n se registran en un sistema de coordenadas común al agregar seis dimensiones adicionales al espacio de solución que corresponde a la rotación y traslación de un sistema de coordenadas de nube de puntos en relación con otro. El error de modelado residual de la malla triangular para una nube de puntos compuesta que consta de dos nubes de puntos de diferentes sensores de escaneo 3-D que observan el mismo objeto se minimiza cuando se registran las dos nubes de puntos. Por lo tanto, el proceso de malla adaptativa de resolución descrito en el presente documento se usa para registrar múltiples nubes de puntos y generar una malla adaptativa de resolución para la nube de puntos combinada o compuesta similar a la descrita anteriormente. La dimensionalidad del espacio de solución aumenta de 3N a 3N 6 donde N es el número de vértices 606a - 606c en la malla triangular V 600 y las 6 dimensiones adicionales son parámetros coordinados de rotación y traslación. En consecuencia, la función objetivo para un ejemplo de dos nubes de puntos se convierte en:
Figure imgf000010_0001
Los parámetros a, p y 0 son los ángulos para rotar una nube de puntos P1 en relación con otra nube de puntos P2, o viceversa.
Donde la matriz de coordenadas de la nube de puntos para N puntos es:
Figure imgf000010_0002
el operador de matriz que gira la nube de puntos alrededor de tres ejes es:
/ cose se sennee 00 \ \ / ¡ c coossffii 0 s seennp/3\\ / / l l 00 0 \
R = | -sene co csoese 011 0 l 0 ] 10 cosa sena I
V 0 0 0 l ) \ —senB 0 cosB /\0 -sena cosa)
La matriz 3 x N que traslada la nube de puntos es:
Figure imgf000010_0003
La nube de puntos rotada y trasladada se determina entonces por:
P ’ = RP T
De acuerdo con un ejemplo, cada una de las nubes de puntos de una pluralidad de nubes de puntos se rota y se traslada para formar una nube de puntos combinada o compuesta que luego se ajusta a una malla triangular similar a la descrita anteriormente.
En el bloque 218', se genera o se proporciona una representación superficial del objeto para la metrología 3-D del objeto. La representación de la superficie del objeto se genera a partir de las nubes de puntos combinadas o la nube de puntos compuesta y utilizando la resolución de cada sensor de escaneo 3-D similar a la descrita anteriormente. La representación de la superficie del objeto incluye una malla adaptativa de resolución correspondiente al objeto para la metrología en 3-D del objeto.
La fig. 8 es un diagrama de flujo de un ejemplo del método 800 para generar una malla adaptativa de resolución para la metrología 3-D usando un ajuste de resolución múltiple de acuerdo con un ejemplo de la presente divulgación. De acuerdo con un ejemplo, el método 800 está incorporado y realizado por el módulo de malla adaptativa de resolución 120 en la FIG. 1. El método 800 incluye el ajuste de la malla triangular a las nubes de puntos mediante el uso de un ajuste de malla de resolución múltiple, en donde una malla triangular de salida de un nivel actual de resolución se subdivide y se usa como una malla triangular inicial para la optimización del siguiente nivel de resolución.
En el bloque 802, los datos de nube de puntos se reciben de una pluralidad de sensores de escaneo 3-D. Los datos de nube de puntos de cada sensor de escaneo 3-D definen una nube de puntos que representa un objeto, tal como el objeto 104 en la fig. 1. Cada nube de puntos incluye una multiplicidad de puntos y cada punto incluye al menos información de ubicación para el punto en el objeto. La información de ubicación incluye al menos información de coordenadas 3-D (x, y, z) para el punto en el objeto. Recibir los datos de nube de puntos incluye recibir la nube de puntos de cada sensor de escaneo 3-D y un elipsoide de incertidumbre para cada punto. Los elipsoides de incertidumbre se utilizan para determinar la resolución de cada sensor de escaneo 3-D en función de la posición de cada sensor de escaneo 3-D en relación con el objeto y las propiedades físicas de cada sensor de escaneo 3-D.
En el bloque 804, cada nube de puntos reduce su muestreo a un nivel de resolución más bajo seleccionando un grupo de puntos dentro de cada nube de puntos. De acuerdo con un ejemplo, el grupo de puntos se selecciona al azar. De acuerdo con otro ejemplo, se utiliza un enfoque adaptativo donde la probabilidad de seleccionar un determinado punto es mayor si la densidad de un punto o el número de puntos agrupados alrededor del cierto punto es menor que otros puntos en la nube de puntos, dado que cierto punto es más "valioso" al proporcionar información de ubicación para generar una representación de malla adaptativa de resolución del objeto que los puntos en regiones de alta densidad de la nube de puntos.
En el bloque 806, se inicializa una malla triangular de baja resolución utilizando un método de malla adaptativa sin resolución (RAM). De acuerdo con un ejemplo ejemplar, Gridfit se utiliza para inicializar la malla triangular de baja resolución.
En el bloque 808, cada punto de muestreo reducido se asigna al triángulo de malla más cercano en la malla triangular inicializada. En el bloque 810, la malla triangular se optimiza utilizando una nube de puntos con muestreo aumentado y el nivel inferior anterior de malla de resolución para la inicialización para generar una malla optimizada 812 para el nivel de resolución actual. La nube de puntos de muestreo aumentado se genera utilizando la malla subdividida en el bloque 814. Los puntos de muestreo aumentado se generan para descansar en los triángulos más pequeños en la malla subdividida.
En el bloque 814, la malla triangular se subdivide y la nube de puntos se muestrea de forma aumentada para el siguiente nivel de resolución. El método 800 luego vuelve al bloque 808 y el método continúa de forma similar a la descrita anteriormente hasta que se obtiene el nivel de resolución deseado en el bloque 810. Cuando se obtiene el nivel de resolución deseado, el método 800 avanza al bloque 816.
En el bloque 816, se genera o se proporciona la malla adaptativa de resolución que es una representación de la superficie del objeto. La malla adaptativa de resolución se utiliza para la metrología 3-D del objeto. De acuerdo con un ejemplo, una operación, tal como una operación de fabricación se puede realizar en el objeto utilizando la malla adaptativa de resolución.
De acuerdo con un ejemplo, cualquiera de los métodos 200, 200' u 800 están incorporados en un producto de programa informático, tal como el producto de programa informático 136 en la fig. 1. El producto de programa informático 136 incluye un medio de almacenamiento legible por ordenador similar al descrito anteriormente que tiene instrucciones de programa de informático 138 incorporadas al mismo. El medio de almacenamiento legible por ordenador no es un medio transitorio por sí mismo. Las instrucciones del programa son ejecutables por un dispositivo, tal como el procesador 118 en la fig. 1 para hacer que el dispositivo realice el método 200, 200' u 800. De acuerdo con un ejemplo, las instrucciones de programa informático 138 definen el módulo de malla adaptativa de resolución 120 que se almacena en un dispositivo de almacenamiento en asociación con el procesador 118 y se pueden descargar desde el producto de programa informático 136.
El diagrama de flujo y los diagramas de bloques en las figuras ilustran la arquitectura, la funcionalidad, y la operación de posibles implementaciones de sistemas, métodos y productos de programa informático de acuerdo con diversos ejemplos de la presente divulgación. En este sentido, cada bloque en el diagrama de flujo o diagramas de bloques puede representar un módulo, segmento, o parte de las instrucciones, que comprende una o más instrucciones ejecutables para implementar la(s) función(es) lógica(s) especificada(s). En algunas implementaciones alternativas, las funciones señaladas en el bloque pueden tener lugar fuera del orden señalado en las figuras. Por ejemplo, dos bloques mostrados en sucesión pueden, de hecho, ejecutarse sustancialmente al mismo tiempo, o los bloques a veces pueden ejecutarse en el orden inverso, dependiendo de la funcionalidad implicada. También se observará que cada bloque de los diagramas de bloques y/o la ilustración del diagrama de flujo, y las combinaciones de bloques en los diagramas de bloques y/o la ilustración del diagrama de flujo, puede implementarse por sistemas basados en hardware de propósito especial que realizan las funciones o actos especificados o realizan combinaciones de hardware de propósito especial e instrucciones de ordenador.
Las estructuras correspondientes, materiales, actos y equivalentes de todos los medios o elementos de etapa más función en las reivindicaciones siguientes se dirigen a incluir cualquier estructura, material o acto para realizar la función en combinación con otros elementos reivindicados como se reivindican específicamente. La descripción de los presente ejemplos se ha presentado para fines de ilustración y descripción, pero no se dirige a ser exhaustiva o limitada a ejemplos en la forma divulgada. Muchas modificaciones y variaciones se harán aparentes para los expertos en la técnica sin apartarse del ámbito de ejemplos, dado que el alcance de la presente invención solo se define por las reivindicaciones adjuntas.
Aunque se han ilustrado y descrito ejemplos específicos en este documento, los expertos en la materia aprecian que cualquier disposición que se calcule para lograr el mismo propósito puede ser sustituida por los ejemplos específicos mostrados y que los ejemplos tienen otras aplicaciones en otros entornos. Esta solicitud está destinada a cubrir cualquier adaptación o variación dentro del alcance de las reivindicaciones adjuntas.

Claims (7)

REIVINDICACIONES
1. Un método (200, 200') para generar una malla adaptativa de resolución (102) para la metrología 3-D de un objeto (104), que comprende:
recibir (202) datos de nubes de puntos (110) de una pluralidad de sensores (106a -106n), los datos de nube de puntos desde cada sensor definen una nube de puntos (112) que representa el objeto (104), en donde cada nube de puntos comprende una multiplicidad de puntos (114) y cada punto comprende al menos información de ubicación para el punto (115) en el objeto; determinar (202) una resolución de cada sensor en cada una de las tres dimensiones ortogonales en función de la posición de cada sensor en relación con el objeto y las propiedades físicas de cada sensor,
en donde recibir los datos de nube de puntos comprende recibir la nube de puntos (402) de cada sensor y un elipsoide de incertidumbre (404a-404c) para cada punto, en donde los elipsoides de incertidumbre se usan para determinar las resoluciones de cada sensor en función de la posición del sensor con respecto al objeto (104); asignar (208) cada punto a un triángulo de malla más cercano (602a) de una malla triangular (600), comprendiendo la malla triangular una multiplicidad de triángulos de malla (602a-602n) que representan colectivamente una superficie (604) del objeto (104);
ajustando la malla triangular (600) a la nube de puntos (402) ajustando los vértices de malla (606a - 606c) de cada triángulo de malla asignado (602a - 602n) para minimizar la distancia media (di) de puntos (400a) en la nube de puntos (402) de sus triángulos de malla más cercanos (602a - 602n), ponderado por el cuadrado inverso de la resolución del sensor dependiente de la posición en la dirección (610) hacia el punto más cercano (608) en el triángulo de malla asignado (602a - 602n).
2. El método de la reivindicación 1, que comprende además inicializar (204) la malla triangular (600) usando un método de interpolación de superficie para proporcionar una malla triangular inicializada (500) que representa una superficie (604) del objeto (104).
3. El método de la reivindicación 1, en donde los vértices de cada triángulo de malla no están restringidos (212, 212').
4. El método de la reivindicación 1, en donde los vértices de cada triángulo de malla están restringidos (212, 212') con solo una dirección variable y otras dos direcciones fijas en una cuadrícula.
5. El método de la reivindicación 1, que comprende adicionalmente:
ajustar la malla triangular a las nubes de puntos mediante el ajuste de malla de resolución múltiple (800), en donde una malla triangular de salida de un nivel actual de resolución se subdivide y se usa como una malla triangular inicial para la optimización de un siguiente nivel de resolución; y
aumentar el muestreo (810) de la nube de puntos para cada nivel de resolución para usar con una malla triangular subdividida.
6. Un sistema (100) para generar una malla adaptativa de resolución (102) para la metrología 3-D de un objeto (104), que comprende:
una pluralidad de sensores (106a-106n) configurados para recoger imágenes electrónicas (108) de un objeto, comprendiendo las imágenes electrónicas datos de nube de puntos 3-D (110) del objeto;
un procesador (118); y un módulo de malla adaptativa de resolución (120) adaptado para operar en el procesador, estando el módulo de malla adaptativa de resolución configurado para realizar un método de acuerdo con la reivindicación 1.
7. Un producto de programa informático (136) para generar una malla adaptativa de resolución (102) para la metrología 3-D de un objeto (104), comprendiendo el producto de programa informático un medio de almacenamiento legible por ordenador que tiene instrucciones de programa (138) incorporadas en el mismo, en donde el medio de almacenamiento legible por ordenador no es un medio transitorio por sí mismo, siendo las instrucciones del programa ejecutables mediante un dispositivo para hacer que el dispositivo realice un método de acuerdo con la reivindicación 1.
ES18174588T 2017-07-28 2018-05-28 Malla adaptativa de resolución para realizar metrología en 3-d de un objeto Active ES2766948T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/663,190 US10438408B2 (en) 2017-07-28 2017-07-28 Resolution adaptive mesh for performing 3-D metrology of an object

Publications (1)

Publication Number Publication Date
ES2766948T3 true ES2766948T3 (es) 2020-06-15

Family

ID=62455382

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18174588T Active ES2766948T3 (es) 2017-07-28 2018-05-28 Malla adaptativa de resolución para realizar metrología en 3-d de un objeto

Country Status (5)

Country Link
US (1) US10438408B2 (es)
EP (1) EP3435029B1 (es)
JP (1) JP7308597B2 (es)
CN (1) CN109307478B (es)
ES (1) ES2766948T3 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2569656B (en) * 2017-12-22 2020-07-22 Zivid Labs As Method and system for generating a three-dimensional image of an object
CN108921947B (zh) * 2018-07-23 2022-06-21 百度在线网络技术(北京)有限公司 生成电子地图的方法、装置、设备、存储介质以及采集实体
US11995854B2 (en) * 2018-12-19 2024-05-28 Nvidia Corporation Mesh reconstruction using data-driven priors
US11556745B2 (en) * 2019-03-22 2023-01-17 Huawei Technologies Co., Ltd. System and method for ordered representation and feature extraction for point clouds obtained by detection and ranging sensor
CN110309561A (zh) * 2019-06-14 2019-10-08 吉旗物联科技(上海)有限公司 货物空间体积测量方法及装置
US11222460B2 (en) 2019-07-22 2022-01-11 Scale AI, Inc. Visualization techniques for data labeling
US11763524B2 (en) * 2019-09-13 2023-09-19 Ansys, Inc. Layered meshing for additive manufacturing simulations
CN111461981B (zh) * 2020-03-30 2023-09-01 北京百度网讯科技有限公司 点云拼接算法的误差估计方法和装置
CN113538553B (zh) * 2020-04-15 2023-10-24 深圳市光鉴科技有限公司 基于规则箱体的体积测量装置
CN111563920B (zh) * 2020-04-15 2023-04-07 西安工程大学 一种全局优化与多约束条件迭代的3d彩色点云配准方法
CN112367514B (zh) * 2020-10-30 2022-12-09 京东方科技集团股份有限公司 三维场景构建方法、装置、系统和存储介质
CN112508803B (zh) * 2020-11-03 2023-10-03 中山大学 一种三维点云数据的去噪方法、装置及存储介质
US20240303908A1 (en) * 2021-04-30 2024-09-12 Google Llc Multiresolution deep implicit functions for three-dimensional shape representation
CN114549617A (zh) * 2022-02-25 2022-05-27 南京农业大学 一种测量园艺作物果实表面积的方法
US20240020935A1 (en) * 2022-07-15 2024-01-18 The Boeing Company Modeling system for 3d virtual model
US12094058B2 (en) * 2022-08-19 2024-09-17 Fluid Dynamic Sciences, Llc Fast feature recognition and mesh generation in structural design
DE102022208907A1 (de) 2022-08-29 2024-02-29 Carl Zeiss Industrielle Messtechnik Gmbh Verfahren und Vorrichtung zum Vermessen eines Messobjekts
JP2024089709A (ja) * 2022-12-22 2024-07-04 株式会社日立製作所 三次元データ処理システム、及び三次元データ処理方法
WO2024147750A1 (en) * 2023-01-04 2024-07-11 Telefonaktiebolaget Lm Ericsson (Publ) Method, controller, and computer program for interaction with a fused point cloud
US11893692B1 (en) * 2023-05-31 2024-02-06 Illuscio, Inc. Systems and methods for retexturizing mesh-based objects using point clouds

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3658038B2 (ja) * 1995-04-20 2005-06-08 キヤノン株式会社 3次元形状データ統合方法及びその装置と3次元画像処理方法
US5886702A (en) 1996-10-16 1999-03-23 Real-Time Geometry Corporation System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities
JP2004295255A (ja) 2003-03-25 2004-10-21 Hokkaido Univ 干渉判定システム及び干渉判定プログラム
US20050140670A1 (en) 2003-11-20 2005-06-30 Hong Wu Photogrammetric reconstruction of free-form objects with curvilinear structures
JP4383230B2 (ja) 2004-04-01 2009-12-16 三菱電機株式会社 3次元物体照合装置
US7593565B2 (en) * 2004-12-08 2009-09-22 Rudolph Technologies, Inc. All surface data for use in substrate inspection
JP2008537190A (ja) * 2005-01-07 2008-09-11 ジェスチャー テック,インコーポレイテッド 赤外線パターンを照射することによる対象物の三次元像の生成
JP4934789B2 (ja) 2006-01-23 2012-05-16 国立大学法人横浜国立大学 補間処理方法および補間処理装置
CN100533484C (zh) * 2007-05-25 2009-08-26 同济大学 基于自适应平坦度将无序点云转换为三角网格的系统及方法
CN101464999B (zh) 2007-12-19 2011-01-05 鸿富锦精密工业(深圳)有限公司 三维色阶比对系统及方法
US8610706B2 (en) * 2008-10-04 2013-12-17 Microsoft Corporation Parallel surface reconstruction
DK2401575T3 (da) * 2009-02-25 2020-03-30 Dental Imaging Technologies Corp Fremgangsmåde og apparatur til generering af en fremvisning af en tredimensional overflade
US8983794B1 (en) * 2010-10-04 2015-03-17 The Boeing Company Methods and systems for non-destructive composite evaluation and repair verification
US20130249899A1 (en) * 2012-03-07 2013-09-26 Willow Garage Inc. Point cloud data hierarchy
US20130268862A1 (en) * 2012-03-07 2013-10-10 Willow Garage Inc. Point cloud data hierarchy
FR2992762B1 (fr) 2012-06-29 2014-07-11 Real Fusio France Procede de generation d’un maillage d’au moins un objet en trois dimensions
WO2014112908A1 (en) 2013-01-21 2014-07-24 Saab Ab A method and arrangement for providing a 3d model
CN103295203A (zh) * 2013-06-12 2013-09-11 中国科学院光电技术研究所 一种基于b样条的硅片表面形貌重构的方法
US9524582B2 (en) 2014-01-28 2016-12-20 Siemens Healthcare Gmbh Method and system for constructing personalized avatars using a parameterized deformable mesh
JP2015156108A (ja) 2014-02-20 2015-08-27 学校法人立命館 非線形変形計算システム及び手術シミュレータ
EP2930691A1 (en) 2014-04-10 2015-10-14 Dassault Systèmes Fitting sample points with an isovalue surface
CN104063894B (zh) 2014-06-13 2017-02-22 中国科学院深圳先进技术研究院 点云三维模型重建方法及系统
US9734595B2 (en) * 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds
US10260866B2 (en) 2015-03-06 2019-04-16 Massachusetts Institute Of Technology Methods and apparatus for enhancing depth maps with polarization cues
CN104933678B (zh) * 2015-06-30 2018-04-10 西安理工大学 一种基于像素强度的图像超分辨率重建方法
US9646410B2 (en) 2015-06-30 2017-05-09 Microsoft Technology Licensing, Llc Mixed three dimensional scene reconstruction from plural surface models
WO2017007535A1 (en) 2015-07-07 2017-01-12 Quality Vision International, Inc. Method and apparatus for scanning object
EP3188033B1 (en) 2015-12-31 2024-02-14 Dassault Systèmes Reconstructing a 3d modeled object

Also Published As

Publication number Publication date
CN109307478A (zh) 2019-02-05
JP2019049533A (ja) 2019-03-28
EP3435029B1 (en) 2019-11-06
JP7308597B2 (ja) 2023-07-14
US20190035150A1 (en) 2019-01-31
EP3435029A1 (en) 2019-01-30
CN109307478B (zh) 2021-02-19
US10438408B2 (en) 2019-10-08

Similar Documents

Publication Publication Date Title
ES2766948T3 (es) Malla adaptativa de resolución para realizar metrología en 3-d de un objeto
EP3574473B1 (en) Apparatus, method, and system for alignment of 3d datasets
CN113014906B (zh) 3d场景重建方法、系统及计算机程序存储介质
Lv et al. Targetless calibration of lidar-imu system based on continuous-time batch estimation
WO2021140886A1 (ja) 三次元モデル生成方法、情報処理装置およびプログラム
Pito A solution to the next best view problem for automated surface acquisition
ES2532452T3 (es) Procedimiento de generación de un modelo de un objeto plano a partir de vistas del objeto
US9322646B2 (en) Adaptive mechanism control and scanner positioning for improved three-dimensional laser scanning
US20150243035A1 (en) Method and device for determining a transformation between an image coordinate system and an object coordinate system associated with an object of interest
Santoso et al. 3D mapping for visualization of rigid structures: A review and comparative study
Guidi et al. 3D Modelling from real data
CN110278431A (zh) 相位检测自动聚焦三维图像撷取系统
Jin et al. An Indoor Location‐Based Positioning System Using Stereo Vision with the Drone Camera
Özdemir et al. A multi-purpose benchmark for photogrammetric urban 3D reconstruction in a controlled environment
Altuntas Triangulation and time-of-flight based 3D digitisation techniques of cultural heritage structures
Wu Photogrammetry: 3-D from imagery
Buck et al. Capturing uncertainty in monocular depth estimation: Towards fuzzy voxel maps
Ambrus et al. Autonomous meshing, texturing and recognition of object models with a mobile robot
Fossel et al. NOctoSLAM: Fast octree surface normal mapping and registration
Marchand et al. Evaluating Surface Mesh Reconstruction of Open Scenes
García-Moreno Dynamic Multi-Sensor Platform for Efficient Three-Dimensional-Digitalization of Cities
Ye et al. Lunar Terrain Reconstruction from Multi-View Lroc Nac Images Based on Semi-Global Matching in Object Space
JP2011149952A (ja) モデル入力装置およびモデル生成システム
WO2023002978A1 (ja) 画像生成処理装置、3次元形状の復元システム、画像生成処理方法およびプログラム
Ahmadabadian Photogrammetric multi-view stereo and imaging network design