ES2891748T3 - Indexing method and system - Google Patents

Indexing method and system Download PDF

Info

Publication number
ES2891748T3
ES2891748T3 ES15789997T ES15789997T ES2891748T3 ES 2891748 T3 ES2891748 T3 ES 2891748T3 ES 15789997 T ES15789997 T ES 15789997T ES 15789997 T ES15789997 T ES 15789997T ES 2891748 T3 ES2891748 T3 ES 2891748T3
Authority
ES
Spain
Prior art keywords
data
model
voxels
images
image
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
ES15789997T
Other languages
Spanish (es)
Inventor
Samuel Patrick Bromley
Richard Jacques Charron
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.)
Whitecap Scient Corp
Original Assignee
Whitecap Scient Corp
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 Whitecap Scient Corp filed Critical Whitecap Scient Corp
Application granted granted Critical
Publication of ES2891748T3 publication Critical patent/ES2891748T3/en
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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Abstract

Un método que comprende: capturar los primeros datos (207; 309) del modelo 3D relacionados con cada uno de una primera pluralidad de vóxeles (212v 214v; 305v), los primeros datos del modelo 3D relacionados con un objeto (105) y para formar un primer modelo 3D del objeto, que incluye la captura una primera pluralidad de imágenes (209a, 209c; 301f, 302f, 303f, 304f) del objeto en donde cada una de la primera pluralidad de imágenes comprende al menos un píxel y tiene campos de visión superpuestos del objeto, estando dicha primera pluralidad de imágenes almacenada como datos de la primera imagen; correlacionar los primeros datos de imagen del objeto con los primeros datos del modelo 3D para producir un primer índice, el primer índice indicando una correlación entre al menos un píxel (211a, 211c, 213a, 213c; 301p 302p, 303p, 4p) de una imagen de la primera pluralidad de imágenes y al menos un vóxel (212v, 214v; 305v) de los primeros datos del modelo 3D, cada uno de dicho al menos un píxel y dicho al menos un vóxel representando una misma parte de dicho objeto; y almacenar el primer índice para su recuperación, en donde el método comprende, además: marcar un primer vóxel de la primera pluralidad de vóxeles para monitorear a lo largo del tiempo; capturar segundos datos del modelo 3D relacionados con cada uno de una segunda pluralidad de vóxeles, los segundos datos del modelo 3D relacionados con el objeto y para formar un segundo modelo 3D del objeto incluyendo capturar una segunda pluralidad de imágenes del objeto en donde cada una de la segunda pluralidad de imágenes comprende al menos un píxel y tiene campos de visión superpuestos del objeto, estando dicha segunda pluralidad de imágenes almacenada como datos de la segunda imagen; correlacionar los datos de la segunda imagen del objeto con los datos del segundo modelo 3D para producir un segundo índice, el segundo índice indicando una correlación entre al menos un píxel de una imagen de la segunda pluralidad de imágenes y al menos un vóxel del segundo modelo 3D datos; almacenar el segundo índice para su recuperación; y correlacionar el segundo modelo 3D con el primer modelo 3D para correlacionar el segundo índice y el primer índice.A method comprising: capturing first 3D model data (207; 309) related to each of a first plurality of voxels (212v 214v; 305v), first 3D model data related to an object (105), and for forming a first 3D model of the object, including capturing a first plurality of images (209a, 209c; 301f, 302f, 303f, 304f) of the object wherein each of the first plurality of images comprises at least one pixel and has fields of superimposed views of the object, said first plurality of images being stored as first image data; correlating the first object image data with the first 3D model data to produce a first index, the first index indicating a correlation between at least one pixel (211a, 211c, 213a, 213c; 301p, 302p, 303p, 4p) of a image of the first plurality of images and at least one voxel (212v, 214v; 305v) of the first data of the 3D model, each of said at least one pixel and said at least one voxel representing the same part of said object; and storing the first index for retrieval, the method further comprising: marking a first voxel of the first plurality of voxels for monitoring over time; capturing second 3D model data related to each of a second plurality of voxels, the second 3D model data related to the object and for forming a second 3D model of the object including capturing a second plurality of images of the object wherein each of the second plurality of images comprises at least one pixel and has overlapping object fields of view, said second plurality of images being stored as second image data; correlating data from the second image of the object with data from the second 3D model to produce a second index, the second index indicating a correlation between at least one pixel of an image of the second plurality of images and at least one voxel of the second model 3D data; store the second index for retrieval; and mapping the second 3D model to the first 3D model to map the second index and the first index.

Description

DESCRIPCIÓNDESCRIPTION

Método y sistema de indexaciónIndexing method and system

Campo de invenciónfield of invention

La presente invención se refiere a la correlación de modelos tridimensionales (3D) e imágenes bidimensionales (2D), en particular la indexación de una imagen 2D y un modelo 3D para correlacionar entre ellos.The present invention relates to the mapping of three-dimensional (3D) models and two-dimensional (2D) images, in particular the indexing of a 2D image and a 3D model to map between them.

AntecedentesBackground

Los avances en las técnicas de procesamiento de imágenes, incluidos los nuevos procesos y el uso de procesadores gráficos más potentes, han llevado a una mayor dependencia de los datos visuales. Por ejemplo, se analizan flujos de imágenes 2D, normalmente denominadas videos, y se genera un modelo 3D a partir de ellos. La generación de modelos 3D se utiliza en las industrias del entretenimiento, juegos, ciencias naturales, medicina, inspección, ingeniería inversa y minería. Algunos modelos 3D se generan para producir un mundo "virtual": una imagen 3D artificial en un mundo artificial como se utiliza en la animación o los juegos; Estos modelos 3D no necesitan ser precisos y, de hecho, a menudo se modifican posteriormente para mejorar el efecto general. En otras aplicaciones, los modelos 3D se generan a partir de fotografías en 2D o videos capturados de un objeto del mundo real. Además, los modelos 3D se pueden formar escaneando un objeto del mundo real con un escáner 3D. Estos modelos 3D proporcionan información valiosa de objetos del mundo real en un formato compacto fácilmente comprensible para los seres humanos.Advances in image processing techniques, including new processes and the use of more powerful graphics processors, have led to a greater reliance on visual data. For example, 2D image streams, usually called videos, are analyzed and a 3D model is generated from them. 3D model generation is used in the entertainment, gaming, life sciences, medicine, inspection, reverse engineering, and mining industries. Some 3D models are generated to produce a "virtual" world: an artificial 3D image in an artificial world as used in animation or games; These 3D models do not need to be precise and, in fact, are often later modified to enhance the overall effect. In other applications, 3D models are generated from 2D photos or videos captured of a real-world object. Also, 3D models can be formed by scanning a real-world object with a 3D scanner. These 3D models provide valuable information about real-world objects in a compact format that is easily understood by humans.

La información de alcance proporciona una medida de distancia entre un aparato de medición y un objetivo. Normalmente, se determina un alcance entre un sensor de alcance y un punto en el espacio 3D. Para generar un modelo 3D de un objeto del mundo real, se determinan múltiples alcances para formar un mapa 3D de la(s) superficie(s) más cercana al sensor de alcance. Por ejemplo, un sensor de distancia se enfrenta a una pared, el punto en la pared directamente en frente del sensor de distancia es el punto más cercano al sensor de distancia y también se considera el punto central. Los puntos en la pared más alejados del punto central también están más alejados del sensor de distancia. Los alcances medidos entre puntos en la superficie de un objeto del mundo real en el espacio 3D ayudan a determinar la forma de la superficie en el modelo 3D correspondiente. Por ejemplo, si la pared es plana, la distancia entre dos puntos adyacentes cualesquiera de la pared es un valor esperado. Sin embargo, si la pared no es plana, la distancia entre dos puntos adyacentes en la pared es diferente al valor esperado, lo que indica que la pared no es plana, sino que es curvada, o al menos curvada en esa parte de la superficie del objeto del mundo real. Hay muchos sensores de alcance que incluyen, entre otros, Lidar, infrarrojos (IR), sonar, estereoscopio, LÁSER, ultrasonidos, luz con patrones, r F, etc. que se utilizan en muchas aplicaciones diferentes. Dicho esto, esencialmente, cada sensor de alcance intenta determinar una distancia entre el sensor de alcance y un objetivo.Range information provides a measure of distance between a measuring device and a target. Typically, a range is determined between a range sensor and a point in 3D space. To generate a 3D model of a real-world object, multiple ranges are determined to form a 3D map of the closest surface(s) to the range sensor. For example, a distance sensor faces a wall, the point on the wall directly in front of the distance sensor is the closest point to the distance sensor and is also considered the center point. Points on the wall furthest from the center point are also furthest from the distance sensor. The measured ranges between points on the surface of a real-world object in 3D space help determine the shape of the surface in the corresponding 3D model. For example, if the wall is flat, the distance between any two adjacent points on the wall is an expected value. However, if the wall is not flat, the distance between two adjacent points on the wall is different from the expected value, indicating that the wall is not flat, but is curved, or at least curved on that part of the surface. of the real world object. There are many ranging sensors including but not limited to Lidar, Infrared (IR), Sonar, Stereoscope, LASER, Ultrasonic, Patterned Light, rF, etc. They are used in many different applications. That said, essentially every range sensor tries to determine a distance between the range sensor and a target.

Cuando se genera un modelo 3D utilizando imágenes 3D, la información de alcance detectada o calculada se ve como datos de origen y se archivan o descartan, según la aplicación. Por tanto, cuando se utiliza un sensor de alcance para escanear un espacio para formar un mapa 3D del mismo, los valores de alcance no forman parte del modelo 3D, aunque el modelo 3D se basa en ellos. Una vez que se genera el modelo 3D, los datos de alcance se han utilizado para el propósito previsto. De manera similar, con los telémetros estereoscópicos, una vez que se genera el modelo 3D, los datos de la imagen han cumplido su propósito. Por supuesto, en el modelado 3D estereoscópico, se sabe superponer una piel en el modelo 3D para proporcionarle color, textura, etc., lo que permite la representación de datos de imagen del modelo 3D.When a 3D model is generated using 3D images, the detected or calculated range information is viewed as source data and is archived or discarded, depending on the application. Therefore, when a range sensor is used to scan a space to form a 3D map of it, the range values are not part of the 3D model, although the 3D model is based on them. Once the 3D model is generated, the scope data has been used for its intended purpose. Similarly, with stereoscopic rangefinders, once the 3D model is generated, the image data has served its purpose. Of course, in stereoscopic 3D modeling, it is known to overlay a skin on the 3D model to give it color, texture, etc., which allows the rendering of image data from the 3D model.

En las aplicaciones de aseguramiento de la calidad de la industria del automóvil, los modelos 3D se construyen a partir de videos 2D de las piezas recién ensambladas de un automóvil. Algunas piezas de automóvil son complejas de ensamblar y tienen tolerancias estrictas. Una vez que se construyen los modelos 3D a partir de las imágenes 2D, el modelo 3D de la pieza del automóvil se compara con un modelo de dibujo asistido por ordenador (CAD) original para determinar si la pieza del automóvil ensamblada cumple con los estándares de ingeniería. En esta aplicación, los datos de origen a menudo se descartan.In automotive industry quality assurance applications, 3D models are built from 2D videos of newly assembled parts of a car. Some auto parts are complex to assemble and have tight tolerances. Once the 3D models are built from the 2D images, the 3D model of the auto part is compared to an original computer-aided drafting (CAD) model to determine if the assembled auto part meets industry standards. engineering. In this application, the source data is often discarded.

Para las industrias que requieren la inspección de un objeto del mundo real en un estado instalado, incluidos los objetos animados e inanimados, se sabe que se capturan secuencias de video del objeto instalado a intervalos, generalmente por un operador, y se revisa el objeto en busca de irregularidades, problemas potenciales y el desgaste por expertos en la materia. Los operadores a menudo están capacitados para trabajar en entornos extremos, como en minas, bajo el agua o en torres altas. Alternativamente, los operadores están capacitados para utilizar equipos de inspección complejos, como vehículos operados a distancia (ROV) o robots no tripulados. En algunas aplicaciones, el operador anota la secuencia de video cuando el operador nota una condición o situación importante mientras graba el video, por ejemplo, grabando un indicador de tiempo para el video y una breve descripción del problema encontrado. Cuando el video es revisado por expertos de la industria, se analiza más de cerca o solo se analiza antes, durante y después del tiempo indicado por el operador para determinar si realmente existe un problema. Si se determina un problema, el experto decide qué acción se requiere o si el problema señalado debe monitorearse a lo largo del tiempo. Sin una anotación por parte del operador, los expertos se ven obligados a ver cuidadosamente horas de imágenes de video para detectar un problema con el objeto en pantalla. Alternativamente, los expertos monitorean las transmisiones de videos en vivo a medida que se capturan los datos de video. For industries that require the inspection of a real-world object in an installed state, including animate and inanimate objects, it has been known to capture video footage of the installed object at intervals, usually by an operator, and review the object in Search for irregularities, potential problems and wear by experts in the field. Operators are often trained to work in extreme environments, such as in mines, underwater, or on tall towers. Alternatively, operators are trained to use complex inspection equipment such as remotely operated vehicles (ROVs) or unmanned robots. In some applications, the operator annotates the video stream when the operator notices an important condition or situation while recording the video, for example by recording a time indicator for the video and a brief description of the problem encountered. When the video is reviewed by industry experts, it is either looked at more closely or just looked at before, during, and after the time indicated by the operator to determine if there really is a problem. If a problem is identified, the expert decides what action is required or whether the reported problem should be monitored over time. Without an annotation from the operator, experts are forced to sift through hours of video images to detect a problem with the on-screen object. Alternatively, experts monitor live video streams as video data is captured.

Es difícil asociar automáticamente los datos de video capturados con elementos de interés, áreas de interés, etc. sin indicarlo manualmente como por el revisor experto o sin navegar a esas áreas de interés por parte del propio experto. El documento US 2013/223718 A1 describe un método y un sistema para generar un modelo dental tridimensional con textura de color específico para un paciente. Según una realización, se obtiene un modelo dental tridimensional que carece de datos volumétricos para un punto de referencia anatómica tridimensional. Se identifica un punto de referencia anatómica bidimensional de una fotografía intraoral bidimensional que corresponde al punto de referencia anatómica tridimensional del modelo dental tridimensional. La fotografía intraoral bidimensional se proyecta sobre el modelo dental tridimensional. La referencia anatómica tridimensional se calcula a partir de la proyección del punto de referencia anatómica bidimensional de la fotografía intraoral bidimensional.It is difficult to automatically associate captured video data with items of interest, areas of interest, etc. without manually indicating it as by the expert reviewer or without navigating to those areas of interest by the expert himself. US 2013/223718 A1 describes a method and system for generating a patient-specific color-textured three-dimensional dental model. According to one embodiment, a three-dimensional dental model is obtained that lacks volumetric data for a three-dimensional anatomical landmark. A two-dimensional anatomical landmark is identified from a two-dimensional intraoral photograph that corresponds to the three-dimensional anatomical landmark of the three-dimensional dental model. The two-dimensional intraoral photograph is projected onto the three-dimensional dental model. The 3D anatomical landmark is calculated from the 2D anatomical landmark projection of the 2D intraoral photograph.

El documento US 8587583 B2 divulga una reconstrucción del entorno tridimensional.US 8587583 B2 discloses a three-dimensional environment reconstruction.

DEJAN ARSI ET AL: "Real Time Person Tracking and Bahavior Interpretation en Multi Camera Scenarios Applying Homography and Coupled HMMs", 2011, ISBN: 978-3-642-17318-9, divulga la captura de un modelo 3D de una escena que captura una pluralidad de imágenes de la escena y que usa una tabla de consulta que correlaciona los vóxeles del modelo 3D y los píxeles de las imágenes.DEJAN ARSI ET AL: "Real Time Person Tracking and Bahavior Interpretation in Multi Camera Scenarios Applying Homography and Coupled HMMs", 2011, ISBN: 978-3-642-17318-9, discloses capturing a 3D model of a scene capturing a plurality of images of the scene and using a lookup table that correlates the voxels of the 3D model and the pixels of the images.

Sería ventajoso superar algunas de las desventajas de la técnica anterior.It would be advantageous to overcome some of the disadvantages of the prior art.

Compendio de las realizaciones de la invenciónSummary of embodiments of the invention

La invención está definida por las reivindicaciones adjuntas.The invention is defined by the appended claims.

Breve descripción de los dibujosBrief description of the drawings

A continuación, se describirán realizaciones de ejemplo junto con los siguientes dibujos, en donde los mismos números se refieren a elementos que tienen una función similar, en los que:In the following, exemplary embodiments will be described in conjunction with the following drawings, in which like numerals refer to elements having a similar function, in which:

La FIG. 1 es un diagrama simple de un sistema de adquisición de datos de ejemplo para la inspección de un objeto del mundo real.FIG. 1 is a simple diagram of an example data acquisition system for inspection of a real world object.

La FIG. 2a es un diagrama simple de una imagen 2D a un sistema de indexación de modelo 3DFIG. 2a is a simple diagram of a 2D image to 3D model indexing system

La FIG. 2b es una vista frontal de un buque cisterna con fotogramas de video capturados del buque cisterna superpuestos en la parte superior.FIG. 2b is a front view of a tanker with video frames captured from the tanker superimposed on top.

La FIG. 2c es un diagrama de bloques simple de una imagen 3D de un modelo 3D que comprende 2 vóxeles.FIG. 2c is a simple block diagram of a 3D image of a 3D model comprising 2 voxels.

La FIG. 3a es un diagrama de bloques simple de almacenes de datos en un modelo 3D para un sistema de indexación de imágenes 2D.FIG. 3a is a simple block diagram of data stores in a 3D model for a 2D image indexing system.

La FIG. 3b es un diagrama de bloques simple de fotogramas de vídeo y píxeles asociados utilizados para la generación de un vóxel de modelo 3D.FIG. 3b is a simple block diagram of video frames and associated pixels used for the generation of a 3D model voxel.

La FIG. 4 es un diagrama de flujo simple de un método de indexación en donde un operador anota el video capturado de un objeto del mundo real.FIG. 4 is a simple flowchart of an indexing method where an operator annotates captured video of a real-world object.

La FIG. 5 es un diagrama de flujo simple de otro método de indexación según una realización de la invención.FIG. 5 is a simple flowchart of another indexing method according to an embodiment of the invention.

La FIG. 6 es un diagrama de pantalla simple de un método para mostrar datos de imagen en relación con el modelo 3D. La FIG. 7 es otro diagrama de pantalla simple de un método para mostrar datos de imagen en relación con el modelo 3D.FIG. 6 is a simple screen diagram of a method of displaying image data in relation to the 3D model. FIG. 7 is another simple screen diagram of a method of displaying image data in relation to the 3D model.

Descripción detallada de las realizaciones de la invenciónDetailed description of the embodiments of the invention

La siguiente descripción se presenta para permitir a un experto en la técnica realizar y utilizar la invención, y se proporciona en el contexto de una aplicación particular y sus requisitos. Diversas modificaciones de las realizaciones divulgadas serán fácilmente evidentes para aquellos expertos en la técnica, y los principios generales definidos en el presente documento pueden aplicarse a otras realizaciones y aplicaciones sin apartarse del alcance de las reivindicaciones. Por tanto, no se pretende que la presente invención se limite a las realizaciones divulgadas, sino que se le concederá el alcance más amplio en consonancia con las reivindicaciones adjuntas.The following description is presented to enable one skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications of the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the scope of the claims. Therefore, the present invention is not intended to be limited to the disclosed embodiments, but is to be accorded the widest scope consistent with the appended claims.

La FIG. 1 es un diagrama simplificado de un sistema de adquisición de datos de ejemplo para la inspección de un objeto del mundo real. El buque cisterna 105 que transportaba material peligroso para el medio ambiente, por ejemplo, diésel, encalló y se hundió en el fondo 106 del océano. Una empresa de inspecciones submarinas (USC) investiga el estado de buque cisterna 105 inspeccionando los daños y determinando si el buque cisterna 105 tiene una fuga de diésel. El buque 101 de la USC viaja a una ubicación por encima del buque cisterna 105 y deja caer el vehículo 104 (ROV) operado por control remoto en el océano 102. El ROV 104 está atado al buque 101 a través del cable 103 de conexión. Los cables eléctricos y/o de fibra óptica (no visibles) dentro del cable 103 de conexión permiten el control remoto del ROV 104 por parte de un operador a bordo del buque 101, así como la transmisión de datos recopilados por el equipo de detección del ROV 104 al buque 101. Por ejemplo, el ROV 104 rodea el buque cisterna 105 y captura datos de video del casco a través de video cámaras 107a, 107b y 107c (107c se encuentra en el lado del ROV 104 no mostrado). Se transmiten tres secuencias de vídeo al buque 101 a través del cable 103 de conexión para visualización en directo. Opcionalmente, el ROV 104 da vueltas al buque cisterna 105 varias veces, haciendo varias pasadas durante la misma inspección, capturando más datos de video del casco. Sin embargo, las video cámaras 107a, 107b y 107c registran el casco desde un ángulo diferente durante cada pasada. Alternativamente, los datos de video se almacenan dentro de un almacén de datos para uso futuro. Mientras que el ROV 104 captura imágenes de video del casco del buque cisterna 105 de cada video cámara 107a, 107b y 107c, el operador señala cualquier defecto que se vea en el video y la hora en que se graba el defecto en el video. Los expertos de la industria, como ingenieros navales y soldadores subacuáticos, venlos videos en el buque 101 o ven los datos de video grabados una vez que el buque 101 regresa al puerto, prestando mucha atención a los clips en los videos que fueron señalados por el operador. Opcionalmente, el operador anota el video añadiendo comentarios de audio al video, añadiendo una señal visual al video o añadiendo otro indicador al video para indicar ubicaciones en el casco que requieren una inspección adicional y el momento en el video donde se graban estas ubicaciones. Basándose en la condición del buque cisterna 105 observada en las secuencias de video, se determina si el casco requiere reparación o si ciertas partes del casco del buque cisterna 105 requieren una inspección futura. Periódicamente se llevan a cabo inspecciones similares del buque cisterna 105, como se describió anteriormente, para monitorear el deterioro del casco del buque cisterna 105.FIG. 1 is a simplified diagram of an example data acquisition system for inspection of a real world object. Tanker 105 carrying environmentally hazardous material, eg diesel, ran aground and sank to the bottom 106 of the ocean. An Undersea Survey Company (USC) investigates the condition of Tanker 105 by inspecting the damage and determining if Tanker 105 has a diesel leak. USC Vessel 101 travels to a location above Tanker 105 and drops Remote Operated Vehicle (ROV) 104 into Ocean 102. ROV 104 is tethered to Vessel 101 via connecting cable 103. Electrical and/or fiber optic cables (not visible) within the patch cord 103 allow control remote control of ROV 104 by an operator aboard vessel 101, as well as transmission of data collected by detection equipment from ROV 104 to vessel 101. For example, ROV 104 circles tanker 105 and captures video data from the hull via video cameras 107a, 107b, and 107c (107c is on the side of ROV 104 not shown). Three video streams are transmitted to the vessel 101 through the connection cable 103 for live viewing. Optionally, ROV 104 circles tanker 105 multiple times, making multiple passes during the same inspection, capturing more video data from the hull. However, video cameras 107a, 107b, and 107c record the hull from a different angle during each pass. Alternatively, the video data is stored within a data store for future use. While the ROV 104 captures video images of the hull of the tanker 105 from each video camera 107a, 107b and 107c, the operator points out any defects seen on the video and the time the defect is recorded on the video. Industry insiders such as marine engineers and underwater welders watch the videos on Vessel 101 or view the video data recorded once Vessel 101 returns to port, paying close attention to the clips in the videos that were flagged by the operator. Optionally, the operator annotates the video by adding audio comments to the video, adding a visual cue to the video, or adding another indicator to the video to indicate locations on the hull that require further inspection and the time in the video where these locations are recorded. Based on the condition of the tanker 105 observed in the video sequences, it is determined whether the hull requires repair or whether certain portions of the tanker 105 hull require future inspection. Similar inspections of the tanker 105 are carried out periodically, as described above, to monitor the deterioration of the hull of the tanker 105.

Alternativamente, el control del ROV 104 es inalámbrico, por ejemplo, a través de un sistema de comunicación acústico o un sistema de comunicación acústico-óptico. Alternativamente, los datos recopilados de los sensores del ROV 104 se almacenan en un almacén de datos local en el ROV 104 y se transmiten a un segundo almacén de datos a bordo del buque 101 o a un almacén de datos en tierra. Alternativamente, los datos recopilados por los sensores del ROV 104 se transmiten de forma inalámbrica al buque 101. Se pueden implementar diversos sistemas de comunicación para el control remoto del ROV 104 y la transmisión de datos del sensor desde el ROV 104 al buque 101.Alternatively, control of the ROV 104 is wireless, for example, through an acoustic communication system or an acousto-optic communication system. Alternatively, the data collected from the sensors of the ROV 104 is stored in a local data store on the ROV 104 and transmitted to a second data store on board the vessel 101 or to a data store on land. Alternatively, data collected by the ROV 104 sensors is transmitted wirelessly to vessel 101. Various communication systems can be implemented for remote control of ROV 104 and transmission of sensor data from ROV 104 to vessel 101.

La siguiente es una descripción de un método simplificado para construir modelos 3D a partir de imágenes 2D. Haciendo referencia nuevamente a la FIG. 1, las video cámaras 107a, 107b y 107c están colocadas de manera que el campo de visión de una cámara se solape con el campo de visión de al menos una segunda cámara. Un ejemplo específico y no limitativo es que una primera parte del casco del buque cisterna 105 está presente simultáneamente en el campo de visión de las cámaras 107a y 107b y una segunda parte del casco del buque cisterna 105 está presente simultáneamente en el campo de visión de las cámaras 107b y 107c. Sin embargo, la construcción de modelos 3D a partir de imágenes 2D está bien estudiada y, normalmente, se basa en al menos 2 imágenes para proporcionar información de alcance cuando sus campos de visión se superponen. Opcionalmente, el ROV 104 comprende una pluralidad de video cámaras de más de tres para grabar video del buque cisterna 105. El ROV 104 gira alrededor del buque cisterna 105360 grados, capturando secuencias de video de la superficie de todo el buque cisterna 105. Las video cámaras 107a, 107b y 107c están conectadas al ROV 104 en ubicaciones conocidas con orientaciones conocidas. Por tanto, las imágenes grabadas por cada vídeo cámara 107a, 107b y 107c del buque cisterna 105 se toman desde diferentes puntos de observación conocidos. Opcionalmente, el ROV 104 da vueltas al buque cisterna 105 varias veces, haciendo varias pasadas durante la misma inspección, capturando más datos de video del casco. El ROV 104 no recorre exactamente la misma trayectoria durante cada pasada, por lo que las video cámaras 107a, 107b y 107c graban el casco desde diferentes puntos de observación. Se capturan imágenes de las mismas partes del casco del buque cisterna 105 que se grabaron anteriormente, pero en diferentes ángulos. Las imágenes superpuestas de las mismas partes del casco capturadas por al menos dos de las video cámaras 107a, 107b y durante cada pasada se utilizan además para proporcionar información de alcance para la construcción del modelo 3D. Los datos de video indicativos de las secuencias de video de cada video cámara 107a, 107b y 107c se almacenan en un almacén de datos, por ejemplo, en un almacén de datos en el buque 101. A continuación, se realiza el procesamiento de imágenes en las imágenes de cada una de las video cámaras 107a, 107b y 107c para construir un modelo 3D del buque cisterna 105. Por ejemplo, los datos de alcance se determinan para las partes superpuestas de las imágenes de vídeo capturadas simultáneamente. Los datos de alcance se utilizan para colocar objetos físicos dentro de una cuadrícula 3D. Una vez que los datos de video se procesan por completo, cada parte del casco del buque cisterna 105 se ha clasificado y se obtiene un modelo 3D detallado del exterior del casco del buque cisterna 105. Los datos de alcance se calculan típicamente mediante triangulación, aunque un sensor de alcance también es útil para determinar un alcance a una superficie del casco del buque cisterna 105. Alternativamente, se implementa otra técnica para construir modelos 3D a partir de imágenes 2D. Una vez que se forma un modelo 3D, se almacenan los datos del modelo 3D correspondientes al mismo.The following is a description of a simplified method for building 3D models from 2D images. Referring again to FIG. 1, video cameras 107a, 107b, and 107c are positioned such that the field of view of one camera overlaps the field of view of at least one second camera. A specific and non-limiting example is that a first part of the tanker hull 105 is simultaneously present in the field of view of cameras 107a and 107b and a second part of the tanker hull 105 is simultaneously present in the field of view of cameras 107a and 107b. cameras 107b and 107c. However, building 3D models from 2D images is well studied and typically relies on at least 2 images to provide range information when their fields of view overlap. Optionally, the ROV 104 comprises a plurality of video cameras of more than three for recording video of the tanker 105. The ROV 104 rotates around the tanker 105360 degrees, capturing surface video footage of the entire tanker 105. The video Cameras 107a, 107b, and 107c are attached to ROV 104 at known locations with known orientations. Therefore, the images recorded by each video camera 107a, 107b and 107c of the tanker 105 are taken from different known observation points. Optionally, ROV 104 circles tanker 105 multiple times, making multiple passes during the same inspection, capturing more video data from the hull. ROV 104 does not travel exactly the same path during each pass, so video cameras 107a, 107b, and 107c record the hull from different vantage points. Images are captured of the same parts of the tanker 105 hull that were recorded earlier, but at different angles. Overlapping images of the same hull portions captured by at least two of the video cameras 107a, 107b and during each pass are further used to provide range information for construction of the 3D model. Video data indicative of the video streams from each video camera 107a, 107b, and 107c is stored in a data store, for example, in a data store on the ship 101. Image processing is then performed on the images from each of the video cameras 107a, 107b, and 107c to build a 3D model of the tanker 105. For example, range data is determined for the overlapping portions of the simultaneously captured video images. Scope data is used to position physical objects within a 3D grid. Once the video data is fully processed, each part of the tanker 105 hull has been classified and a detailed 3D model of the exterior of the tanker 105 hull is obtained. Range data is typically calculated by triangulation, although a range sensor is also useful for determining a range to a tanker hull surface 105. Alternatively, another technique is implemented to build 3D models from 2D images. Once a 3D model is formed, the 3D model data corresponding to it is stored.

Cuando se forma un modelo 3D, ya sea durante la captura de datos o después, cualquier anotación asociada con un píxel también se puede asociar con un vóxel. Alternativamente, cuando el modelo 3D se genera durante la captura de datos, las anotaciones se asocian directamente con los vóxeles dentro del modelo generado por el operador durante el funcionamiento de un dispositivo de captura de datos. Por ejemplo, el modelo 3D se muestra al operador durante la captura de imágenes. Este modelo permite al operador evaluar la integridad de las operaciones de captura de datos. El modelo 3D se puede resaltar para resaltar o seleccionar vóxeles o grupos de vóxeles en el mismo. El operador selecciona uno o más vóxeles y proporciona una anotación asociada con ellos. Al asociar anotaciones con un vóxel, a menudo es más fácil asociar las anotaciones con precisión con una característica tridimensional específica. Además, asociar la anotación con imágenes y partes de imagen es un proceso más simple: vóxel a imagen, en lugar de otro proceso, imagen a vóxel a imágenes.When a 3D model is formed, either during data capture or afterwards, any annotation associated with a pixel can also be associated with a voxel. Alternatively, when the 3D model is generated during data capture, annotations are directly associated with voxels within the model generated by the operator during operation of a data capture device. For example, the 3D model is displayed to the operator during image capture. This model allows the operator to assess the integrity of data capture operations. The 3D model can be highlighted to highlight or select voxels or groups of voxels in it. The operator selects one or more voxels and provides an annotation associated with them. By associating annotations with a voxel, it is often easier to accurately associate the annotations with a specific three-dimensional feature. Also, associating annotation with images and image parts is a simpler process: voxel to image, rather than another process, image to voxel to images.

La FIG. 2a es un diagrama simple de una imagen 2D a un sistema de indexación de modelo 3D. Los datos 205 de video indicativos de video grabado por las video cámaras 107a, 107b y 107c se almacenan en el servidor 201, como se muestra en la FIG. 2a. Cada fotograma de video grabado por una video cámara comprende una pluralidad de píxeles y forma una imagen fija. En esta realización, las video cámaras 107a, 107b y 107c son video cámaras de alta definición de 1080p 60Hz. Por ejemplo, el tamaño de fotograma de cada fotograma de vídeo capturado por la vídeo cámara 107a es de 1920 píxeles de ancho x 1080 píxeles de alto - 2.073.600 píxeles en total y graba 60 fotogramas de vídeo por segundo. Los datos 205 de video almacenados en el servidor 201 comprenden datos de píxeles para cada píxel dentro de cada fotograma de video capturado por las video cámaras 107a, 107b y 107c. Alternativamente, los datos de video son una transformación de los datos de píxeles, por ejemplo, datos de píxeles comprimidos. Alternativamente, las video cámaras 107a, 107b y 107c tienen otra resolución y frecuencia de muestreo.FIG. 2a is a simple diagram of a 2D image to 3D model indexing system. Video data 205 indicative of video recorded by video cameras 107a, 107b, and 107c is stored on server 201, as shown in FIG. 2a. Each frame of video recorded by a video camera comprises a plurality of pixels and forms a still image. In this embodiment, the video cameras 107a, 107b and 107c are 1080p 60Hz high definition video cameras. For example, the frame size of each video frame captured by video camera 107a is 1920 pixels wide x 1080 pixels high - 2,073,600 pixels total and records 60 video frames per second. Video data 205 stored in server 201 comprises pixel data for each pixel within each video frame captured by video cameras 107a, 107b, and 107c. Alternatively, the video data is a transformation of the pixel data, eg compressed pixel data. Alternatively, video cameras 107a, 107b and 107c have a different resolution and sampling rate.

El ordenador 202 que comprende el procesador 204 está en comunicación con el servidor 201 a través de una red de comunicación, por ejemplo, LAN 203. Alternativamente, la red de comunicación es una WAN, como Internet. Se genera un modelo 3D del buque cisterna 105 a partir de fotogramas de vídeo procesados seleccionados de vídeos grabado por al menos dos de las tres video cámaras 107a, 107b y 107c. El procesador 204 busca y después procesa los datos 205 de video para construir un modelo 3D del buque cisterna 105 y almacena los datos 207 del modelo 3D indicativos del modelo 3D en el almacén 206 de datos, también en comunicación con la red 203 de comunicación. Otros datos 209 de imagen, por ejemplo, datos de fotogramas utilizados para generar el modelo 3D del buque cisterna 105 se almacenan en el almacén 206 de datos. El modelo 3D del buque cisterna 105 comprende una pluralidad de vóxeles en donde cada vóxel representa un valor en una cuadrícula regular en el espacio 3D y los vóxeles que tienen contenido forman una imagen 3D del buque cisterna 105. Cada vóxel en el espacio 3D tiene una posición única, ya que no se pueden ubicar dos vóxeles en el mismo punto. Los datos 207 del modelo 3D comprenden datos de vóxeles indicativos de los datos almacenados dentro de los vóxeles y que forman el modelo 3D. Por ejemplo, cuando se determina el alcance a una parte del casco del buque cisterna 105, esa parte se ubica dentro de la cuadrícula 3D y cada vóxel que se cruza con la ubicación del casco se rellena con una indicación de que la superficie de un objeto está dentro de dicho vóxel. Alternativamente, la información de color y textura de la superficie se almacena dentro del vóxel. Los datos de vóxeles comprenden al menos un dato y dependen de una variedad de factores, como el tipo de datos utilizados para construir el modelo 3D. En este ejemplo, un tipo de datos utilizado para construir el modelo 3D son los datos de imagen. Alternativamente, el tipo de datos es distinto de los datos de imagen. Por ejemplo, un sensor de calor detecta la temperatura de la superficie de un objeto del mundo real y los datos de temperatura se utilizan para construir un modelo térmico 3D del objeto del mundo real. Además, alternativamente, el tipo de datos son tanto datos de imagen como distintos de los datos de imagen.Computer 202 comprising processor 204 is in communication with server 201 via a communication network, eg, LAN 203. Alternatively, the communication network is a WAN, such as the Internet. A 3D model of the tanker 105 is generated from processed video frames selected from videos recorded by at least two of the three video cameras 107a, 107b and 107c. Processor 204 fetches and then processes video data 205 to build a 3D model of tanker 105 and stores 3D model data 207 indicative of the 3D model in data store 206, also in communication with communication network 203 . Other image data 209, eg, frame data used to generate the 3D model of tanker 105, is stored in data store 206 . The 3D model of the tanker 105 comprises a plurality of voxels where each voxel represents a value on a regular grid in 3D space and the voxels that have content form a 3D image of the tanker 105. Each voxel in 3D space has a unique position, since no two voxels can be located at the same point. The 3D model data 207 comprises voxel data indicative of the data stored within the voxels and forming the 3D model. For example, when ranging to a portion of the hull of tanker 105, that portion is located within the 3D grid and each voxel that intersects the hull location is filled with an indication that the surface of an object is inside that voxel. Alternatively, surface color and texture information is stored within the voxel. Voxel data comprises at least one piece of data and depends on a variety of factors, such as the type of data used to build the 3D model. In this example, one data type used to build the 3D model is image data. Alternatively, the data type is other than image data. For example, a heat sensor detects the surface temperature of a real-world object, and the temperature data is used to build a 3D thermal model of the real-world object. Also, alternatively, the data type is both image data and other than image data.

Haciendo referencia ahora a la FIG. 2b, se muestra una vista frontal del buque cisterna 105 con fotogramas 209a y 209c de los datos 205 de vídeo del buque cisterna 105 capturados por las video cámaras 109a y 109c, respectivamente, superpuestos en la parte superior. Durante el modelado 3D, el procesador 204 identifica los fotogramas 209a y 209c, las cuales comprenden la primera parte 210 del buque cisterna 105. En particular, los píxeles 211a y 211c se identifican como un mismo primer punto en el buque cisterna 105 en los fotogramas 209a y 209c, respectivamente. La triangulación con la base/línea de base conocida (una distancia entre las video cámaras) y dos ángulos (desde cada cámara hasta los píxeles identificados) permite determinar el alcance. El vóxel dentro de la cuadrícula 3D en la ubicación de la superficie representada por los píxeles 211a y 211c tiene datos almacenados en el mismo para generar el modelo 3D del buque cisterna 105. Se muestra en la FIG. 2c el vóxel 212v en la imagen 215 en 3D del modelo 3D del buque cisterna 105. El vóxel 212v ilustra el primer punto del buque cisterna 105 en el modelo 3D. A continuación, los píxeles 213a y 213c se identifican como un segundo punto en el buque cisterna 105 en los fotogramas 209a y 209c, respectivamente. Los datos de píxeles indicativos de los píxeles 213a y 213c se procesan para generar datos de vóxeles del vóxel 214v también mostrado en la FIG. 2c. El vóxel 214v ilustra la segunda parte del buque cisterna 105 en la imagen 215 en 3D. Sólo con fines ilustrativos, los píxeles 211a, 211c, 213a y 213b en la FIG. 2b no se muestran a escala. Además, lo anterior describe un proceso de construcción simplificado de imagen 2D a modelo 3D y, en la práctica, generar un modelo 3D a partir de imágenes 2D es más complejo y, a menudo, comprende etapas iterativas y pre y post procesamiento.Referring now to FIG. 2b, a front view of tanker 105 is shown with frames 209a and 209c of video data 205 from tanker 105 captured by video cameras 109a and 109c, respectively, superimposed on top. During 3D modeling, processor 204 identifies frames 209a and 209c, which comprise the first part 210 of tanker 105. In particular, pixels 211a and 211c are identified as the same first point on tanker 105 in frames 209a and 209c, respectively. Triangulation with the known base/baseline (a distance between the video cameras) and two angles (from each camera to the identified pixels) allows range to be determined. The voxel within the 3D grid at the surface location represented by pixels 211a and 211c has data stored therein for generating the 3D model of tanker 105. Shown in FIG. 2c the voxel 212v in the 3D image 215 of the 3D model of the tanker 105. The voxel 212v illustrates the first point of the tanker 105 in the 3D model. Next, pixels 213a and 213c are identified as a second point on tanker 105 at frames 209a and 209c, respectively. Pixel data indicative of pixels 213a and 213c is processed to generate voxel data of voxel 214v also shown in FIG. 2 C. Voxel 214v illustrates the second part of tanker 105 in image 215 in 3D. For illustrative purposes only, pixels 211a, 211c, 213a, and 213b in FIG. 2b are not shown to scale. Furthermore, the above describes a simplified 2D image to 3D model construction process, and in practice, generating a 3D model from 2D images is more complex, often involving iterative steps and pre- and post-processing.

Durante la construcción del modelo 3D, cada píxel o grupo de píxeles en el que se confía para extraer datos de vóxeles se asocia con dicho vóxel. Por ejemplo, se forma una tabla de consulta (LUT) para asociarlos entre ellos. Alternativamente, se almacena otra forma de datos de correlación. Los datos de correlación que indican la correlación de imágenes 2D o partes de estas usados en la construcción de un modelo 3D, y más particularmente usados para extraer datos de vóxel específicos, se almacenan en un almacén de datos. Opcionalmente, los datos de correlación comprenden una indicación de la correlación entre los píxeles seleccionados de un conjunto de imágenes 2D y el vóxel al que corresponden dentro del modelo 3D.During construction of the 3D model, each pixel or group of pixels that is relied upon to extract voxel data is associated with that voxel. For example, a lookup table (LUT) is formed to associate them with each other. Alternatively, another form of correlation data is stored. Correlation data indicating the correlation of 2D images or parts thereof used in the construction of a 3D model, and more particularly used to extract specific voxel data, is stored in a data warehouse. Optionally, the correlation data comprises an indication of the correlation between selected pixels from a set of 2D images and the corresponding voxel within the 3D model.

En la FIG. 3a se muestra un almacén de datos en forma de servidor 306, en donde se almacenan datos 307 y 308 de vídeo, indicativos de un primer vídeo de un objeto del mundo real y un segundo vídeo del mismo objeto del mundo real. Por ejemplo, los primeros datos 307 de video y los segundos datos 308 de video fueron previamente grabados por una primera video cámara y una segunda video cámara, respectivamente. Los datos 307 de video y los datos 308 de video comprenden datos de fotogramas de video y datos de píxeles para cada fotograma dentro del primer y segundo videos. Los datos 307 de vídeo y los datos 308 de vídeo se procesan para construir un modelo 3D del objeto del mundo real y los datos 309 del modelo 3D se almacenan en un almacén de datos en forma de servidor 310. En la FIG. 3b se muestra, una imagen 305i correspondiente al modelo 3D construido. Los píxeles 301p, 302p, 303p y 304p se seleccionan del primer vídeo 307a y el segundo vídeo 308b respectivamente para generar el vóxel 305v en la imagen 305i 3D. Los indicadores de la correlación entre los píxeles 301 p, 302p, 303p y 304p y el vóxel 305v se almacenan en un índice dentro de un almacén de datos en forma de servidor 312. Un ejemplo específico y no limitativo del índice es un índice dentro de la base de datos 315 que comprende entradas 316, 317, 318, 319 en donde cada entrada relaciona el vóxel 305v con uno de cada píxel 301p, 302p, 303p y 304p, respectivamente. Por ejemplo, cada entrada comprende datos de ID de vóxel 305v y datos de ID de píxel para cada uno de los píxeles 301 p, 302p, 303p y 304p. Esto permite la búsqueda de píxeles basada en un vóxel y la búsqueda inversa de vóxeles basada en un píxel. Alternativamente, el índice es un índice unidireccional que permite buscar desde un vóxel hasta un píxel, de forma única. Además, alternativamente, el índice es un índice unidireccional que permite buscar de un píxel a un vóxel, de forma única.In FIG. 3a shows a data store in the form of a server 306, in which video data 307 and 308, indicative of a first video of a real world object and a second video of the same real world object, are stored. For example, the first video data 307 and the second video data 308 were previously recorded by a first video camera and a second video camera, respectively. Video data 307 and video data 308 comprise video frame data and pixel data for each frame within the first and second videos. The video data 307 and the video data 308 are processed to build a 3D model of the real world object and 3D model data 309 is stored in a data store in the form of a server 310. In FIG. 3b shows an image 305i corresponding to the built 3D model. Pixels 301p, 302p, 303p and 304p are selected from the first video 307a and second video 308b respectively to generate voxel 305v in 3D image 305i. Pointers to the correlation between pixels 301p, 302p, 303p and 304p and voxel 305v are stored in an index within a server-like data store 312. A specific and non-limiting example of the index is an index within database 315 comprising entries 316, 317, 318, 319 wherein each entry relates voxel 305v to one of each pixel 301p, 302p, 303p and 304p, respectively. For example, each entry comprises voxel ID data 305v and pixel ID data for each of pixels 301p, 302p, 303p, and 304p. This enables voxel-based pixel search and pixel-based reverse voxel search. Alternatively, the index is a one-way index that allows searching from one voxel to one pixel, uniquely. Also, alternatively, the index is a one-way index that allows one pixel to one voxel to be searched, uniquely.

Los datos de ID de píxel comprenden información de ubicación e identificación de píxel para ubicar cada píxel y su imagen/fotograma asociado. Por ejemplo, la entrada 316 indica que el píxel 301 p está ubicado en el servidor 306, el primer video, fotograma 301f, así como la ubicación del píxel 301p dentro del fotograma 301f. Un proceso busca en la base de datos 315 para recuperar videos, fotogramas y/o píxeles usados para la construcción del vóxel 305v en el modelo 3D, ubica las entradas 316, 317, 318 y 319 y recupera datos de ID de píxeles que comprenden información de ubicación para cada uno de los píxeles 301p, 302p, 303p y 304p, respectivamente. Alternativamente, el índice no está almacenado en una base de datos. Se pueden implementar diversos métodos para crear, organizar, almacenar e indexar, así como para buscar y recuperar datos de un conjunto de datos.The pixel ID data comprises pixel identification and location information to locate each pixel and its associated image/frame. For example, entry 316 indicates that pixel 301p is located on server 306, the first video, frame 301f, as well as the location of pixel 301p within frame 301f. A process searches the database 315 to retrieve videos, frames and/or pixels used for the construction of the voxel 305v in the 3D model, locates entries 316, 317, 318 and 319 and retrieves pixel ID data comprising information location for each of the 301p, 302p, 303p, and 304p pixels, respectively. Alternatively, the index is not stored in a database. Various methods can be implemented to create, organize, store, and index, as well as search and retrieve data from a dataset.

En uso, el experto revisa el modelo 3D en busca de áreas de interés. Cuando se identifica un área de preocupación, el experto elige recuperar y revisar los datos de imágenes relacionados con esa área de preocupación. Por ejemplo, cada imagen se recupera automáticamente en función de la correlación entre las imágenes y el vóxel identificado. Alternativamente, cada imagen se recupera y los píxeles correspondientes en la misma se resaltan o indican. Cuando la indexación permite la correspondencia bidireccional, el experto también puede pasar de una preocupación identificada dentro de una imagen 2D al vóxel correspondiente dentro del modelo 3D. Por lo tanto, la exploración del modelo 3D y los datos de origen, las imágenes/fotogramas, es compatible sin una carga significativa para el experto. In use, the expert reviews the 3D model for areas of interest. When an area of concern is identified, the expert chooses to retrieve and review imaging data related to that area of concern. For example, each image is automatically retrieved based on the correlation between the images and the identified voxel. Alternatively, each image is retrieved and the corresponding pixels therein are highlighted or indicated. When indexing enables bidirectional matching, the expert can also go from an identified concern within a 2D image to the corresponding voxel within the 3D model. Therefore, the exploration of the 3D model and the source data, the images/frames, is supported without significant burden on the expert.

La FIG. 4 es un diagrama de flujo simple de un método de indexación en donde un operador anota el video capturado de un objeto del mundo real según una realización de la invención. Un operador captura un video de una instalación industrial en 401 para la inspección de una instalación industrial. En 402, el operador indica que muchas plantas han crecido cerca de un puerto de salida de la instalación industrial que se usa para extraer los desechos. Por ejemplo, el operador graba una nota verbal simultáneamente mientras las video cámaras están grabando las plantas y el puerto de salida. Alternativamente, el operador añade una señal visual al video para indicar el problema y/o identificar la parte de la instalación industrial que provoca preocupación. Se pueden implementar otros métodos para anotar e identificar áreas de preocupación por parte del operador. En 403, la indicación proporcionada por el operador está asociada con los fotogramas de vídeo y/o píxeles identificados y una indicación de la asociación se almacena en un almacén de datos para su futura recuperación. Durante la generación del modelo 3D basado en el video grabado como se describió anteriormente, las anotaciones proporcionadas por el operador también se asocian con los vóxeles correspondientes y/o partes del modelo 3D generado. En 404, las indicaciones de la asociación de los fotogramas de vídeo y/o píxeles usados en la generación de partes del modelo 3D se almacenan en un almacén de datos para su futura recuperación. Un ejemplo específico y no limitativo es que una parte de la imagen 3D del modelo 3D generado se resalta en la pantalla como resultado de una anotación proporcionada por el operador. Cuando se selecciona la parte resaltada, se puede acceder a cualquier señal de audio o visual asociada con esa parte del modelo 3D. El modelo 3D generado puede mostrar las plantas o las plantas pueden filtrarse del modelo mediante un proceso de filtrado adicional. En cualquier caso, no es sencillo mostrar una imagen 3D o modelar con precisión el comportamiento de las plantas. Como tal, incluso con un modelo 3D perfecto de la instalación industrial, es probable que un experto que vea la imagen 3D del modelo 3D generado para la inspección de la instalación industrial desee más información de la que proporciona el modelo 3D. Por ejemplo, el experto desea ver y analizar las imágenes de origen o las secuencias de video pertenecientes a la parte anotada de la instalación industrial. Al seleccionar la parte resaltada de la instalación industrial dentro del modelo 3D en 405, la información relacionada con la parte resaltada se proporciona al experto en 406. Los ejemplos específicos y no limitantes de la información proporcionada incluyen, fecha y hora en que se anotó el video, otra secuencia de video/fotogramas/píxeles de la misma parte de la instalación industrial durante el video original grabado por el operador, y secuencia de video/fotogramas/píxeles de la misma parte de la instalación industrial grabada previamente. Ahora es posible no solo ver la parte anotada de las imágenes de video, sino también revisar y evaluar todas las imágenes de video anteriores de la parte anotada del modelo 3D en 407. Quizás ver imágenes grabadas previamente de la parte anotada de la instalación industrial de preocupación es más revelador o más claro en el análisis del experto. Por supuesto, no es necesario anotar o resaltar una parte de un modelo 3D para que un experto reciba información adicional como se describe anteriormente. Opcionalmente, el experto selecciona cualquier parte de la imagen 3D para recuperar dicha información. Por ejemplo, el experto puede seleccionar una parte de la imagen 3D haciendo clic en un punto, un vóxel, de la imagen 3D o resaltando una parte, un grupo de vóxeles.FIG. 4 is a simple flowchart of an indexing method where an operator annotates captured video of a real-world object in accordance with one embodiment of the invention. An operator captures video of an industrial facility on 401 for an industrial facility inspection. At 402, the operator indicates that many plants have grown near an outlet port of the industrial facility that is used to extract waste. For example, the operator simultaneously records a verbal note while the video cameras are recording the floors and the port of departure. Alternatively, the operator adds a visual cue to the video to indicate the problem and/or identify the part of the industrial facility that is of concern. Other methods of noting and identifying areas of operator concern can be implemented. At 403, the operator provided indication is associated with the identified video frames and/or pixels and an indication of the association is stored in a data store for future retrieval. During the generation of the 3D model based on the recorded video as described above, the annotations provided by the operator are also associated with the corresponding voxels and/or parts of the generated 3D model. At 404, the indications of the association of the video frames and/or pixels used in the generation of parts of the 3D model are stored in a data store for future retrieval. A specific and non-limiting example is that a portion of the 3D image of the generated 3D model is highlighted on the screen as a result of annotation provided by the operator. When the highlighted part is selected, any audio or visual cues associated with that part of the 3D model can be accessed. The generated 3D model can display the plants or the plants can be filtered out of the model by an additional filtering process. In any case, it is not easy to display a 3D image or accurately model the behavior of plants. As such, even with a perfect 3D model of the industrial facility, an expert viewing the 3D image of the 3D model generated for the inspection of the industrial facility is likely to want more information than the 3D model provides. For example, the expert wishes to view and analyze the source images or video sequences belonging to the annotated portion of the industrial facility. By selecting the highlighted part of the industrial facility within the 3D model at 405, information related to the highlighted part is provided to the expert at 406. Specific and non-limiting examples of the information provided include, date and time the video, another video/frame/pixel sequence of the same part of the industrial facility during the original video recorded by the operator, and previously recorded video/frame/pixel sequence of the same part of the industrial facility. Now it is possible not only to view the annotated part of the video images, but also to review and evaluate all previous video images of the annotated part of the 3D model in 407. Perhaps to view previously recorded images of the annotated part of the industrial facility of concern is more revealing or clearer in the expert's analysis. Of course, it is not necessary to annotate or highlight a part of a 3D model for an expert to receive additional information as described above. Optionally, the expert selects any part of the 3D image to retrieve said information. For example, the expert can select a part of the 3D image by clicking on a point, a voxel, of the 3D image or by highlighting a part, a group of voxels.

De manera similar, en otro punto de la inspección, el operador señala una abolladura en una tubería. Una vez más, se revisan las secuencias de video de la tubería y se indexan en una ubicación dentro del modelo 3D. Basándose en los datos del índice, también se pueden recuperar otras secuencias de video de la abolladura para su análisis. Las secuencias de video recuperadas de la abolladura proporcionan una vista de la abolladura en un ángulo diferente y bajo diferentes condiciones de iluminación, lo que permite al experto ver una grieta fina en cada extremo de la abolladura. Mientras que el operador anotó la abolladura, el operador no pudo ver la grieta en ese momento. De hecho, el experto también requirió una vista diferente para ver las grietas. Debido a que se recuperaron todos los fotogramas de video que se correlacionan con los vóxeles asociados con la abolladura, se identificó la grieta fina.Similarly, at another point in the inspection, the operator points out a dent in a pipe. Once again, the video footage of the pipeline is reviewed and indexed into a location within the 3D model. Based on the index data, other video footage of the dent can also be retrieved for analysis. Video footage recovered from the dent provides a view of the dent at a different angle and under different lighting conditions, allowing the expert to see a hairline crack at each end of the dent. While the operator noted the dent, the operator was unable to see the crack at the time. In fact, the expert also required a different view to see the cracks. Since all the video frames that correlate with the voxels associated with the dent were retrieved, the hairline crack was identified.

La FIG. 5 es un diagrama de flujo simple de un método de indexación según la invención. Un modelo 3D de un objeto del mundo real se construye en 501. Cada nueva inspección (grabación de video del objeto del mundo real) genera un nuevo modelo 3D que se correlaciona con el modelo 3D generado previamente en 502. Por lo tanto, cada vóxel en un nuevo modelo 3D está correlacionado con imágenes/fotogramas/píxeles de la inspección más reciente y también está correlacionado con imágenes/fotogramas/píxeles de inspecciones anteriores. Después, en 503, se identifica un vóxel para monitoreo futuro y el vóxel identificado se resalta en imágenes 3D de modelos 3D recién generados en 504. Las imágenes/fotogramas/píxeles de la superficie del objeto del mundo real que se correlacionan con el vóxel resaltado ahora son identificables, tanto en las inspecciones pasadas como en las presentes. Esto le permite al experto revisar las imágenes actuales y compararlas con imágenes pasadas en 505 de una manera conveniente y eficiente sin buscar manualmente a través de videos grabados previamente para encontrar las imágenes correspondientes de la superficie del objeto del mundo real que es de interés.FIG. 5 is a simple flow diagram of an indexing method according to the invention. A 3D model of a real-world object is built in 501. Each new inspection (video recording of the real-world object) generates a new 3D model that correlates with the previously generated 3D model in 502. Therefore, each voxel in a new 3D model is correlated to images/frames/pixels from the most recent inspection and is also correlated to images/frames/pixels from previous inspections. Then, at 503, a voxel is identified for future monitoring, and the identified voxel is highlighted in 3D images of newly generated 3D models at 504. The images/frames/pixels of the real-world object surface that correlate with the highlighted voxel they are now identifiable, both in past and present inspections. This allows the expert to review current images and compare them with past images in 505 in a convenient and efficient manner without manually searching through previously recorded video to find corresponding images of the surface of the real-world object of interest.

Además, durante una inspección del objeto del mundo real, por ejemplo, una instalación industrial, un operador indica que muchas plantas han crecido cerca de un puerto de salida para extraer desechos, y el vóxel, o grupo de vóxeles, del modelo 3D generado correlacionada con las imágenes 2D del área de interés, se resalta en la imagen 3D del modelo 3D, para llamar la atención del experto sobre esa parte de la imagen 3D cuando el modelo 3D está bajo revisión. Se genera automáticamente un recordatorio para que el experto analice y evalúe el crecimiento de la planta en cada nueva inspección para evitar descuidos del problema previamente identificado. Cada vez que el operador inspecciona la instalación; el experto dispone de marcos de imágenes del puerto de salida y de las plantas que crecen en las inmediaciones. El experto puede analizar y evaluar el crecimiento de la planta en cada inspección sin necesidad de la anotación y sin tener un conjunto detallado de notas.Furthermore, during an inspection of the real world object, for example an industrial facility, an operator indicates that many plants have grown near an outlet port to extract waste, and the voxel, or group of voxels, of the generated 3D model correlated with 2D images of the area of interest, it is highlighted on the 3D image of the 3D model, to draw the expert's attention to that part of the 3D image when the 3D model is under review. A reminder is automatically generated for the expert to analyze and evaluate the growth of the plant in each new inspection to avoid neglect of the previously identified problem. Every time the operator inspects the installation; the expert has frames of images of the port of departure and of the plants that grow in the vicinity. The expert can analyze and evaluate the growth of the plant at each inspection without the need for annotation and without having a detailed set of notes.

Además, en el ejemplo anterior, si las plantas se retiran ocasionalmente, el experto puede revisar imágenes anteriores para determinar cuándo, en el pasado, se realizó la limpieza. El experto tiene acceso, a través de los datos del índice y a través del modelo 3D, a los datos pasados y presentes relacionados con cualquier superficie del objeto del mundo real que se captura en múltiples inspecciones.Also, in the example above, if plants are occasionally removed, the expert can review previous images to determine when, in the past, the cleaning was done. The expert has access, through the index data and through the 3D model, to past and present data related to any surface of the real-world object that is captured in multiple inspections.

Todavía más, al comparar los modelos 3D a lo largo del tiempo, es posible proporcionar un lapso de tiempo 3D de la instalación industrial (un video 3D) y proporcionar una indicación de los cambios del objeto del mundo real a lo largo del tiempo capturados durante cada uno. Así, por ejemplo, cada cambio detectado en el objeto del mundo real se indica al experto a medida que el experto recorre cada cambio en el modelo 3D que se detectó entre cada inspección. Furthermore, by comparing the 3D models over time, it is possible to provide a 3D time lapse of the industrial facility (a 3D video) and provide an indication of the changes of the real world object over time captured during each. So, for example, each change detected in the real world object is indicated to the expert as the expert walks through each change in the 3D model that was detected between each inspection.

Cuando los modelos 3D se comparan o actualizan con el tiempo, los datos actuales se utilizan opcionalmente para completar vóxeles indeterminados de imágenes capturadas durante inspecciones anteriores. Las inspecciones próximas en el tiempo se denominan pasadas del objeto. Como, cuando un sistema de adquisición de imágenes rodea un objeto del mundo real que captura datos de video varias veces, se realizan varias pasadas. Por ejemplo, demasiadas plantas bloquearon una parte de la instalación en las tres primeras pasadas. Después de la tercera pasada, se produjo una limpieza. Después, en la cuarta pasada, el(los) componente(s) de la instalación detrás de las plantas se toman imágenes por primera vez y se completan dentro del modelo 3D. Esto también se aplica a los elementos internos cuando la corrosión forma un agujero en una instalación o cuando ocurren otros daños.When 3D models are compared or updated over time, current data is optionally used to fill indeterminate voxels from images captured during previous inspections. Close inspections in time are called passes of the object. Like, when an image acquisition system circles a real-world object capturing video data multiple times, multiple passes are made. For example, too many plants blocked a part of the installation in the first three passes. After the third pass, a cleanup occurred. Then, on the fourth pass, the facility component(s) behind the plants are imaged for the first time and completed within the 3D model. This also applies to internal elements when corrosion forms a hole in a fixture or other damage occurs.

Haciendo referencia a la FIG. 6, se muestra un diagrama de pantalla simple de un método para mostrar datos de imagen en relación con el modelo 3D. Se selecciona un vóxel 601 dentro del modelo 3D en el lado izquierdo de la pantalla. En el lado derecho de la pantalla se muestra una pila de fotogramas de video 602 incluyendo el fotograma de video 603 mostrado en la parte superior. Los fotogramas de vídeo 602 se pueden desplazar con un dial o una barra de desplazamiento u otro indicador de desplazamiento para facilitar la exploración a través de las imágenes asociadas. Además, como se muestra en la FIG. 7, es posible seleccionar una pluralidad de vóxeles 701 y recibir una pila de imágenes 702 que es una unión lógica de las pilas de imágenes resultantes de la selección de cada vóxel. Por tanto, un área se puede examinar seleccionando un solo vóxel o, alternativamente, seleccionando un grupo de vóxeles. Referring to FIG. 6, a simple screen diagram of a method for displaying image data in relation to the 3D model is shown. A voxel 601 is selected within the 3D model on the left side of the screen. A stack of video frames 602 including video frame 603 shown at the top is displayed on the right side of the screen. The video frames 602 may be scrolled with a dial or a scroll bar or other scroll indicator to facilitate browsing through the associated images. Furthermore, as shown in FIG. 7, it is possible to select a plurality of voxels 701 and receive an image stack 702 that is a logical union of the image stacks resulting from the selection of each voxel. Thus, an area can be examined by selecting a single voxel or, alternatively, by selecting a group of voxels.

Los ejemplos anteriores describen el uso de datos de imagen para generar modelos 3D de un objeto del mundo real. Sin embargo, el tipo de datos para la generación de modelos 3D no se limita a los datos de imagen. Las realizaciones descritas anteriormente utilizan alternativamente datos que no son imágenes asociados con el objeto del mundo real para la generación de un modelo 3D y, por lo tanto, los datos que no son imágenes se indexan con vóxeles en el modelo 3D generado. Un ejemplo específico y no limitativo incluye los datos de temperatura recopilados por un sensor de calor que detecta la temperatura de la superficie de un objeto del mundo real. Los datos de temperatura se recopilan periódicamente y se utilizan para construir modelos térmicos 3D. Por lo tanto, los datos de temperatura se indexan a vóxeles de modelos 3D generados, así como a datos de temperatura recientes y pasados. Otros tipos de datos incluyen, entre otros, datos acústicos, datos sísmicos y datos de imágenes médicas. Además, alternativamente, el tipo de datos son tanto datos de imagen como distintos de los datos de imagen. Además, otros datos se pueden asociar con datos de imágenes 2D, como datos de píxeles y/o datos de modelos 3D, como datos de vóxeles. Es posible que se utilicen o no otros datos para construir un modelo 3D. Además, otros datos se pueden asociar con datos de imágenes 2D durante la captura de estos y/o después de la captura de estos. De manera similar, otros datos se pueden asociar con los datos del modelo 3D durante la construcción de estos y/o después de la construcción de estos. Un ejemplo específico y no limitante incluye asociar datos generados por humanos con un píxel y/o vóxel y almacenar una indicación de la asociación, por ejemplo, en un índice, así como almacenar los datos generados por humanos asociados con ellos. Otro ejemplo específico y no limitativo incluye asociar datos generados por la máquina con un píxel y/o vóxel, y almacenar una indicación de la asociación, por ejemplo, en un índice, así como almacenar los datos generados por la máquina asociados con el mismo. Otros datos asociados con datos de imagen 2D y/o datos de modelo 3D se pueden recuperar cuando se seleccionan datos de imagen 2D y/o datos de modelo 3D. Otros datos pueden estar asociados dentro del conjunto de datos o con datos dentro del conjunto de datos. Por ejemplo, otros sensores, como los sensores de temperatura, registran datos que después se asocian con vóxeles.The examples above describe the use of image data to generate 3D models of a real-world object. However, the data type for 3D model generation is not limited to image data. The embodiments described above alternatively use non-image data associated with the real-world object for the generation of a 3D model, and thus the non-image data is indexed with voxels in the generated 3D model. A specific and non-limiting example includes temperature data collected by a heat sensor that detects the surface temperature of a real world object. Temperature data is collected periodically and used to build 3D thermal models. Therefore, temperature data is indexed to generated 3D model voxels as well as recent and past temperature data. Other types of data include, but are not limited to, acoustic data, seismic data, and medical imaging data. Also, alternatively, the data type is both image data and other than image data. Additionally, other data may be associated with 2D image data, such as pixel data, and/or 3D model data, such as voxel data. Other data may or may not be used to build a 3D model. In addition, other data may be associated with data from 2D images during their capture and/or after their capture. Similarly, other data may be associated with the 3D model data during and/or after construction of the 3D model. A specific and non-limiting example includes associating human-generated data with a pixel and/or voxel and storing an indication of the association, eg, in an index, as well as storing the human-generated data associated with it. Another specific and non-limiting example includes associating machine-generated data with a pixel and/or voxel, and storing an indication of the association, eg, in an index, as well as storing machine-generated data associated therewith. Other data associated with 2D image data and/or 3D model data may be retrieved when 2D image data and/or 3D model data is selected. Other data may be associated within the data set or with data within the data set. For example, other sensors, such as temperature sensors, record data that is then associated with voxels.

Además, aunque la descripción anterior se refiere a indexar datos visuales para correlacionarlos entre sí, también admite indexar datos proporcionados por humanos en imágenes y vóxeles. Esto apoya el análisis y la evaluación de una forma de datos y la indexación del resultado de manera que sea recuperable en respuesta a los datos con los que se relaciona, ya sea vóxel o píxel o imagen o video u otro elemento indexable. Además, al seleccionar regiones dentro de las imágenes o el modelo 3D y etiquetarlas, es posible buscar etiquetas en todos los medios indexados, incluidas las anotaciones introducidas por el usuario, los resultados de las pruebas, etc.Also, while the description above refers to indexing visual data to correlate with each other, it also supports indexing human-provided data on images and voxels. This supports parsing and evaluating a form of data and indexing the result in a way that makes it retrievable in response to the data to which it relates, be it voxel or pixel or image or video or other indexable item. Additionally, by selecting regions within the images or 3D model and tagging them, it is possible to search for tags in all indexed media, including user-entered annotations, test results, and more.

Por ejemplo, si un usuario resalta una parte del modelo 3D e indica que es una salida, entonces las pruebas relacionadas con la salida se pueden asociar con la salida, al igual que todas las vistas de la salida dentro de los datos de imagen y dentro de los datos de video. Al usar el nombre de la pieza o un indicador conocido, es posible asociar material no indexado con el índice (correos electrónicos sobre la salida) con vóxeles, píxeles, imágenes, videos y otros datos. For example, if a user highlights a part of the 3D model and indicates that it is an output, then tests related to the output can be associated with the output, as can all views of the output within the image data and within the output. of the video data. Using the part name or a known indicator, it is possible to associate non-indexed material (emails about output) with voxels, pixels, images, video, and other data.

Las realizaciones presentadas son únicamente a modo de ejemplo y los expertos en la técnica apreciarán que se pueden realizar variaciones de las realizaciones descritas anteriormente sin apartarse del alcance de la invención. The embodiments presented are by way of example only and those skilled in the art will appreciate that variations of the embodiments described above may be made without departing from the scope of the invention.

Claims (13)

REIVINDICACIONES 1. Un método que comprende:1. A method comprising: capturar los primeros datos (207; 309) del modelo 3D relacionados con cada uno de una primera pluralidad de vóxeles (212v 214v; 305v), los primeros datos del modelo 3D relacionados con un objeto (105) y para formar un primer modelo 3D del objeto, que incluye la captura una primera pluralidad de imágenes (209a, 209c; 301f, 302f, 303f, 304f) del objeto en donde cada una de la primera pluralidad de imágenes comprende al menos un píxel y tiene campos de visión superpuestos del objeto, estando dicha primera pluralidad de imágenes almacenada como datos de la primera imagen; correlacionar los primeros datos de imagen del objeto con los primeros datos del modelo 3D para producir un primer índice, el primer índice indicando una correlación entre al menos un píxel (211a, 211c, 213a, 213c; 301p 302p, 303p, 304p) de una imagen de la primera pluralidad de imágenes y al menos un vóxel (212v, 214v; 305v) de los primeros datos del modelo 3D, cada uno de dicho al menos un píxel y dicho al menos un vóxel representando una misma parte de dicho objeto; ycapturing first 3D model data (207; 309) related to each of a first plurality of voxels (212v 214v; 305v), first 3D model data related to an object (105), and to form a first 3D model of the object, including capturing a first plurality of images (209a, 209c; 301f, 302f, 303f, 304f) of the object wherein each of the first plurality of images comprises at least one pixel and has overlapping fields of view of the object, said first plurality of images being stored as first image data; correlating the first object image data with the first 3D model data to produce a first index, the first index indicating a correlation between at least one pixel (211a, 211c, 213a, 213c; 301p, 302p, 303p, 304p) of a image of the first plurality of images and at least one voxel (212v, 214v; 305v) of the first data of the 3D model, each of said at least one pixel and said at least one voxel representing the same part of said object; Y almacenar el primer índice para su recuperación,store the first index for retrieval, en donde el método comprende, además:wherein the method further comprises: marcar un primer vóxel de la primera pluralidad de vóxeles para monitorear a lo largo del tiempo; capturar segundos datos del modelo 3D relacionados con cada uno de una segunda pluralidad de vóxeles, los segundos datos del modelo 3D relacionados con el objeto y para formar un segundo modelo 3D del objeto incluyendomarking a first voxel of the first plurality of voxels to monitor over time; capturing second 3D model data related to each of a second plurality of voxels, the second 3D model data related to the object and to form a second 3D model of the object including capturar una segunda pluralidad de imágenes del objeto en donde cada una de la segunda pluralidad de imágenes comprende al menos un píxel y tiene campos de visión superpuestos del objeto, estando dicha segunda pluralidad de imágenes almacenada como datos de la segunda imagen;capturing a second plurality of images of the object wherein each of the second plurality of images comprises at least one pixel and has overlapping fields of view of the object, said second plurality of images being stored as second image data; correlacionar los datos de la segunda imagen del objeto con los datos del segundo modelo 3D para producir un segundo índice, el segundo índice indicando una correlación entre al menos un píxel de una imagen de la segunda pluralidad de imágenes y al menos un vóxel del segundo modelo 3D datos;correlating data from the second image of the object with data from the second 3D model to produce a second index, the second index indicating a correlation between at least one pixel of an image of the second plurality of images and at least one voxel of the second model 3D data; almacenar el segundo índice para su recuperación; ystore the second index for retrieval; Y correlacionar el segundo modelo 3D con el primer modelo 3D para correlacionar el segundo índice y el primer índice.map the second 3D model to the first 3D model to map the second index and the first index. 2. El método según la reivindicación 1, que comprende:2. The method according to claim 1, comprising: seleccionar un primer vóxel de la primera pluralidad de vóxeles; basándose en el primer vóxel, recuperar del primer índice una indicación de cada imagen correlacionada con el primer vóxel; yselecting a first voxel from the first plurality of voxels; based on the first voxel, retrieving from the first index an indication of each image correlated with the first voxel; Y recuperar y mostrar en una pantalla al menos una imagen correlacionada con el primer vóxel.retrieving and displaying on a screen at least one image correlated with the first voxel. 3. El método según la reivindicación 1, que comprende:3. The method according to claim 1, comprising: seleccionar una pluralidad de vóxeles de la primera pluralidad de vóxeles;selecting a plurality of voxels from the first plurality of voxels; basándose en la pluralidad de vóxeles seleccionada, recuperar del primer índice una indicación de cada imagen correlacionada con la pluralidad de vóxeles seleccionada; ybased on the selected plurality of voxels, retrieving from the first index an indication of each image correlated with the selected plurality of voxels; Y recuperar y mostrar al menos una imagen correlacionada con al menos un primer vóxel de la pluralidad seleccionada de vóxeles.retrieving and displaying at least one image correlated with at least a first voxel of the selected plurality of voxels. 4. El método según la reivindicación 1, que comprende:4. The method according to claim 1, comprising: seleccionar una pluralidad de vóxeles de la primera pluralidad de vóxeles;selecting a plurality of voxels from the first plurality of voxels; basándose en la pluralidad de vóxeles seleccionados, recuperar del primer índice una indicación de cada imagen correlacionada con uno de la pluralidad de vóxeles seleccionados; ybased on the plurality of selected voxels, retrieving from the first index an indication of each image correlated with one of the plurality of selected voxels; Y recuperar y mostrar al menos una imagen correlacionada con al menos un primer vóxel de la pluralidad seleccionada de vóxeles.retrieving and displaying at least one image correlated with at least a first voxel of the selected plurality of voxels. 5. El método según la reivindicación 1, que comprende:5. The method according to claim 1, comprising: seleccionar un primer píxel de la primera pluralidad de imágenesselect a first pixel from the first plurality of images basándose en el primer píxel, recuperar del primer índice una indicación de un primer vóxel de la primera pluralidad de vóxeles correlacionados con el primer píxel; y based on the first pixel, retrieving from the first index an indication of a first voxel of the first plurality of voxels correlated with the first pixel; Y recuperar y mostrar al menos una imagen formada proyectando el primer modelo 3D que incluye el primer vóxel en un plano 2D.retrieve and display at least one image formed by projecting the first 3D model including the first voxel onto a 2D plane. 6. El método según la reivindicación 1, que comprende:6. The method according to claim 1, comprising: seleccionar una primera pluralidad de píxeles de la primera pluralidad de imágenesselect a first plurality of pixels from the first plurality of images basándose en la primera pluralidad de píxeles, recuperar del primer índice una indicación de los primeros vóxeles de la primera pluralidad de vóxeles correlacionados con cada uno de la primera pluralidad de píxeles; ybased on the first plurality of pixels, retrieving from the first index an indication of the first voxels of the first plurality of voxels correlated with each of the first plurality of pixels; Y recuperar y mostrar al menos una imagen formada proyectando el primer modelo 3D que incluye los primeros vóxeles en un plano 2D.retrieve and display at least one image formed by projecting the first 3D model including the first voxels onto a 2D plane. 7. El método según la reivindicación 1, que comprende:7. The method according to claim 1, comprising: capturar datos de imagen estereoscópica indicativos de imágenes estereoscópicas del objeto y con una correlación conocida entre las imágenes estereoscópicas, las imágenes estereoscópicas comprendiendo píxeles correlacionables con superficies dentro de dichas imágenes estereoscópicas; ycapturing stereoscopic image data indicative of stereoscopic images of the object and with a known correlation between the stereoscopic images, the stereoscopic images comprising pixels correlatable with surfaces within said stereoscopic images; Y procesar los datos de la imagen estereoscópica para producir los primeros datos del modelo 3D del objeto.process the stereoscopic image data to produce the first 3D model data of the object. en donde la correlación se realiza almacenando para cada vóxel de la primera pluralidad de vóxeles una indicación de cada píxel asociado con el mismo.wherein the mapping is performed by storing for each voxel of the first plurality of voxels an indication of each pixel associated therewith. 8. El método según la reivindicación 1, que comprende:8. The method according to claim 1, comprising: capturar información de alcance del objeto, proporcionar una medida de distancia entre un aparato de medición y un objetivo; ycapturing target range information, providing a measure of distance between a measuring device and a target; Y capturar datos de imagen que tienen una correlación conocida con dicha información de alcance, los datos de imagen comprendiendo píxeles correlacionables con una superficie del objeto.capturing image data having a known correlation with said range information, the image data comprising pixels correlatable with a surface of the object. 9. El método según la reivindicación 1, que comprende:9. The method according to claim 1, comprising: asociar primeros datos distintos de los datos de imagen y los datos del modelo 3D con algunas de la primera pluralidad de imágenes correlacionadas con algunos de la primera pluralidad de vóxeles; yassociating first data other than image data and 3D model data with some of the first plurality of images correlated with some of the first plurality of voxels; Y almacenar datos indicativos de la asociación.store data indicative of the association. 10. El método según la reivindicación 9, en donde los primeros datos son datos generados por humanos.10. The method according to claim 9, wherein the first data is human generated data. 11. El método según la reivindicación 1, en donde el primer índice comprende una tabla de consulta.11. The method according to claim 1, wherein the first index comprises a lookup table. 12. El método según la reivindicación 1, en donde el primer índice comprende un índice de muchos a muchos para asociar muchas imágenes con un solo vóxel y muchos vóxeles con una sola imagen.The method according to claim 1, wherein the first index comprises a many-to-many index for associating many images with a single voxel and many voxels with a single image. 13. El método según la reivindicación 2, que comprende:13. The method according to claim 2, comprising: resaltar dentro de la al menos una imagen al menos un píxel asociado con el primer vóxel. highlight within the at least one image at least one pixel associated with the first voxel.
ES15789997T 2014-05-06 2015-05-06 Indexing method and system Active ES2891748T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/271,013 US9704289B2 (en) 2014-05-06 2014-05-06 Indexing method and system
PCT/CA2015/000309 WO2015168780A2 (en) 2014-05-06 2015-05-06 Indexing method and system

Publications (1)

Publication Number Publication Date
ES2891748T3 true ES2891748T3 (en) 2022-01-31

Family

ID=54368311

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15789997T Active ES2891748T3 (en) 2014-05-06 2015-05-06 Indexing method and system

Country Status (6)

Country Link
US (1) US9704289B2 (en)
EP (1) EP3161412B1 (en)
DK (1) DK3161412T3 (en)
ES (1) ES2891748T3 (en)
PT (1) PT3161412T (en)
WO (1) WO2015168780A2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10247822B2 (en) 2013-03-14 2019-04-02 Navico Holding As Sonar transducer assembly
US10597130B2 (en) 2015-01-15 2020-03-24 Navico Holding As Trolling motor with a transducer array
US11209543B2 (en) 2015-01-15 2021-12-28 Navico Holding As Sonar transducer having electromagnetic shielding
US9739884B2 (en) * 2015-03-05 2017-08-22 Navico Holding As Systems and associated methods for producing a 3D sonar image
US10719077B2 (en) 2016-10-13 2020-07-21 Navico Holding As Castable sonar devices and operations in a marine environment
US10643368B2 (en) 2017-06-27 2020-05-05 The Boeing Company Generative image synthesis for training deep learning machines
CN114882496B (en) * 2022-04-15 2023-04-25 武汉益模科技股份有限公司 Three-dimensional part similarity calculation method based on depth image

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4985856A (en) 1988-11-10 1991-01-15 The Research Foundation Of State University Of New York Method and apparatus for storing, accessing, and processing voxel-based data
US6765572B2 (en) 2001-04-23 2004-07-20 Koninklijke Philips Electronics N.V. Virtual modeling by voxel-clipping shadow-cast
US8442283B2 (en) * 2006-08-30 2013-05-14 Anatomage Inc. Patient-specific three-dimensional dentition model
US8773946B2 (en) * 2010-12-30 2014-07-08 Honeywell International Inc. Portable housings for generation of building maps
US8587583B2 (en) 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
WO2013032955A1 (en) * 2011-08-26 2013-03-07 Reincloud Corporation Equipment, systems and methods for navigating through multiple reality models
CN104838422B (en) 2012-12-03 2018-06-08 皇家飞利浦有限公司 Image processing equipment and method

Also Published As

Publication number Publication date
WO2015168780A3 (en) 2016-02-25
US9704289B2 (en) 2017-07-11
WO2015168780A2 (en) 2015-11-12
EP3161412B1 (en) 2021-07-14
DK3161412T3 (en) 2021-10-18
EP3161412A4 (en) 2018-04-04
US20150325043A1 (en) 2015-11-12
EP3161412A2 (en) 2017-05-03
PT3161412T (en) 2021-09-30

Similar Documents

Publication Publication Date Title
ES2891748T3 (en) Indexing method and system
JP6289564B2 (en) Method, apparatus and computer readable medium for detecting changes to structures
EP2909807B1 (en) Improvements in relation to underwater imaging for underwater surveys
Lattanzi et al. 3D scene reconstruction for robotic bridge inspection
US20150116481A1 (en) Mapping damaged regions on objects
JP6516558B2 (en) Position information processing method
Barazzetti et al. 3D scanning and imaging for quick documentation of crime and accident scenes
KR20120020303A (en) Apparatus for providing building structure information and displaying building structure using argumented reality and method for maintenance of building structure using the same
JP2016070676A (en) Calculation device, calculation method, and program
US20240193852A1 (en) Image display method, display control device, and recording medium
JP2009140402A (en) Information display device, information display method, information display program, and recording medium with recorded information display program
JP5072736B2 (en) Remote visual inspection support system and remote visual inspection support computer program
Zhang et al. Structure-from-motion based image unwrapping and stitching for small bore pipe inspections
Shah et al. Condition assessment of ship structure using robot assisted 3D-reconstruction
JP7116925B2 (en) Observation device operating method, observation device, and program
JP2005310044A (en) Apparatus, method and program for data processing
JP6166631B2 (en) 3D shape measurement system
US20220028054A1 (en) Photo-realistic infrastructure inspection
JP6350988B2 (en) Camera for diagnosing bridge damage
US11302073B2 (en) Method for texturing a 3D model
Soldan et al. Mapping non-destructive testing data on the 3D geometry of objects with complex shapes
US20240121363A1 (en) Modular infrastructure inspection platform
KR102641506B1 (en) System and method for establishing artificial intelligence-based 3d digital damage model of narrow space using indoor inspection drone
JP7376055B1 (en) Underwater inspection program, underwater inspection system, and underwater inspection method
Lankia et al. Using a Mobile Phone to Measure an Overhead Crane Hook Condition