ES2784438T3 - Image combining method and device - Google Patents

Image combining method and device Download PDF

Info

Publication number
ES2784438T3
ES2784438T3 ES17727969T ES17727969T ES2784438T3 ES 2784438 T3 ES2784438 T3 ES 2784438T3 ES 17727969 T ES17727969 T ES 17727969T ES 17727969 T ES17727969 T ES 17727969T ES 2784438 T3 ES2784438 T3 ES 2784438T3
Authority
ES
Spain
Prior art keywords
region
sub
interpolation position
combined
images
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
ES17727969T
Other languages
Spanish (es)
Inventor
Christian Leonard Lucien Bartels
Bart Johannes Beers
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.)
CycloMedia Tech BV
Original Assignee
CycloMedia Tech BV
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 CycloMedia Tech BV filed Critical CycloMedia Tech BV
Application granted granted Critical
Publication of ES2784438T3 publication Critical patent/ES2784438T3/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
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Abstract

Un método para combinar una pluralidad de sub imágenes alineadas globalmente en una región a combinar, el método comprende: encontrar un conjunto de píxeles correspondientes en la pluralidad de sub imágenes alineadas globalmente; determinar, por medio de la optimización, una posición de interpolación que corresponde a una suma ponderada de las posiciones de los píxeles correspondientes; determinar un valor de píxel de un píxel en la posición de interpolación en la región a combinar utilizando valores de píxel de los píxeles correspondientes; donde el factor de ponderación para la posición de un píxel correspondiente en una sub imagen dada depende de la distancia relativa de dicha posición de interpolación a un borde de la región a combinar asociada con esa sub imagen.A method of combining a plurality of globally aligned sub images in a region to be combined, the method comprises: finding a set of corresponding pixels in the plurality of globally aligned sub images; determining, by means of optimization, an interpolation position corresponding to a weighted sum of the positions of the corresponding pixels; determining a pixel value of a pixel at the interpolation position in the region to be combined using pixel values of the corresponding pixels; where the weighting factor for the position of a corresponding pixel in a given sub image depends on the relative distance of said interpolation position to an edge of the region to be combined associated with that sub image.

Description

DESCRIPCIÓNDESCRIPTION

Método y dispositivo de combinación de imágenesImage combining method and device

La presente invención está relacionada con un método de combinación de imágenes. Se relaciona además con un dispositivo de combinación de imágenes y con un medio legible por ordenador que lleva instrucciones para realizar dicho método.The present invention is related to an image combining method. It is also related to an image combination device and a computer-readable medium that carries instructions for carrying out said method.

Se conocen métodos en la técnica mediante los cuales múltiples imágenes que cubren una parte diferente de una escena se pueden combinar en una imagen panorámica. El ángulo de visión de dicha imagen puede alcanzar hasta 360 grados, dando al usuario una impresión completa de los alrededores de un punto de vista dado. Por ejemplo, se conocen aplicaciones en las que se utilizan cámaras montadas en vehículos para obtener información de los alrededores. Dicha información se puede utilizar en, por ejemplo, tareas de topografía y medición, planificación remota del trabajo y gestión de activos (públicos). Otras aplicaciones de, por ejemplo, imágenes panorámicas secuenciales o video incluyen entretenimiento, por ejemplo, contenido de 360 grados para dispositivos de visualización de realidad virtual. Típicamente, se usa una pluralidad de cámaras, en donde las cámaras se dirigen cada una en una dirección diferente. Las imágenes obtenidas por estas cámaras deben combinarse en una imagen panorámica. Este proceso comprende la combinación de imágenes.Methods are known in the art whereby multiple images covering a different part of a scene can be combined into one panoramic image. The viewing angle of such an image can reach up to 360 degrees, giving the user a complete impression of the surroundings from a given point of view. For example, applications are known where vehicle-mounted cameras are used to obtain information about the surroundings. Such information can be used in, for example, surveying and measurement tasks, remote work planning and (public) asset management. Other applications of, for example, panoramic sequential images or video include entertainment, for example, 360-degree content for virtual reality displays. Typically, a plurality of cameras are used, where the cameras are each directed in a different direction. The images obtained by these cameras must be combined into one panoramic image. This process involves combining images.

Cuando se crea una imagen panorámica perfecta de alta calidad a partir de múltiples sub imágenes, normalmente se pretende minimizar los errores de paralaje. Esto mejora la corrección geométrica del resultado y reduce la visibilidad de los artefactos de combinación como vetas o efecto fantasma. Los errores de paralaje pueden minimizarse manteniendo el centro óptico de la(s) cámara(s) grabando las imágenes en la misma posición espacial. En la práctica, sin embargo, esto se evita mediante una alineación incorrecta, por ejemplo, cuando se captura manualmente sin trípode y rotador panorámico, restricciones físicas, por ejemplo, para alinear el centro óptico de múltiples cámaras o los requisitos de múltiples perspectivas, por ejemplo, puede ser necesario alguna paralaje para construir un mapa de profundidad o vistas estéreo. Para mejorar la calidad de la imagen panorámica cuando hay paralaje (residual), se necesitan algoritmos que minimicen la visibilidad de los artefactos.When creating a perfect, high-quality panoramic image from multiple sub images, it is usually intended to minimize parallax errors. This improves the geometric correction of the result and reduces the visibility of blending artifacts such as streaks or ghosting. Parallax errors can be minimized by maintaining the optical center of the camera (s) by recording the images in the same spatial position. In practice, however, this is avoided by misalignment, for example when shooting manually without a tripod and panoramic rotator, physical restrictions, for example to align the optical center of multiple cameras, or the requirements of multiple perspectives, for example. For example, some parallax may be necessary to build a depth map or stereo views. To improve panoramic image quality when parallax (residual) is present, algorithms are needed to minimize the visibility of artifacts.

La figura 1 ilustra el problema general de combinación de combinar dos imágenes 1,2 en una sola imagen. En lo sucesivo, las imágenes que se van a combinar se denominan sub imágenes, en las que el resultado de la combinación, por ejemplo, la imagen panorámica, se conoce como imagen final.Figure 1 illustrates the general combination problem of combining two 1,2 images into a single image. Hereinafter, the images to be combined are called sub images, where the result of the combination, for example, the panoramic image, is known as the final image.

Las sub imágenes 1, 2 se han alineado globalmente y se superponen en una región 3 superpuesta. Después de la alineación global, las sub imágenes normalmente ya no se giran o cambian entre sí cuando se utilizan estas imágenes para construir la imagen final. La alineación global es conocida en la técnica y comprende encontrar una posición y orientación relativas adecuadas de las sub imágenes basándose en las características correspondientes en las sub imágenes. Alternativamente, el posicionamiento u orientación se puede determinar utilizando la relación geométrica entre las cámaras responsables de obtener las cámaras o entre los obturadores de esas cámaras o cámaras al momento de grabar las sub imágenes.Sub images 1, 2 have been globally aligned and overlap in an overlapping region 3. After global alignment, the sub images typically no longer rotate or switch to each other when these images are used to build the final image. Global alignment is known in the art and comprises finding a suitable relative position and orientation of the sub images based on the corresponding features in the sub images. Alternatively, the positioning or orientation can be determined using the geometric relationship between the cameras responsible for obtaining the cameras or between the shutters of those cameras or cameras at the time of recording the sub images.

Debido a la alineación global, se puede introducir un marco de referencia mediante el cual las posiciones en las sub imágenes y la imagen final se pueden expresar como vectores relativos a un origen O común.Due to global alignment, a reference frame can be introduced by which the positions in the sub images and the final image can be expressed as vectors relative to a common OR origin.

La imagen final tiene una forma que puede corresponder a la suma de los contornos de las sub imágenes 1, 2. Para determinar el contenido de esta imagen final, se pueden identificar tres regiones. En la primera región I, los píxeles de la imagen final se determinan utilizando píxeles de solo la sub imagen 1. En la segunda región II, los píxeles de la imagen final se determinan utilizando píxeles de solo la sub imagen 2. En la tercera región III, los píxeles de la imagen final se determinan utilizando píxeles de la sub imagen 1 y la sub imagen 2. Esta última región, en lo sucesivo denominada la región a combinar, puede corresponder a la región 3 superpuesta, pero también puede ser más pequeña o más grande que esta región.The final image has a shape that can correspond to the sum of the contours of the sub images 1, 2. To determine the content of this final image, three regions can be identified. In the first region I, the pixels of the final image are determined using pixels from only sub picture 1. In the second region II, the pixels of the final image are determined using pixels from only sub picture 2. In the third region III, the pixels of the final image are determined using pixels from sub image 1 and sub image 2. This last region, hereinafter referred to as the region to be combined, can correspond to the overlapping region 3, but can also be smaller or larger than this region.

En la figura 1, los vectores p1 y p2 indican posiciones de los píxeles correspondientes en las sub imágenes 1 y 2, respectivamente. Por ejemplo, estos vectores apuntan a píxeles que representan o son parte de la misma característica en ambas sub imágenes. Por consiguiente, estos vectores apuntan a píxeles en las sub imágenes respectivas que están asociadas con características que aparecen en ambas sub imágenes. En caso de ausencia de paralaje, el vector p1 y el vector p2 deberían coincidir idealmente. Se observa que tanto el vector p1 como el vector p2 se relacionan con un origen común denotado por O, y pueden referirse a píxeles que están fuera de la región superpuesta y/o región a combinar. In Figure 1, the vectors p 1 and p 2 indicate positions of the corresponding pixels in sub-images 1 and 2, respectively. For example, these vectors point to pixels that represent or are part of the same feature in both sub images. Accordingly, these vectors point to pixels in the respective sub images that are associated with features that appear in both sub images. In the absence of parallax, vector p 1 and vector p 2 should ideally coincide. It is observed that both the vector p 1 and the vector p 2 relate to a common origin denoted by O, and may refer to pixels that are outside the overlapping region and / or region to be combined.

Los píxeles correspondientes en dos o más sub imágenes se pueden encontrar usando técnicas conocidas en la técnica, tales como flujo óptico, estimación de movimiento y/o coincidencia (densa) (estéreo). En la mayoría de las técnicas, no solo se examinan los píxeles en sí, sino también los píxeles circundantes para determinar si un par o combinación de píxeles constituye un par o grupo de píxeles correspondientes.Corresponding pixels in two or more sub-images can be found using techniques known in the art, such as optical flow, motion estimation, and / or (dense) (stereo) matching. In most techniques, not only the pixels themselves are examined, but also the surrounding pixels to determine whether a pair or combination of pixels constitutes a corresponding pair or group of pixels.

El problema de combinación puede resumirse como cómo determinar los valores de píxel para los píxeles en la región a combinar, por ejemplo, región III en la figura 1. Por ejemplo, en la figura 1, el valor de píxel del píxel en una posición correspondiente al vector p¡ debe determinarse utilizando la información de las sub imágenes 1 y 2. En tal caso, es importante determinar a) qué píxeles en las sub imágenes 1,2 deben usarse para determinar el valor del píxel en p¡, y b) si se conocen estos píxeles, cómo se determina el valor de píxel en la posición p¡ utilizando los valores de píxel de estos píxeles.The combination problem can be summarized as how to determine the pixel values for the pixels in the region to be combined, for example region III in figure 1. For example, in figure 1, the pixel value of the pixel at a position corresponding to the vector p, must be determined using the information from sub-images 1 and 2. In this case, it is important to determine a) which pixels in sub-images 1,2 should be used to determine the value of the pixel in p, and b) if these pixels are known, how is the pixel value at position pi determined using the pixel values of these pixels.

Una técnica conocida para abordar este problema se conoce como combinación alfa. En esta técnica, el valor del píxel en la posición p¡ en la imagen final se determina utilizando los valores de píxel en esta misma posición en las sub imágenes 1 y 2, es decir, p¡ = p1 = p2. Se puede usar un factor de ponderación para impartir más o menos peso a un valor de píxel particular de un píxel en una sub imagen dada. Un inconveniente de este enfoque conocido es que pueden aparecer imágenes fantasma en la imagen final.A known technique to address this problem is known as alpha blending. In this technique, the value of the pixel at position p, in the final image is determined using the pixel values at this same position in sub-images 1 and 2, that is, p, = p 1 = p 2 . A weighting factor can be used to impart more or less weight to a particular pixel value of a pixel in a given sub image. One drawback of this known approach is that ghosting can appear in the final image.

En US5986668A y US6097854A, un paso de alineación local se describe como un método de eliminación de imágenes fantasma en el que se utilizan correspondencias por pares para calcular una deformación a una posición promedio (virtual). Este método conocido puede manejar n imágenes de entrada superpuestas, deformando cada imagen a la misma posición de interpolación promedio, lo que elimina el efecto fantasma en la región de superposición. Sin embargo, como la región de superposición se deforma a una posición de interpolación promedio y las partes que no se superponen no se deforman, este enfoque puede producir artefactos visuales en este límite.In US5986668A and US6097854A, a local alignment step is described as a ghost image removal method in which pairwise matches are used to calculate a strain to an average (virtual) position. This known method can handle n overlapping input images, warping each image to the same average interpolation position, eliminating ghosting in the overlay region. However, because the overlap region deforms to an average interpolation position and non-overlapping parts are not deformed, this approach can produce visual artifacts at this boundary.

Se han descrito métodos adicionales para combinar imágenes en los documentos US7006709B2 y US2014307045A1. Additional methods for combining images have been described in US7006709B2 and US2014307045A1.

"Mosaicos en relieve por triangulación de vista conjunta", por Lhuillier et al, Actas de la conferencia IEEE sobre visión por ordenador y reconocimiento de patrones, parte 1, 8 de diciembre de 2001, revela un método de combinación según el preámbulo de la reivindicación 1. Aquí, un mosaico en relieve está representado por una colección de imágenes con una Triangulación de Vista Conjunta (TVC) asociada para pares de imágenes adyacentes. Las secciones superpuestas de dos imágenes adyacentes se interpolan localmente. Esta interpolación calcula la posición final de un vértice en las nuevas coordenadas del mosaico utilizando una ponderación que depende de las distancias de los vértices correspondientes a los límites de sus respectivas imágenes en la región superpuesta."Joint View Triangulation Relief Mosaics", by Lhuillier et al, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Part 1, December 8, 2001, discloses a combination method according to the preamble of the claim 1. Here, a relief mosaic is represented by a collection of images with an associated Joint View Triangulation (TVC) for pairs of adjacent images. Overlapping sections of two adjacent images are interpolated locally. This interpolation calculates the final position of a vertex in the new mosaic coordinates using a weighting that depends on the distances of the vertices corresponding to the limits of their respective images in the overlapping region.

Un inconveniente del enfoque de interpolación anterior es que requiere la construcción compleja de una triangulación, que puede no seguir perfectamente el desplazamiento por píxel entre sub imágenes que da como resultado artefactos en la imagen final.A drawback of the above interpolation approach is that it requires the complex construction of a triangulation, which may not perfectly follow the per-pixel shift between sub images resulting in artifacts in the final image.

Es un objeto de la presente invención proporcionar una solución al problema de combinación mencionado anteriormente en el que se minimiza la aparición de artefactos.It is an object of the present invention to provide a solution to the aforementioned combination problem in which the occurrence of artifacts is minimized.

Este objetivo se logra con el método según la invención, que se caracteriza porque la posición de interpolación corresponde a una suma ponderada de posiciones de los píxeles correspondientes, en donde el factor de ponderación para la posición de un píxel correspondiente en una sub imagen depende de una distancia relativa de dicha posición de interpolación a un borde de la región a combinar asociada con esa sub imagen.This objective is achieved with the method according to the invention, which is characterized in that the interpolation position corresponds to a weighted sum of positions of the corresponding pixels, where the weighting factor for the position of a corresponding pixel in a sub-image depends on a relative distance from said interpolation position to an edge of the region to be combined associated with that sub image.

Según la presente invención, los píxeles correspondientes se usan para determinar el valor de píxel de un píxel en la posición de interpolación en la imagen final. La invención estipula además que la distancia entre cada píxel entre los píxeles correspondientes y la posición de interpolación depende de la distancia relativa de la posición de interpolación a un borde de la región a combinar asociada con la sub imagen correspondiente a dicho píxel.According to the present invention, the corresponding pixels are used to determine the pixel value of a pixel at the interpolation position in the final image. The invention further stipulates that the distance between each pixel between the corresponding pixels and the interpolation position depends on the relative distance of the interpolation position to an edge of the region to be combined associated with the sub-image corresponding to said pixel.

La distancia relativa puede corresponder a una distancia de dicha posición de interpolación a un borde de la región a combinar asociada con esa sub imagen en relación con la suma de esas distancias relativas para todas las sub imágenes. Por ejemplo, la distancia relativa viene dada por:The relative distance may correspond to a distance from said interpolation position to an edge of the region to be combined associated with that sub image in relation to the sum of these relative distances for all sub images. For example, the relative distance is given by:

d igave

Ecuación 1Equation 1

L n = i d nL n = i d n

en donde d¡ es la distancia de al menos uno de dicho píxel correspondiente y dicha posición de interpolación a un borde de la región a combinar asociada con la sub imagen i, y en donde N es el número total de sub imágenes.where d, is the distance of at least one of said corresponding pixel and said interpolation position to an edge of the region to be combined associated with sub image i, and where N is the total number of sub images.

El factor de ponderación para la posición de un píxel correspondiente en una sub imagen dada puede ser igual a la distancia relativa asociada con esa sub imagen.The weighting factor for the position of a corresponding pixel in a given sub image can be equal to the relative distance associated with that sub image.

En una realización, el factor de ponderación disminuye si la distancia de la posición de interpolación al borde disminuye. In one embodiment, the weighting factor decreases as the distance from the interpolation position to the edge decreases.

La distancia al borde generalmente se puede calcular como la distancia más corta al borde. Además, el borde puede comprender una curva arbitraria o una colección de curvas, que están conectadas para formar una curva o contorno más grande. Edge distance can generally be calculated as the shortest edge distance. Furthermore, the edge may comprise an arbitrary curve or a collection of curves, which are connected to form a larger curve or contour.

Los píxeles correspondientes en la pluralidad de sub imágenes pueden ser píxeles que se relacionan con la misma región o punto de un objeto o característica que se visualiza en la pluralidad de sub imágenes. Por ejemplo, la característica puede comprender una casa que es visible en cada una de las sub imágenes. Sin embargo, la posición de esta casa parece ser diferente después de alinear globalmente las sub imágenes. Los píxeles pueden identificarse en cada una de las sub imágenes que se relacionan con el mismo lugar en la casa. Estos píxeles pueden identificarse utilizando técnicas conocidas como la estimación de movimiento.The corresponding pixels in the plurality of sub images may be pixels that relate to the same region or point of an object or feature that is displayed in the plurality of sub images. For example, the feature may comprise a house that is visible in each of the sub images. However, the position of this house appears to be different after globally aligning the sub images. The pixels can be identified in each of the sub images that relate to the same place in the house. These pixels can be identified using techniques known as motion estimation.

El borde de la región a combinar asociada con una sub imagen puede corresponder a un borde de esa sub imagen en la pluralidad alineada de sub imágenes. Aquí, la pluralidad alineada de sub imágenes puede referirse a una imagen compuesta imaginaria de la pluralidad de sub imágenes. El borde de la sub imagen se refiere al borde de esa sub imagen que está presente en la imagen compuesta. La región a combinar puede corresponder a una región completa en la que se superponen al menos dos o más sub imágenes.The edge of the region to be combined associated with a sub picture may correspond to an edge of that sub picture in the aligned plurality of sub pictures. Here, the aligned plurality of sub-images may refer to an imaginary composite image of the plurality of sub-images. The edge of the sub image refers to the edge of that sub image that is present in the composite image. The region to be combined can correspond to a complete region in which at least two or more sub images overlap.

Como alternativa, la región a combinar podría centrarse alrededor de una curva a través de una región en dicha pluralidad de imágenes en las que al menos dos de dichas sub imágenes se superponen. De esta manera, la región superpuesta no se puede usar completamente para combinar. En tal caso, el método puede comprender además determinar un punto de referencia de corrección utilizando las diferencias en los valores de píxel entre los píxeles correspondientes respectivos para una pluralidad de píxeles en la región a combinar, comparar el punto de referencia de corrección con un umbral predefinido, y si el punto de referencia de corrección excede el umbral predefinido, extendiendo la región a combinar. Alternatively, the region to be combined could be centered around a curve through a region in said plurality of images in which at least two of said sub images overlap. In this way, the overlapping region cannot be fully used for combining. In such a case, the method may further comprise determining a correction reference point using the differences in pixel values between the respective corresponding pixels for a plurality of pixels in the region to be combined, comparing the correction reference point with a threshold pre-defined, and if the correction reference point exceeds the pre-defined threshold, extending the region to combine.

Por ejemplo, la región a combinar comprende 100 píxeles correspondientes a 100 posiciones de interpolación. Los valores de píxel para estos píxeles se determinan utilizando dos sub imágenes. Para cada píxel en la región a combinar, hay dos valores de píxel disponibles de las dos sub imágenes mediante las cuales se puede determinar un valor de píxel. Cuando existe una gran diferencia entre estos valores de píxeles, se puede esperar que se haya producido una gran corrección de paralaje. En tal caso, puede ser ventajoso usar una región a combinar más amplia. Con ese fin, las diferencias para cada uno de los 100 píxeles se pueden combinar en un solo punto de referencia de corrección que se puede comparar con un umbral.For example, the region to be combined comprises 100 pixels corresponding to 100 interpolation positions. The pixel values for these pixels are determined using two sub images. For each pixel in the region to be combined, there are two available pixel values of the two sub images by which a pixel value can be determined. When there is a large difference between these pixel values, a large parallax correction can be expected to have occurred. In such a case, it may be advantageous to use a wider region to be combined. To that end, the differences for each of the 100 pixels can be combined into a single correction benchmark that can be compared to a threshold.

El método puede comprender adicionalmente o alternativamente determinar un campo de vector de desplazamiento en la región a combinar que indica una diferencia de posición entre los píxeles correspondientes en diferentes sub imágenes, y calcular la curva usando el campo de vector de desplazamiento. Aquí, el campo de vector de desplazamiento es un campo de vector que comprende vectores entre los píxeles correspondientes. La curva podría calcularse, por ejemplo, usando una técnica de optimización de menor costo y/o en la que la curva está configurada para evitar regiones en las que los vectores de desplazamiento son relativamente grandes. Por lo tanto, la región a combinar puede elegirse de modo que excluya regiones en la alineación global de sub imágenes que se caracterizan por grandes diferencias de posición entre los píxeles correspondientes. Por lo tanto, puede excluir regiones que comprenden características indicativas de un gran artefacto de paralaje. En tal caso, puede ser ventajoso usar solo información de píxeles de una de las sub imágenes para determinar los píxeles en la imagen final. Puede ser posible variar, preferiblemente gradualmente, el ancho de la región a combinar, por ejemplo, dependiendo de la magnitud de los vectores de desplazamiento.The method may additionally or alternatively comprise determining a displacement vector field in the region to be combined that indicates a position difference between corresponding pixels in different sub-images, and calculating the curve using the displacement vector field. Here, the displacement vector field is a vector field comprising vectors between corresponding pixels. The curve could be calculated, for example, using a lower cost optimization technique and / or in which the curve is configured to avoid regions where the displacement vectors are relatively large. Therefore, the region to be combined can be chosen so as to exclude regions in the overall sub-image alignment that are characterized by large position differences between the corresponding pixels. Therefore, you can exclude regions that comprise features indicative of a large parallax artifact. In such a case, it may be advantageous to use only pixel information from one of the sub images to determine the pixels in the final image. It may be possible to vary, preferably gradually, the width of the region to be combined, for example depending on the magnitude of the displacement vectors.

El método comprende determinar una posición de interpolación en la región a combinar y encontrar, por medio de la optimización, los píxeles correspondientes de los cuales los valores de píxel se utilizarán para determinar el valor de píxel del píxel en la posición de interpolación determinada.The method comprises determining an interpolation position in the region to be combined and finding, by means of optimization, the corresponding pixels of which the pixel values will be used to determine the pixel value of the pixel at the determined interpolation position.

Encontrar los píxeles correspondientes puede comprender encontrar los píxeles correspondientes de manera que una posición de interpolación estimada, que se calcula usando una suma ponderada de las posiciones de esos píxeles correspondientes, corresponda sustancialmente a la posición de interpolación determinada, en donde los factores de ponderación a utilizar para dicho cálculo se calculan utilizando la posición de interpolación determinada.Finding the corresponding pixels may comprise finding the corresponding pixels such that an estimated interpolation position, which is calculated using a weighted sum of the positions of those corresponding pixels, corresponds substantially to the determined interpolation position, where the weighting factors a used for this calculation are calculated using the determined interpolation position.

Además o alternativamente, el hallazgo de píxeles correspondientes puede comprender en este caso a) adivinar un conjunto de posiciones de los píxeles correspondientes, b) determinar los factores de ponderación para los píxeles correspondientes, c) calcular una posición de interpolación estimada aplicando la suma ponderada de las posiciones adivinadas de los píxeles correspondientes, y d) determinar un error entre la posición de interpolación estimada y la posición de interpolación determinada y repetir los pasos a)-d) si el error excede un umbral predefinido. Alternativamente, los factores de ponderación pueden depender únicamente de la posición de interpolación determinada. En este caso, el método puede comprender además calcular los factores de ponderación utilizando la posición de interpolación determinada.Additionally or alternatively, the finding of corresponding pixels may comprise in this case a) guessing a set of positions of the corresponding pixels, b) determining the weighting factors for the corresponding pixels, c) calculating an estimated interpolation position applying the weighted sum of the guessed positions of the corresponding pixels, and d) determining an error between the estimated interpolation position and the determined interpolation position and repeating steps a) -d) if the error exceeds a predefined threshold. Alternatively, the weighting factors may depend solely on the determined interpolation position. In this case, the method may further comprise calculating the weighting factors using the determined interpolation position.

Alternativamente, encontrar los píxeles correspondientes puede comprender un paso a) de adivinar vectores de prueba ponderados para encontrar píxeles correspondientes de modo que cuando se calcule una posición de interpolación usando esos píxeles, al menos correspondería sustancialmente a la posición de interpolación determinada, dichos vectores de prueba ponderados se calculan usando la posición de interpolación determinada, y un paso b) para determinar un error entre píxeles encontrados usando los vectores de prueba ponderados y repitiendo los pasos a)-b) si el error excede un umbral predefinido. Alternatively, finding the corresponding pixels may comprise a step a) of guessing weighted test vectors to find corresponding pixels such that when an interpolation position is calculated using those pixels, it would at least substantially correspond to the determined interpolation position, said vectors of Weighted test vectors are calculated using the determined interpolation position, and a step b) to determine an error between pixels found using the weighted test vectors and repeating steps a) -b) if the error exceeds a predefined threshold.

Un método alternativo comprende encontrar un conjunto de píxeles correspondientes en la pluralidad de sub imágenes alineadas globalmente y determinar, por medio de la optimización, una posición de interpolación que corresponde a la suma ponderada de las posiciones del conjunto de píxeles correspondientes.An alternative method comprises finding a set of corresponding pixels in the plurality of globally aligned sub-images and determining, by means of optimization, an interpolation position that corresponds to the weighted sum of the positions of the corresponding set of pixels.

La posición de interpolación puede determinarse usando los pasos de a) adivinar una posición de interpolación, b) determinar los factores de ponderación para los píxeles correspondientes, c) calcular una posición de interpolación estimada aplicando la suma ponderada de las posiciones de los píxeles correspondientes utilizando los factores de ponderación determinados, y d) determinar un error entre la posición de interpolación estimada y la posición de interpolación adivinada, y repitiendo los pasos a)-d) si el error excede un umbral predefinido. Alternativamente, los factores de ponderación pueden depender únicamente de las posiciones de los píxeles correspondientes. En este caso, el método puede comprender además calcular los factores de ponderación utilizando las posiciones determinadas de los píxeles correspondientes.The interpolation position can be determined using the steps of a) guessing an interpolation position, b) determining the weighting factors for the corresponding pixels, c) calculating an estimated interpolation position applying the weighted sum of the corresponding pixel positions using the determined weighting factors, and d) determining an error between the estimated interpolation position and the guessed interpolation position, and repeating steps a) -d) if the error exceeds a predefined threshold. Alternatively, the weighting factors may depend solely on the corresponding pixel positions. In this case, the method may further comprise calculating the weighting factors using the determined positions of the corresponding pixels.

El valor de píxel del píxel en la posición de interpolación en la región a combinar puede determinarse ponderando los valores de píxel de los píxeles correspondientes asociados con esa posición de interpolación. Dicha ponderación puede comprender aplicar factores de ponderación adicionales a los valores de píxel de los píxeles correspondientes. Estos factores de ponderación se pueden elegir de modo que los factores de ponderación, que se aplican a los píxeles entre los píxeles correspondientes que se encuentran lejos del borde, sean relativamente grandes. Esto refleja la noción de que los píxeles que se encuentran lejos del borde pueden ser candidatos más apropiados para la combinación que los píxeles que se encuentran cerca del borde. Esto permite una transición gradual de una imagen a otra. En una realización preferida, estos factores de ponderación adicionales son idénticos a los factores de ponderación.The pixel value of the pixel at the interpolation position in the region to be combined can be determined by weighting the pixel values of the corresponding pixels associated with that interpolation position. Said weighting may comprise applying additional weighting factors to the pixel values of the corresponding pixels. These weighting factors can be chosen so that the weighting factors, which are applied to the pixels between the corresponding pixels that are far from the edge, are relatively large. This reflects the notion that pixels that are far from the edge may be more appropriate candidates for blending than pixels that are close to the edge. This allows a gradual transition from one image to another. In a preferred embodiment, these additional weighting factors are identical to the weighting factors.

Según un segundo aspecto, la presente invención proporciona un dispositivo para combinar una pluralidad de sub imágenes alineadas globalmente en una región a combinar, que comprende una memoria para contener dicha pluralidad de sub imágenes, una unidad de determinación de la región de combinación para determinar la región a combinar, y un procesador configurado para construir una imagen final usando la pluralidad de sub imágenes, dicha construcción comprende realizar el método como se definió anteriormente para combinar las sub imágenes en la región a combinar. According to a second aspect, the present invention provides a device for combining a plurality of globally aligned sub-images in a region to be combined, comprising a memory for containing said plurality of sub-images, a unit for determining the combination region for determining the region to be combined, and a processor configured to construct a final image using the plurality of sub images, said construction comprises performing the method as defined above to combine the sub images in the region to be combined.

Según un tercer aspecto, la presente invención proporciona un medio legible por ordenador que comprende instrucciones que, cuando se ejecutan en un procesador, le indican a este procesador que realice el método como se describió anteriormente.According to a third aspect, the present invention provides a computer-readable medium comprising instructions which, when executed in a processor, instruct this processor to perform the method as described above.

A continuación, la presente invención se describirá con más detalle haciendo referencia a los dibujos adjuntos, en los que:In the following, the present invention will be described in more detail with reference to the accompanying drawings, in which:

La figura 1 ilustra el problema de la combinación de imágenes;Figure 1 illustrates the problem of combining images;

La figura 2 ilustra el concepto general de la presente invención usando dos sub imágenes;Figure 2 illustrates the general concept of the present invention using two sub images;

La figura 3 ilustra diferentes regiones que se combinarán cuando se superponen tres sub imágenes;Figure 3 illustrates different regions that will be combined when three sub images overlap;

La figura 4 ilustra una región a combinar en base a una curva;Figure 4 illustrates a region to be combined based on a curve;

La figura 5 ilustra una región a combinar en base a un campo de vector de desplazamiento;Figure 5 illustrates a region to be combined based on a displacement vector field;

La figura 6 ilustra un primer método para realizar la combinación de imágenes según la presente invención; La figura 7 ilustra un segundo método para realizar la combinación de imágenes según la presente invención; y La figura 8 ilustra una realización de un dispositivo según la presente invención.Figure 6 illustrates a first method for performing image combining according to the present invention; Figure 7 illustrates a second method for performing image combining according to the present invention; and Figure 8 illustrates an embodiment of a device according to the present invention.

La figura 2 ilustra el concepto general de la presente invención en caso de que se necesiten combinar dos sub imágenes. El valor de píxel en una posición pi de interpolación en la imagen final debe determinarse utilizando las sub imágenes 1, 2. Vectores Vi1 y Vi2 apuntan a los píxeles correspondientes en las sub imágenes 1 y 2, respectivamente, qué píxeles se utilizan para determinar el valor de píxel del píxel en la posición pi de interpolación en la imagen final. Por lo tanto:Figure 2 illustrates the general concept of the present invention in case two sub images need to be combined. The pixel value at an interpolation pi position in the final image should be determined using sub images 1, 2. Vectors Vi 1 and Vi 2 point to the corresponding pixels in sub images 1 and 2, respectively, which pixels are used for determine the pixel value of the pixel at the interpolation pi position in the final image. Thus:

Ecuación 2

Figure imgf000005_0001
Equation 2
Figure imgf000005_0001

Según la presente invención, la distancia entre cada uno de los píxeles correspondientes y la posición de interpolación depende de:According to the present invention, the distance between each of the corresponding pixels and the interpolation position depends on:

una distancia desde la posición de interpolación hasta un borde respectivo asociado con una sub imagen respectiva (método 1 de distancia);a distance from the interpolation position to a respective edge associated with a respective sub image (distance method 1);

Según los ejemplos que no pertenecen a la invención, la distancia entre cada uno de los píxeles correspondientes y la posición de interpolación depende de:According to the examples that do not belong to the invention, the distance between each of the corresponding pixels and the interpolation position depends on:

una distancia desde cada uno de los píxeles correspondientes a un borde respectivo asociado con la sub imagen respectiva (método 2 de distancia); a distance from each of the pixels corresponding to a respective edge associated with the respective sub image (distance method 2);

una mezcla de estas distancias (método 3 de distancia).a mixture of these distances (distance method 3).

Las distancias indicadas en los métodos 1 y 2 anteriores se ilustran en el lado derecho de la figura 2. Aquí, dn indica una distancia desde el píxel correspondiente con la posición pn hasta el borde Bn asociado con la sub imagen n. Por otro lado, dn, indica una distancia desde la posición de interpolación con la posición pi hasta el borde Bn asociado con la sub imagen n.The distances indicated in methods 1 and 2 above are illustrated on the right hand side of Figure 2. Here, dn indicates a distance from the corresponding pixel with position pn to the edge Bn associated with sub image n. On the other hand, dn indicates a distance from the interpolation position with the position pi to the edge Bn associated with the sub image n.

El solicitante ha encontrado que usar el método 1 de distancia o 3 puede proporcionar resultados ligeramente mejorados en términos de artefactos que no son o no tan claramente visibles en la imagen final como cuando se usa el método 2 de distancia.Applicant has found that using distance method 1 or 3 may provide slightly improved results in terms of artifacts that are not as clearly visible in the final image as when using distance method 2.

En lo sucesivo, la distancia que se utiliza durante la combinación se denomina dn, independientemente del método de distancia utilizado. En este caso, el concepto general de la presente invención, cuando se aplica a dos sub imágenes, puede describirse mediante la siguiente ecuación:Hereafter, the distance that is used during the merge is called dn, regardless of the distance method used. In this case, the general concept of the present invention, when applied to two sub images, can be described by the following equation:

Ecuación 3 ^¿1 _ ^¿2Equation 3 ^ ¿1 _ ^ ¿2

d2 did2 di

En otras palabras, cuando la distancia d1 aumenta, el vector Vi1 correspondiente disminuirá en longitud. Finalmente, cuando d1 se convierte en cero, por ejemplo, cuando un píxel correspondiente se encuentra en el borde B1 (método 2 de distancia), Vi2 se convierte en cero. Esto último indica que la posición pi de interpolación corresponde a la posición del píxel correspondiente en la sub imagen 2, es decir, p2.In other words, as the distance d 1 increases, the corresponding vector Vi 1 will decrease in length. Finally, when d 1 becomes zero, for example, when a corresponding pixel is at edge B 1 (distance method 2), Vi 2 becomes zero. The latter indicates that the interpolation position pi corresponds to the position of the corresponding pixel in sub image 2, that is, p 2 .

La figura 2 en el lado izquierdo ilustra una distancia d1 desde un píxel correspondiente en la posición p1 en la sub imagen 1 hasta el borde de esta sub imagen, cuyo borde se indica mediante la línea discontinua. Aquí se observa que en la figura 2 la región a combinar comprende la región completa en la que las sub imágenes 1,2 se superponen.Figure 2 on the left side illustrates a distance d 1 from a corresponding pixel at position p 1 in sub picture 1 to the edge of this sub picture, the edge of which is indicated by the dashed line. Here it can be seen that in Figure 2 the region to be combined comprises the entire region in which the sub-images 1,2 overlap.

Suponiendo que los vectores Vi1 y Vi2 están dispuestos de manera opuesta, es decir, d1Vi1 =<hVi2, la ecuación 2 y la ecuación 3 se pueden combinar en:Assuming that the vectors Vi 1 and Vi 2 are arranged in the opposite way, that is, d 1 Vi 1 = <hVi 2 , equation 2 and equation 3 can be combined into:

Ecuación 4 Pi _ • P i w 2 • p 2 W l Equation 4 Pi _ • P iw 2 • p 2 W l

en donde w1 y w2 son factores de ponderación dados por:where w 1 and w 2 are weighting factors given by:

Figure imgf000006_0001
Figure imgf000006_0001

__ d 2__ d 2

Ecuación 6 W2 d ^ ^ 2 Equation 6 W2 d ^ ^ 2

donde se observa que los factores de ponderación pueden depender de la posición de interpolación (por ejemplo, método 1 de distancia) y/o de las posiciones de los píxeles correspondientes (por ejemplo, método 2 de distancia). Por lo tanto, según la presente invención, la posición de interpolación corresponde a una suma de posiciones ponderadas de los píxeles correspondientes que se utilizan para determinar el valor de píxel del píxel en la posición de interpolación, en donde el factor de ponderación para la posición de cada píxel correspondiente depende en la distancia relativa de la posición de interpolación a un borde de la región a combinar asociada con esa sub imagen. Este concepto puede generalizarse fácilmente para N imágenes superpuestas en:where it is noted that the weighting factors may depend on the interpolation position (for example, distance method 1) and / or the corresponding pixel positions (for example, distance method 2). Therefore, according to the present invention, the interpolation position corresponds to a sum of weighted positions of the corresponding pixels that are used to determine the pixel value of the pixel at the interpolation position, where the weighting factor for the position of each corresponding pixel depends on the relative distance from the interpolation position to an edge of the region to be combined associated with that sub image. This concept can easily be generalized for N overlapping images in:

Ecuación 7

Figure imgf000006_0002
Equation 7
Figure imgf000006_0002

dondewhere

Ecuación 8

Figure imgf000006_0003
Equation 8
Figure imgf000006_0003

Si se encuentra una combinación de los píxeles pn correspondientes y la posición pi de interpolación que satisface la ecuación 7, entonces esos píxeles correspondientes pueden usarse para determinar el valor de píxel del píxel en esa posición de interpolación. If a combination of the corresponding pn pixels and the interpolation position pi is found that satisfies Equation 7, then those corresponding pixels can be used to determine the pixel value of the pixel at that interpolation position.

La figura 3 ilustra la situación en la que tres sub imágenes 1,2, 4 muestran una superposición parcial. La siguiente tabla muestra qué sub imágenes se superponen en qué región después de la alineación global.Figure 3 illustrates the situation where three sub images 1,2,4 show partial overlap. The table below shows which sub images overlap in which region after global alignment.

Figure imgf000007_0001
Figure imgf000007_0001

La sub imagen 1 es relevante para cuatro regiones diferentes. En la región I, los factores de ponderación para los píxeles en la sub imagen 1 se pueden establecer en 1 ya que las otras imágenes secundarias no contienen información de imagen para esa posición. En la región III, los factores de ponderación para los píxeles en las sub imágenes 1 y 2 se determinan comparando la distancia desde esos píxeles y/o la posición de interpolación al borde asociado con la sub imagen 1 y al borde asociado con la sub imagen 2, respectivamente. Para la región IV, se tienen en cuenta tres sub imágenes. Si se encuentra un píxel correspondiente en una sub imagen dada que está fuera de la región a combinar relevante, el factor de ponderación asociado se puede establecer en cero. Por ejemplo, la posición de píxel 5 en la sub imagen 4 está asociada con un factor de ponderación igual a cero cuando esta posición indica un píxel que corresponde a otro píxel en la sub imagen 1 o 2 cuando se intenta interpolar dentro de la región IV.Sub image 1 is relevant to four different regions. In region I, the weighting factors for the pixels in sub image 1 can be set to 1 since the other sub images do not contain image information for that position. In region III, the weighting factors for the pixels in sub-images 1 and 2 are determined by comparing the distance from those pixels and / or the interpolation position to the edge associated with sub-image 1 and to the edge associated with sub-image 2, respectively. For region IV, three sub images are taken into account. If a corresponding pixel is found in a given subimage that is outside the relevant region to combine, the associated weighting factor can be set to zero. For example, the position of pixel 5 in sub image 4 is associated with a weighting factor equal to zero when this position indicates a pixel that corresponds to another pixel in sub image 1 or 2 when trying to interpolate within region IV .

Además de usar la región de superposición completa, se pueden usar regiones limitadas. En tal caso, solo se puede usar una región limitada en la que se aplica la combinación de imágenes. Dicha región se puede definir, por ejemplo, alrededor de una línea central o curva 6 en la región superpuesta, como se muestra en la figura 4. Aquí, los factores de ponderación para la sub imagen 1 en la región A se establecen en uno y en la región C en cero. En la región B, los factores de ponderación dependen de la distancia al borde asociado con la sub imagen 1.In addition to using the entire overlap region, limited regions can be used. In such a case, only a limited region can be used in which the image blending is applied. Such a region can be defined, for example, around a center line or curve 6 in the overlapping region, as shown in Figure 4. Here, the weighting factors for sub picture 1 in region A are set to one and in region C at zero. In region B, the weighting factors depend on the distance to the edge associated with sub image 1.

La figura 4 ilustra una línea recta 6 como ejemplo de una curva. Sin embargo, la invención no está limitada a los mismos. Figure 4 illustrates a straight line 6 as an example of a curve. However, the invention is not limited thereto.

Existen métodos alternativos para definir la región a combinar. Por ejemplo, la región a combinar puede formarse en base a un campo de vector de desplazamiento, como se ilustra en la figura 5. Aquí, un vector de desplazamiento indica el vector desde un píxel en una sub imagen dada a un píxel correspondiente en otra sub imagen. Se puede encontrar una curva 7 a través de este campo en base a un enfoque de menor costo en el que se minimiza la suma de los desplazamientos de los píxeles cruzados por la curva, o cruzados por la curva y una determinada región. Una vez que se encuentra esta curva, se puede usar una determinada región que rodea la curva para realizar la unión de la imagen. Adicionalmente o alternativamente, la construcción de la región a combinar puede realizarse de forma adaptativa. Por ejemplo, para una región inicial dada, se puede calcular la cantidad promedio de corrección por píxel. Dicha corrección se puede calcular utilizando la diferencia entre los valores de píxeles de los píxeles correspondientes en las diferentes sub imágenes. Si la corrección promedio por píxel es demasiado alta, la región a combinar puede expandirse y el proceso de unión de la imagen puede repetirse.There are alternative methods to define the region to combine. For example, the region to be combined can be formed based on a displacement vector field, as illustrated in Figure 5. Here, a displacement vector indicates the vector from a pixel in a given sub-image to a corresponding pixel in another sub image. A curve 7 can be found through this field based on a lower cost approach in which the sum of the displacements of the pixels crossed by the curve, or crossed by the curve and a certain region is minimized. Once this curve is found, a certain region surrounding the curve can be used to stitch the image. Additionally or alternatively, the construction of the region to be combined can be done adaptively. For example, for a given starting region, the average amount of correction per pixel can be calculated. Said correction can be calculated using the difference between the pixel values of the corresponding pixels in the different sub images. If the average correction per pixel is too high, the region to be combined can be expanded and the image stitching process can be repeated.

Para encontrar una combinación de píxeles p1..pn correspondientes y la posición pi de interpolación que satisfaga la ecuación 7, se discutirán dos métodos diferentes. En el segundo método, se elige la posición de interpolación y se buscan los píxeles correspondientes que deberían usarse para esa posición de interpolación, mientras que, en el primer método, los píxeles correspondientes se determinan primero después de lo cual se busca una posición de interpolación.To find a combination of corresponding p 1 ..pn pixels and the interpolation pi position that satisfies Equation 7, two different methods will be discussed. In the second method, the interpolation position is chosen and the corresponding pixels that should be used for that interpolation position are searched, while in the first method, the corresponding pixels are determined first after which an interpolation position is searched. .

Una ventaja de determinar primero la posición pi de interpolación (segundo método), es que se puede elegir pi para alinearse con la cuadrícula de píxeles regular de la imagen compuesta que se desea crear, es decir, cada posición de píxel entero en la región de combinación de la imagen compuesta. Sus posiciones p1..pn de píxel correspondientes se valoran realmente cuando se utilizan técnicas de coincidencia precisas de sub píxeles para derivar las correspondencias. Se pueden usar técnicas de muestreo/interpolación conocidas, por ejemplo, bilineal, bicúbico o muestreo de Lanczos, para obtener los valores de píxeles o vectores en las imágenes 1..n en función de estos vectores de posición real valorada. Este método se asemeja a la deformación inversa.An advantage of determining the interpolation position pi first (second method), is that you can choose pi to align with the regular pixel grid of the composite image you want to create, that is, each integer pixel position in the region of combination of the composite image. Their corresponding pixel p 1 ..pn positions are actually valued when precise sub pixel matching techniques are used to derive the matches. Known sampling / interpolation techniques, eg bilinear, bicubic or Lanczos sampling, can be used to obtain the pixel or vector values in the 1..n images based on these valued actual position vectors. This method resembles reverse deformation.

Si uno determina primero p1..pn y luego deriva una posición pi real valorada (primer método), el último podría no estar alineado con la cuadrícula de píxeles de la imagen compuesta. Para obtener la alineación con la cuadrícula regular de la imagen compuesta, se pueden utilizar técnicas de deformación hacia adelante (o "salpicaduras"). por ejemplo, calcular para cada píxel o vector en una posición pi real valorada sus contribuciones ponderadas (distancia) a los píxeles o vectores de la cuadrícula regular/entera circundante. Esto generalmente se realiza en un pase de contribución, donde se mantiene un mapa de peso separado, y un pase de normalización donde los pesos se utilizan para normalizar los valores en la cuadrícula regular. If one first determines p 1 ..pn and then derives a valued real pi position (first method), the latter might not be aligned with the pixel grid of the composite image. Forward warping (or "spatter") techniques can be used to obtain alignment with the regular grid of the composite image. for example, compute for each pixel or vector at a valued real pi position its weighted contributions (distance) to the pixels or vectors of the surrounding regular / integer grid. This is usually done in a contribution pass, where a separate weight map is kept, and a normalization pass where the weights are used to normalize the values on the regular grid.

En ambos métodos, se utilizan técnicas conocidas para encontrar los píxeles correspondientes. En la siguiente sección se detalla un aspecto importante de estas técnicas, concretamente la posición de origen. Después de esta explicación, los dos métodos se detallan más.In both methods, known techniques are used to find the corresponding pixels. An important aspect of these techniques is detailed in the next section, specifically the position of origin. After this explanation, the two methods are further detailed.

Encontrar correspondenciasFind matches

Técnicas para encontrar correspondencias de píxeles densas tales como estimación de movimiento, estimación de flujo óptico y (estéreo) generalmente producen su resultado en forma de un campo vectorial que contiene un vector de desplazamiento para cada píxel o bloque de píxeles. Por ejemplo, se puede utilizar una técnica de estimación de movimiento de coincidencia de bloques de búsqueda completa para probar (para cada píxel o bloque de píxeles) todos los posibles vectores de desplazamiento mediante la correlación de bloques y asignar el vector con el mejor valor de correlación.Techniques for finding dense pixel matches such as motion estimation, optical flow estimation and (stereo) generally produce their result in the form of a vector field containing a displacement vector for each pixel or block of pixels. For example, a full search block match motion estimation technique can be used to test (for each pixel or block of pixels) all possible displacement vectors using block correlation and assign the vector with the best value of correlation.

En la práctica, muchas técnicas se basan en una optimización más refinada (y más rápida) y combinan un término de coincidencia (por ejemplo, correlación de píxeles/bloque/característica, ecuaciones de restricción de gradiente) con términos/restricciones adicionales, como un término de suavidad que evita que el vector se desvíe demasiado de los vectores estimados en posiciones vecinas.In practice, many techniques rely on more refined (and faster) optimization and combine a match term (e.g. pixel / block / feature correlation, gradient constraint equations) with additional terms / constraints, such as a smoothness term that prevents the vector from deviating too much from the estimated vectors at neighboring positions.

Cuando se aplican estas técnicas, es importante considerar la "posición" en la que se originan los vectores o el campo o campos del vector. Por ejemplo, es posible estimar un campo vf12 de vector de desplazamiento válido en la "posición" de la imagen 1, que contiene para una posición p1 de píxel el vector de desplazamiento a una posición p2 de píxel correspondiente en la imagen 2 de acuerdo con la ecuación 9. Se supone que las imágenes 1 y 2 se superponen con el mismo sistema de coordenadas.When applying these techniques, it is important to consider the "position" from which the vectors or the vector field or fields originate. For example, it is possible to estimate a valid displacement vector field vf 12 at the "position" of image 1, which contains for a pixel position p 1 the displacement vector at a corresponding pixel position p 2 in image 2 according to equation 9. Images 1 and 2 are assumed to overlap with the same coordinate system.

Ecuación 9 P 2 = P l V12 = Pl + Vfl2(P l) Equation 9 P 2 = P l V12 = Pl + Vfl2 ( P l)

De forma similar, es posible estimar un campo vectorial que se origina en la "posición" de la imagen b de acuerdo con la ecuación 10.Similarly, it is possible to estimate a vector field originating from the "position" of image b according to equation 10.

Ecuación 10 P l = P 2 ^ 21 = P 2 V f 2 l ( P 2 )Equation 10 P l = P 2 ^ 21 = P 2 V f 2 l (P 2)

Con algunas técnicas, también es posible estimar un campo vectorial que se origina en una posición x de imagen virtual "intermedia". Por ejemplo, en medio de las imágenes 1 y 2:With some techniques, it is also possible to estimate a vector field originating from an "intermediate" virtual image position x. For example, in the middle of images 1 and 2:

Ecuación 11 P i = Px 0 .5 * vx = px + 0 .5 * vfx(Px) Equation 11 P i = Px 0 .5 * vx = px + 0 .5 * vfx ( Px)

Ecuación 12 P 2 = P x - 0 .5 * V x = P x - 0 .5 * vf x (P x ) Equation 12 P 2 = P x - 0 .5 * V x = P x - 0 .5 * vf x ( P x )

O en una posición # virtual arbitraria de la imagen, donde # se encuentra entre cero y uno (que indica la posición entre la imagen a y b):Or in an arbitrary virtual # position of the image, where # is between zero and one (indicating the position between image a and b):

Ecuación 13 P i = P x + r * V x = P x + r * vf x (P x ) Equation 13 P i = P x + r * V x = P x + r * vf x ( P x )

Ecuación 14 Equation 14 P2 = Px P 2 = Px ( i - r ) * V x = P x ( i - r ) * v f x ( P x ) (i - r) * V x = P x (i - r) * v f x (P x)

Para una estimación de movimiento de coincidencia de bloques, las ecuaciones anteriores se pueden usar para derivar para un vector de desplazamiento que se está probando, el conjunto de posiciones en las que se debe aplicar la correlación de bloque. Los vectores de prueba “pivotan” alrededor de la posición px.For a block coincidence motion estimation, the above equations can be used to derive for a displacement vector being tested, the set of positions at which the block correlation should be applied. The test vectors "pivot" around the px position.

En general, los campos de vector estimados en diferentes posiciones de imagen de origen # contienen los mismos valores de vector, pero en posiciones espaciales desplazadas. En la práctica, pueden diferir algo debido a los efectos numéricos, de oclusión y otros (estimación), como las condiciones mal planteadas.In general, vector fields estimated at different source image positions # contain the same vector values, but at offset spatial positions. In practice, they may differ somewhat due to numerical, occlusion, and other (estimation) effects, such as poorly stated conditions.

Alternativa o adicionalmente, la técnica de deformación hacia adelante discutida junto con el primer método puede usarse para “proyectar” un campo vectorial en una posición de origen diferente. Debido a los efectos de oclusión, pueden ocurrir agujeros y superposiciones en esta proyección, este efecto puede ser dirigido con técnicas conocidas de manejo de oclusión. Alternatively or additionally, the forward warp technique discussed in conjunction with the first method can be used to "project" a vector field to a different origin position. Due to the effects of occlusion, holes and overlaps can occur in this projection, this effect can be addressed with known occlusion management techniques.

El primer método; método 1 de distanciaThe first method; method 1 away

En una variante del primer método, ilustrada en la figura 6A, se usa el primer método de distancia. En consecuencia, el cálculo directo de la posición de interpolación no es posible debido al hecho de que los factores de ponderación requeridos dependen de la posición de interpolación desconocida. En este caso, la posición pi de interpolación se puede encontrar mediante la optimización usando la ecuación 15:In a variant of the first method, illustrated in Figure 6A, the first distance method is used. Consequently, direct calculation of the interpolation position is not possible due to the fact that the required weighting factors depend on the unknown interpolation position. In this case, the interpolation pi position can be found by optimization using equation 15:

Figure imgf000009_0001
Figure imgf000009_0001

En detalle, después de determinar los píxeles correspondientes en el paso S60, la posición de interpolación se puede encontrar adivinando primero una posición de interpolación en el paso S61. A continuación, en el paso S62 se determinan los factores de ponderación. En el paso S63, se puede encontrar una posición de interpolación estimada aplicando la ecuación 7 usando los factores de ponderación determinados y los píxeles correspondientes que ya se encontraron. En el paso S64, esta posición de interpolación estimada se compara con la posición de interpolación adivinada. El error resultante se compara con un umbral en el paso S65. Si el error está por encima de cierto umbral, el proceso vuelve a adivinar la posición de interpolación.In detail, after determining the corresponding pixels in step S60, the interpolation position can be found by first guessing an interpolation position in step S61. Next, in step S62, the weighting factors are determined. In step S63, an estimated interpolation position can be found by applying equation 7 using the determined weighting factors and corresponding pixels already found. In step S64, this estimated interpolation position is compared with the guessed interpolation position. The resulting error is compared with a threshold in step S65. If the error is above a certain threshold, the process re-guesses the interpolation position.

Para tres sub imágenes 1-3, la ecuación 15 puede reescribirse como:For three sub images 1-3, equation 15 can be rewritten as:

Figure imgf000009_0002
Figure imgf000009_0002

en donde pi, V12 y V13 se conocen ya que estos parámetros se relacionan con los píxeles correspondientes, que en el primer método ya se han encontrado. Dependiendo del método de distancia utilizado, los factores w2 y w3 de ponderación ya se conocen (método 2 de distancia) y la posición de interpolación se puede calcular directamente, o los factores de ponderación dependen de la posición de interpolación (métodos 1 y 3 de distancia) y la posición de interpolación es calculada por optimización. Se puede utilizar un algoritmo de optimización genérico, como la escalada estocástica de colinas, para encontrar la mejor solución para pi.where pi, V 12 and V 13 are known since these parameters are related to the corresponding pixels, which have already been found in the first method. Depending on the distance method used, the weighting factors w 2 and w 3 are already known (distance method 2) and the interpolation position can be calculated directly, or the weighting factors depend on the interpolation position (methods 1 and 3 distance) and the interpolation position is calculated by optimization. A generic optimization algorithm, such as stochastic hill climbing, can be used to find the best solution for pi.

Para dos sub imágenes 1 y 2, la ecuación 15 se reduce a:For two sub images 1 and 2, equation 15 reduces to:

Figure imgf000009_0003
Figure imgf000009_0003

La optimización de esta ecuación, cuando se requiere si se usa el método 1 o 3 de distancia, generalmente se realiza a lo largo de la línea de p1 a p2.Optimization of this equation, when required if distance method 1 or 3 is used, is usually done along the line from p 1 to p 2 .

El primer método es muy adecuado, pero no se limita a, encontrar los píxeles correspondientes mediante la estimación de los campos vectoriales por pares (por ejemplo, vf12, vf21 en la sección anterior).The first method is very suitable, but is not limited to, finding the corresponding pixels by estimating the vector fields in pairs (eg vf 12 , vf 21 in the previous section).

En el primer método, la posición de interpolación calculada puede estar fuera de la red. En tal caso, se puede calcular un valor de píxel. Se puede usar una ponderación de distancia para determinar cómo los píxeles en la imagen final que rodea la posición de interpolación fuera de la red están influenciados por este valor de píxel.In the first method, the calculated interpolation position can be off the grid. In such a case, a pixel value can be calculated. Distance weighting can be used to determine how the pixels in the final image surrounding the off-grid interpolation position are influenced by this pixel value.

El primer método; método 2 de distanciaThe first method; method 2 away

En una variante del primer método, ilustrado en la figura 6B, los píxeles correspondientes se encuentran usando técnicas conocidas en el paso S66. En la figura 6B, se usa el método 2 de distancia para que los factores de ponderación se puedan calcular directamente en el paso S67, después de lo cual se puede calcular la posición de interpolación en el paso S68 usando la ecuación 7.In a variant of the first method, illustrated in Figure 6B, the corresponding pixels are found using known techniques in step S66. In Fig. 6B, the distance method 2 is used so that the weighting factors can be calculated directly in step S67, after which the interpolation position can be calculated in step S68 using equation 7.

El segundo método; método 1 de distanciaThe second method; method 1 away

En el segundo método, se determina la posición de interpolación y se buscan los píxeles correspondientes, de modo que se satisface la ecuación 7. Las posiciones ponderadas de los píxeles correspondientes deben ser iguales a la posición de interpolación. De manera equivalente, mediante la ecuación 2, se buscan los vectores vi1..vin, que satisfacen la ecuación 7.In the second method, the interpolation position is determined and the corresponding pixels are searched, so that equation 7 is satisfied. The weighted positions of the corresponding pixels must be equal to the interpolation position. Equivalently, by means of equation 2, the vectors vi 1 ..vin are searched, which satisfy equation 7.

En una variante del segundo método, el método 1 de distancia se usa como se muestra en la figura 7A. En este caso, los factores de ponderación se pueden calcular directamente en el paso S71 después de determinar la posición de interpolación en S70. Los píxeles correspondientes se determinan posteriormente en el paso S72.In a variant of the second method, distance method 1 is used as shown in FIG. 7A. In this case, the weighting factors can be calculated directly in step S71 after determining the interpolation position in S70. The corresponding pixels are determined later in step S72.

El segundo método es muy adecuado, pero no se limita a, encontrar los píxeles correspondientes por estimación de movimiento con la posición de interpolación como posición de origen (por ejemplo, determinando vn, vi2, vi3). En este caso, la estimación sigue el mismo principio de simetría que la estimación "intermedia" explicada anteriormente en relación con las ecuaciones 11-14. El punto "pivote" se basa en la ecuación 7 y puede generalizarse para N imágenes. Más en particular, la ecuación 7 puede usarse para expresar la posición pj del píxel correspondiente j en la posición pi de interpolación y las posiciones pn de los otros píxeles correspondientes: The second method is well suited, but is not limited to, finding the corresponding pixels by motion estimation with the interpolation position as the origin position (eg, determining vn, vi 2 , vi3). In this case, the estimate follows the same principle of symmetry as the "intermediate" estimate explained above in relation to equations 11-14. The "pivot" point is based on Equation 7 and can be generalized for N images. More particularly, equation 7 can be used to express the position pj of the corresponding pixel j at the position pi of interpolation and the positions pn of the other corresponding pixels:

Figure imgf000010_0001
Figure imgf000010_0001

Para tres imágenes, la ecuación 18 puede reescribirse en:For three images, equation 18 can be rewritten into:

Ecuación 19 V ¿ i — ( 1 - W i ) p i + W 2V 2 + w 3p 3Equation 19 V ¿i - (1 - W i ) p i + W 2 V 2 + w 3 p 3

Ecuación 20 V ¿ 2 — W i V i + ( 1 - W 2 ) V 2 + W 3V 3 Equation 20 V ¿2 - W i V i + (1 - W 2 ) V 2 + W 3 V 3

Ecuación 21 V ¿ 3 W i V i + W 2V 2 + ( 1 - w * ) v * Equation 21 V ¿3 - W i V i + W 2 V 2 + (1 - w *) v *

donde vin son vectores de prueba que se originan en la posición pi de interpolación. Para encontrar vectores de prueba adecuados para iniciar una búsqueda, puede ser ventajoso usar información de una interpolación en una posición de interpolación adyacente pi’ que usó los vectores p1', p2 ', p3' de posición. Estos vectores apuntan a píxeles correspondientes conocidos. La ponderación para la posición pi de interpolación se puede aplicar a estos vectores para encontrar los vectores vin’:where vin are test vectors originating at the pi interpolation position. To find suitable test vectors to initiate a search, it may be advantageous to use information from an interpolation at an adjacent interpolation position pi 'that used the position vectors p 1 ', p 2 ', p3'. These vectors point to known corresponding pixels. The weighting for the interpolation pi position can be applied to these vectors to find the vectors vin ':

Ecuación 22 V i n _ Z m = i , m . n W m • p m ( 1 W n ) • p nEquation 22 V i n _ Z m = i, m. n W m • p m (1 W n) • p n

A continuación, los vectores vij’ se traducen a la posición pi de interpolación para encontrar vectores de posición de prueba adecuados:The vectors vij 'are then translated to the interpolation pi position to find suitable test position vectors:

Ecuación 23 V n — V i V ¿ ^Equation 23 V n - V i V ¿^

A partir de entonces, se pueden aplicar variaciones a estos vectores de posición de prueba para buscar el mejor conjunto coincidente de píxeles (o bloques) correspondientes para los cuales la suma ponderada de los vectores de posición corresponde a la posición de interpolaciónThereafter, variations can be applied to these test position vectors to find the best matching set of corresponding pixels (or blocks) for which the weighted sum of the position vectors corresponds to the interpolation position.

En la realización mencionada anteriormente, el error utilizado para controlar la optimización estaba relacionado con la diferencia en la información de imagen de los píxeles señalados por los vectores de prueba. La ponderación requerida, que está determinada por la posición de interpolación, se contabilizó en los propios vectores de prueba. En otras palabras, los píxeles apuntados cumplían necesariamente la condición de que, si la suma ponderada de las posiciones de esos píxeles se usará para calcular una posición de interpolación, entonces esa posición calculada correspondería a la posición de interpolación establecida al comienzo de la optimización.In the aforementioned embodiment, the error used to control optimization was related to the difference in image information of the pixels signaled by the test vectors. The required weight, which is determined by the interpolation position, was accounted for in the test vectors themselves. In other words, the pointed pixels necessarily met the condition that if the weighted sum of the positions of those pixels is to be used to calculate an interpolation position, then that calculated position would correspond to the interpolation position established at the beginning of the optimization.

Como alternativa, la ponderación se puede aplicar después de haber encontrado los píxeles correspondientes. En tal realización, se podría primero, en un paso a) adivinar un conjunto de posiciones de píxeles correspondientes. Por lo tanto, en esta etapa, se ha verificado que los píxeles son, de hecho, píxeles correspondientes, pero sigue siendo incierto si estos píxeles corresponden a la posición de interpolación establecida al comienzo de la optimización. A continuación, en un paso b) se pueden determinar los factores de ponderación para los píxeles correspondientes. Cabe señalar que estos factores de ponderación ya se conocen cuando los factores de ponderación dependen únicamente de la posición de interpolación. En un paso c), se puede calcular una posición de interpolación estimada aplicando la suma ponderada de las posiciones adivinadas de los píxeles correspondientes. En el paso d) se calcula un error entre la posición de interpolación estimada y la posición de interpolación determinada. Si el error excede un umbral predefinido, los pasos a)-d) se repiten y se prueba un nuevo conjunto de píxeles correspondientes.Alternatively, the weighting can be applied after the corresponding pixels have been found. In such an embodiment, one could first, in a step a) guess a set of corresponding pixel positions. Therefore, at this stage, it has been verified that the pixels are indeed corresponding pixels, but it remains uncertain whether these pixels correspond to the interpolation position established at the beginning of the optimization. Then, in a step b), the weighting factors for the corresponding pixels can be determined. It should be noted that these weighting factors are already known when the weighting factors depend solely on the interpolation position. In a step c), an estimated interpolation position can be calculated by applying the weighted sum of the guessed positions of the corresponding pixels. In step d) an error is calculated between the estimated interpolation position and the determined interpolation position. If the error exceeds a predefined threshold, steps a) -d) are repeated and a new set of corresponding pixels is tested.

El segundo método; método 2 de distanciaThe second method; method 2 away

En una variante del segundo método, el método 2 de distancia se usa como se ilustra en la figura 7B. La posición de interpolación se determina en el paso S73 y se deben encontrar los píxeles correspondientes. En este caso, la ecuación 7 se aplica igualmente. Sin embargo, en este caso, las posiciones de los píxeles correspondientes se adivinan en el paso S74.In a variant of the second method, distance method 2 is used as illustrated in Figure 7B. The interpolation position is determined in step S73 and the corresponding pixels must be found. In this case, Equation 7 applies equally. However, in this case, the corresponding pixel positions are guessed in step S74.

Como siguiente paso, los factores de ponderación se determinan en el paso S75. Debido a que se usa el método 2 de distancia, los factores de ponderación sólo se pueden calcular después de adivinar los píxeles correspondientes. A continuación, se calcula una posición de interpolación estimada en función de las posiciones adivinadas de los píxeles correspondientes y los factores de ponderación determinados en el paso S76. En el paso S77, esta posición de interpolación estimada se compara con la posición de interpolación que se determinó en el paso S73. El error resultante se compara con un umbral en el paso S78. Si el error está por encima de cierto umbral, el proceso vuelve a adivinar las posiciones de los píxeles correspondientes.As a next step, the weighting factors are determined in step S75. Because the distance method 2 is used, the weighting factors can only be calculated after guessing the corresponding pixels. Next, an estimated interpolation position is calculated based on the guessed positions of the pixels corresponding values and the weighting factors determined in step S76. In step S77, this estimated interpolation position is compared with the interpolation position that was determined in step S73. The resulting error is compared with a threshold in step S78. If the error is above a certain threshold, the process re-guesses the positions of the corresponding pixels.

Para todos los métodos descritos anteriormente, en los que se usa un paso de optimización, como adivinar vectores o posiciones, puede ser beneficioso usar una combinación previa de una posición de interpolación y píxeles correspondientes, preferiblemente en relación con una posición de interpolación adyacente, como punto de partida para el proceso de optimización.For all the methods described above, where an optimization step is used, such as guessing vectors or positions, it may be beneficial to use a previous combination of an interpolation position and corresponding pixels, preferably relative to an adjacent interpolation position, such as starting point for the optimization process.

En los ejemplos anteriores, se han descrito métodos para interpolar entre más de dos imágenes simultáneamente. Alternativamente, el proceso de interpolación podría realizarse en cascada en un proceso de interpolación de dos imágenes. Por ejemplo, suponga que 4 imágenes deben combinarse en una sola imagen. Como primer paso, se puede construir una primera imagen intermedia interpolando entre la primera y la segunda imagen. A continuación, se puede construir una segunda imagen intermedia interpolando entre la primera imagen intermedia y la tercera imagen. La imagen final se puede construir interpolando entre la segunda imagen intermedia y la cuarta imagen.In the above examples, methods have been described for interpolating between more than two images simultaneously. Alternatively, the interpolation process could be cascaded in a two-image interpolation process. For example, suppose that 4 images are to be combined into one image. As a first step, a first intermediate image can be constructed by interpolating between the first and second images. A second intermediate image can then be constructed by interpolating between the first intermediate image and the third image. The final image can be constructed by interpolating between the second intermediate image and the fourth image.

Determinación del valor de píxel en la posición de interpolaciónDetermining the pixel value at the interpolation position

El proceso de encontrar una combinación de posición de interpolación y píxeles correspondientes como se describió anteriormente tiene que repetirse para cada posición en la región a combinar. Una vez que se conoce la combinación de la posición de interpolación y los píxeles correspondientes, se pueden calcular los valores de píxeles de la imagen final. Para este fin, se puede usar una ponderación utilizando factores vn de ponderación adicionales:The process of finding a combination of interpolation position and corresponding pixels as described above has to be repeated for each position in the region to be combined. Once the combination of the interpolation position and the corresponding pixels is known, the pixel values of the final image can be calculated. For this purpose, a weighting can be used using additional weighting factors vn:

Ecuación 2 4

Figure imgf000011_0001
Equation 2 4
Figure imgf000011_0001

en donde In es el valor de píxel de la sub imagen n en la posición pn. Como ejemplo, los factores wn de ponderación mencionados anteriormente pueden usarse como otros factores de ponderación, es decir, vn=wn. Alternativamente, los factores de ponderación adicionales pueden determinarse usando un método de distancia dado que es diferente del método de distancia utilizado para determinar los factores wn de ponderación.where In is the pixel value of sub image n at position pn. As an example, the weighting factors wn mentioned above can be used as other weighting factors, that is, vn = wn. Alternatively, the additional weighting factors can be determined using a distance method since it is different from the distance method used to determine the weighting factors wn.

Debe observarse que el valor de píxel puede relacionarse con un valor de intensidad y/o un valor de canal de color tal como un valor RGB. Además, en caso de que exista más de un valor de píxel para cada píxel, el método de combinación descrito aquí se puede aplicar a cada valor de píxel por separado. Sin embargo, se prefiere determinar una combinación adecuada de posición de interpolación y píxeles correspondientes para un valor de píxel, como la intensidad, y usar esta misma combinación para determinar los otros valores de píxel.It should be noted that the pixel value can be related to an intensity value and / or a color channel value such as an RGB value. Also, in case there is more than one pixel value for each pixel, the combining method described here can be applied to each pixel value separately. However, it is preferred to determine a suitable combination of interpolation position and corresponding pixels for one pixel value, such as intensity, and to use this same combination to determine the other pixel values.

La figura 8 ilustra una realización de un dispositivo 100 según la presente invención. Comprende una memoria 101 para contener una pluralidad de sub imágenes y una unidad de determinación de la región 102 de combinación para determinar la región a combinar. El dispositivo 100 también comprende un procesador 103 configurado para construir una imagen final usando la pluralidad de sub imágenes, dicha construcción comprende realizar el método como se definió anteriormente para combinar las sub imágenes en la región a combinar. Además, el procesador 103 también puede configurarse para realizar una alineación global en las sub imágenes almacenadas. El resultado de esta alineación global y/o la imagen final resultante de la combinación también puede almacenarse en la memoria 101.Figure 8 illustrates one embodiment of a device 100 in accordance with the present invention. It comprises a memory 101 for containing a plurality of sub images and a unit for determining the combining region 102 for determining the region to be combined. The device 100 also comprises a processor 103 configured to construct a final image using the plurality of sub-images, said construction comprises performing the method as defined above to combine the sub-images in the region to be combined. In addition, processor 103 can also be configured to perform global alignment on stored sub images. The result of this global alignment and / or the final image resulting from the combination can also be stored in memory 101.

Aunque la presente invención se ha descrito usando realizaciones de la misma, debería ser evidente para el experto en la técnica que son posibles diversas modificaciones a esas realizaciones sin desviarse del alcance de la invención que se define por las reivindicaciones adjuntas.Although the present invention has been described using embodiments thereof, it should be apparent to one skilled in the art that various modifications to those embodiments are possible without departing from the scope of the invention as defined by the appended claims.

Como ejemplo, la presente invención está relacionada con la interpolación de imágenes que se han alineado globalmente. Dentro del contexto de la presente invención, la alineación global comprende una primera alineación de las imágenes. Esta alineación puede comprender una transformación de coordenadas para transformar las coordenadas de las imágenes en bruto en las coordenadas de la imagen final. Por ejemplo, dos imágenes que tienen cada una 3000 x 2000 píxeles, se pueden combinar en una sola imagen que comprende 5500 x 2000 píxeles. En este caso, los píxeles de la primera imagen, correspondientes a una parte izquierda, no se pueden transformar. Los píxeles de la segunda imagen, correspondientes a la parte derecha, pueden transformarse mediante la traducción (2500, 0). En consecuencia, se generará una región de superposición que se extiende entre (2500, 0) -(3000, 2000).As an example, the present invention relates to the interpolation of images that have been globally aligned. Within the context of the present invention, the global alignment comprises a first alignment of the images. This alignment may comprise a coordinate transformation to transform the coordinates of the raw images into the coordinates of the final image. For example, two images, each having 3000 x 2000 pixels, can be combined into a single image comprising 5500 x 2000 pixels. In this case, the pixels of the first image, corresponding to a left part, cannot be transformed. The pixels of the second image, corresponding to the right part, can be transformed by the translation (2500, 0). Consequently, an overlap region will be generated that extends between (2500, 0) - (3000, 2000).

En la descripción anterior, se han hecho referencias a vectores de posición de píxeles correspondientes que son relativos a un origen que es común para todas las imágenes a combinar. Debería ser evidente para el experto en la técnica que estos vectores también pueden expresarse en las coordenadas de las imágenes en bruto subyacentes en combinación con la transformación relacionada con esa imagen. En el ejemplo anterior, un vector que apunta a la posición (500, 0) en relación con el origen de la segunda imagen sin procesar es idéntico a un vector que apunta a un píxel de la segunda imagen en la posición (3000, 0) en relación con el origen común de la primera y segunda imagen después de la transformación asociada con la alineación global. In the above description, references have been made to corresponding pixel position vectors that are relative to an origin that is common for all images to be combined. It should be apparent to the person skilled in the art that these vectors can also be expressed in the coordinates of the underlying raw images in combination with the transformation related to that image. In the example above, a vector that points to position (500, 0) relative to the origin of the second raw image is identical to a vector that points to a pixel in the second image at position (3000, 0) relative to the common origin of the first and second images after the transformation associated with the global alignment.

Claims (15)

REIVINDICACIONES 1. Un método para combinar una pluralidad de sub imágenes alineadas globalmente en una región a combinar, el método comprende:1. A method for combining a plurality of globally aligned sub-images in a region to be combined, the method comprises: encontrar un conjunto de píxeles correspondientes en la pluralidad de sub imágenes alineadas globalmente; determinar, por medio de la optimización, una posición de interpolación que corresponde a una suma ponderada de las posiciones de los píxeles correspondientes;finding a set of corresponding pixels in the plurality of globally aligned sub images; determining, by means of optimization, an interpolation position that corresponds to a weighted sum of the positions of the corresponding pixels; determinar un valor de píxel de un píxel en la posición de interpolación en la región a combinar utilizando valores de píxel de los píxeles correspondientes; dondedetermining a pixel value of a pixel at the interpolation position in the region to be combined using pixel values of the corresponding pixels; where el factor de ponderación para la posición de un píxel correspondiente en una sub imagen dada depende de la distancia relativa de dicha posición de interpolación a un borde de la región a combinar asociada con esa sub imagen.the weighting factor for the position of a corresponding pixel in a given sub-image depends on the relative distance of said interpolation position to an edge of the region to be combined associated with that sub-image. 2. Método según la reivindicación 1, en el que dicha determinación comprende:A method according to claim 1, wherein said determination comprises: a) adivinar una posición de interpolación;a) guess an interpolation position; b) determinar los factores de ponderación para los píxeles correspondientes;b) determining the weighting factors for the corresponding pixels; c) calcular una posición de interpolación estimada aplicando la suma ponderada de las posiciones de los píxeles correspondientes utilizando los factores de ponderación determinados;c) calculating an estimated interpolation position by applying the weighted sum of the corresponding pixel positions using the determined weighting factors; d) determinar un error entre la posición de interpolación estimada y la posición de interpolación adivinada y repetir los pasos a)-d) si el error excede un umbral predefinido.d) determining an error between the estimated interpolation position and the guessed interpolation position and repeating steps a) -d) if the error exceeds a predefined threshold. 3. Un método para combinar una pluralidad de sub imágenes alineadas globalmente en una región a combinar, el método comprende:3. A method of combining a plurality of globally aligned sub-images in a region to be combined, the method comprises: determinar una posición de interpolación en la región a combinar;determining an interpolation position in the region to be combined; encontrar, por medio de la optimización, los píxeles correspondientes de los cuales los valores de píxel deben usarse para determinar un valor de píxel de un píxel en la posición de interpolación determinada, de modo que la posición de interpolación corresponda a una suma ponderada de las posiciones de los píxeles correspondientes; determinar el valor de píxel del píxel en la posición de interpolación en la región a combinar utilizando los valores de píxel de los píxeles correspondientes encontrados; en dondefind, by means of optimization, the corresponding pixels of which the pixel values should be used to determine a pixel value of one pixel at the given interpolation position, so that the interpolation position corresponds to a weighted sum of the positions of the corresponding pixels; determining the pixel value of the pixel at the interpolation position in the region to be combined using the pixel values of the corresponding pixels found; where el factor de ponderación para la posición de un píxel correspondiente en una sub imagen dada depende de una distancia relativa de dicha posición de interpolación a un borde de la región a combinar asociada con esa sub imagen.the weighting factor for the position of a corresponding pixel in a given sub-image depends on a relative distance from said interpolation position to an edge of the region to be combined associated with that sub-image. 4. El método según la reivindicación 3, en el que dicha búsqueda de los píxeles correspondientes comprende encontrar los píxeles correspondientes de manera que una posición de interpolación estimada, que se calcula usando una suma ponderada de las posiciones de esos píxeles correspondientes, corresponde sustancialmente a la posición de interpolación determinada, en donde los factores de ponderación que se utilizarán para dicho cálculo se calculan usando la posición de interpolación determinada.The method according to claim 3, wherein said searching for the corresponding pixels comprises finding the corresponding pixels such that an estimated interpolation position, which is calculated using a weighted sum of the positions of those corresponding pixels, corresponds substantially to the determined interpolation position, where the weighting factors to be used for said calculation are calculated using the determined interpolation position. 5. El método según la reivindicación 3 o 4, en el que dicha búsqueda de los píxeles correspondientes comprende: The method according to claim 3 or 4, wherein said searching for corresponding pixels comprises: a) adivinar vectores de prueba ponderados para encontrar los píxeles correspondientes de modo que cuando una posición de interpolación se calculará utilizando esos píxeles, l menos correspondería sustancialmente a la posición de interpolación determinada, calculándose dichos vectores de prueba ponderados usando la posición de interpolación determinada;a) guessing weighted test vectors to find the corresponding pixels so that when an interpolation position will be calculated using those pixels, l minus would correspond substantially to the determined interpolation position, said weighted test vectors being calculated using the determined interpolation position; b) determinar un error entre píxeles encontrados utilizando los vectores de prueba ponderados y repitiendo los pasos a)-b) si el error excede un umbral predefinido.b) determining an error between pixels found using the weighted test vectors and repeating steps a) -b) if the error exceeds a predefined threshold. 6. El método según la reivindicación 3 o 4, en el que dicha búsqueda de los píxeles correspondientes comprende: The method according to claim 3 or 4, wherein said searching for corresponding pixels comprises: a) adivinar un conjunto de posiciones de píxeles correspondientes;a) guess a set of corresponding pixel positions; b) determinar los factores de ponderación para los píxeles correspondientes;b) determining the weighting factors for the corresponding pixels; c) calcular una posición de interpolación estimada aplicando la suma ponderada de las posiciones adivinadas de los píxeles correspondientes;c) calculating an estimated interpolation position by applying the weighted sum of the guessed positions of the corresponding pixels; d) determinar un error entre la posición de interpolación estimada y la posición de interpolación determinada y repetir los pasos a)-d) si el error excede un umbral predefinido.d) determining an error between the estimated interpolation position and the determined interpolation position and repeating steps a) -d) if the error exceeds a predefined threshold. 7. El método según cualquiera de las reivindicaciones anteriores, en el que dicha distancia relativa corresponde a una distancia de dicha posición de interpolación a un borde de la región a combinar asociada con esa sub imagen en relación con la suma de esas distancias para todas las sub imágenes, en donde la distancia relativa está dada preferiblemente por: The method according to any of the preceding claims, wherein said relative distance corresponds to a distance from said interpolation position to an edge of the region to be combined associated with that sub-image in relation to the sum of those distances for all the sub images, where the relative distance is preferably given by: digave ¿ ¿ y u N n = l d u,n y u N n = l d u, n en donde d¡ es la distancia de dicha posición de interpolación a un borde de la región a combinar asociada con la sub imagen i, y en donde N es el número total de sub imágenes.where d, is the distance from said interpolation position to an edge of the region to be combined associated with sub image i, and where N is the total number of sub images. 8. El método según cualquiera de las reivindicaciones anteriores, en el que el factor de ponderación para la posición de un píxel correspondiente en una sub imagen dada es igual a la distancia relativa asociada con esa sub imagen, y/o en el que el factor de ponderación disminuye si la distancia de dicha posición de interpolación a dicho borde disminuye. The method according to any of the preceding claims, wherein the weighting factor for the position of a corresponding pixel in a given sub image is equal to the relative distance associated with that sub image, and / or where the factor weighting decreases if the distance from said interpolation position to said edge decreases. 9. El método según cualquiera de las reivindicaciones anteriores, en el que dicha distancia es la distancia más corta al borde.The method according to any of the preceding claims, wherein said distance is the shortest distance to the edge. 10. El método según cualquiera de las reivindicaciones anteriores, en el que los píxeles correspondientes en la pluralidad de sub imágenes son píxeles que se relacionan con la misma región o punto de un objeto o característica que se visualiza en dicha pluralidad de sub imágenes, el preferiblemente, preferiblemente, el método comprende además usar una técnica de estimación de movimiento para encontrar píxeles correspondientes en dicha pluralidad de sub imágenes, o una técnica para encontrar correspondencias densas, tales como estimación de movimiento, estimación de flujo óptico y/o estimación de disparidad estéreo.The method according to any of the preceding claims, wherein the corresponding pixels in the plurality of sub images are pixels that relate to the same region or point of an object or feature that is displayed in said plurality of sub images, the preferably, preferably, the method further comprises using a motion estimation technique to find corresponding pixels in said plurality of sub images, or a technique to find dense matches, such as motion estimation, optical flow estimation and / or disparity estimation stereo. 11. El método según cualquiera de las reivindicaciones anteriores, en el que el borde de la región a combinar asociada con una sub imagen corresponde a un borde de esa sub imagen en la pluralidad alineada de sub imágenes, en el que la región a combinar corresponde preferiblemente a una región completa en la que se superponen al menos dos o más sub imágenes.The method according to any of the preceding claims, wherein the edge of the region to be combined associated with a sub image corresponds to an edge of that sub image in the aligned plurality of sub images, wherein the region to be combined corresponds preferably to a complete region in which at least two or more sub images overlap. 12. El método según cualquiera de las reivindicaciones 1-10, en el que el borde de la región a combinar asociada con una sub imagen corresponde preferiblemente a un borde de esa sub imagen en la pluralidad alineada de sub imágenes, en el que la región a combinar es una región centrada alrededor de una curva a través de una región en dicha pluralidad de imágenes en la que al menos dos de dichas sub imágenes se superponen, el método comprende preferiblemente, además:The method according to any of claims 1-10, wherein the edge of the region to be combined associated with a sub-image preferably corresponds to an edge of that sub-image in the aligned plurality of sub-images, wherein the region to be combined is a region centered around a curve through a region in said plurality of images in which at least two of said sub images overlap, the method preferably further comprising: determinar un punto de referencia de corrección usando las diferencias en los valores de píxel entre los respectivos píxeles correspondientes para una pluralidad de píxeles en la región a combinar;determining a correction reference point using the differences in the pixel values between the respective corresponding pixels for a plurality of pixels in the region to be combined; comparar el punto de referencia de corrección con un umbral predefinido;comparing the correction reference point to a predefined threshold; si el punto de referencia de corrección excede el umbral predefinido, extendiendo la región a combinar; y/o el método comprende además preferiblemente:if the correction reference point exceeds the predefined threshold, extending the region to be combined; and / or the method preferably further comprises: determinar un campo de vector de desplazamiento en la región a combinar que indica una diferencia de posición entre los píxeles correspondientes en diferentes sub imágenes;determining a displacement vector field in the region to be combined that indicates a position difference between corresponding pixels in different sub images; calcular la curva usando el campo del vector de desplazamiento, en donde la curva se calcula preferiblemente usando una técnica de optimización de menor costo, y en donde la curva se configura más preferiblemente para evitar regiones en las que los vectores de desplazamiento son relativamente grandes.calculating the curve using the displacement vector field, where the curve is preferably calculated using a lower cost optimization technique, and where the curve is more preferably configured to avoid regions where the displacement vectors are relatively large. 13. El método según cualquiera de las reivindicaciones predefinidas, que comprende además determinar un valor de píxel del píxel en la posición de interpolación en la región a combinar ponderando los valores de píxel de los píxeles correspondientes asociados con esa posición de interpolación usando factores de ponderación adicionales, en donde los factores de ponderación adicionales son preferiblemente idénticos a los factores de ponderación.The method of any of the predefined claims, further comprising determining a pixel value of the pixel at the interpolation position in the region to be combined by weighting the pixel values of the corresponding pixels associated with that interpolation position using weighting factors. additional weightings, wherein the additional weighting factors are preferably identical to the weighting factors. 14. Un dispositivo para combinar una pluralidad de sub imágenes alineadas globalmente en una región a combinar, que comprende:14. A device for combining a plurality of globally aligned sub-images in a region to be combined, comprising: una memoria para contener dicha pluralidad de sub imágenes;a memory for containing said plurality of sub images; una unidad de determinación de la región de combinación para determinar la región a combinar; ya combining region determining unit for determining the region to be combined; Y un procesador configurado para construir una imagen final usando la pluralidad de sub imágenes, dicha construcción comprende realizar el método como se define en cualquiera de las reivindicaciones anteriores para combinar las sub imágenes en la región a combinar.a processor configured to construct a final image using the plurality of sub images, said construction comprises performing the method as defined in any of the preceding claims to combine the sub images in the region to be combined. 15. Un medio de almacenamiento legible por ordenador que comprende instrucciones que, cuando se ejecutan en un procesador, le indican a este procesador que realice el método como se describe en cualquiera de las reivindicaciones 1-13. 15. A computer-readable storage medium comprising instructions which, when executed in a processor, instruct this processor to perform the method as described in any of claims 1-13.
ES17727969T 2016-04-22 2017-04-24 Image combining method and device Active ES2784438T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL2016660A NL2016660B1 (en) 2016-04-22 2016-04-22 Image stitching method and device.
PCT/NL2017/050261 WO2017183985A1 (en) 2016-04-22 2017-04-24 Image stitching method and device

Publications (1)

Publication Number Publication Date
ES2784438T3 true ES2784438T3 (en) 2020-09-25

Family

ID=56990911

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17727969T Active ES2784438T3 (en) 2016-04-22 2017-04-24 Image combining method and device

Country Status (8)

Country Link
US (1) US10872396B2 (en)
EP (1) EP3446283B1 (en)
CA (1) CA3021189A1 (en)
DK (1) DK3446283T3 (en)
ES (1) ES2784438T3 (en)
NL (1) NL2016660B1 (en)
PL (1) PL3446283T3 (en)
WO (1) WO2017183985A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI672677B (en) * 2017-03-31 2019-09-21 鈺立微電子股份有限公司 Depth map generation device for merging multiple depth maps
US11095832B2 (en) * 2017-10-26 2021-08-17 Harman International Industries Incorporated Method and system of fast image blending for overlapping region in surround view
TWI661392B (en) * 2017-12-27 2019-06-01 聚星電子股份有限公司 Image stitching method and device
EP3756163B1 (en) * 2018-02-23 2022-06-01 Sony Group Corporation Methods, devices, and computer program products for gradient based depth reconstructions with robust statistics
CN111738923A (en) * 2020-06-19 2020-10-02 京东方科技集团股份有限公司 Image processing method, apparatus and storage medium
CN112102307B (en) * 2020-09-25 2023-10-20 杭州海康威视数字技术股份有限公司 Method and device for determining heat data of global area and storage medium
CN112907452A (en) * 2021-04-09 2021-06-04 长春理工大学 Optimal suture line searching method for image stitching
CN114463184B (en) * 2022-04-11 2022-08-02 国仪量子(合肥)技术有限公司 Image splicing method and device, storage medium and electronic equipment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6097854A (en) 1997-08-01 2000-08-01 Microsoft Corporation Image mosaic construction system and apparatus with patch-based alignment, global block adjustment and pair-wise motion-based local warping
US5986668A (en) 1997-08-01 1999-11-16 Microsoft Corporation Deghosting method and apparatus for construction of image mosaics
US7006709B2 (en) 2002-06-15 2006-02-28 Microsoft Corporation System and method deghosting mosaics using multiperspective plane sweep
WO2010025309A1 (en) * 2008-08-28 2010-03-04 Zoran Corporation Robust fast panorama stitching in mobile phones or cameras
US8233741B1 (en) * 2009-11-17 2012-07-31 Google Inc. Reducing building lean in stitched images
US9398215B2 (en) 2013-04-16 2016-07-19 Eth Zurich Stereoscopic panoramas
US9900505B2 (en) * 2014-07-23 2018-02-20 Disney Enterprises, Inc. Panoramic video from unstructured camera arrays with globally consistent parallax removal
US9729854B2 (en) * 2015-03-22 2017-08-08 Innova Plex, Inc. System and method for scanning a specimen to create a multidimensional scan

Also Published As

Publication number Publication date
US20190108615A1 (en) 2019-04-11
WO2017183985A1 (en) 2017-10-26
DK3446283T3 (en) 2020-03-30
NL2016660B1 (en) 2017-11-15
EP3446283A1 (en) 2019-02-27
CA3021189A1 (en) 2017-10-26
EP3446283B1 (en) 2020-01-08
NL2016660A (en) 2017-11-01
US10872396B2 (en) 2020-12-22
PL3446283T3 (en) 2020-07-13

Similar Documents

Publication Publication Date Title
ES2784438T3 (en) Image combining method and device
JP7162933B2 (en) Method, apparatus and system for establishing an internal spatial model of an object, and computer apparatus and computer readable storage medium
US10104288B2 (en) Method and apparatus for generating panoramic image with stitching process
JP6561216B2 (en) Generating intermediate views using optical flow
US9900505B2 (en) Panoramic video from unstructured camera arrays with globally consistent parallax removal
ES2864834T3 (en) Device and method for obtaining distance information from views
JP4851239B2 (en) Image processing apparatus and processing method thereof
JP5020398B1 (en) Image conversion apparatus, camera, image conversion method and program
EP3958214A1 (en) Method of generating panorama views on a mobile mapping system
US20010043739A1 (en) Image forming method and apparatus
CN106997579B (en) Image splicing method and device
JP2016171463A (en) Image processing system, image processing method, and program
CN108399631B (en) Scale invariance oblique image multi-view dense matching method
TW202101372A (en) Method of adjusting texture coordinates based on control regions in a panoramic image
JP2012079251A (en) Image processing apparatus and image processing system
JP5225313B2 (en) Image generating apparatus, image generating method, and program
JPH1062140A (en) Method and device for reconstruction of shape
BR112021008558A2 (en) apparatus, disparity estimation method, and computer program product
TWI762353B (en) Method for generating projection image with scaling adjustment and seam cut stitching
EP2595393B1 (en) Rectified stereoscopic 3d panoramic picture
JP4813263B2 (en) Image processing apparatus and processing method thereof
JP2006078291A (en) Omnidirectional three-dimensional measuring apparatus
JP2012198712A (en) Image processing system, image processing method and image processing program
JP2015125494A (en) Image generation method, image generation device, and image generation program
JP2013042213A (en) Image processing device, image processing method, and program